抛出发布者

Swift

Swift 宏,自动为抛出错误的函数生成 AnyPublisher。

安装

您可以将此包添加到 Package.swift 文件的 dependencies 值中

dependencies: [
    .package(url: "https://github.com/rocxteady/ThrowPublisher.git", .upToNextMajor(from: "0.0.3"))
]

用法

1. 导入包

import ThrowPublisher

2. 使用 ThrowPublisher 宏

@ThrowPublisher
func doSomething() throws -> Void {
}
// expanded to...
func doSomething_publisher() -> AnyPublisher<Void, Error> {
    func getResult() -> Result<Void, Error> {
        do {
            try doSomething()
            return .success(())
        } catch {
            return .failure(error)
        }
    }
    return getResult()
    .publisher
    .eraseToAnyPublisher()
}

贡献

我们感谢您的贡献!如果您有任何建议、功能请求或错误报告,请在我们的 GitHub 仓库中创建一个新的 issue。

许可

此包在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。