tamesy
Version:
Tames a set of wild concurrent promises
1 lines • 2.09 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("tamesy",[],t):"object"==typeof exports?exports.tamesy=t():e.tamesy=t()}(this,function(){return function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}([function(e,t,n){"use strict";function o(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1/0,n=arguments[2],o=arguments[3],u=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){},i=function(e,t){return"function"==typeof e?e():t(e)};return u("map() Starting with iterable of "+e.length+" in concurrency of "+t+"."),function(e){return"function"==typeof o?o(e):new Promise(e)}(function(o,f){function c(){u("step() Iterator completed with success - continuing queue."),s--,l()}function a(e){u("abort() iterator had error - rejecting queue.",e),d=!0,f(e)}function l(){if(!d){e:for(;s<t;){var e=function(){var e=y.next();if(e.done)return u("loop() Concurrent slice of queue done."),0===s?(u("loop() Complete queue is done."),o(p),{v:void 0}):"break";s++,u("loop() Extracting onto iterator with value."),i(e.value,n).then(function(t){p[e.idx]=t,c()},a)}();switch(e){case"break":break e;default:if("object"===(void 0===e?"undefined":r(e)))return e.v}}}}var p=[],s=0,d=!1,y=function(){var t=-1;return{next:function(){return t<e.length-1?{value:e[++t],idx:t}:{done:!0}}}}();l()})}Object.defineProperty(t,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.default=o}])});