readable-id-mjs

Generates unique, Heroku-style human readable IDs, supports mjs

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
readable-id-mjs
1631.0.04 years ago4 years agoMinified + gzip package size for readable-id-mjs in KB

Readme

readable-id
Generate (mostly) human readable, Heroku-style ids.

Usage

rid = require('readable-id')
rid()
// red-voice-ekDJ84G-We

Here is, literally, the entire source code:
nanoid = require('nanoid')
adjectives = require('./adjectives')
nouns = require('./nouns')

// adjectives and nouns from https://gist.github.com/afriggeri/1266756

module.exports = function() {
  id = nanoid(7)
  adjectiveIndex = Math.round(Math.random() * adjectives.length)
  nounIndex = Math.round(Math.random() * nouns.length)
  return adjectives[adjectiveIndex] + "-" + nouns[nounIndex] + "-" + id
}

The nanoid package lends uniqueness and collision resistance, and the adjectives and nouns the human readability.