Generates codenames. What for, you ask?
$ npm install -g codename
From node,
var codename = require('codename')();
var filters = ['alliterative', 'random'],
lists = ['crayons', 'adjectives', 'cities', 'animals'],
myName = codename.generate(filters, lists);
codename.generate
takes two options: filters
and lists
.
filters
(Array[String|Function]
) - describes a set of filters
that should be used to reduce each list to a single word
lists
- (Array[String|Array]
) - the names or contents of the lists
to use for selecting names
All arguments are forwarded from comma-delimited strings:
$ codename \
--lists=crayons,adjectives,cities,animals \
--filters=alliterative,unique,random
Each filter takes a memo
listing any other words selected followed by
the list of words the filter should be applied to. For instance, a filter
to limit results to words containing the letter j
:
var letterJFilter = function (memo, words) {
return words.filter(function (w) {
return w.toLowerCase().indexOf('j') > -1;
});
};
Alternatively, a filter may return a single word that should be added to
the name. These filters are output
filters, and they should only be used
at the end of a filter list.
Filters may be contributed to src/filters
or supplied as function arguments to codename.generate
.