BowResult 0.3.0

BowResult 0.3.0

TomásRuizLópezMiguel Ángel Díazjuancazalla 维护。



 
依赖项
Result~> 4.0.0
Bow~> 0.3.0
 

BowResult 0.3.0

  • 出自
  • The Bow 作者

Build Status codecov Gitter

Bow 是一个 Swift 中类型化函数式编程的库。

模块

Bow 分割成多个可以独立使用的模块。这些模块包括:

  • Bow:核心库。包含高阶类型模拟、函数操作工具、Typeclasses、数据类型、Monad Transformers 以及原生类型的实例。
  • BowOptics:与不同 optics 一起工作的模块。
  • BowRecursionSchemes:与递归方案一起工作的模块。
  • BowFree:与 Free Monads 一起工作的模块。
  • BowGeneric:与泛型数据类型一起工作的模块。
  • BowEffects:与 effects 一起工作的模块。
  • BowResult:提供 Result 集成模块。
  • BowBrightFutures:提供与 BrightFutures 集成模块。
  • BowRx:提供与 RxSwift 集成模块。

Bow 可通过 CocoaPods、Carthage 和 Swift Package Manager 使用。

CocoaPods

您可以将每个 Bow 模块作为独立的 pod 使用。您可以根据需要将这些行添加到 Podfile 中:

pod "Bow", "~> 0.2.0"
pod "BowOptics", "~> 0.2.0"
pod "BowRecursionSchemes", "~> 0.2.0"
pod "BowFree", "~> 0.2.0"
pod "BowGeneric", "~> 0.2.0"
pod "BowResult", "~> 0.2.0"
pod "BowEffects", "~> 0.2.0"
pod "BowRx", "~> 0.2.0"
pod "BowBrightFutures", "~> 0.2.0"

Carthage

Carthage 会下载整个 Bow 项目,但它将为每个模块编译单独的框架,您可以单独使用。将以下行添加到 Cartfile 中:

github "bow-swift/Bow" ~> 0.2.0

Swift 包管理器

创建一个与下面类似的 Package.swift 文件,并使用您方便的依赖项。

// swift-tools-version:4.0

import PackageDescription

let package = Package(
    name: "BowTestProject",
    dependencies: [
        .package(url: "https://github.com/bow-swift/bow.git", from: "0.2.0")
    ],
    targets: [
        .target(name: "BowTestProject",
                dependencies: [
                    "Bow",
                    "BowOptics",
                    "BowRecursionSchemes",
                    "BowFree",
                    "BowGeneric",
                    "BowEffects",
                    "BowResult",
                    "BowRx",
                    "BowBrightFutures"]
        )
    ]
)

要构建它,只需运行

$ swift build

贡献

如果您想为这个库做出贡献,可以查看问题来查看一些待办任务。

如何运行项目

如果您还没有 carthage,请先安装它

brew install carthage

在这之后,运行以下命令以下载所有项目依赖项

carthage bootstrap

现在,您可以用 Xcode 打开 Bow.xcodeproj 文件并运行测试,以确认一切正常。

许可证

Copyright (C) 2018 The Bow Authors

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   https://apache.ac.cn/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.