Build Status Platforms Documentation Matrix

JSONRPC

一个简单的 Swift 库,用于 JSON-RPC

特性

集成

dependencies: [
    .package(url: "https://github.com/ChimeHQ/JSONRPC", from: "0.9.0")
]

用法

您将使用的核心类型是 JSONRPCSession。它需要您设置一个 DataChannel 对象,该对象处理原始数据的读取和写入。

let channel = DataChannel(...)
let session = JSONRPCSession(channel: channel)

let params = "hello" // any Encodable
let response: Decodable = try await session.sendRequest(params, method: "my_method")

Task {
    for await (request, handler, data) in session.requestSequence {
        // inspect request, possibly re-decode with more specific type,
        // and reply using the handler
    }
}

Task {
    for await (notification, data) in session.notificationSequence {
        // inspect notification
    }
}

DataChannel

DataChannel 上的闭包允许使用不同的传输机制。 JSONRPC 包提供了一些基本变体

贡献和协作

我很乐意听到您的声音!问题或拉取请求都很棒。 Matrix spaceDiscord 都可用于实时帮助,但我强烈倾向于以文档的形式回答。您也可以在 mastodon 上找到我。

我更喜欢协作,如果您有类似的项目,我很乐意找到合作方式。

我更喜欢使用制表符进行缩进以提高可访问性。但是,我宁愿您使用您想要的系统并创建一个 PR,而不是因为空格而犹豫。

参与此项目即表示您同意遵守贡献者行为准则