@ch1/uid
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

CH1 UID

CircleCI

This is not well maintained

Installation

yarn add @ch1/uid

Usage

import { createUid } from '@ch1/uid';

const uid = createUid();

const someId = uid();
const someOtherId = uid();
const someOtherIdStartingWithFoo = uid('Foo');

Ids have the following formats:

prefix-id-date-rollover-entropy

or

id-date-rollover-entropy

  • Where all numbers (id, date, rollover, and entropy) are in base 32.
  • Where id is internally generated at the createUid call
  • Where dates are timestamps in milliseconds
  • Where rollover is an internal numeric counter that increments to a maximum and then "rolls over"
  • Where entropy is random data added to the end

Customizing

There are options!

const uid = createUid(
  random: () => number, // random number generator, ideally returns `0 <= x < 1`
  date: () => number,   // timestamp in ms
  rolloverMax: number,  // internal rollover counter
  entropyMax: number,   // multiplier of `random()` for ends of uids
);

const someId = uid();

License

LGPL

/@ch1/uid/

    Package Sidebar

    Install

    npm i @ch1/uid

    Weekly Downloads

    4

    Version

    1.0.0

    License

    LGPL-3.0

    Unpacked Size

    20.3 kB

    Total Files

    21

    Last publish

    Collaborators

    • bennett000