ULID.swift/README.md

82 lines
1.4 KiB
Markdown

# ULID.swift
Implementation of [ULID](https://github.com/ulid/spec/blob/master/README.md) in Swift.
## Usage
### Generate ULID
```swift
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
```swift
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
```swift
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
```swift
import Foundation
import ULID
let uuid = UUID(uuidString: "01684626-765B-F5CE-0486-7FB7F05E443D")!
let ulid = ULID(ulid: uuid.uuid)
print(ulid.ulidString) // 01D132CXJVYQ7091KZPZR5WH1X
```
## Installation
### CocoaPods
```
pod 'ULID.swift', '~> 1.2.0'
```
### Carthage
```
github "yaslab/ULID.swift" ~> 1.2.0
```
### Swift Package Manager
```
.package(url: "https://github.com/yaslab/ULID.swift.git", .upToNextMinor(from: "1.2.0"))
```
## License
ULID.swift is released under the MIT license. See the [LICENSE](https://github.com/yaslab/ULID.swift/blob/master/LICENSE) file for more info.