@creejs/commons-retrier 2.1.13 → 2.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var t$1={constructorName:r$1,defaults:function(t,...r){if(null==t)throw new TypeError('"target" must not be null or undefined');for(const e of r)if(null!=e)for(const r in e) void 0===t[r]&&(t[r]=e[r]);return t},extend:e$1,extends:e$1,equals:function(t,r){if(t===r)return true;if("function"==typeof t?.equals)return t.equals(r);if("function"==typeof r?.equals)return r.equals(t);return false},isBrowser:n$1,isNode:function(){return !n$1()}};function r$1(t){return t?.constructor?.name}function e$1(t,...r){if(null==t)throw new TypeError('"target" must not be null or undefined');for(const e of r)if(null!=e)for(const r in e)t[r]=e[r];return t}function n$1(){return "undefined"!=typeof window&&"undefined"!=typeof document}var o$1={isNumber:h$1,isNil:a$1};function u$1(t){return "function"==typeof t}function a$1(t){return null==t}function c$1(t){return !!h$1(t)&&t>0}function l$1(t){return !!h$1(t)&&t>=0}function h$1(t){return null!=t&&"number"==typeof t}function m$1(t){return null!=t&&"function"==typeof t.then}function b$1(t){return null!=t&&"string"==typeof t}var L$1={assertNumber:C,assertPositive:q,assertNotNegative:D,assertFunction:M,assertNotNil:W,assertString:J};function k(t,r){if(!Array.isArray(t))throw new Error(`${r?'"'+r+'" ':" "}Not Array: type=${typeof t} value=${JSON.stringify(t)}`)}function J(t,r){if(!b$1(t))throw new Error(`${r?'"'+r+'" ':" "}Not String: type=${typeof t} value=${JSON.stringify(t)}`)}function C(t,r){if(!h$1(t))throw new Error(`${r?'"'+r+'" ':" "}Not Number: type=${typeof t} value=${JSON.stringify(t)}`)}function q(t,r){if(!c$1(t))throw new Error(`${r?'"'+r+'" ':" "}Not Positive: ${t}`)}function D(t,r){if(!l$1(t))throw new Error(`${r?'"'+r+'" ':" "}Not "0 or Positive": ${t}`)}function M(t,r){if(!u$1(t))throw new Error(`${r?'"'+r+'" ':" "}Not Function: type=${typeof t} value=${JSON.stringify(t)}`)}function R(t,r){if(!m$1(t))throw new Error(`${r?'"'+r+'" ':" "}Not Promise: type=${typeof t} value=${JSON.stringify(t)}`)}function W(t,r){if(a$1(t))throw new Error((r?'"'+r+'" ':" ")+"Should Not Nil")}var Y={defer:Z,delay:function(t,r){h$1(t)?(r=t,t=Promise.resolve()):null==t&&null==r&&(r=1,t=Promise.resolve());null!=t&&R(t),C(r=r??1e3);const e=Z(),n=Date.now();return t.then((...t)=>{const o=Date.now()-n;o<r?setTimeout(()=>e.resolve(...t),r-o):e.resolve(...t);}).catch(t=>{const o=Date.now()-n;o<r?setTimeout(()=>e.reject(t),r-o):e.reject(t);}),e.promise},timeout:function(t,r,e){R(t),C(r=r??1);const n=Z(r,e),o=Date.now();return t.then((...t)=>{Date.now()-o<=r?n.resolve(...t):n.reject(new Error(e??`Promise Timeout: ${r}ms`));}).catch(t=>{!n.resolved&&!n.rejected&&n.reject(t);}),n.promise},allSettled:_$1,returnValuePromised:tt,series:async function(t){k(t);const r=[];for(const e of t)M(e),r.push(await e());return r},seriesAllSettled:async function(t){k(t);const r=[];for(const e of t){M(e);try{r.push({ok:!0,result:await e()});}catch(t){r.push({ok:false,result:t});}}return r},parallel:async function(t,r=5){if(k(t),C(r),r<=0)throw new Error(`Invalid maxParallel: ${r}, should > 0`);t.forEach(t=>M(t));const e=[];if(t.length<=r){const r=await Promise.all(t.map(t=>tt(t)));return e.push(...r),e}const n=[];for(const o of t)if(M(o),n.push(o),n.length>=r){const t=await Promise.all(n.map(t=>tt(t)));e.push(...t),n.length=0;}if(n.length>0&&n.length<r){const t=await Promise.all(n.map(t=>tt(t)));e.push(...t);}return e},parallelAllSettled:async function(t,r=5){if(k(t),C(r),r<=0)throw new Error(`Invalid maxParallel: ${r}, should > 0`);t.forEach(t=>M(t));const e=[];if(t.length<=r){const r=await _$1(t.map(t=>tt(t)));return e.push(...r),e}const n=[];for(const o of t)if(M(o),n.push(o),n.length>=r){const t=await _$1(n.map(t=>tt(t)));e.push(...t),n.length=0;}if(n.length>0&&n.length<r){const t=await _$1(n.map(t=>tt(t)));e.push(...t);}return e},wait:function(t){D(t);const r={};let e;return r.timerHandler=e=setTimeout(()=>{clearTimeout(e),r.resolve();},t),r.promise=new Promise((t,n)=>{r.resolve=r=>{null!=e&&clearTimeout(e),t(r);};}),r}};function Z(t=-1,r){C(t);const e={};let n;return t>=0&&(e.timerHandler=n=setTimeout(()=>{clearTimeout(n),e.timerCleared=true,e.reject(new Error(r??`Promise Timeout: ${t}ms`));},t)),e.promise=new Promise((t,r)=>{e.resolve=r=>{null!=n&&(clearTimeout(n),e.timerCleared=true),e.resolved=true,t(r);},e.reject=t=>{null!=n&&(clearTimeout(n),e.timerCleared=true),e.rejected=true,r(t);};}),e.promise.cancel=()=>{null!=n&&(clearTimeout(n),e.timerCleared=true),e.rejected=true,e.canceled=e.promise.canceled=true,e.reject(new Error("Cancelled"));},e}async function _$1(t){k(t);const r=await Promise.allSettled(t),e=[];for(const t of r)"fulfilled"===t.status&&e.push({ok:true,result:t.value}),"rejected"===t.status&&e.push({ok:false,result:t.reason});return e}function tt(t){try{const r=t();return m$1(r)?r:Promise.resolve(r)}catch(t){return Promise.reject(t)}}new TextDecoder;new TextEncoder;
5
+ var t$1={constructorName:e$1,defaults:function(t,...e){if(null==t)throw new TypeError('"target" must not be null or undefined');for(const r of e)if(null!=r)for(const e in r) void 0===t[e]&&(t[e]=r[e]);return t},extend:r$1,extends:r$1,equals:function(t,e){if(t===e)return true;if("function"==typeof t?.equals)return t.equals(e);if("function"==typeof e?.equals)return e.equals(t);return false},isBrowser:n$1,isNode:function(){return !n$1()},cloneToPlainObject:function(t){if(null==t)return t;if("object"!=typeof t)throw new Error("Only Object allowed to clone");return {...t}},deepCloneToPlainObject:function(t){if(null==t)return t;if("object"!=typeof t)throw new Error("Only Object allowed to clone");return JSON.parse(JSON.stringify(t))}};function e$1(t){return t?.constructor?.name}function r$1(t,...e){if(null==t)throw new TypeError('"target" must not be null or undefined');for(const r of e)if(null!=r)for(const e in r)t[e]=r[e];return t}function n$1(){return "undefined"!=typeof window&&"undefined"!=typeof document}var o$1={isArray:i$1,isBoolean:s$1,isBuffer:function(t){return null!=t&&Buffer.isBuffer(t)},isFunction:u$1,isInstance:f$1,isIterable:function(t){return null!=t&&"function"==typeof t[Symbol.iterator]},isDate:function(t){return null!=t&&t instanceof Date},isError:function(t){return null!=t&&t instanceof Error},isMap:function(t){return null!=t&&"object"==typeof t&&t.constructor===Map},isWeakMap:function(t){return null!=t&&"object"==typeof t&&t.constructor===WeakMap},isNumber:g$1,isPositive:c$1,isNegative:y,isNotNegative:l$1,isNil:a$1,isNullOrUndefined:function(t){return null==t},isNull:h$1,isUndefined:p$1,isPlainObject:d$1,isObject:w$1,isPromise:m$1,isRegExp:function(t){return null!=t&&"object"==typeof t&&t.constructor===RegExp},isSet:function(t){return null!=t&&"object"==typeof t&&t.constructor===Set},isWeakSet:function(t){return null!=t&&"object"==typeof t&&t.constructor===WeakSet},isStream:function(t){return null!=t&&"function"==typeof t.pipe},isString:b$1,isSymbol:A,isPrimitive:function(t){return null!==t&&("string"==typeof t||"number"==typeof t||"boolean"==typeof t)},isInt8Array:$,isUint8Array:N,isUint8ClampedArray:v$1,isInt16Array:O$1,isUint16Array:j,isInt32Array:P,isUint32Array:x,isFloat32Array:S,isFloat64Array:U,isBigInt64Array:B,isBigUint64Array:T,isTypedArray:E,isArrayBuffer:I};function i$1(t){return Array.isArray(t)}function s$1(t){return "boolean"==typeof t}function u$1(t){return "function"==typeof t}function f$1(t){return null!=t&&"object"==typeof t&&!d$1(t)}function a$1(t){return null==t}function c$1(t){return !!g$1(t)&&t>0}function l$1(t){return !!g$1(t)&&t>=0}function y(t){return !!g$1(t)&&t<0}function h$1(t){return null===t}function p$1(t){return void 0===t}function g$1(t){return null!=t&&"number"==typeof t}function w$1(t){return null!=t&&"object"==typeof t}function d$1(t){return null!==t&&"object"==typeof t&&(t.constructor===Object||void 0===t.constructor)}function m$1(t){return null!=t&&"function"==typeof t.then}function b$1(t){return null!=t&&"string"==typeof t}function A(t){return null!=t&&"symbol"==typeof t}function E(t){return ArrayBuffer.isView(t)&&t.constructor!==DataView}function $(t){return t instanceof Int8Array}function N(t){return t instanceof Uint8Array}function v$1(t){return t instanceof Uint8ClampedArray}function O$1(t){return t instanceof Int16Array}function j(t){return t instanceof Uint16Array}function P(t){return t instanceof Int32Array}function x(t){return t instanceof Uint32Array}function S(t){return t instanceof Float32Array}function U(t){return t instanceof Float64Array}function B(t){return t instanceof BigInt64Array}function T(t){return t instanceof BigUint64Array}function I(t){return t instanceof ArrayBuffer}var k$1={assertNumber:F,assertPositive:q,assertNotNegative:D,assertFunction:J,assertNotNil:W,assertString:C};function L$1(t,e){if(!Array.isArray(t))throw new Error(`${e?'"'+e+'" ':""}Not Array: type=${typeof t} value=${Q(t)}`)}function C(t,e){if(!b$1(t))throw new Error(`${e?'"'+e+'" ':""}Not String: type=${typeof t} value=${Q(t)}`)}function F(t,e){if(!g$1(t))throw new Error(`${e?'"'+e+'" ':""}Not Number: type=${typeof t} value=${Q(t)}`)}function q(t,e){if(!c$1(t))throw new Error(`${e?'"'+e+'" ':""}Not Positive: ${t}`)}function D(t,e){if(!l$1(t))throw new Error(`${e?'"'+e+'" ':""}Not "0 or Positive": ${t}`)}function J(t,e){if(!u$1(t))throw new Error(`${e?'"'+e+'" ':""}Not Function: type=${typeof t} value=${Q(t)}`)}function R(t,e){if(!m$1(t))throw new Error(`${e?'"'+e+'" ':""}Not Promise: type=${typeof t} value=${Q(t)}`)}function W(t,e){if(a$1(t))throw new Error((e?'"'+e+'" ':"")+"Should Not Nil")}function Q(t){let e;try{e=JSON.stringify(t);}catch(r){e=t.toString();}return e}var Y={any:function(t){if(L$1(t),0===t.length)throw new Error("Empty Tasks");const e=Z(),r=[];for(let n=0;n<t.length;n++){const i=t[n];let s;if(o$1.isPromise(i))s=i;else {if(!o$1.isFunction(i)){r.push(new Error(`Invalid Task at index ${n}/${t.length-1}: ${i}`));continue}s=et(i);}s.then(t=>{e.resolve(t);}).catch(n=>{r.push(n),r.length>=t.length&&e.reject(r);});}r.length===t.length&&e.reject(r);return e.promise},defer:Z,delay:function(t,e){o$1.isNumber(t)?(e=t,t=Promise.resolve()):null==t&&null==e&&(e=1,t=Promise.resolve());null!=t&&R(t),F(e=e??1e3);const r=Z(),n=Date.now();return t.then((...t)=>{const o=Date.now()-n;o<e?setTimeout(()=>r.resolve(...t),e-o):r.resolve(...t);}).catch(t=>{const o=Date.now()-n;o<e?setTimeout(()=>r.reject(t),e-o):r.reject(t);}),r.promise},timeout:function(t,e,r){R(t),F(e=e??1);const n=Z(e,r),o=Date.now();return t.then((...t)=>{Date.now()-o<=e?n.resolve(...t):n.reject(new Error(r??`Promise Timeout: ${e}ms`));}).catch(t=>{!n.resolved&&!n.rejected&&n.reject(t);}),n.promise},allSettled:tt,returnValuePromised:et,series:async function(t){L$1(t);const e=[];for(const r of t)if(J(r),o$1.isFunction(r))e.push(await et(r));else {if(!o$1.isPromise(r))throw new Error(`Invalid Task: ${r}`);e.push(await r);}return e},seriesAllSettled:async function(t){L$1(t);const e=[];for(const r of t){J(r);try{e.push({ok:!0,result:await r()});}catch(t){e.push({ok:false,result:t});}}return e},parallel:async function(t,e=5){if(L$1(t),F(e),e<=0)throw new Error(`Invalid maxParallel: ${e}, should > 0`);t.forEach(t=>J(t));const r=[];if(t.length<=e){const e=await Promise.all(t.map(t=>et(t)));return r.push(...e),r}const n=[];for(const o of t)if(J(o),n.push(o),n.length>=e){const t=await Promise.all(n.map(t=>et(t)));r.push(...t),n.length=0;}if(n.length>0&&n.length<e){const t=await Promise.all(n.map(t=>et(t)));r.push(...t);}return r},parallelAny:async function(t,e=5){if(L$1(t,"tasks"),F(e),0===t.length)throw new Error("Empty Tasks");if(e<=0)throw new Error(`Invalid maxParallel: ${e}, should > 0`);const r=[];let n=0,i=0;const s=Z();function u(){if(n>=t.length)return;if(i>e)return;const f=t[n++];let a;if(i++,o$1.isPromise(f))a=f;else {if(!o$1.isFunction(f))return r.push(new TypeError(`Invalid task: ${f}`)),void u();a=et(f);}a.then(t=>{s.resolve(t);}).catch(e=>{r.push(e),r.length>=t.length&&s.pending?s.reject(r):u();}).finally(()=>{i--;});}for(;i<e;)u();return s.promise},parallelAllSettled:async function(t,e=5){if(L$1(t),F(e),e<=0)throw new Error(`Invalid maxParallel: ${e}, should > 0`);t.forEach(t=>J(t));const r=[];if(t.length<=e){const e=await tt(t.map(t=>et(t)));return r.push(...e),r}const n=[];for(const o of t)if(n.push(o),n.length>=e){const t=await tt(n.map(t=>et(t)));r.push(...t),n.length=0;}if(n.length>0&&n.length<e){const t=await tt(n.map(t=>et(t)));r.push(...t);}return r},wait:function(t){D(t);const e={};let r;return e.timerHandler=r=setTimeout(()=>{clearTimeout(r),e._resolve();},t),e.promise=new Promise((t,n)=>{e._resolve=e=>{null!=r&&clearTimeout(r),t(e);};}),e.wakeup=()=>{e._resolve();},e}};function Z(t=-1,e){F(t);const r={};let n;return r.pending=true,r.canceled=false,r.rejected=false,r.resolved=false,t>=0&&(r.timerCleared=false,r.timerHandler=n=setTimeout(()=>{clearTimeout(n),r.timerCleared=true,r.reject(new Error(e??`Promise Timeout: ${t}ms`));},t)),r.promise=new Promise((t,e)=>{r.resolve=e=>{r.resolved||r.rejected||r.canceled||(null!=n&&(clearTimeout(n),r.timerCleared=true),r.pending=false,r.canceled=false,r.rejected=false,r.resolved=true,t(e));},r.reject=t=>{r.resolved||r.rejected||r.canceled||(null!=n&&(clearTimeout(n),r.timerCleared=true),r.pending=false,r.canceled=false,r.resolved=false,r.rejected=true,e(t));};}),r.cancel=r.promise.cancel=t=>{r.resolved||r.rejected||r.canceled||(null!=n&&(clearTimeout(n),r.timerCleared=true),r.reject(t??new Error("Cancelled")),r.canceled=r.promise.canceled=true);},r}async function tt(t){L$1(t);const e=await Promise.allSettled(t),r=[];for(const t of e)"fulfilled"===t.status&&r.push({ok:true,result:t.value}),"rejected"===t.status&&r.push({ok:false,result:t.reason});return r}function et(t){try{const e=t();return o$1.isPromise(e)?e:Promise.resolve(e)}catch(t){return Promise.reject(t)}}new TextDecoder;new TextEncoder;
6
6
 
