ksuid 1.0.0 copy "ksuid: ^1.0.0" to clipboard
ksuid: ^1.0.0 copied to clipboard

KSUID Generator and Parser for Dart

ksuid #

A Dart implementation of Segment's KSUID library.

You may also be interested in ksuid-cli.

Installation #

dependencies:
  ksuid: 1.0.0

Creation #

You can create a new instance:

final ksuid = KSUID.generate();

You can also specify a specific time as a Date object:

final ksuidFromDate = KSUID.generate(date: DateTime.parse("2014-05-25T16:53:20Z"));

Or you can compose it using a timestamp and a 16-byte payload:

final date = DateTime.now();
final payload = Uint8List(16);
final yesterdayKSUID = KSUID.generate(date: date, payload: payload);

You can parse a valid string-encoded KSUID:

final parsedKSUID = KSUID.parse('aWgEPTl1tmebfsQzFP4bxwgy80V');

Finally, you can create a KSUID from a 20-byte buffer:

const fromBuffer = KSUID.buffer(buffer)

Properties #

Once the KSUID has been created, use it:

final ksuid = KSUID.generate();
ksuid.asString; // The KSUID encoded as a fixed-length string
ksuid.asRaw; // The KSUID as a 20-byte buffer
ksuid.date; // The timestamp portion of the KSUID, as a `Date` object
ksuidc.timestamp; // The raw timestamp portion of the KSUID, as a number
ksuid.payload; // A Buffer containing the 16-byte payload of the KSUID (typically a random value)

Comparisons #

You can compare KSUIDs:

todayKSUID.compareTo(yesterdayKSUID) // 1
todayKSUID.compareTo(todayKSUID) // 0
yesterdayKSUID.compareTo(todayKSUID) // -1

And check for equality:

previousKSUID == nextKSUID

Validation #

You can check whether a particular buffer is a valid KSUID:

KSUID.isValid(buffer) // Boolean
6
likes
110
pub points
69%
popularity

Publisher

unverified uploader

KSUID Generator and Parser for Dart

Repository (GitHub)
View/report issues

Documentation

API reference

License

Apache-2.0 (LICENSE)

Dependencies

convert

More

Packages that depend on ksuid