Skip to content
/ shortid Public
forked from dylang/shortid

Short id generator. Url-friendly. Non-predictable. Cluster-compatible.

Notifications You must be signed in to change notification settings

zhamid/shortid

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ShortId Build Status

ShortId creates amazingly short non-sequential url-friendly unique ids. Perfect for url shorteners, MongoDB and Reddis ids, and any other id users might see.

  • 7-12 url-friendly characters: A-Za-z_-
  • Non-sequential so they are not predictable.
  • Shuffled alphabet based on an optional seed you provide so others can't decrypt your ids.
  • Includes version in case you want to change how you encode your id.
  • Includes cluster worker id so you can use on node instances running using Cluster.
  • Includes tests that run on Mocha.
  • Requires Node 0.6 because it uses Node's new crypto functions.

Example

    var ShortId = require('../index');
    var i = 10;
    while (i--) {
        console.log(ShortId.generate());
    }
    
    // Resulting ids:
    PPBqWA9
    PefBO4A
    eV9B94A
    eemGO4d
    PPGBqhd
    VPyX9hw
    eeDX94w
    PT7GOWA
    PP4XqWA
    PTxG9hD

API

ShortId.generate()

Returns an amazingly short non-sequential unique id.

Other functions

(Full docs coming soon.)

  • ShortId.version(int) sets version, returns ShortId module.
  • ShortId.worker(int) sets cluster worker, returns ShortId module.

See the tests for more examples.

Created for Node Knockout 2011 winner Doodle Or Die.

About

Short id generator. Url-friendly. Non-predictable. Cluster-compatible.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published