1.0.2 • Published 5 years ago

@ennis/id v1.0.2

Weekly downloads
-
License
ISC
Repository
-
Last release
5 years ago

@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.

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago