Allow custom format for random values #3

Open
Ghost wants to merge 2 commits from (deleted):master into master
3 changed files with 24 additions and 10 deletions
Showing only changes of commit 9e447b2a11 - Show all commits

View File

@ -55,6 +55,9 @@ var i;
for (i = 0; i < 100; i += 1) { for (i = 0; i < 100; i += 1) {
console.log(hri.random()); console.log(hri.random());
} }
// Use custom pattern of number-noun-adjective
console.log(hri.get('#na'));
``` ```
### bower / browser ### bower / browser

View File

@ -7,11 +7,11 @@
, animals = [] , animals = []
, adjectives = [] , adjectives = []
, numbers = [] , numbers = []
; ;
function genNumbers() { function genNumbers() {
var i = 2 var i = 2
; ;
numbers = []; numbers = [];
numbers.push(0); numbers.push(0);
@ -46,20 +46,27 @@
// Accepts a format as a stirng of 'a' for adjective, 'n' for noun, and '#' for number // Accepts a format as a stirng of 'a' for adjective, 'n' for noun, and '#' for number
function get(format) { function get(format) {
populate(); populate();
hri = new Array(); let hri = [];
for (var i = 0; i < format.length; i++) { for (let item of format) {
switch (format[i]) { switch (item) {
case 'a': hri.push(adjectives.pop()); break; case 'a':
case 'n': hri.push(animals.pop()); break; hri.push(adjectives.pop());
case '#': hri.push(adjectives.pop()); break; break;
case 'n':
hri.push(animals.pop());
break;
case '#':
hri.push(numbers.pop());
break;
default: default:
throw 'Unexpected value ' + format[i] + '. Expected a,n,#'; throw 'Unexpected value ' + item + '. Expected a,n,#';
} }
}
return hri.join('-'); return hri.join('-');
} }
exports.humanReadableIds = { random: random }; exports.humanReadableIds = {random: random, get: get};
exports.hri = exports.humanReadableIds; exports.hri = exports.humanReadableIds;
}('undefined' !== typeof exports && exports || new Function('return this')())); }('undefined' !== typeof exports && exports || new Function('return this')()));

View File

@ -9,4 +9,8 @@
for (i = 0; i < 100; i += 1) { for (i = 0; i < 100; i += 1) {
console.log(hri.random()); console.log(hri.random());
} }
for (i = 0; i < 10; i += 1) {
console.log(hri.get('#na'));
}
}('undefined' !== typeof exports && exports || new Function('return this')())); }('undefined' !== typeof exports && exports || new Function('return this')()));