一个用于在 Swift 中匹配 URL 的包。
MyNameIsURL
提供了一组用于创建 URL 匹配值的结构体。 这些值可以在模式上下文中(通常作为 switch
或 if 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!")
// ...
}
Xcode 11 原生支持 Swift Packages。 要将 MyNameIsURL
添加为依赖项,
https://github.com/jemmons/MyNameIsURL.git
粘贴到 “Search or enter package…” 字段中,然后单击 “Next”。在项目的 Package.swift
文件中……
Package
初始化程序中找到或添加 dependencies
键。MyNameIsURL
添加 .package
条目,指定所需的版本dependencies: [
.package(url: "https://github.com/jemmons/MyNameIsURL.git", from: "0.3.0")
]
应该可以工作。 尝试将其放入您的 Cartfile
中
github "jemmons/MyNameIsURL" ~> 0.3.0
完整的 API 文档 可以在这里找到。
欢迎提交拉取请求! 请记住这是一个周末项目,因此预计审查时间将以“n 周”来衡量。
发现错误?想要新功能? 问题是沟通的方式! 尽管同样的免责声明适用于响应时间。 感谢您的耐心。
MyNameIsURL
在 MIT 许可证下发布。 有关详细信息,请参见 LICENSE。