BowEffectsLaws 0.8.0

BowEffectsLaws 0.8.0

TomásRuizLópez 维护。



 
依赖项
Bow~> 0.8.0
BowEffects~> 0.8.0
BowLaws~> 0.8.0
 

  • Bow 的作者

Bow 是一个跨平台的 Swift 类型函数式编程库。

文档

所有文档和 API 参考都已发布在我们的网站 。一些链接到库的关键方面

模块

Bow 被分为多个模块,可以独立使用。这些模块包括

  • Bow:核心库。包含高阶类型模拟、函数操作实用工具、Typeclasses、数据类型、Monoid 变换器以及原始类型的实例。
  • BowOptics:模块,用于处理不同的光学。
  • BowRecursionSchemes:模块,用于处理递归设计。
  • BowFree:模块,用于处理 Free Monoids。
  • BowGeneric:模块,用于处理泛型数据类型。
  • BowEffects:模块,用于处理效果。
  • BowRx:模块,提供与 RxSwift 的集成。

还有一些模块用于测试

  • BowLaws:核心模块中类型类的定律。
  • BowOpticsLaws:光学的定律。
  • BowEffectsLaws:效果的定律。
  • BowGenerators:用于核心模块中数据类型属性测试的生成器。
  • BowFreeGenerators:用于 BowFree 中数据类型属性测试的生成器。
  • BowEffectsGenerators:用于 BowEffects 中数据类型属性测试的生成器。
  • BowRxGenerators:用于 BowRx 中数据类型属性测试的生成器。

Bow可以使用 Swift Package Manager、CocoaPods 和 Carthage 获取。

Swift Package Manager

从 Xcode 11 开始,您可以使用 IDE 中的 Swift 包管理器集成功能将依赖项引入项目。您只需要仓库 URL:[https://github.com/bow-swift/bow.git](https://github.com/bow-swift/bow.git)。对于早期版本的 Xcode,创建一个类似以下的 Package.swift 文件,并在方便的时候使用依赖项。

// swift-tools-version:5.0

import PackageDescription

let package = Package(
    name: "BowTestProject",
    dependencies: [
        .package(url: "https://github.com/bow-swift/bow.git", from: "{version}")
    ],
    targets: [
        .target(name: "BowTestProject",
                dependencies: [
                    "Bow",
                    "BowOptics",
                    "BowRecursionSchemes",
                    "BowFree",
                    "BowGeneric",
                    "BowEffects",
                    "BowRx"]),
        .testTarget(name: "BowTestProjectTests",
                    dependencies: [
                        // Type class laws
                        "BowLaws",
                        "BowOpticsLaws",
                        "BowEffectsLaws",

                        // Generators for PBT with SwiftCheck
                        "BowGenerators",
                        "BowFreeGenerators",
                        "BowEffectsGenerators",
                        "BowRxGenerators"])
    ]
)

要构建它,只需运行

$ swift build

CocoaPods

您可以将每个 Bow 模块作为一个单独的 pod 来使用。您可以在您的 Podfile 中方便地添加以下行

pod "Bow",                 "~> {version}"
pod "BowOptics",           "~> {version}"
pod "BowRecursionSchemes", "~> {version}"
pod "BowFree",             "~> {version}"
pod "BowGeneric",          "~> {version}"
pod "BowEffects",          "~> {version}"
pod "BowRx",               "~> {version}"

测试法则

pod "BowLaws",        "~> {version}"
pod "BowOpticsLaws",  "~> {version}"
pod "BowEffectsLaws", "~> {version}"

使用 SwiftCheck 进行基于属性的测试生成器

pod "BowGenerators",              "~> {version}"
pod "BowFreeGenerators",          "~> {version}"
pod "BowEffectsGenerators",       "~> {version}"
pod "BowRxGenerators",            "~> {version}"

Carthage

Carthage 将下载整个 Bow 项目,但对于每个独立的模块,它将编译单独的框架供您单独使用。将此行添加到您的 Cartfile 中

github "bow-swift/Bow" ~> {version}

贡献

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

如何运行项目

在 Xcode 11(或更高版本)中打开 Bow.xcodeproj,您就可以开始了。Bow 使用 Swift 包管理器来处理其依赖关系。

如何运行文档项目

  • 转到目录 contents/Documentation
  • 运行 pod install 以获取所有依赖项。
  • 打开 Documentation.xcworkspace 并运行项目。

如需更多信息,请参阅我们的贡献指南

如何创建新版本

您可以通过运行bundle exec fastlane release version_number:来创建新版本。例如,bundle exec fastlane release version_number: 0.7.0

以下步骤将被执行:

  • 更新*.podspec文件中的version
  • CHANGELOG文件中添加注释创建标签。
  • 部署podspec文件,使它们公开可用。

许可证

Copyright (C) 2018-2020 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.