UNPKG

470 BJavaScriptView Raw
1"use strict";
2exports.compose = function () {
3 var functions = [];
4 for (var _i = 0; _i < arguments.length; _i++) {
5 functions[_i - 0] = arguments[_i];
6 }
7 return function (arg) {
8 if (functions.length === 0) {
9 return arg;
10 }
11 var last = functions[functions.length - 1];
12 var rest = functions.slice(0, -1);
13 return rest.reduceRight(function (composed, fn) { return fn(composed); }, last(arg));
14 };
15};