1.0.7 • Published 10 months ago

@pedrocavaleiro/avalanche v1.0.7

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

Avalanche

Build Tests CI Publish

A Simple TypeScript Snowflake ID library

This will allow you to generate unique IDs for your application but also parse the details back.

Installation

To install just use npm to install the package.

npm install @pedrocavaleiro/avalanche

Usage

Generate a Snowflake ID

To generate a Snowflake ID with the default settings and for the current date just call generateSnowflake.

import { Avalanche } from '@pedrocavaleiro/avalanche';

let snowflake = Avalanche.generateSnowflake();

You can generate for a specific date (not recommended as it might not be unique) by passing a Date object.

import { Avalanche } from '@pedrocavaleiro/avalanche';

const date = new Date('2025-01-08T16:12:12.603Z');
let snowflake = Avalanche.generateSnowflake(date);

You can go further and specify the epoch, worker ID.

import { Avalanche } from '@pedrocavaleiro/avalanche';

const config = {
  epoch: 1577836800000, // 2020-01-01T00:00:00.000Z
  workerId: 1,
};

Avalanche.configure(config);
let snowflake = Avalanche.generateSnowflake();

Parse a Snowflake ID

To parse a Snowflake ID you can use the toSnowflake method or toSnowflakeCustom the difference is that toSnowflakeCustom takes a configuration to correctly parse the Snowflake ID.

Both parsers take a string or bigint as input.

import { toSnowflake } from '@pedrocavaleiro/avalanche';

// Parse with global configuration
let snowflake = toSnowflake('62937765418893312');

// Parse with default configuration
let snowflake = toSnowflake('62937765418893312', false);

// Parse with custom configuration
let snowflake = toSnowflakeCustom('62937765418893312', myConfig);

Related projects

1.0.7

10 months ago

1.0.6

11 months ago

1.0.5

11 months ago

1.0.4

11 months ago

1.0.2

11 months ago