7
7
  // module vars
8
8
  const DefaultMinInterval = 50;
@@ -12,7 +12,7 @@ const DefaultMaxRetries = 3;
12
12
  // internal
13
13
 
14
14
  // module vars
15
- const { assertPositive: assertPositive$5, assertNotNegative: assertNotNegative$3 } = L$1;
15
+ const { assertPositive: assertPositive$5, assertNotNegative: assertNotNegative$3 } = k$1;
16
16
  const { isNumber } = o$1;
17
17
 
18
18
  class Policy {
@@ -154,7 +154,7 @@ class Policy {
154
154
  }
155
155
  }
156
156
 
157
- var e={isFunction:t,isNil:s};function t(e){return "function"==typeof e}function s(e){return null==e}function n(e){return null!=e&&"string"==typeof e}var r={assertNumber:function(e,t){if(!function(e){return null!=e&&"number"==typeof e}(e))throw new Error(`${t?'"'+t+'" ':" "}Not Number: type=${typeof e} value=${JSON.stringify(e)}`)},assertFunction:function(e,s){if(!t(e))throw new Error(`${s?'"'+s+'" ':" "}Not Function: type=${typeof e} value=${JSON.stringify(e)}`)},assertNotNil:function(e,t){if(s(e))throw new Error((t?'"'+t+'" ':" ")+"Should Not Nil")},assertString:function(e,t){if(!n(e))throw new Error(`${t?'"'+t+'" ':" "}Not String: type=${typeof e} value=${JSON.stringify(e)}`)},assertStringOrSymbol:function(e,t){if(!n(e)&&!function(e){return null!=e&&"symbol"==typeof e}(e))throw new Error(`${t?'"'+t+'" ':" "}Not String or Symbol: type=${typeof e} value=${JSON.stringify(e)}`)}};new TextDecoder,new TextEncoder;const i="DOwner$#$",{assertFunction:l,assertNotNil:a}=r;class o{constructor(e,t,s=false){a(e,"event"),l(t,"callback"),this._event=e,this._callback=t,this._isOnce=!!s,this._owner=void 0;}set owner(e){this._owner=e;}get owner(){return this._owner===i?void 0:this._owner}get event(){return this._event}get isOnce(){return this._isOnce}isSameCallback(e){return this._callback===e}get callback(){return this._callback}invoke(...e){try{return this._callback(...e)}finally{if(this._isOnce)try{this._event._remove(this);}catch(e){console.warn(e);}}}listener(...e){return this.invoke(...e)}}const{isFunction:c,isNil:h}=e,{assertStringOrSymbol:u,assertFunction:_}=r;class f{static get DefaultOwner(){return i}constructor(e){u(e,"eventName"),this._name=e,this._callbacks=new Set,this._listeners=[],this._callback2Listeners=new Map,this._listener2Owner=new Map,this._owner2Listeners=new Map;}get name(){return this._name}isEmpty(){return 0===this._callbacks.size}rawListeners(){return [...this._listeners]}listenerCount(e){return null==e?this._listeners.length:this._callback2Listeners.get(e)?.size??0}callbacks(){return [...this.rawListeners().map(e=>e.callback)]}emit(...e){if(0===this._listeners.length)return false;for(const t of [...this._listeners])t.invoke(...e);return true}emitOwner(e,...t){if(0===this._listeners.length)return false;const s=this._owner2Listeners.get(e);if(null==s)return false;for(const e of [...s])e.invoke(...t);return true}hasListener(e){return !!c(e)&&this._callbacks.has(e)}hasOwner(e){return !h(e)&&this._owner2Listeners.has(e)}addListener(e,t){return this._addListener(e,t,false,false)}prependListener(e,t){return this._addListener(e,t,false,true)}addOnceListener(e,t){return this._addListener(e,t,true,false)}prependOnceListener(e,t){return this._addListener(e,t,true,true)}_addListener(e,t,s,n){if(h(e))return false;_(e),this._callbacks.has(e)||this._callbacks.add(e),t=t??i;const r=new o(this,e,s);r.owner=t,n?this._listeners.unshift(r):this._listeners.push(r),this._listener2Owner.set(r,t);let l=this._callback2Listeners.get(e);null==l&&(l=new Set,this._callback2Listeners.set(e,l)),l.add(r);let a=this._owner2Listeners.get(t);return null==a&&(a=new Set,this._owner2Listeners.set(t,a)),a.add(r),true}removeListener(e){if(h(e))return false;if(!this._callbacks.has(e))return false;this._callbacks.delete(e);const t=this._callback2Listeners.get(e);if(null==t)return false;this._callback2Listeners.delete(e);for(const e of t){ -1!==this._listeners.indexOf(e)&&this._listeners.splice(this._listeners.indexOf(e),1);const t=this._listener2Owner.get(e);if(null==t)continue;this._listener2Owner.delete(e);const s=this._owner2Listeners.get(t);null!=s&&(s.delete(e),0===s.size&&this._owner2Listeners.delete(t));}return true}_remove(e){const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1);const{callback:s}=e,n=this._callback2Listeners.get(s);null!=n&&(n.delete(e),0===n.size&&(this._callback2Listeners.delete(s),this._callbacks.delete(s)));const r=this._listener2Owner.get(e);if(null==r)return;this._listener2Owner.delete(e);const i=this._owner2Listeners.get(r);null!=i&&(i.delete(e),0===i.size&&this._owner2Listeners.delete(r));}removeAllListeners(e){if(h(e))return this._callbacks.clear(),this._listeners.length=0,this._callback2Listeners.clear(),this._listener2Owner.clear(),this._owner2Listeners.clear(),this;const t=this._owner2Listeners.get(e);if(null==t)return this;this._owner2Listeners.delete(e);for(const e of t){ -1!==this._listeners.indexOf(e)&&this._listeners.splice(this._listeners.indexOf(e),1),this._listener2Owner.delete(e);const{callback:t}=e,s=this._callback2Listeners.get(t);null!=s&&(s.delete(e),0===s.size&&(this._callback2Listeners.delete(t),this._callbacks.delete(t)));}return this}}const{isNil:m}=e,{assertString:d,assertFunction:w,assertNumber:L,assertStringOrSymbol:v,assertNotNil:g}=r,O=["on","once","addListener","prependListener","prependOnceListener","off","offAll","offOwner","removeAllListeners","removeListener","emit","emitOwner","setMaxListeners","getMaxListeners","hasOwner","listeners","listenerCount","eventNames","rawListeners"];let p=10;class b{static mixin(e){const t=new b;e.__emitter=t;for(const s of O){const n=t[s];e[s]=n.bind(t);}return e}static get defaultMaxListeners(){return p}static set defaultMaxListeners(e){L(e),p=e??10;}constructor(){this._name2Event=new Map,this._maxListeners=p;}addListener(e,t,s){return this.on(e,t,s)}prependListener(e,t,s){d(e),w(t),this._checkMaxListeners(e);return this._getOrCreateEvent(e).prependListener(t,s),this}prependOnceListener(e,t,s){d(e),w(t),this._checkMaxListeners(e);return this._getOrCreateEvent(e).prependOnceListener(t,s),this}emit(e,...t){const s=this._name2Event.get(e);return null!=s&&!s.isEmpty()&&(s.emit(...t),true)}emitOwner(e,t,...s){if(null==t)throw new Error('Missing "owner"');const n=this._name2Event.get(e);return null!=n&&!n.isEmpty()&&(n.emitOwner(t,...s),true)}eventNames(){return [...this._name2Event.keys()]}getMaxListeners(){return this._maxListeners}listenerCount(e,t){v(e,"eventName");const s=this._name2Event.get(e);return null==s||s.isEmpty()?0:s.listenerCount(t)}listeners(e){v(e,"eventName");const t=this._name2Event.get(e);return null==t||t.isEmpty()?[]:t.callbacks()}off(e,t){const s=this._name2Event.get(e);return null==s?this:(s.removeListener(t),s.isEmpty()?(this._name2Event.delete(e),this):this)}offAll(e,t){v(e,"eventName");const s=this._name2Event.get(e);return null==s?this:(s.removeAllListeners(t),s.isEmpty()?(this._name2Event.delete(e),this):this)}offOwner(e){g(e,"owner");const t=[...this._name2Event.values()];for(const s of t)s.removeAllListeners(e),s.isEmpty()&&this._name2Event.delete(s.name);return this}on(e,t,s){d(e),w(t),this._checkMaxListeners(e);return this._getOrCreateEvent(e).addListener(t,s),this}_checkMaxListeners(e){let t=0;0!==this._maxListeners&&this._maxListeners!==1/0&&(t=this.listenerCount(e))>=this._maxListeners&&console.warn(`maxlistenersexceededwarning: Possible EventEmitter memory leak detected. ${t} ${e} listeners added to [${this}]. Use emitter.setMaxListeners() to increase limit`);}once(e,t,s){d(e),w(t);return this._getOrCreateEvent(e).addOnceListener(t,s),this}rawListeners(e){return this._name2Event.get(e)?.rawListeners()||[]}removeAllListeners(e,t){return this.offAll(e,t)}removeListener(e,t){return this.off(e,t)}setMaxListeners(e){if(L(e),e<0)throw new RangeError("maxListeners must >=0");return this._maxListeners=e,this}_getOrCreateEvent(e){if(this._name2Event.has(e))return this._name2Event.get(e);const t=new f(e);return this._name2Event.set(e,t),t}hasOwner(e){if(m(e))return false;for(const t of this._name2Event.values())if(t.hasOwner(e))return true;return false}}
157
+ var e={isFunction:t,isNil:s};function t(e){return "function"==typeof e}function s(e){return null==e}function n(e){return null!=e&&"string"==typeof e}var r={assertNumber:function(e,t){if(!function(e){return null!=e&&"number"==typeof e}(e))throw new Error(`${t?'"'+t+'" ':""}Not Number: type=${typeof e} value=${i(e)}`)},assertFunction:function(e,s){if(!t(e))throw new Error(`${s?'"'+s+'" ':""}Not Function: type=${typeof e} value=${i(e)}`)},assertNotNil:function(e,t){if(s(e))throw new Error((t?'"'+t+'" ':"")+"Should Not Nil")},assertString:function(e,t){if(!n(e))throw new Error(`${t?'"'+t+'" ':""}Not String: type=${typeof e} value=${i(e)}`)},assertStringOrSymbol:function(e,t){if(!n(e)&&!function(e){return null!=e&&"symbol"==typeof e}(e))throw new Error(`${t?'"'+t+'" ':""}Not String or Symbol: type=${typeof e} value=${i(e)}`)}};function i(e){let t;try{t=JSON.stringify(e);}catch(s){t=e.toString();}return t}new TextDecoder,new TextEncoder;const l="DOwner$#$",{assertFunction:a,assertNotNil:o}=r;class c{constructor(e,t,s=false){o(e,"event"),a(t,"callback"),this._event=e,this._callback=t,this._isOnce=!!s,this._owner=void 0;}set owner(e){this._owner=e;}get owner(){return this._owner===l?void 0:this._owner}get event(){return this._event}get isOnce(){return this._isOnce}isSameCallback(e){return this._callback===e}get callback(){return this._callback}invoke(...e){try{return this._callback(...e)}finally{if(this._isOnce)try{this._event._remove(this);}catch(e){console.warn(e);}}}listener(...e){return this.invoke(...e)}}const{isFunction:h,isNil:u}=e,{assertStringOrSymbol:_,assertFunction:f}=r;class m{static get DefaultOwner(){return l}constructor(e){_(e,"eventName"),this._name=e,this._callbacks=new Set,this._listeners=[],this._callback2Listeners=new Map,this._listener2Owner=new Map,this._owner2Listeners=new Map;}get name(){return this._name}isEmpty(){return 0===this._callbacks.size}rawListeners(){return [...this._listeners]}listenerCount(e){return null==e?this._listeners.length:this._callback2Listeners.get(e)?.size??0}callbacks(){return [...this.rawListeners().map(e=>e.callback)]}emit(...e){if(0===this._listeners.length)return false;for(const t of [...this._listeners])t.invoke(...e);return true}emitOwner(e,...t){if(0===this._listeners.length)return false;const s=this._owner2Listeners.get(e);if(null==s)return false;for(const e of [...s])e.invoke(...t);return true}hasListener(e){return !!h(e)&&this._callbacks.has(e)}hasOwner(e){return !u(e)&&this._owner2Listeners.has(e)}addListener(e,t){return this._addListener(e,t,false,false)}prependListener(e,t){return this._addListener(e,t,false,true)}addOnceListener(e,t){return this._addListener(e,t,true,false)}prependOnceListener(e,t){return this._addListener(e,t,true,true)}_addListener(e,t,s,n){if(u(e))return false;f(e),this._callbacks.has(e)||this._callbacks.add(e),t=t??l;const r=new c(this,e,s);r.owner=t,n?this._listeners.unshift(r):this._listeners.push(r),this._listener2Owner.set(r,t);let i=this._callback2Listeners.get(e);null==i&&(i=new Set,this._callback2Listeners.set(e,i)),i.add(r);let a=this._owner2Listeners.get(t);return null==a&&(a=new Set,this._owner2Listeners.set(t,a)),a.add(r),true}removeListener(e){if(u(e))return false;if(!this._callbacks.has(e))return false;this._callbacks.delete(e);const t=this._callback2Listeners.get(e);if(null==t)return false;this._callback2Listeners.delete(e);for(const e of t){ -1!==this._listeners.indexOf(e)&&this._listeners.splice(this._listeners.indexOf(e),1);const t=this._listener2Owner.get(e);if(null==t)continue;this._listener2Owner.delete(e);const s=this._owner2Listeners.get(t);null!=s&&(s.delete(e),0===s.size&&this._owner2Listeners.delete(t));}return true}_remove(e){const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1);const{callback:s}=e,n=this._callback2Listeners.get(s);null!=n&&(n.delete(e),0===n.size&&(this._callback2Listeners.delete(s),this._callbacks.delete(s)));const r=this._listener2Owner.get(e);if(null==r)return;this._listener2Owner.delete(e);const i=this._owner2Listeners.get(r);null!=i&&(i.delete(e),0===i.size&&this._owner2Listeners.delete(r));}removeAllListeners(e){if(u(e))return this._callbacks.clear(),this._listeners.length=0,this._callback2Listeners.clear(),this._listener2Owner.clear(),this._owner2Listeners.clear(),this;const t=this._owner2Listeners.get(e);if(null==t)return this;this._owner2Listeners.delete(e);for(const e of t){ -1!==this._listeners.indexOf(e)&&this._listeners.splice(this._listeners.indexOf(e),1),this._listener2Owner.delete(e);const{callback:t}=e,s=this._callback2Listeners.get(t);null!=s&&(s.delete(e),0===s.size&&(this._callback2Listeners.delete(t),this._callbacks.delete(t)));}return this}}const{isNil:d}=e,{assertString:w,assertFunction:L,assertNumber:v,assertStringOrSymbol:g,assertNotNil:p}=r,b=["on","once","addListener","prependListener","prependOnceListener","off","offAll","offOwner","removeAllListeners","removeListener","emit","emitOwner","setMaxListeners","getMaxListeners","hasOwner","listeners","listenerCount","eventNames","rawListeners"];let O=10;class k{static mixin(e){const t=new k;e.__emitter=t;for(const s of b){const n=t[s];e[s]=n.bind(t);}return e}static get defaultMaxListeners(){return O}static set defaultMaxListeners(e){v(e),O=e??10;}constructor(){this._name2Event=new Map,this._maxListeners=O;}addListener(e,t,s){return this.on(e,t,s)}prependListener(e,t,s){w(e),L(t),this._checkMaxListeners(e);return this._getOrCreateEvent(e).prependListener(t,s),this}prependOnceListener(e,t,s){w(e),L(t),this._checkMaxListeners(e);return this._getOrCreateEvent(e).prependOnceListener(t,s),this}emit(e,...t){const s=this._name2Event.get(e);return null!=s&&!s.isEmpty()&&(s.emit(...t),true)}emitOwner(e,t,...s){if(null==t)throw new Error('Missing "owner"');const n=this._name2Event.get(e);return null!=n&&!n.isEmpty()&&(n.emitOwner(t,...s),true)}eventNames(){return [...this._name2Event.keys()]}getMaxListeners(){return this._maxListeners}listenerCount(e,t){g(e,"eventName");const s=this._name2Event.get(e);return null==s||s.isEmpty()?0:s.listenerCount(t)}listeners(e){g(e,"eventName");const t=this._name2Event.get(e);return null==t||t.isEmpty()?[]:t.callbacks()}off(e,t){const s=this._name2Event.get(e);return null==s?this:(s.removeListener(t),s.isEmpty()?(this._name2Event.delete(e),this):this)}offAll(e,t){g(e,"eventName");const s=this._name2Event.get(e);return null==s?this:(s.removeAllListeners(t),s.isEmpty()?(this._name2Event.delete(e),this):this)}offOwner(e){p(e,"owner");const t=[...this._name2Event.values()];for(const s of t)s.removeAllListeners(e),s.isEmpty()&&this._name2Event.delete(s.name);return this}on(e,t,s){w(e),L(t),this._checkMaxListeners(e);return this._getOrCreateEvent(e).addListener(t,s),this}_checkMaxListeners(e){let t=0;0!==this._maxListeners&&this._maxListeners!==1/0&&(t=this.listenerCount(e))>=this._maxListeners&&console.warn(`maxlistenersexceededwarning: Possible EventEmitter memory leak detected. ${t} ${e} listeners added to [${this}]. Use emitter.setMaxListeners() to increase limit`);}once(e,t,s){w(e),L(t);return this._getOrCreateEvent(e).addOnceListener(t,s),this}rawListeners(e){return this._name2Event.get(e)?.rawListeners()||[]}removeAllListeners(e,t){return this.offAll(e,t)}removeListener(e,t){return this.off(e,t)}setMaxListeners(e){if(v(e),e<0)throw new RangeError("maxListeners must >=0");return this._maxListeners=e,this}_getOrCreateEvent(e){if(this._name2Event.has(e))return this._name2Event.get(e);const t=new m(e);return this._name2Event.set(e,t),t}hasOwner(e){if(d(e))return false;for(const t of this._name2Event.values())if(t.hasOwner(e))return true;return false}}
158
158
 
