/firebase-auto-ids

Generate random time-based IDs like Firebase

Primary LanguageJavaScriptMIT LicenseMIT

firebase-auto-ids Build Status Greenkeeper badge

Generate random time-based, collision-proof IDs a la Firebase.push. Designed for testing and education (readability), not performance.

Installing

$ npm install firebase-auto-ids

API

generate(now) -> String

firebase-auto-ids exports a function. Pass in now, the current timestamp (e.g. Date.now()). generate returns an ID string. Like Firebase.push, IDs hold the following properties:

  • id1 < id2 where id1 was created at an earlier time (now) than id2
  • id1 < id2 where id1 and id2 were created at the same now but generateAutoId was executed for id1 before id2
  • id1 !== id2 where id1 and id2 were created at the same now in different clients

new generate.Generator() -> generator

Creates a new generator instance. Individual instances do not share state. This means that IDs created at the same time in a given runtime will no longer be determined by call order.

generator.generate(now) -> String

Same as generate(now)