Swiftpack.co - scru128/swift-scru128 as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by scru128.
scru128/swift-scru128 v3.0.2
SCRU128 Swift Implementation
⭐️ 1
🕓 11 weeks ago
.package(url: "https://github.com/scru128/swift-scru128.git", from: "v3.0.2")

SCRU128: Sortable, Clock and Random number-based Unique identifier

GitHub tag License Swift Compatibility Platform Compatibility

SCRU128 ID is yet another attempt to supersede UUID for the users who need decentralized, globally unique time-ordered identifiers. SCRU128 is inspired by ULID and KSUID and has the following features:

  • 128-bit unsigned integer type
  • Sortable by generation time (as integer and as text)
  • 25-digit case-insensitive textual representation (Base36)
  • 48-bit millisecond Unix timestamp that ensures useful life until year 10889
  • Up to 281 trillion time-ordered but unpredictable unique IDs per millisecond
  • 80-bit three-layer randomness for global uniqueness
import Scru128

// generate a new identifier object
let x = scru128()
print(x)  // e.g., "036z951mhjikzik2gsl81gr7l"
print(x.byteArray)  // as a 128-bit unsigned integer in big-endian byte array

// generate a textual representation directly
print(scru128String())  // e.g., "036z951mhzx67t63mq9xe6q0j"

See SCRU128 Specification for details.

Add swift-scru128 as a package dependency

To add this library to your Xcode project as a dependency, select File > Add Packages and enter the package URL: https://github.com/scru128/swift-scru128

To use this library in a SwiftPM project, add the following line to the dependencies in your Package.swift file:

.package(url: "https://github.com/scru128/swift-scru128", from: "<version>"),

And, include Scru128 as a dependency for your target:

  name: "<target>",
  dependencies: [.product(name: "Scru128", package: "swift-scru128")]


Licensed under the Apache License, Version 2.0.

See also


Stars: 1
Last commit: 11 weeks ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics