
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
simpleflake
Advanced tools
Distributed id generation for the lazy. Inspired by this article.
Generates ids consisting of a 41 bit time (millisecond precision with custom
epoch) followed 23 random bits. Result is a Buffer
with an added feature
of base58 and base10 conversions for producing compact and readable strings.
Custom epoch starts on 2000-01-01T00:00:00.000Z, which should be good until around mid-2069.
npm install simpleflake
On Windows, you may need to specify path to your OpenSSL installation:
npm install --openssl-root=/path/to/openssl
(Note: For a version compatible with nodejs v4, npm install simpleflake@1.0.1
)
Generate an id using current time and a random sequence number:
var flake = require('simpleflake');
var id = flake(); // <Buffer 34 62 a7 d5 c7 36 7c b9>
id.toString('hex'); // '3462a7d5c7367cb9'
id.toString('base58'); // '9mCpPjW7D5a'
id.toString('base10'); // '3774763974302006457'
Generate an id using deterministic time and sequence:
var id = flake(Date.UTC(2014, 1, 1), 1); // <Buffer 33 bf f7 7e 00 00 00 01>
Parse an id into its time and sequence components:
flake.parse(id); // [ 1396671731598, 3570873 ]
flake.parse('9mCpPjW7D5a', 'base58'); // [ 1396671731598, 3570873 ]
flake.parse('3774763974302006457', 'base10'); // [ 1396671731598, 3570873 ]
Customise generation options (default values shown):
flake.options.epoch = Date.UTC(2000, 0, 1);
flake.options.timebits = 41;
FAQs
Distributed id generation for the lazy.
The npm package simpleflake receives a total of 10 weekly downloads. As such, simpleflake popularity was classified as not popular.
We found that simpleflake demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.