159
159
  const Start = 'start'; // retry started
160
160
  const Stop = 'stop'; // retry stopped
@@ -181,7 +181,7 @@ var Event = {
181
181
  // 3rd
182
182
  // internal
183
183
  // module vars
184
- const { assertPositive: assertPositive$4 } = L$1;
184
+ const { assertPositive: assertPositive$4 } = k$1;
185
185
  class FixedIntervalPolicy extends Policy {
186
186
  /**
187
187
  * Creates a fixed interval retry policy with the specified interval.
@@ -216,7 +216,7 @@ class FixedIntervalPolicy extends Policy {
216
216
  // 3rd
217
217
  // internal
218
218
  // module vars
219
- const { assertPositive: assertPositive$3 } = L$1;
219
+ const { assertPositive: assertPositive$3 } = k$1;
220
220
  class FixedIncreasePolicy extends Policy {
221
221
  /**
222
222
  * each call to _next() increases the interval by "increasement".
@@ -253,7 +253,7 @@ class FixedIncreasePolicy extends Policy {
253
253
  // 3rd
254
254
  // internal
255
255
  // module vars
256
- const { assertPositive: assertPositive$2 } = L$1;
256
+ const { assertPositive: assertPositive$2 } = k$1;
257
257
 
258
258
  class FactoreIncreasePolicy extends Policy {
259
259
  /**
@@ -297,7 +297,7 @@ class FactoreIncreasePolicy extends Policy {
297
297
  // 3rd
298
298
  // internal
299
299
  // module vars
300
- const { assertPositive: assertPositive$1 } = L$1;
300
+ const { assertPositive: assertPositive$1 } = k$1;
301
301
 
302
302
  class ShuttlePolicy extends Policy {
303
303
  /**
@@ -342,7 +342,7 @@ class ShuttlePolicy extends Policy {
342
342
 
343
343
  // internal
344
344
  // module vars
345
- const { assertNotNegative: assertNotNegative$2 } = L$1;
345
+ const { assertNotNegative: assertNotNegative$2 } = k$1;
346
346
  /**
347
347
  * @class FixedBackoff
348
348
  */
@@ -362,7 +362,7 @@ class FixedBackoff extends FixedIntervalPolicy {
362
362
  // internal
363
363
 
364
364
  // module vars
365
- const { assertNotNegative: assertNotNegative$1 } = L$1;
365
+ const { assertNotNegative: assertNotNegative$1 } = k$1;
366
366
  /**
367
367
  * @class ExponentialBackoffPolicy
368
368
  */
@@ -380,7 +380,7 @@ class ExponentialBackoffPolicy extends FactoreIncreasePolicy {
380
380
 
381
381
  // internal
382
382
  // module vars
383
- const { assertNotNegative } = L$1;
383
+ const { assertNotNegative } = k$1;
384
384
  /**
385
385
  * @class LinearBackoff
386
386
  */
@@ -404,7 +404,7 @@ class LinearBackoff extends FixedIncreasePolicy {
404
404
  */
405
405
 
406
406
  // module vars
407
- const { assertNotNil, assertFunction: assertFunction$1 } = L$1;
407
+ const { assertNotNil, assertFunction: assertFunction$1 } = k$1;
408
408
  class Task {
409
409
  /**
410
410
  * Creates a new Task instance.
@@ -504,7 +504,7 @@ class AlwaysTask extends Task {
504
504
  */
505
505
 
506
506
  // module vars
507
- const { assertPositive, assertString, assertFunction, assertNumber } = L$1;
507
+ const { assertPositive, assertString, assertFunction, assertNumber } = k$1;
508
508
  const { isNil } = o$1;
509
509
  const TaskTimoutFlag = '!#@%$&^*';
510
510
 
@@ -706,7 +706,7 @@ class Retrier {
706
706
  * @param {number} [fixedInterval=1000] - The fixed interval in milliseconds between retry attempts. Defaults to 1000ms if not provided.
707
707
  */
708
708
  constructor (fixedInterval) {
709
- b.mixin(this);
709
+ k.mixin(this);
710
710
  /**
711
711
  * @type {Policy}
712
712
  */
@@ -1139,7 +1139,7 @@ class Retrier {
1139
1139
  return
1140
1140
  }
1141
1141
  if (this._sleepWaiter != null) {
1142
- this._sleepWaiter.resolve();
1142
+ this._sleepWaiter.wakeup();
1143
1143
  }
1144
1144
  }
1145
1145