UNPKG

errnext

Version:

Generic middleware based on (err, next, ...args) pattern.

48 lines (40 loc) 1.65 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); 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 callNext = exports.callNext = function callNext(err, next) { for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { args[_key - 2] = arguments[_key]; } next.apply(undefined, [err].concat(args)); }; var compose = exports.compose = function compose(fn) { for (var _len2 = arguments.length, fns = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { fns[_key2 - 1] = arguments[_key2]; } if (fn instanceof Array) { console.log('array'); return compose.apply(undefined, _toConsumableArray(fn).concat(fns)); } if (!fn && fns.length === 0) { return callNext; } if (!fn) { return compose.apply(undefined, [callNext].concat(fns)); } return function (err1, next1) { for (var _len3 = arguments.length, input = Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) { input[_key3 - 2] = arguments[_key3]; } var next2 = function next2(err2) { for (var _len4 = arguments.length, output = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) { output[_key4 - 1] = arguments[_key4]; } return compose.apply(undefined, fns).apply(undefined, [err2, next1].concat(output)); }; setImmediate(function () { return fn.apply(undefined, [err1, next2].concat(input)); }); }; };