optimal-id
v1.0.0
Published
generates an optimized string based id value suitable for nosql database unique keys
Downloads
3
Readme
Optimal ID
Table of Contents
About
optimal-id
is a small optimized library that generates an optimized string based id value suitable for nosql database unique keys.
It is based upon the research and works of Peter Zaitsev and Karthik Appigatla.
Assuming a standard v1 UUID of "4a6b9f70-b678-11eb-a7b6-032e6afcbc8e"
This code provides the string "11ebb6784a6b9f70a7b6032e6afcbc8e"
- rearranges bytes of timestamp for ordered ids
- removes separator dash characters because we don't need to waste 4 bytes per id
- zero third-party dependency libraries for a smaller payload
Installation
Install the package into your project.
Using NPM
npm install --save optimal-id
Using Yarn Package Manager
yarn add optimal-id
API Reference
optimal-id
- module exported from npm packageoptId
- interface exported from modulegenerate
- function that returns optimal idsoptId.generate(numIds?: number): OptimalId[]
OptimalId
- type exported from module if using TypeScript
Usage
Using JavaScript ES5
var optId = require('optimal-id').optId;
// generate one id
var id = optId.generate()[0];
// generate multiple ids
var NUM_IDS_TO_GENERATE = 100;
var ids = optId.generate(NUM_IDS_TO_GENERATE);
or
Using JavaScript ECMAScript 2015 or later
const { optId } = require('optimal-id');
// generate one id
const [id] = optId.generate();
// generate multiple ids
const NUM_IDS_TO_GENERATE = 100;
const ids = optId.generate(NUM_IDS_TO_GENERATE);
or
Using Typescript
import { optId, OptimalId } from 'optimal-id';
// generate one id
const [id]: OptimalId[] = optId.generate();
// generate multiple ids
const NUM_IDS_TO_GENERATE = 100;
const ids: OptimalId[] = optId.generate(NUM_IDS_TO_GENERATE);
License
This library has been developed by Richard Marks, is copyright 2021, and licensed under the MIT License.
See LICENSE.md for full legal details.
This library depends on Node.js being built with support for the crypto
module.