ULID.swift

Swift 中 ULID 的实现。

用法

生成 ULID

import ULID

// Generate ULID using current time
let ulid = ULID()

// Get ULID string
let string: String = ulid.ulidString
// Get ULID binary data
let data: Data = ulid.ulidData

解析 ULID

import ULID

// Parse ULID string
let ulid = ULID(ulidString: "01D0YHEWR9WMPY4NNTPK1MR1TQ")!

// Get Timestamp as Date
let timestamp: Date = ulid.timestamp

在 ULID 和 UUID 之间转换

ULID 和 UUID 都是 128 位数据,因此您可以将字符串相互转换。

从 ULID 转换为 UUID

import Foundation
import ULID

let ulid = ULID(ulidString: "01D132CXJVYQ7091KZPZR5WH1X")!
let uuid = UUID(uuid: ulid.ulid)
print(uuid.uuidString) // 01684626-765B-F5CE-0486-7FB7F05E443D

从 UUID 转换为 ULID

import Foundation
import ULID

let uuid = UUID(uuidString: "01684626-765B-F5CE-0486-7FB7F05E443D")!
let ulid = ULID(ulid: uuid.uuid)
print(ulid.ulidString) // 01D132CXJVYQ7091KZPZR5WH1X

安装

Swift Package Manager

将依赖项添加到您的 Package.swift。例如

// swift-tools-version: 5.9

import PackageDescription

let package = Package(
    name: "MyPackage",
    dependencies: [
        // Add `ULID.swift` package here.
        .package(url: "https://github.com/yaslab/ULID.swift.git", from: "1.3.1")
    ],
    targets: [
        .executableTarget(
            name: "MyCommand",
            dependencies: [
                // Then add it to your module's dependencies.
                .product(name: "ULID", package: "ULID.swift")
            ]
        )
    ]
)

CocoaPods

pod 'ULID.swift', '~> 1.3.1'

许可证

ULID.swift 在 MIT 许可证下发布。有关更多信息,请参阅 LICENSE 文件。