{"library":"simple-flakeid","title":"Simple Flake ID Generator","description":"simple-flakeid is a JavaScript/TypeScript library for generating unique, time-ordered Snowflake IDs. Currently at version 0.0.5, it's in early development, aiming to provide robust ID generation with careful consideration for JavaScript's `Number.MAX_SAFE_INTEGER` limitation. It offers methods to generate IDs as standard `number` types (which can throw an error if exceeding `Number.MAX_SAFE_INTEGER`), `BigInt` types, or a dynamic type (`number` or `BigInt`) based on the ID's magnitude and configuration. The core algorithm is derived from yitter/idgenerator. While no explicit release cadence is stated, its recent low version indicates active and continuous development. A key differentiator is the explicit control and automatic handling of ID types to prevent overflow issues commonly found in JavaScript with large integer IDs.","language":"javascript","status":"active","last_verified":"Sun Apr 19","install":{"commands":["npm install simple-flakeid"],"cli":null},"imports":["import { SnowflakeIdv1 } from 'simple-flakeid'","new SnowflakeIdv1({ workerId: 1 })","generator.NextId()\ngenerator.NextNumber()\ngenerator.NextBigId()"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import { SnowflakeIdv1 } from 'simple-flakeid';\n\nconst workerId = parseInt(process.env.WORKER_ID ?? '1', 10);\n\n// Initialize the generator with a worker ID\nconst generator = new SnowflakeIdv1({ workerId });\n\nconsole.log(`Generating 10 IDs with workerId: ${workerId}`);\n\nfor (let i = 0; i < 10; i++) {\n    // NextId() dynamically returns number or bigint based on length\n    let id = generator.NextId();\n    console.log(`${i}. ID: ${id} (Type: ${typeof id}, Length: ${id.toString().length})`);\n}\n\n// Example of forcing BigInt output\nfor (let i = 0; i < 3; i++) {\n    let bigId = generator.NextBigId();\n    console.log(`BigInt ID ${i}. ID: ${bigId} (Type: ${typeof bigId})`);\n}\n","lang":"typescript","description":"Initializes a SnowflakeIdv1 generator and demonstrates generating IDs using NextId() and NextBigId() methods, showing dynamic type handling.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}