PathWrangler

GitHub release Tests Codacy Badge codecov Docs

一个用 Swift 编写的简单路径库。

安装

在你的 Package.swift 文件中添加以下 package 依赖:

.package(url: "https://github.com/sersoft-gmbh/path-wrangler", from: "2.0.0"),

或者通过 Xcode 添加(Xcode 11 及更高版本)。

使用

PathWrangler 有两种基本的路径表示:AbsolutePathRelativePath。它们拥有你需要的一切,来进行简单而强大的路径计算。相对路径(顾名思义)不绑定到任何根目录。它相对于你需要它的任何绝对路径。因此,它也可以使用 absolute(in:) 转换为绝对路径。另一方面,绝对路径始终从根目录开始的路径。

两种路径都知道如何“解析”(或“简化”)自身。通过这样做,它们尝试解析并删除对当前文件夹 (.) 和父文件夹 (..) 的引用。由于绝对路径知道从哪里开始,它们甚至能够解析符号链接。但是,要做到这一点,路径必须存在于磁盘上。两种路径实现都有一个 current 访问器,它返回当前路径。对于 AbsolutePath,这是 cwd。对于 RelativePath,这始终只是到当前目录的相对路径,因此是 .

路径组件或相对路径可以附加到两种路径。 甚至还有一个方便的 API,允许构建路径,看起来几乎像路径表示。

let someSubDir = AbsolutePath.root / "folder1" / "folder2" // -> "/folder1/folder2"

一个名为 PathComponentConvertible 的协议用于表示路径组件。 一些默认的符合性(例如 StringInt 等)使工作变得容易。 但是添加更多符合性也很容易。 只需实现唯一的要求 pathComponent 并返回符合类型的路径组件。 从那时起,该类型可以在 PathWrangler 中使用路径组件的任何地方使用(例如前面提到的漂亮的 / API)。

PathWrangler 包包含两个产品

文档

API 使用 header doc 进行文档化。 如果您喜欢将文档视为网页,则有一个在线版本可供您使用

贡献

如果您发现 PathWrangler 中存在 bug / 想要看到新功能,可以通过几种方式提供帮助

许可

参见 LICENSE 文件。