Swift 宏,自动为抛出错误的函数生成 AnyPublisher。
您可以将此包添加到 Package.swift 文件的 dependencies 值中
dependencies: [
.package(url: "https://github.com/rocxteady/ThrowPublisher.git", .upToNextMajor(from: "0.0.3"))
]
import 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 文件。