Snowflake ID

September 19, 2024 (1d ago)

GitHub | npm version: 1.0.1

Snowflake ID Generator

A simple and customizable Snowflake ID generator for JavaScript and TypeScript projects.

Installation

npm install @grkndev/snowflakeid

Usage

JavaScript

const { generateSnowflakeId, parseSnowflakeId } = require('@grkndev/snowflakeid');
 
// Generate a Snowflake ID with default options
const id = generateSnowflakeId();
console.log(id);
//=> '79796401721711616'
 
 
// Generate a Snowflake ID with custom options
const customId = generateSnowflakeId({ nodeId: 5, epoch: 1609459200000 });
console.log(customId);
 
// Parse a Snowflake ID
const parsedId = parseSnowflakeId(id);
console.log(parsedId);

TypeScript

import { generateSnowflakeId, parseSnowflakeId, SnowflakeOptions } from '@grkndev/snowflakeid';
 
// Generate a Snowflake ID with default options
const id = generateSnowflakeId();
console.log(id);
 
// Generate a Snowflake ID with custom options
const options: SnowflakeOptions = { nodeId: 5, epoch: 1609459200000 };
const customId = generateSnowflakeId(options);
console.log(customId);
 
// Parse a Snowflake ID
const parsedId = parseSnowflakeId(id);
console.log(parsedId);

API

generateSnowflakeId(options?: SnowflakeOptions): string

Generates a Snowflake ID.

Options:

Returns a string representation of the generated Snowflake ID.

parseSnowflakeId(id: string, epoch?: number): { timestamp: Date, nodeId: number, sequence: number }

Parses a Snowflake ID into its component parts.

Parameters:

Returns an object containing the parsed components of the Snowflake ID:

Error Handling

The generateSnowflakeId function may throw errors in the following cases:

License

MIT