Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/negezor/snowyflake

❄️ A modern implementation Snowflake on TypeScript
https://github.com/negezor/snowyflake

bigint generator snowflake typescript

Last synced: about 2 months ago
JSON representation

❄️ A modern implementation Snowflake on TypeScript

Awesome Lists containing this project

README

        



NPM version
Build Status
NPM downloads

Snowyflake - A modern implementation Snowflake on TypeScript

| 📖 [Documentation](docs/) |
|---------------------------|

## Installation
> **[Node.js](https://nodejs.org/) 16.0.0 or newer is required**

> **TypeScript config required `"target": "ES2019"` or higher**

### Yarn
Recommended
```
yarn add snowyflake
```

### NPM
```
npm i snowyflake
```

## Example usage
```js
import { Snowyflake, Epoch } from 'snowyflake';

const snowyflake = new Snowyflake({
workerId: 1n,
epoch: Epoch.Twitter // BigInt timestamp
});

const snowflake = snowyflake.nextId();

console.log(snowflake); // => 1075766315999952896n

const deconstructSnowflake = snowyflake.deconstruct(snowflake);

console.log(deconstructSnowflake); // =>
// { timestamp: 1545317651163n,
// workerId: 1n,
// processId: 0n,
// sequence: 0n }

```