@ennis/id
v1.0.2
Published
ID generation
Downloads
2
Readme
@ennis/id
Generates various ids for certain situations. Random strings are generated using random-js under the hood. All ids consist of the 62 "safest" characters
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
Usage
const Ids = require('@ennis/id');
let id = Ids.short();
.short()
8-9 characters long. Checks for collisions with already generated ids in order to guarantee uniqueness. Will probably run into problems if you are generating more than ~10,000 ids per second (238328 possible per second). Appropriate in many cases. Date becomes 6 characters (9 total) in 2048.
Y o g 1 O M E L
----- 3 random characters
---------- 5-6 characters for date in seconds
.medium()
11 characters long. Checks for collisions with already generated ids in order to guarantee uniqueness. Gives a little bit more room to avoid collisions. 14776336 possible ids every centisecond.
j X b q 2 K P 0 W n h
------- 4 random characters
------------- 7 characters for date in 1/100 seconds
.long()
14 characters long. Does not check for collisions. Is an attempt at creating unique ids across devices. Id has 1/million chance to collide if generated at the same miliseond as another id.
w B p k V r y e 9 p K J 2
--------- 5 random characters
---------------- 8 characters for date in miliseconds
.tiny( index )
A glorified obfuscation of an index count. 4 characters minimum. Index is optional. has obfuscateIndex() alias.
3 H 0 4
--- 2 random characters
--- base 62 representation of index
.randomString( length )
Creates a random string consisting of the 62 safe characters at the given length.