snowflake-codon

4.1.1 • Public • Published

SnowflakeCodon

Build Status codecov npm version

Generate IDs with strategy like Twitter Snowflake and encode it in short string.

Properties

  • 35 bit timestamp encoded to 7 characters
  • 5 bit application ID encoded to 1 character
  • 25 bit machine ID encoded to 5 characters
  • 10 bit sequence encoded to 2 characters
  • configurable timestamp precision and range
  • default 1000 ms precision and more than 1000 years range from 1970 to 3000
  • ((2^35 * precision ms) / (1000 * 60 * 60 * 24 * 365)) years timestamp range

Getting Started

Install it via npm:

npm install snowflake-codon

Include in your project:

var SnowflakeCodon = require("snowflake-codon");

Generate IDs with application ID and machine ID

var appId = 1; // optional, default value 0
var machineId = 99; // optional, default value 0
var firstYear = 2015; // optional, default value 1970
var timestampPrecision = 200; // optional, default value 1000 (ms)
var generator = new SnowflakeCodon(appId, machineId, firstYear, timestampPrecision);
var id = generator.nextId();
// id will be something like '0fw2tte10003300'

License

MIT

Package Sidebar

Install

npm i snowflake-codon

Weekly Downloads

9

Version

4.1.1

License

MIT

Unpacked Size

69 kB

Total Files

10

Last publish

Collaborators

  • miffyliye