@masx200/async-task-current-limiter
Advanced tools
Comparing version 2.0.1 to 2.0.2
@@ -1,2 +0,2 @@ | ||
import{__awaiter as t}from"tslib";import e from"@masx200/event-emitter-target";function r(r){if(!("number"==typeof r&&r>0&&1/0>r))throw TypeError(" MAX expected: number;but invalid:"+r);const n=r,o=new Map;let i=0,u=0;const c=e(),s=[];let f=!0;function l(){const t=i;if(!f)return;if(t>=s.length)return void(f=!1);if("full"===a())return void(f=!1);!function(){if(!(u<n))throw Error();u++,v()}();const e=s[t];if(!e)throw Error();const[r,c]=e,m=Promise.resolve(Reflect.apply(r,void 0,c)),h=()=>{const e=o.get(t);if(!e)throw new Error;e.resolve(m),function(){if(u-1<0)throw Error();u--,v()}(),s[t]=void 0,o.delete(t)};m.then(h,h),i++,Promise.resolve().then((()=>{l()}))}function m(t){let e=s.length;s.push(t),"free"===a()&&(f=!0,l());const r=function(){let t=t=>{},e=t=>{};return{promise:new Promise(((r,n)=>{t=r,e=n})),reject:e,resolve:t}}();return o.set(e,r),Promise.resolve(r.promise)}function a(){return u<n?"free":"full"}c.on("free",(()=>{f=!0,l()})),c.on("full",(()=>{f=!1}));const h={[Symbol.toStringTag]:"AsyncCurrentLimiter",asyncwrap:function(e){return function(...r){return t(this,void 0,void 0,(function*(){return yield m([e,r])}))}},status:a,limiter:{get max(){return n},get current(){return u}},queue:{get max(){return s.length},get current(){return i}},target:c};function v(){const{queue:t,limiter:e}=h,r={status:a(),queue:{max:t.max,current:t.current},limiter:{max:e.max,current:e.current}};u>=n?c.emit("full",r):c.emit("free",r)}return h}var n=(()=>{try{var t=new Function("return async()=>{}")()(),e=Symbol();Reflect.set(n,e,t)}catch(t){}function n(t){const e=r(t);return this&&this instanceof n?(Object.assign(this,e),this):Reflect.construct(n,[t])}return n})();export{n as default}; | ||
import e from"@masx200/event-emitter-target";function t(t){if(!("number"==typeof t&&t>0&&1/0>t))throw TypeError(" MAX expected: number;but invalid:"+t);const r=t,n=new Map;let o=0,i=0;const u=e(),c=[];let s=!0;function f(){const e=o;if(!s)return;if(e>=c.length)return void(s=!1);if("full"===l())return void(s=!1);!function(){if(!(i<r))throw Error("accident");i++,h()}();const t=c[e];if(!t)throw Error("accident");const[u,a]=t,m=Promise.resolve(Reflect.apply(u,void 0,a)),g=()=>{const t=n.get(e);if(!t)throw new Error("accident");t.resolve(m),function(){if(i-1<0)throw Error("accident");i--,h()}(),c[e]=void 0,n.delete(e)};m.then(g,g),o++,Promise.resolve().then((()=>{f()}))}function a(e){let t=c.length;c.push(e),"free"===l()&&(s=!0,f());const r=function(){let e=e=>{},t=e=>{};return{promise:new Promise(((r,n)=>{e=r,t=n})),reject:t,resolve:e}}();return n.set(t,r),Promise.resolve(r.promise)}function l(){return i<r?"free":"full"}u.on("free",(()=>{s=!0,f()})),u.on("full",(()=>{s=!1}));const m={[Symbol.toStringTag]:"AsyncCurrentLimiter",asyncwrap:function(e){return async function(...t){return await a([e,t])}},status:l,limiter:{get max(){return r},get current(){return i}},queue:{get max(){return c.length},get current(){return o}},target:u};function h(){const{queue:e,limiter:t}=m,n={status:l(),queue:{max:e.max,current:e.current},limiter:{max:t.max,current:t.current}};i>=r?u.emit("full",n):u.emit("free",n)}return m}var r=(()=>{try{var e=new Function("return async()=>{}")()(),r=Symbol();Reflect.set(n,r,e)}catch{}function n(e){const r=t(e);return this&&this instanceof n?(Object.assign(this,r),this):Reflect.construct(n,[e])}return n})();export{r as default}; | ||
//# sourceMappingURL=index.js.map |
@@ -12,5 +12,6 @@ { | ||
"publishConfig": { | ||
"registry": "https://registry.npmjs.org/" | ||
"registry": "https://registry.npmjs.org/", | ||
"access": "public" | ||
}, | ||
"version": "2.0.1", | ||
"version": "2.0.2", | ||
"types": "./dist/index.d.ts", | ||
@@ -26,9 +27,9 @@ "main": "./dist/index.min.cjs", | ||
"@rollup/plugin-babel": "^5.3.1", | ||
"@rollup/plugin-commonjs": "^21.0.2", | ||
"@rollup/plugin-commonjs": "^22.0.0", | ||
"@rollup/plugin-json": "^4.1.0", | ||
"@rollup/plugin-node-resolve": "^13.1.3", | ||
"@rollup/plugin-typescript": "^8.3.1", | ||
"@types/node": "^13.9.8", | ||
"acorn": "^7.1.1", | ||
"browserslist": "4.16.6", | ||
"@types/node": "^18.0.0", | ||
"acorn": "^8.7.1", | ||
"browserslist": "^4.21.1", | ||
"live-server": "^1.2.1", | ||
@@ -42,10 +43,10 @@ "minimist": "^1.2.5", | ||
"rollup-plugin-terser": "^7.0.2", | ||
"rollup-plugin-ts": "^2.0.5", | ||
"serialize-javascript": "4.0.0", | ||
"terser": "^4.6.10", | ||
"rollup-plugin-ts": "^3.0.2", | ||
"serialize-javascript": "6.0.0", | ||
"terser": "^5.13.1", | ||
"tslib": "^2.3.1", | ||
"typescript": "^4.6.3" | ||
}, | ||
"dependencies": { | ||
"@masx200/event-emitter-target": "^2.0.4", | ||
"tslib": "^2.3.1" | ||
"@masx200/event-emitter-target": "1.1.9" | ||
}, | ||
@@ -52,0 +53,0 @@ "license": "MIT", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
36189
1
24
+ Added@masx200/event-emitter-target@1.1.9(transitive)
- Removedtslib@^2.3.1
- Removed@masx200/event-emitter-target@2.0.5(transitive)
- Removedregenerator-runtime@0.13.11(transitive)
- Removedtslib@2.8.1(transitive)