3.0.4 • Published 8 months ago

scru128 v3.0.4

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
8 months ago

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

npm License

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