Awesome
ULID.swift
Implementation of ULID in Swift.
Usage
Generate 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
Parse ULID
import ULID
// Parse ULID string
let ulid = ULID(ulidString: "01D0YHEWR9WMPY4NNTPK1MR1TQ")!
// Get Timestamp as Date
let timestamp: Date = ulid.timestamp
Convert between ULID and UUID
Both ULID and UUID are 128 bit data, so you can convert strings to each other.
From ULID to UUID
import Foundation
import ULID
let ulid = ULID(ulidString: "01D132CXJVYQ7091KZPZR5WH1X")!
let uuid = UUID(uuid: ulid.ulid)
print(uuid.uuidString) // 01684626-765B-F5CE-0486-7FB7F05E443D
From UUID to ULID
import Foundation
import ULID
let uuid = UUID(uuidString: "01684626-765B-F5CE-0486-7FB7F05E443D")!
let ulid = ULID(ulid: uuid.uuid)
print(ulid.ulidString) // 01D132CXJVYQ7091KZPZR5WH1X
Installation
Swift Package Manager
Add the dependency to your Package.swift
. For example:
// 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'
License
ULID.swift is released under the MIT license. See the LICENSE file for more info.