safe
Version:
Starting from version 0.4.0 safejs implements almost all functions of [Async](https://github.com/caolan/async) and can transparently replace it. For asyncjs functions library adds its error trap capabilities and also contain some optimizations and speed i
8 lines • 22.8 kB
JavaScript
/*!
* safejs
* https://github.com/sergeyksv/safejs
*
* Copyright 2012-2023 PushOk Software
* Licensed under MIT
*/
!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r(n.safe={})}(this,(function(n){"use strict";function r(n,r){n.prototype=Object.create(r.prototype),n.prototype.constructor=n,t(n,r)}function t(n,r){return t=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},t(n,r)}var e="undefined",i="function",o=Object.keys,u=Array.isArray,a=1/0,c=Object.prototype.hasOwnProperty,f="Callback was already called.",s=["Array or Object are required","Array is required","Exactly two arguments are required","Function is required"],l=function(){},h=function(n){if(null===n)return!1;var r=typeof n;return"object"===r||r===i},p=function(n){return typeof n===e},v=function(n){return typeof n===i},y=function(n){return n&&v(n.then)},d=function(n){if(n)return n.data},m=function(n){return n&&n.constructor&&"AsyncFunction"===n.constructor.name},w=function(n,r){var t=new TypeError(n);if(!v(r)||r===l)throw t;r(t)},g=function(n){var r=!1;return function(){if(!r&&null!=n)return r=!0,n.apply(void 0,arguments)}},_=function(n){var r=!1;return function(){if(r)throw new Error(f);return r=!0,n.apply(void 0,arguments)}},k=function(n){return u(n)?(r=n,t=-1,{next:function(){return++t<r.length?{value:r[t],key:t,done:!1}:{done:!0}}}):n[typeof Symbol===i&&Symbol.iterator]?function(n){var r=-1,t=n[Symbol.iterator]();return{next:function(){r++;var n=t.next();return n.done?{done:!0}:{value:n.value,key:r,done:!1}}}}(n):function(n){var r=o(n),t=r.length,e=-1;return{next:function(){e++;var i=r[e];return e<t?{value:n[i],key:i,done:!1}:{done:!0}}}}(n);var r,t},b=function(n,r,t,e){var i=0,o=!1,u=k(n),a=!1,c=g(e);!function n(){if(!o&&!a)for(;i<r&&!1===a;){var e=u.next();if(e.done){o=!0,i<=0&&c();break}i++,t(e.value,e.key,(function(t){i--,t?(a=!0,c(t)):!1===o&&i<r?n():o&&i<=0&&c()}))}}()},E=function(n){return function(r){return r(null,n())}},S=typeof setImmediate===i?setImmediate:typeof queueMicrotask===i?function(n){for(var r=arguments.length,t=new Array(r>1?r-1:0),e=1;e<r;e++)t[e-1]=arguments[e];queueMicrotask((function(){n.apply(void 0,t)}))}:typeof process===e?typeof Image===i?function(n){for(var r=arguments.length,t=new Array(r>1?r-1:0),e=1;e<r;e++)t[e-1]=arguments[e];var i=new Image;i.onerror=function(){n.apply(void 0,t)},i.src="data:image/png,0"}:function(n){for(var r=arguments.length,t=new Array(r>1?r-1:0),e=1;e<r;e++)t[e-1]=arguments[e];setTimeout.apply(void 0,[n,0].concat(t))}:function(n){for(var r=arguments.length,t=new Array(r>1?r-1:0),e=1;e<r;e++)t[e-1]=arguments[e];process.nextTick((function(){n.apply(void 0,t)}))},L=function(){if(!v(arguments.length<=0?void 0:arguments[0]))throw new TypeError(s[3]);S.apply(void 0,arguments)},A=function(n,r){n.then((function(n){L(r,null,n)}),(function(n){L(r,n)}))},O=function(n,r){if(m(n))A(n(),r);else{var t,e,i=!1;try{e=n(o)}catch(n){if(!n)throw n;S(o,n)}if(y(e)){if(t="Resolution method is overspecified. Call a callback *or* return a Promise.",i)throw new Error(t);A(e,o)}}function o(){if(i)throw(arguments.length<=0?void 0:arguments[0])||new Error(t||f);i=!0,r.apply(void 0,arguments)}},x=function(n,r,t,e){if(!h(n))return w(s[0],e);var i=[],o=0;b(n,r,(function(n,r,e){var u=o++;O((function(r){return t(n,r)}),(function(n,r){i[u]=r,e(n)}))}),(function(n){e(n,i)}))},j=function(n,r,t,e){if(!h(n))return w(s[0],e);var i={};b(n,r,(function(n,r,e){O((function(e){return t(n,r,e)}),(function(n,t){i[r]=t,e(n)}))}),(function(n){e(n,i)}))},T=function(n,r,t,e){if(!h(n))return w(s[0],e);x(n,r,(function(n,r){O((function(r){return t(n,r)}),(function(t,e){if(t)return r(t);r(t,{key:e,val:n})}))}),(function(n,r){var t={};r.forEach((function(n){c.call(t,n.key)?t[n.key].push(n.val):t[n.key]=[n.val]})),e(n,t)}))},P=function(n,r,t,e,i){if(!u(r))return w(s[1],i);var o=[];b(r,t,(function(r,t,i){O((function(n){return e(r,n)}),(function(e,u){(n&&u||!n&&!u)&&o.push({data:r,i:t}),i(e)}))}),(function(n){i(n,o.sort((function(n,r){return n.i-r.i})).map(d))}))},I=function(n,r,t,e,i){var o=n;b(r,t,(function(r,t,i){O((function(n){return e(r,n)}),(function(r){n?(r||(o=!1),i(!r)):(r&&(o=!0),i(o))}))}),(function(){return i(o)}))},q=function(n,r,t){var e=u(n)?[]:{};b(n,r,(function(n,r,t){O(n,(function(n){for(var i=arguments.length,o=new Array(i>1?i-1:0),u=1;u<i;u++)o[u-1]=arguments[u];o.length?e[r]=1===o.length?o[0]:o:e[r]=null,t(n)}))}),(function(n){t(n,e)}))},z=function(n,r,t,e){for(var i=parseInt(n),o=Array(i),u=0;u<i;u++)o[u]=u;x(o,r,t,e)},B=function(n,r,t,e){var i;b(n,r,(function(n,r,e){O((function(r){return t(n,r)}),(function(r){r&&(i=n),e(i||null)}))}),(function(){return e(i)}))},V=function(n,r,t,e){if(!u(n))return w(s[1],e);x(n,r,t,(function(n,r){var t;e(n,(t=[]).concat.apply(t,r))}))},M=function(n,r){if(!v(r)||!v(n))throw new TypeError(s[2]);return function(){var t;try{for(var e=arguments.length,i=new Array(e),o=0;o<e;o++)i[o]=arguments[o];t=r.apply(this,i)}catch(r){if(!r)throw r;return void n(r)}p(t)?L(n,null):L(n,null,t)}},C=function(n,r){if(!v(r)||!v(n))throw new TypeError(s[2]);return function(t){if(t)n(t);else{var e;try{for(var i=arguments.length,o=new Array(i>1?i-1:0),u=1;u<i;u++)o[u-1]=arguments[u];e=r.apply(this,o)}catch(r){if(!r)throw r;return void L(n,r)}p(e)?L(n,null):L(n,null,e)}}},F=function(n,r){if(p(r)||!v(n))throw new TypeError(s[2]);return function(t){if(t)n(t);else if(v(r))try{for(var e=arguments.length,i=new Array(e>1?e-1:0),o=1;o<e;o++)i[o-1]=arguments[o];return r.apply(this,i)}catch(r){if(!r)throw r;L(n,r)}else L(n,null,r)}},Q=function(n,r){if(p(n))throw new TypeError(s[2]);return function(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];p(r)&&(r=n,n=e[e.length-1]);try{return r.apply(this,e)}catch(r){if(!r)throw r;L(n,r)}}},R=function(n,r){if(!v(n)||!v(r))throw new TypeError(s[2]);return function(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];e.push(r);try{return n.apply(this,e)}catch(n){if(!n)throw n;L(r,n)}}},D=function(n,r){if(p(r)||!v(n))throw new TypeError(s[2]);return function(t){if(t)n(t);else try{return r.apply(this,arguments.length<=1?void 0:arguments[1])}catch(r){if(!r)throw r;L(n,r)}}},U=function(n){return function(r){return n.apply(this,r)}},W=function(n,r,t,e,i){function o(){O(r,F(i,u))}function u(r){O(n,F(i,(function(n){n==t?i(null,r):o()})))}e?u():o()},G=function(n,r,t,e,i){if(void 0===e&&(e=l),!u(n))return w(s[1],e);var o=k(n),a=n.length;!function r(u,c){if(u)e(u);else{var f=o.next();f.done?e(null,c):O((function(r){return t(c,i?f.value:n[a-1-f.key],r)}),r)}}(null,r)},H=function(n){return function(r){for(var t=function(){for(var t=this,e=arguments.length,i=new Array(e),o=0;o<e;o++)i[o]=arguments[o];var u=i.pop();b(r,n,(function(n,r,e){O((function(r){return n.apply(t,i.concat(r))}),e)}),u)},e=arguments.length,i=new Array(e>1?e-1:0),o=1;o<e;o++)i[o-1]=arguments[o];return 0===i.length?t:t.apply(this,i)}},J=function(){function n(n,r){var t=parseInt(r);if(!t)throw new TypeError("Concurrency must not be zero");Object.defineProperties(this,{__worker:{enumerable:!1,configurable:!1,writable:!1,value:n},__workers:{enumerable:!1,configurable:!1,writable:!0,value:0},__workersList:{enumerable:!1,configurable:!1,writable:!0,value:[]},__isProcessing:{enumerable:!1,configurable:!1,writable:!0,value:!1},__processingScheduled:{enumerable:!1,configurable:!1,writable:!0,value:!1},tasks:{enumerable:!1,configurable:!1,writable:!1,value:[]},concurrency:{enumerable:!0,configurable:!1,writable:!0,value:t},buffer:{enumerable:!0,configurable:!1,writable:!0,value:t/4},started:{enumerable:!0,configurable:!1,writable:!0,value:!1},paused:{enumerable:!0,configurable:!1,writable:!0,value:!1}})}var r=n.prototype;return r.__insert=function(n,r,t){var e=this;if(null!=t&&!v(t))throw new TypeError(s[3]);this.started=!0;var i=u(n)?n:[n];if(0===i.length&&this.idle())return S((function(){e.drain()}));var o,a,c=i.map((function(n){return{data:n,callback:_(t||l)}}));r?(o=this.tasks).unshift.apply(o,c):(a=this.tasks).push.apply(a,c);this.__processingScheduled||(this.__processingScheduled=!0,S((function(){e.__processingScheduled=!1,e.__execute()})))},r.__execute=function(){var n=this;if(!this.__isProcessing){this.__isProcessing=!0;for(var r=function(){var r=n.tasks.shift();n.__workersList.push(r),0===n.tasks.length&&n.empty();var t=r.data;n.__workers++,n.__workers===n.concurrency&&n.saturated(),O((function(r){return n.__worker(t,r)}),(function(){n.__workers--;var e=n.__workersList.indexOf(r);0===e?n.__workersList.shift():e>0&&n.__workersList.splice(e,1),r.callback.apply(r,arguments),(arguments.length<=0?void 0:arguments[0])&&n.error(arguments.length<=0?void 0:arguments[0],t),n.__workers<=n.concurrency-n.buffer&&n.unsaturated(),n.idle()&&n.drain(),n.__execute()}))};!this.paused&&this.__workers<this.concurrency&&this.tasks.length;)r();this.__isProcessing=!1}},r.remove=function(n){var r=this,t=this.tasks.filter((function(r){return!n(r.data)}));this.tasks.length=t.length,t.forEach((function(n,t){r.tasks[t]=n}))},r.push=function(n,r){this.__insert(n,!1,r)},r.saturated=function(){},r.unsaturated=function(){},r.empty=function(){},r.drain=function(){},r.error=function(){},r.kill=function(){delete this.drain,this.tasks.length=0},r.length=function(){return this.tasks.length},r.running=function(){return this.__workers},r.idle=function(){return this.tasks.length+this.__workers===0},r.pause=function(){this.paused=!0},r.resume=function(){var n=this;this.paused&&(this.paused=!1,S((function(){return n.__execute()})))},r.workersList=function(){return this.__workersList},n}(),K=function(n){function t(r,t){return n.call(this,r,t,"Priority Queue")||this}r(t,n);var e=t.prototype;return e.push=function(n,r,t){this.__insert(n,r||0,t)},e.__insert=function(n,r,t){var e=this;if(null!=t&&!v(t))throw new TypeError(s[3]);this.started=!0;var i=u(n)?n:[n];if(0===i.length&&this.idle())return S((function(){e.drain()}));var o,a,c=i.map((function(n){return{data:n,priority:r,callback:_(t||l)}})),f=this.tasks.length,h=f?this.tasks[0].priority:0,p=f?this.tasks[f-1].priority:0;r>h?(o=this.tasks).unshift.apply(o,c):(a=this.tasks).push.apply(a,c);h>=r&&r<p&&this.tasks.sort((function(n,r){return r.priority-n.priority})),this.__processingScheduled||(this.__processingScheduled=!0,S((function(){e.__processingScheduled=!1,e.__execute()})))},t}(J),N=function(n){function t(r,t){return n.call(this,r,t,"Queue")||this}return r(t,n),t.prototype.unshift=function(n,r){this.__insert(n,!0,r)},t}(J),X=function(n){function t(r,t){var e;e=n.call(this,r,1,"Cargo")||this;var i=parseInt(t);if(!i)throw new TypeError("Payload must not be zero");return Object.defineProperties(function(n){if(void 0===n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(e),{payload:{enumerable:!0,configurable:!1,writable:!0,value:i}}),e}return r(t,n),t.prototype.__execute=function(){var n=this;if(!this.__isProcessing){this.__isProcessing=!0;for(var r=function(){var r,t=n.tasks.splice(0,n.payload);(r=n.__workersList).push.apply(r,t),0===n.tasks.length&&n.empty();var e=t.map(d);n.__workers++,n.__workers===n.concurrency&&n.saturated(),O((function(r){return n.__worker(e,r)}),(function(){for(var r=arguments.length,e=new Array(r),i=0;i<r;i++)e[i]=arguments[i];n.__workers--,t.forEach((function(r){var t=n.__workersList.indexOf(r);0===t?n.__workersList.shift():t>0&&n.__workersList.splice(t,1),r.callback.apply(r,e)})),n.__workers<=n.concurrency-n.buffer&&n.unsaturated(),n.idle()&&n.drain(),n.__execute()}))};!this.paused&&this.__workers<this.concurrency&&this.tasks.length;)r();this.__isProcessing=!1}},t}(J),Y=typeof process!==e&&process.nextTick?process.nextTick:typeof queueMicrotask===i?queueMicrotask:S,Z=function(n){for(var r=arguments.length,t=new Array(r>1?r-1:0),e=1;e<r;e++)t[e-1]=arguments[e];return function(){for(var r=arguments.length,e=new Array(r),i=0;i<r;i++)e[i]=arguments[i];return n.apply(void 0,t.concat(e))}},$=function(){var n=arguments.length,r=parseInt(this);if(r!=r)throw new Error('Pass arguments to "safe.args" only through ".apply" method!');if(0===n||r>n)return[];for(var t=Array(n-r),e=r;e<n;e++)t[e-r]=e<0?null:e<0||arguments.length<=e?void 0:arguments[e];return t},nn=function(){for(var n=arguments.length,r=new Array(n),t=0;t<n;t++)r[t]=arguments[t];return function(n){return n.apply(void 0,[null].concat(r))}},rn=function(n){return function(){for(var r=!0,t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];var o=e[e.length-1];e[e.length-1]=function(){for(var n=this,t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];r?S((function(){return o.apply(n,e)})):o.apply(this,e)};var u=n.apply(this,e);return r=!1,u}},tn=function(n){return function(){for(var r=this,t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];var o=e.pop();O((function(t){var i=n.apply(r,e);return m(n)||y(i)?i:t(null,i)}),o)}},en=function(n,r){n.prototype=Object.create(r.prototype,{constructor:{value:n,enumerable:!1}})},on=function(n,r){for(var t=arguments.length,e=new Array(t>2?t-2:0),i=2;i<t;i++)e[i-2]=arguments[i];return function(t){try{return n[r].apply(n,e.concat(t))}catch(n){if(!n)throw n;L(t,n)}}},un=function(n,r,t){if(void 0===t&&(t=l),u(n)){var e=[];b(n,a,(function(n,t,i){O((function(t){return r(n,t)}),(function(r,o){e[t]={data:n,i:o},i(r)}))}),(function(n){t(n,e.sort((function(n,r){return n.i-r.i})).map(d))}))}else w(s[1],t)},an=function(n,r){if(void 0===r&&(r=l),u(n)){var t=k(n);!function n(e){for(var i=arguments.length,o=new Array(i>1?i-1:0),u=1;u<i;u++)o[u-1]=arguments[u];if(e)r(e);else{var a=t.next();a.done?r.apply(void 0,[null].concat(o)):O((function(n){return a.value.apply(a,o.concat([n]))}),n)}}()}else w(s[1],r)},cn=function(n,r){void 0===r&&(r=l),q(n,1,r)},fn=function(n,r){void 0===r&&(r=l),q(n,a,r)},sn=function(n,r,t){void 0===t&&(t=l),q(n,r,t)},ln=function(n,r,t,e){void 0===e&&(e=l),G(n,r,t,e,1)},hn=function(n,r,t,e){void 0===e&&(e=l),G(n,r,t,e,0)},pn=function(n,r,t){void 0===t&&(t=l),u(n)?b(n,a,(function(n,t,e){O((function(t){return r(n,t)}),e)}),t):w(s[1],t)},vn=function(n,r,t,e){void 0===e&&(e=l),u(n)?b(n,r,(function(n,r,e){O((function(r){return t(n,r)}),e)}),e):w(s[1],e)},yn=function(n,r,t){void 0===t&&(t=l),u(n)?b(n,1,(function(n,t,e){O((function(t){return r(n,t)}),e)}),t):w(s[1],t)},dn=function(n,r,t){void 0===t&&(t=l),h(n)?b(n,a,(function(n,t,e){O((function(e){return r(n,t,e)}),e)}),t):w(s[0],t)},mn=function(n,r,t,e){void 0===e&&(e=l),h(n)?b(n,r,(function(n,r,e){O((function(e){return t(n,r,e)}),e)}),e):w(s[0],e)},wn=function(n,r,t){void 0===t&&(t=l),h(n)?b(n,1,(function(n,t,e){O((function(e){return r(n,t,e)}),e)}),t):w(s[0],t)},gn=function(n,r,t){void 0===t&&(t=l),x(n,a,r,t)},_n=function(n,r,t,e){void 0===e&&(e=l),x(n,r,t,e)},kn=function(n,r,t){void 0===t&&(t=l),x(n,1,r,t)},bn=function(n,r,t){void 0===t&&(t=l),j(n,a,r,t)},En=function(n,r,t,e){void 0===e&&(e=l),j(n,r,t,e)},Sn=function(n,r,t){void 0===t&&(t=l),j(n,1,r,t)},Ln=function(n,r,t){void 0===t&&(t=l),V(n,a,r,t)},An=function(n,r,t,e){void 0===e&&(e=l),V(n,r,t,e)},On=function(n,r,t){void 0===t&&(t=l),V(n,1,r,t)},xn=function(n,r,t){void 0===t&&(t=l),T(n,a,r,t)},jn=function(n,r,t,e){void 0===e&&(e=l),T(n,r,t,e)},Tn=function(n,r,t){void 0===t&&(t=l),T(n,1,r,t)},Pn=function(n,r,t){void 0===t&&(t=l),P(!0,n,a,r,t)},In=function(n,r,t,e){void 0===e&&(e=l),P(!0,n,r,t,e)},qn=function(n,r,t){void 0===t&&(t=l),P(!0,n,1,r,t)},zn=function(n,r,t){void 0===t&&(t=l),P(!1,n,a,r,t)},Bn=function(n,r,t,e){void 0===e&&(e=l),P(!1,n,r,t,e)},Vn=function(n,r,t){void 0===t&&(t=l),P(!1,n,1,r,t)},Mn=function(n,r,t){void 0===t&&(t=l),I(!1,n,a,r,t)},Cn=function(n,r,t,e){void 0===e&&(e=l),I(!1,n,r,t,e)},Fn=function(n,r,t){void 0===t&&(t=l),I(!1,n,1,r,t)},Qn=function(n,r,t){void 0===t&&(t=l),I(!0,n,a,r,t)},Rn=function(n,r,t,e){void 0===e&&(e=l),I(!0,n,r,t,e)},Dn=function(n,r,t){void 0===t&&(t=l),I(!0,n,1,r,t)},Un=function(n,r,t){var e,i={},f=Object.create(null),s=o(n),l=s.length,h=0,p=null;if(v(r)&&(t=r,r=a),s.forEach((function(r){if(!p){var t=n[r];if(u(t))for(var e=t.slice(0,t.length-1),i=0;i<e.length;i++){var o=c.call(n,t[i])?n[t[i]]:null;if(!o){p=new Error("safe.auto task `"+r+"` has a non-existent dependency `"+t[i]+"` in "+e.join(", "));break}if(o===r||u(o)&&-1!==o.indexOf(r)){p=new Error("safe.auto cannot execute tasks due to a recursive dependency");break}}}})),p){if(v(t))return void t(p);throw new Error(p)}var y=g(t);!function t(){s.forEach((function(o){if(!(e||h>=r||f[o])){var a,s=n[o];if(u(s)){for(var p=s.length-1,v=0;v<p;v++)if(!c.call(i,s[v]))return;a=s[p]}else a=s;f[o]=!0,h++,O((function(n){return a(n,i)}),(function(n){if(l--,h--,!e)if(e=n||0===l,n)y(n,i);else{for(var r=arguments.length,u=new Array(r>1?r-1:0),a=1;a<r;a++)u[a-1]=arguments[a];u.length?i[o]=1===u.length?u[0]:u:i[o]=null,e?y(n,i):t()}}))}}))}()},Wn=function(n,r,t){void 0===t&&(t=l),W(E(n),r,!1,!0,t)},Gn=function(n,r,t){void 0===t&&(t=l),W(E(r),n,!1,!1,t)},Hn=function(n,r,t){void 0===t&&(t=l),W(n,r,!1,!0,t)},Jn=function(n,r,t){void 0===t&&(t=l),W(r,n,!1,!1,t)},Kn=function(n,r,t){void 0===t&&(t=l),W(E(n),r,!0,!0,t)},Nn=function(n,r,t){void 0===t&&(t=l),W(E(r),n,!0,!1,t)},Xn=function(n,r){void 0===r&&(r=l);var t=_(r),e=rn(n);!function n(){e(F(t,n))}()},Yn=function(n,r){void 0===r&&(r=function(n){return n});var t={},e={},i=function(){for(var i=arguments.length,o=new Array(i),u=0;u<i;u++)o[u]=arguments[u];var a=o.pop(),f=r.apply(void 0,o);c.call(t,f)?S((function(){return a.apply(void 0,t[f])})):c.call(e,f)?e[f].push(a):(e[f]=[a],n.apply(void 0,o.concat([function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];t[f]=r;var o=e[f];delete e[f],o.forEach((function(n){n.apply(void 0,r)}))}])))};return i.memo=t,i.unmemoized=n,i},Zn=function(n){return function(){return(n.unmemoized||n).apply(void 0,arguments)}},$n=function(n,r,t){if(arguments.length<1||arguments.length>3)throw new Error("Invalid arguments - must be either (task), (task, callback), (times, task) or (times, task, callback)");var e,i,o,u=0,a=function(){return u};v(n)?(t=r,r=n,i=5):h(n)?(i=parseInt(n.times)||5,v(n.interval)?a=n.interval:u=parseInt(n.interval)||u,n.errorFilter&&(o=n.errorFilter)):i=parseInt(i)||5;var c=function(n,u){var c=u;b(Array(i),1,(function(n,t,u){O((function(n){return r(n,c)}),(function(n,r){if(c={err:e=n||null,result:r},n&&t<i-1)if(o&&!o(n))u(!0);else{var f=a(t+1);f>0?setTimeout(u,f):u()}else u(!n)}))}),(function(){(n||t||l)(e,c)}))};return t?c():c},nr=function(n,r,t,e){arguments.length<=3&&(e=t,t=r,r=u(n)?[]:{}),e=g(e),b(n,a,(function(n,e,i){O((function(i){return t(r,n,e,i)}),i)}),(function(n){return e(n,r)}))},rr=function(n){return function(){for(var r=arguments.length,t=new Array(r),e=0;e<r;e++)t[e]=arguments[e];var i=t[t.length-1];t[t.length-1]=function(n){if(n)i(null,{error:n});else{for(var r,t=arguments.length,e=new Array(t>1?t-1:0),o=1;o<t;o++)e[o-1]=arguments[o];r=e.length?1===e.length?e[0]:e:null,i(null,{value:r})}};var o=n.apply(this,t);(m(n)||y(o))&&o.then((function(n){L(i,null,{value:n})}),(function(n){L(i,null,{error:n})}))}},tr=function(n){if(u(n))return n.map(rr);var r={};return o(n).forEach((function(t){r[t]=rr(n[t])})),r},er=function(n,r){if(u(n))if(n.length){var t=g(r);n.forEach((function(n){n(t)}))}else r();else w(s[0],r)},ir=function(n,r){if(void 0===r&&(r=l),h(n)){var t,e=null;b(n,1,(function(n,r,i){O(n,(function(n){for(var r=arguments.length,o=new Array(r>1?r-1:0),u=1;u<r;u++)o[u-1]=arguments[u];t=o.length<=1?o[0]:o,e=n,i(!n)}))}),(function(){r(e,t)}))}else w(s[0],r)},or=function(n,r){return new N(n,r)},ur=function(n,r){return new K(n,r)},ar=function(n,r){return new X(n,r)},cr=function(n,r,t){z(n,a,r,t)},fr=function(n,r,t,e){z(n,r,t,e)},sr=function(n,r,t){z(n,1,r,t)},lr=function(n,r,t){B(n,a,r,t)},hr=function(n,r,t,e){B(n,r,t,e)},pr=function(n,r,t){B(n,1,r,t)},vr=H(a),yr=H(1),dr={noop:l,nextTick:Y,back:L,setImmediate:L,yield:L,apply:Z,async:on,inherits:en,args:$,ensureAsync:rn,constant:nn,result:M,sure_result:C,trap_sure_result:C,sure:F,trap_sure:F,sure_spread:D,spread:U,trap:Q,wrap:R,run:O,each:pn,forEach:pn,eachLimit:vn,forEachLimit:vn,eachSeries:yn,forEachSeries:yn,eachOf:dn,forEachOf:dn,eachOfLimit:mn,forEachOfLimit:mn,eachOfSeries:wn,forEachOfSeries:wn,map:gn,mapLimit:_n,mapSeries:kn,groupBy:xn,groupByLimit:jn,groupBySeries:Tn,mapValues:bn,mapValuesLimit:En,mapValuesSeries:Sn,concat:Ln,concatLimit:An,concatSeries:On,sortBy:un,filter:Pn,select:Pn,filterLimit:In,selectLimit:In,filterSeries:qn,selectSeries:qn,reject:zn,rejectLimit:Bn,rejectSeries:Vn,waterfall:an,series:cn,parallel:fn,parallelLimit:sn,auto:Un,whilst:Wn,doWhilst:Gn,during:Hn,doDuring:Jn,until:Kn,doUntil:Nn,forever:Xn,reduce:ln,inject:ln,foldl:ln,reduceRight:hn,foldr:hn,queue:or,priorityQueue:ur,cargo:ar,retry:$n,retryable:$n,times:cr,timesLimit:fr,timesSeries:sr,detect:lr,detectLimit:hr,detectSeries:pr,some:Mn,any:Mn,someLimit:Cn,anyLimit:Cn,someSeries:Fn,anySeries:Fn,every:Qn,all:Qn,everyLimit:Rn,allLimit:Rn,everySeries:Dn,allSeries:Dn,applyEach:vr,applyEachSeries:yr,asyncify:tn,wrapSync:tn,memoize:Yn,unmemoize:Zn,transform:nr,reflect:rr,reflectAll:tr,race:er,tryEach:ir};n.default=dr,n.noop=l,n.nextTick=Y,n.back=L,n.setImmediate=L,n.yield=L,n.apply=Z,n.async=on,n.inherits=en,n.args=$,n.ensureAsync=rn,n.constant=nn,n.result=M,n.sure_result=C,n.trap_sure_result=C,n.sure=F,n.trap_sure=F,n.sure_spread=D,n.spread=U,n.trap=Q,n.wrap=R,n.run=O,n.each=pn,n.forEach=pn,n.eachLimit=vn,n.forEachLimit=vn,n.eachSeries=yn,n.forEachSeries=yn,n.eachOf=dn,n.forEachOf=dn,n.eachOfLimit=mn,n.forEachOfLimit=mn,n.eachOfSeries=wn,n.forEachOfSeries=wn,n.map=gn,n.mapLimit=_n,n.mapSeries=kn,n.groupBy=xn,n.groupByLimit=jn,n.groupBySeries=Tn,n.mapValues=bn,n.mapValuesLimit=En,n.mapValuesSeries=Sn,n.concat=Ln,n.concatLimit=An,n.concatSeries=On,n.sortBy=un,n.filter=Pn,n.select=Pn,n.filterLimit=In,n.selectLimit=In,n.filterSeries=qn,n.selectSeries=qn,n.reject=zn,n.rejectLimit=Bn,n.rejectSeries=Vn,n.waterfall=an,n.series=cn,n.parallel=fn,n.parallelLimit=sn,n.auto=Un,n.whilst=Wn,n.doWhilst=Gn,n.during=Hn,n.doDuring=Jn,n.until=Kn,n.doUntil=Nn,n.forever=Xn,n.reduce=ln,n.inject=ln,n.foldl=ln,n.reduceRight=hn,n.foldr=hn,n.queue=or,n.priorityQueue=ur,n.cargo=ar,n.retry=$n,n.retryable=$n,n.times=cr,n.timesLimit=fr,n.timesSeries=sr,n.detect=lr,n.detectLimit=hr,n.detectSeries=pr,n.some=Mn,n.any=Mn,n.someLimit=Cn,n.anyLimit=Cn,n.someSeries=Fn,n.anySeries=Fn,n.every=Qn,n.all=Qn,n.everyLimit=Rn,n.allLimit=Rn,n.everySeries=Dn,n.allSeries=Dn,n.applyEach=vr,n.applyEachSeries=yr,n.asyncify=tn,n.wrapSync=tn,n.memoize=Yn,n.unmemoize=Zn,n.transform=nr,n.reflect=rr,n.reflectAll=tr,n.race=er,n.tryEach=ir,Object.defineProperty(n,"__esModule",{value:!0})}));