SimplePath 1.1.0

SimplePath 1.1.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最新发布2021年1月
SPM支持SPM

Ramon Torres维护。



Build

SimplePath

SimplePath是一个Swift中用于处理文件路径的库。它从诸如GoPHPCPerl等其他语言的路径库以及Node.js这样的运行时中大量借鉴。

该库并不试图隐藏文件路径实际上是字符串的事实。大多数函数都接受字符串作为参数并返回字符串。

函数

Path.join([components])

通过连接组件构建路径字符串,在必要时添加目录分隔符。

let path = Path.join([
    "/var/www",
    "website",
    "robots.txt"
])

// path -> /var/www/website/robots.txt

Path.split(path)

返回给定路径的所有组件。

let components = Path.split("/storage/images/0001.jpg")

// components -> [
//   "/",
//   "storage",
//   "images",
//   "0001.jpg"
// ]

Path.basename(path)

返回路径的最后一个部分。通常是文件名。

let base = Path.basename("assets/images/logo.png")

// base -> "logo.png"
let base = Path.basename("assets/images/logo.png", ext: "png")

// base -> "logo"

Path.dirname(path)

返回路径的父目录。

let dir = Path.dirname("/var/data/map.bin")

// dir -> "/var/data"

Path.extname(path)

获取路径的扩展名。

let ext = Path.extname("assets/sfx/drumroll.wav")

// ext -> "wav"
let ext = Path.extname("assets/sfx")

// ext -> nil

Path.format([elements])

根据路径的元素名称构建路径。

let path = Path.format([
    .dir:  "assets/icons",
    .base: "settings.png"
])

// path -> "assets/icons/settings.png"
let path = Path.format([
    .dir:  "assets/vector",
    .base: "logo"
    .ext:  "svg"
])

// path -> "assets/vector/logo.svg"

Path.isAbsolute(path) 和 Path.isRelative(path)

可以用于检查路径是否为绝对路径或相对路径。

Path.isAbsolute("/var/logs/test.log") // -> true
Path.isRelative("cache/images/1.bin") // -> true

Path.exists(path)

如果路径存在,则返回 true。

Path.exists("/path/to/existing/file.txt") // -> true

Path.isFile(path)

如果路径存在且是常规文件,则返回 true。

Path.isFile("/path/to/existing/file.txt") // -> true

Path.isDir(path)

如果路径存在且是目录,则返回 true。

Path.isDir("/path/to/existing/dir") // -> true

扩展

如果您认为 SimplePath 缺少了重要的功能,我建议您遵循以下步骤

  1. 将这样的功能作为 扩展 实现。
  2. 如果您认为这个功能非常可重用,请不要犹豫,通过打开 pull request 将它贡献回项目。

许可协议

此库受 MIT 许可协议 许可。