compose.js
399 Bytes
// Returns a function that is the composition of a list of functions, each
// consuming the return value of the function that follows.
export default function compose() {
var args = arguments;
var start = args.length - 1;
return function() {
var i = start;
var result = args[start].apply(this, arguments);
while (i--) result = args[i].call(this, result);
return result;
};
}