MyNameIsURL

Swift Package Carthage compatible Documentation Tests Maintainability Test Coverage

一个用于在 Swift 中匹配 URL 的包。

目录

关于

MyNameIsURL 提供了一组用于创建 URL 匹配值的结构体。 这些值可以在模式上下文中(通常作为 switchif case 的一部分)与 URL 进行匹配,也可以通过调用它们的 matches(url:) 谓词手动进行匹配。

include MyNameIsURL
let url = URL(string: "http://example.com")!

switch url {
case Host("example.com"):
  // ...
}

Host("example.com").matches(url: url) //> true

还提供了一组逻辑结构体用于复杂的匹配需求。

let insecureAdminPattern = And(
  Or(PathPrefix(["/", "admin"]), PathPrefix(["/", "root"])),
  Not(Scheme.https)
)

switch myURL {
case insecureAdminPattern:
  fatalError("Admin credentials are not secure!")
// ...
}

安装

Swift Package Manager

使用 Xcode 11

Xcode 11 原生支持 Swift Packages。 要将 MyNameIsURL 添加为依赖项,

使用 Package.swift

在项目的 Package.swift 文件中……

dependencies: [
    .package(url: "https://github.com/jemmons/MyNameIsURL.git", from: "0.3.0")
]

Carthage

应该可以工作。 尝试将其放入您的 Cartfile

github "jemmons/MyNameIsURL" ~> 0.3.0

API

完整的 API 文档 可以在这里找到

贡献

欢迎提交拉取请求! 请记住这是一个周末项目,因此预计审查时间将以“n 周”来衡量。

发现错误?想要新功能? 问题是沟通的方式! 尽管同样的免责声明适用于响应时间。 感谢您的耐心。

许可证

MyNameIsURL 在 MIT 许可证下发布。 有关详细信息,请参见 LICENSE