yaslab/ulid.swift
Implementation of [ULID](https://github.com/ulid/spec/blob/master/README.md) 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.ulidDataParse ULID
import ULID
// Parse ULID string
let ulid = ULID(ulidString: "01D0YHEWR9WMPY4NNTPK1MR1TQ")!
// Get Timestamp as Date
let timestamp: Date = ulid.timestampConvert 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-7FB7F05E443DFrom 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) // 01D132CXJVYQ7091KZPZR5WH1XInstallation
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.
Package Metadata
Repository: yaslab/ulid.swift
Default branch: main
README: README.md