UNPKG

big-human-readable-ids

Version:

Generate (fairly) human-readable ids from lists of nouns, verbs, adverbs and adjectives

61 lines (53 loc) 1.28 kB
/*jshint -W054 */ (function(exports) { "use strict"; var lists = exports.humanReadableIds || require("./lists"), shuffle = exports.knuthShuffle || require("knuth-shuffle").knuthShuffle, nouns = [], verbs = [], adverbs = [], adjectives = [], numbers = []; function genNumbers() { var i = 2; numbers = []; numbers.push(0); // 1 is not plural, so we skip it for (i = 2; i <= 9999; i += 1) { numbers.push(i); } return shuffle(numbers); } function random() { if (!adjectives.length) { adjectives = shuffle(lists.adjectives.slice(0)); } if (!nouns.length) { nouns = shuffle(lists.nouns.slice(0)); } if (!verbs.length) { verbs = shuffle(lists.verbs.slice(0)); } if (!adverbs.length) { adverbs = shuffle(lists.adverbs.slice(0)); } if (!numbers.length) { numbers = shuffle(genNumbers()); } return ( adjectives.pop() + "-" + nouns.pop() + "-" + verbs.pop() + "-" + adverbs.pop() + "-" + numbers.pop() ); } exports.humanReadableIds = { random: random }; exports.hri = exports.humanReadableIds; })( ("undefined" !== typeof exports && exports) || new Function("return this")() );