ALLTHETHINGS.JS
Let your iterations read like actual sentences:
doSomethingTo.allThe(things);
Instead of coding like Yoda...
things.forEach(doSomething);
For no extra cost, you also get 'fromThe':
var proHackers = filterNoobs.fromThe(hackers);
And all for less than 1KB, with no dependencies*. Delicious.
*Unless your browser is an antique. Then you need es5-shim.
Gimme gimme
Node.js
Install with: npm install allthethings
require('allthethings');
Browser
Download the production version or the development version.
forEach / map
By default, 'allThe' performs a 'map' on the array, which doubles as a 'forEach':
forEach
var words = ['all', 'the', 'things'];
function shout(word) {
return alert(word);
}
shout.allThe(words);
map
var numbers = [1,2,3];
function triple(number) {
return number * 3;
}
var multiplesOfThree = triple.allThe(numbers);
filter
If your named function starts with 'filter' or 'is', then a filter is performed.
When filtering, it's idiomatic to use 'fromThe' instead of 'allThe':
var numbers = [-2,-1,0,1,2];
function filterNegatives(number) {
return number >= 0;
}
filterNegatives.fromThe(numbers);
var numbers = [-2,-1,0,1,2];
function isPositive(number) {
return number > 0;
}
isPositive.fromThe(numbers);
reduce
If your named function starts with 'reduce', 'calculate' or 'add', then a reduce is performed.
When reducing, it's idiomatic to use 'fromThe' instead of 'allThe':
Given the 'numbers' array:
var numbers = [1,2,3];
Any of these will work identically:
function reduceTotal(a, b) {
return a + b;
}
var total = reduceTotal.fromThe(numbers);
function calculateTotal(a, b) {
return a + b;
}
var total = calculateTotal.fromThe(numbers);
function addTotal(a, b) {
return a + b;
}
var total = addTotal.fromThe(numbers);
Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using grunt.
License
Copyright (c) 2012 Mark Dalgleish
Licensed under the MIT license.