3.0.4 • Published 8 months ago
scru128 v3.0.4
SCRU128: Sortable, Clock and Random number-based Unique identifier
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, scru128String } from "scru128";
// or on browsers:
// import { scru128, scru128String } from "https://unpkg.com/scru128@^3";
// generate a new identifier object
const x = scru128();
console.log(String(x)); // e.g., "036z951mhjikzik2gsl81gr7l"
console.log(x.toBigInt()); // as a 128-bit unsigned integer
// generate a textual representation directly
console.log(scru128String()); // e.g., "036z951mhzx67t63mq9xe6q0j"
See SCRU128 Specification for details.
License
Licensed under the Apache License, Version 2.0.
See also
3.0.4
8 months ago
2.5.0
11 months ago
3.0.3
9 months ago
3.0.2
10 months ago
3.0.1
10 months ago
3.0.0-rc.1
11 months ago
2.3.0
1 year ago
2.2.1
1 year ago
2.4.1
1 year ago
2.3.2
1 year ago
2.4.0
1 year ago
2.3.1
1 year ago
2.2.0
1 year ago
2.1.3
1 year ago
2.1.2
2 years ago
2.1.1
2 years ago
2.1.0
2 years ago
2.0.0
2 years ago
1.0.1
2 years ago
1.0.0
2 years ago
0.5.3
2 years ago
0.5.0
2 years ago
0.4.0
2 years ago
0.5.2
2 years ago
0.5.1
2 years ago
0.3.0
2 years ago
0.3.1
2 years ago
0.2.4
3 years ago
0.2.3
3 years ago
0.2.2
3 years ago
0.2.1
3 years ago
0.2.0
3 years ago
0.1.0
3 years ago