ResultK

Build Status

ResultK 提供了适用于 Swift 无类型 throwsResultResultKResult 类型没有第二个类型参数来指定错误类型,这与 antitypical/Result 不同。

let a: Result<Int> = Result { try primeOrThrow(2) }
switch a {
case let .success(value):
    print(value)
case let .failure(error):
    print(error)
}

Result 是一个 monadmapflatMap 可用于 Result

let b: Result<Int> = Result(3)
let sum: Result<Int> = a.flatMap { a in b.map { b in a + b } } // Result(5)

安装

Swift 包管理器

将以下内容添加到你的 Package.swift 文件中的 dependencies 中。

.package(
    url: "https://github.com/koher/ResultK.git",
    from: "0.2.0-alpha"
)

Carthage

github "koher/ResultK" "master"

许可

MIT 许可证