@creejs/commons-retrier 2.1.13 → 2.1.15

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.
@@ -1,4 +1,4 @@
1
- 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;
1
+ let r$1 = class r extends Error{static isAggregatedErrorLike(t){return t&&Array.isArray(t.errors)}static isAggregatedError(t){return t instanceof r}constructor(t,r){super(t),this.errors=r??[];}addError(t){this.errors.push(t);}removeError(t){const r=this.errors.indexOf(t);return -1!==r&&(this.errors.splice(r,1),true)}};var e$1={constructorName:n$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:o$1,extends:o$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:i$1,isNode:function(){return !i$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 n$1(t){return t?.constructor?.name}function o$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 i$1(){return "undefined"!=typeof window&&"undefined"!=typeof document}var s$1={isArray:u$1,isBoolean:f$1,isBuffer:function(t){return null!=t&&Buffer.isBuffer(t)},isFunction:a$1,isInstance:c$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:d$1,isPositive:y,isNegative:h$1,isNotNegative:p$1,isNil:l$1,isNullOrUndefined:function(t){return null==t},isNull:g$1,isUndefined:w$1,isPlainObject:b$1,isObject:m$1,isPromise:A,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:E,isSymbol:N,isPrimitive:function(t){return null!==t&&("string"==typeof t||"number"==typeof t||"boolean"==typeof t)},isInt8Array:v$1,isUint8Array:O$1,isUint8ClampedArray:j,isInt16Array:P,isUint16Array:x,isInt32Array:S,isUint32Array:U,isFloat32Array:T,isFloat64Array:B,isBigInt64Array:I,isBigUint64Array:k$1,isTypedArray:$,isArrayBuffer:L$1};function u$1(t){return Array.isArray(t)}function f$1(t){return "boolean"==typeof t}function a$1(t){return "function"==typeof t}function c$1(t){return null!=t&&"object"==typeof t&&!b$1(t)}function l$1(t){return null==t}function y(t){return !!d$1(t)&&t>0}function p$1(t){return !!d$1(t)&&t>=0}function h$1(t){return !!d$1(t)&&t<0}function g$1(t){return null===t}function w$1(t){return void 0===t}function d$1(t){return null!=t&&"number"==typeof t}function m$1(t){return null!=t&&"object"==typeof t}function b$1(t){return null!==t&&"object"==typeof t&&(t.constructor===Object||void 0===t.constructor)}function A(t){return null!=t&&"function"==typeof t.then}function E(t){return null!=t&&"string"==typeof t}function N(t){return null!=t&&"symbol"==typeof t}function $(t){return ArrayBuffer.isView(t)&&t.constructor!==DataView}function v$1(t){return t instanceof Int8Array}function O$1(t){return t instanceof Uint8Array}function j(t){return t instanceof Uint8ClampedArray}function P(t){return t instanceof Int16Array}function x(t){return t instanceof Uint16Array}function S(t){return t instanceof Int32Array}function U(t){return t instanceof Uint32Array}function T(t){return t instanceof Float32Array}function B(t){return t instanceof Float64Array}function I(t){return t instanceof BigInt64Array}function k$1(t){return t instanceof BigUint64Array}function L$1(t){return t instanceof ArrayBuffer}var F={assertNumber:D,assertPositive:M,assertNotNegative:J,assertFunction:W,assertNotNil:V,assertString:q};function C(t,r){if(!Array.isArray(t))throw new Error(`${r?'"'+r+'" ':""}Not Array: type=${typeof t} value=${X(t)}`)}function q(t,r){if(!E(t))throw new Error(`${r?'"'+r+'" ':""}Not String: type=${typeof t} value=${X(t)}`)}function D(t,r){if(!d$1(t))throw new Error(`${r?'"'+r+'" ':""}Not Number: type=${typeof t} value=${X(t)}`)}function M(t,r){if(!y(t))throw new Error(`${r?'"'+r+'" ':""}Not Positive: ${t}`)}function J(t,r){if(!p$1(t))throw new Error(`${r?'"'+r+'" ':""}Not "0 or Positive": ${t}`)}function W(t,r){if(!a$1(t))throw new Error(`${r?'"'+r+'" ':""}Not Function: type=${typeof t} value=${X(t)}`)}function H(t,r){if(!A(t))throw new Error(`${r?'"'+r+'" ':""}Not Promise: type=${typeof t} value=${X(t)}`)}function V(t,r){if(l$1(t))throw new Error((r?'"'+r+'" ':"")+"Should Not Nil")}function X(t){if(null===t)return "null";if(void 0===t)return "undefined";let r;try{r=JSON.stringify(t);}catch(e){r=t.toString();}return r}var tt={any:function(t){if(C(t),0===t.length)throw new Error("Empty Tasks");const e=rt(),n=[];for(let o=0;o<t.length;o++){const i=t[o];let u;if(s$1.isPromise(i))u=i;else {if(!s$1.isFunction(i)){n.push(new Error(`Invalid Task at index ${o}/${t.length-1}: ${i}`));continue}u=nt(i);}u.then(t=>{e.resolve(t);}).catch(o=>{n.push(o),n.length>=t.length&&e.reject(new r$1("All Tasks Failed",n));});}n.length===t.length&&e.reject(new r$1("All Tasks Failed",n));return e.promise},defer:rt,delay:function(t,r){s$1.isNumber(t)?(r=t,t=Promise.resolve()):null==t&&null==r&&(r=1,t=Promise.resolve());null!=t&&H(t),D(r=r??1e3);const e=rt(),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){H(t),D(r=r??1);const n=rt(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:et,returnValuePromised:nt,series:async function(t){C(t);const r=[];for(const e of t)if(W(e),s$1.isFunction(e))r.push(await nt(e));else {if(!s$1.isPromise(e))throw new Error(`Invalid Task: ${e}`);r.push(await e);}return r},seriesAllSettled:async function(t){C(t);const r=[];for(const e of t){W(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(C(t),D(r),r<=0)throw new Error(`Invalid maxParallel: ${r}, should > 0`);t.forEach(t=>W(t));const e=[];if(t.length<=r){const r=await Promise.all(t.map(t=>nt(t)));return e.push(...r),e}const n=[];for(const o of t)if(W(o),n.push(o),n.length>=r){const t=await Promise.all(n.map(t=>nt(t)));e.push(...t),n.length=0;}if(n.length>0&&n.length<r){const t=await Promise.all(n.map(t=>nt(t)));e.push(...t);}return e},parallelAny:async function(t,e=5){if(C(t,"tasks"),D(e),0===t.length)throw new Error("Empty Tasks");if(e<=0)throw new Error(`Invalid maxParallel: ${e}, should > 0`);const n=[];let o=0,i=0;const u=rt();function f(){if(o>=t.length)return;if(i>e)return;const a=t[o++];let c;if(i++,s$1.isPromise(a))c=a;else {if(!s$1.isFunction(a))return n.push(new TypeError(`Invalid task: ${a}`)),void f();c=nt(a);}c.then(t=>{u.resolve(t);}).catch(e=>{n.push(e),n.length>=t.length&&u.pending?u.reject(new r$1("All Tasks Failed",n)):f();}).finally(()=>{i--;});}for(;i<e;)f();return u.promise},parallelAllSettled:async function(t,r=5){if(C(t),D(r),r<=0)throw new Error(`Invalid maxParallel: ${r}, should > 0`);t.forEach(t=>W(t));const e=[];if(t.length<=r){const r=await et(t.map(t=>nt(t)));return e.push(...r),e}const n=[];for(const o of t)if(n.push(o),n.length>=r){const t=await et(n.map(t=>nt(t)));e.push(...t),n.length=0;}if(n.length>0&&n.length<r){const t=await et(n.map(t=>nt(t)));e.push(...t);}return e},wait:function(t){J(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.wakeup=()=>{r._resolve();},r}};function rt(t=-1,r){D(t);const e={};let n;return e.pending=true,e.canceled=false,e.rejected=false,e.resolved=false,t>=0&&(e.timerCleared=false,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=>{e.resolved||e.rejected||e.canceled||(null!=n&&(clearTimeout(n),e.timerCleared=true),e.pending=false,e.canceled=false,e.rejected=false,e.resolved=true,t(r));},e.reject=t=>{e.resolved||e.rejected||e.canceled||(null!=n&&(clearTimeout(n),e.timerCleared=true),e.pending=false,e.canceled=false,e.resolved=false,e.rejected=true,r(t));};}),e.cancel=e.promise.cancel=t=>{e.resolved||e.rejected||e.canceled||(null!=n&&(clearTimeout(n),e.timerCleared=true),e.reject(t??new Error("Cancelled")),e.canceled=e.promise.canceled=true);},e}async function et(t){C(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 nt(t){try{const r=t();return s$1.isPromise(r)?r:Promise.resolve(r)}catch(t){return Promise.reject(t)}}new TextDecoder;new TextEncoder;
2
2
 
3
3
  // module vars
4
4
  const DefaultMinInterval = 50;
@@ -8,8 +8,8 @@ const DefaultMaxRetries = 3;
8
8
  // internal
9
9
 
10
10
  // module vars
11
- const { assertPositive: assertPositive$5, assertNotNegative: assertNotNegative$3 } = L$1;
12
- const { isNumber } = o$1;
11
+ const { assertPositive: assertPositive$5, assertNotNegative: assertNotNegative$3 } = F;
12
+ const { isNumber } = s$1;
13
13
 
14
14
  class Policy {
15
15
  /**
@@ -150,7 +150,7 @@ class Policy {
150
150
  }
151
151
  }
152
152
 
153
- 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}}
153
+ 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}}
154
154
 
155
155
  const Start = 'start'; // retry started
156
156
  const Stop = 'stop'; // retry stopped
@@ -177,7 +177,7 @@ var Event = {
177
177
  // 3rd
178
178
  // internal
179
179
  // module vars
180
- const { assertPositive: assertPositive$4 } = L$1;
180
+ const { assertPositive: assertPositive$4 } = F;
181
181
  class FixedIntervalPolicy extends Policy {
182
182
  /**
183
183
  * Creates a fixed interval retry policy with the specified interval.
@@ -212,7 +212,7 @@ class FixedIntervalPolicy extends Policy {
212
212
  // 3rd
213
213
  // internal
214
214
  // module vars
215
- const { assertPositive: assertPositive$3 } = L$1;
215
+ const { assertPositive: assertPositive$3 } = F;
216
216
  class FixedIncreasePolicy extends Policy {
217
217
  /**
218
218
  * each call to _next() increases the interval by "increasement".
@@ -249,7 +249,7 @@ class FixedIncreasePolicy extends Policy {
249
249
  // 3rd
250
250
  // internal
251
251
  // module vars
252
- const { assertPositive: assertPositive$2 } = L$1;
252
+ const { assertPositive: assertPositive$2 } = F;
253
253
 
254
254
  class FactoreIncreasePolicy extends Policy {
255
255
  /**
@@ -293,7 +293,7 @@ class FactoreIncreasePolicy extends Policy {
293
293
  // 3rd
294
294
  // internal
295
295
  // module vars
296
- const { assertPositive: assertPositive$1 } = L$1;
296
+ const { assertPositive: assertPositive$1 } = F;
297
297
 
298
298
  class ShuttlePolicy extends Policy {
299
299
  /**
@@ -338,7 +338,7 @@ class ShuttlePolicy extends Policy {
338
338
 
339
339
  // internal
340
340
  // module vars
341
- const { assertNotNegative: assertNotNegative$2 } = L$1;
341
+ const { assertNotNegative: assertNotNegative$2 } = F;
342
342
  /**
343
343
  * @class FixedBackoff
344
344
  */
@@ -358,7 +358,7 @@ class FixedBackoff extends FixedIntervalPolicy {
358
358
  // internal
359
359
 
360
360
  // module vars
361
- const { assertNotNegative: assertNotNegative$1 } = L$1;
361
+ const { assertNotNegative: assertNotNegative$1 } = F;
362
362
  /**
363
363
  * @class ExponentialBackoffPolicy
364
364
  */
@@ -376,7 +376,7 @@ class ExponentialBackoffPolicy extends FactoreIncreasePolicy {
376
376
 
377
377
  // internal
378
378
  // module vars
379
- const { assertNotNegative } = L$1;
379
+ const { assertNotNegative } = F;
380
380
  /**
381
381
  * @class LinearBackoff
382
382
  */
@@ -400,7 +400,7 @@ class LinearBackoff extends FixedIncreasePolicy {
400
400
  */
401
401
 
402
402
  // module vars
403
- const { assertNotNil, assertFunction: assertFunction$1 } = L$1;
403
+ const { assertNotNil, assertFunction: assertFunction$1 } = F;
404
404
  class Task {
405
405
  /**
406
406
  * Creates a new Task instance.
@@ -500,8 +500,8 @@ class AlwaysTask extends Task {
500
500
  */
501
501
 
502
502
  // module vars
503
- const { assertPositive, assertString, assertFunction, assertNumber } = L$1;
504
- const { isNil } = o$1;
503
+ const { assertPositive, assertString, assertFunction, assertNumber } = F;
504
+ const { isNil } = s$1;
505
505
  const TaskTimoutFlag = '!#@%$&^*';
506
506
 
507
507
  /**
@@ -702,7 +702,7 @@ class Retrier {
702
702
  * @param {number} [fixedInterval=1000] - The fixed interval in milliseconds between retry attempts. Defaults to 1000ms if not provided.
703
703
  */
704
704
  constructor (fixedInterval) {
705
- b.mixin(this);
705
+ k.mixin(this);
706
706
  /**
707
707
  * @type {Policy}
708
708
  */
@@ -1030,7 +1030,7 @@ class Retrier {
1030
1030
  let lastError;
1031
1031
  // @ts-ignore
1032
1032
  this.emit(Event.Start, startAt);
1033
- this._taskingFlag = Y.defer();
1033
+ this._taskingFlag = tt.defer();
1034
1034
  let latency = null;
1035
1035
 
1036
1036
  /**
@@ -1070,7 +1070,7 @@ class Retrier {
1070
1070
  const nextDelay = this._policy.generate(this._currentRetries);
1071
1071
  try {
1072
1072
  try {
1073
- await Y.timeout(task.execute(this._currentRetries, latency, nextDelay), this._taskTimeout, TaskTimoutFlag);
1073
+ await tt.timeout(task.execute(this._currentRetries, latency, nextDelay), this._taskTimeout, TaskTimoutFlag);
1074
1074
  } catch (err) {
1075
1075
  // @ts-ignore
1076
1076
  if (err.message === TaskTimoutFlag) {
@@ -1112,7 +1112,7 @@ class Retrier {
1112
1112
  break
1113
1113
  }
1114
1114
  // use Waiter to introduce the ability to wakeup at any time
1115
- this._sleepWaiter = Y.wait(nextDelay);
1115
+ this._sleepWaiter = tt.wait(nextDelay);
1116
1116
  await this._sleepWaiter.promise;
1117
1117
  // await PromiseUtils.delay(nextDelay)
1118
1118
  }
@@ -1123,6 +1123,10 @@ class Retrier {
1123
1123
  // @ts-ignore
1124
1124
  this.emit(Event.Completed, this._currentRetries, spent);
1125
1125
  });
1126
+ if (AlwaysTask.isAlwaysTask(this._task)) {
1127
+ return // always task, resolve with <void>
1128
+ }
1129
+ // normal retry task, return the task's result
1126
1130
  return this._taskingFlag.promise
1127
1131
  }
1128
1132
 
@@ -1135,7 +1139,7 @@ class Retrier {
1135
1139
  return
1136
1140
  }
1137
1141
  if (this._sleepWaiter != null) {
1138
- this._sleepWaiter.resolve();
1142
+ this._sleepWaiter.wakeup();
1139
1143
  }
1140
1144
  }
1141
1145
 
@@ -1154,7 +1158,7 @@ class Retrier {
1154
1158
  // @ts-ignore
1155
1159
  return this._breakFlag.promise
1156
1160
  }
1157
- this._breakFlag = Y.defer();
1161
+ this._breakFlag = tt.defer();
1158
1162
  /** @type {Error|undefined} */
1159
1163
  this._breakReason = reason ?? new Error('Manually Stop');
1160
1164
  // @ts-ignore
@@ -1516,7 +1520,7 @@ var RetrierFactory = {
1516
1520
  * ...
1517
1521
  * ```
1518
1522
  */
1519
- t$1.defaults(Retrier, RetrierFactory);
1523
+ e$1.defaults(Retrier, RetrierFactory);
1520
1524
 
1521
1525
  /**
1522
1526
  * default export to support