UNPKG

mware

Version:
43 lines (36 loc) 1.48 kB
(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global.mware = factory()); }(this, (function () { 'use strict'; function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } var index = (function () { var stack = []; var use = function use() { for (var _len = arguments.length, fns = Array(_len), _key = 0; _key < _len; _key++) { fns[_key] = arguments[_key]; } var i = fns.length; while (i--) { var fn = fns[i]; if (Array.isArray(fn)) return use.apply(undefined, _toConsumableArray(fn)); if ('function' === typeof fn) stack.unshift(fn); } }; var run = function run(args, done) { var i = stack.length; var next = function next() { var err = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; var fin = arguments[1]; if (err || fin || !i) { if ('function' === typeof done) done(err); return; } stack[--i].apply(null, [].concat(_toConsumableArray(args), [next])); }; next(); }; return { use: use, run: run }; }); return index; })));