function _defineProperty(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function _classPrivateFieldInitSpec(e,a,t){_checkPrivateRedeclaration(e,a),a.set(e,t)}function _checkPrivateRedeclaration(e,a){if(a.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function _classPrivateFieldGet(e,a){return _classApplyDescriptorGet(e,_classExtractFieldDescriptor(e,a,"get"))}function _classApplyDescriptorGet(e,a){return a.get?a.get.call(e):a.value}function _classPrivateFieldSet(e,a,t){return _classApplyDescriptorSet(e,_classExtractFieldDescriptor(e,a,"set"),t),t}function _classExtractFieldDescriptor(e,a,t){if(!a.has(e))throw new TypeError("attempted to "+t+" private field on non-instance");return a.get(e)}function _classApplyDescriptorSet(e,a,t){if(a.set)a.set.call(e,t);else{if(!a.writable)throw new TypeError("attempted to set read only private field");a.value=t}}var toStringTag="undefined"!=typeof Symbol?Symbol.toStringTag:"@@toStringTag",_internals=new WeakMap,_promise=new WeakMap;class CancelablePromiseInternal{constructor(e){var{executor:a=(()=>{}),internals:t=defaultInternals(),promise:l=new Promise(((e,l)=>a(e,l,(e=>{t.onCancelList.push(e)}))))}=e;_classPrivateFieldInitSpec(this,_internals,{writable:!0,value:void 0}),_classPrivateFieldInitSpec(this,_promise,{writable:!0,value:void 0}),_defineProperty(this,toStringTag,"CancelablePromise"),this.cancel=this.cancel.bind(this),_classPrivateFieldSet(this,_internals,t),_classPrivateFieldSet(this,_promise,l||new Promise(((e,l)=>a(e,l,(e=>{t.onCancelList.push(e)})))))}then(e,a){return makeCancelable(_classPrivateFieldGet(this,_promise).then(createCallback(e,_classPrivateFieldGet(this,_internals)),createCallback(a,_classPrivateFieldGet(this,_internals))),_classPrivateFieldGet(this,_internals))}catch(e){return makeCancelable(_classPrivateFieldGet(this,_promise).catch(createCallback(e,_classPrivateFieldGet(this,_internals))),_classPrivateFieldGet(this,_internals))}finally(e,a){return a&&_classPrivateFieldGet(this,_internals).onCancelList.push(e),makeCancelable(_classPrivateFieldGet(this,_promise).finally(createCallback((()=>{if(e)return a&&(_classPrivateFieldGet(this,_internals).onCancelList=_classPrivateFieldGet(this,_internals).onCancelList.filter((a=>a!==e))),e()}),_classPrivateFieldGet(this,_internals))),_classPrivateFieldGet(this,_internals))}cancel(){_classPrivateFieldGet(this,_internals).isCanceled=!0;var e=_classPrivateFieldGet(this,_internals).onCancelList;for(var a of(_classPrivateFieldGet(this,_internals).onCancelList=[],e))if("function"==typeof a)try{a()}catch(e){console.error(e)}}isCanceled(){return!0===_classPrivateFieldGet(this,_internals).isCanceled}}export class CancelablePromise extends CancelablePromiseInternal{constructor(e){super({executor:e})}}_defineProperty(CancelablePromise,"all",(function(e){return makeAllCancelable(e,Promise.all(e))})),_defineProperty(CancelablePromise,"allSettled",(function(e){return makeAllCancelable(e,Promise.allSettled(e))})),_defineProperty(CancelablePromise,"any",(function(e){return makeAllCancelable(e,Promise.any(e))})),_defineProperty(CancelablePromise,"race",(function(e){return makeAllCancelable(e,Promise.race(e))})),_defineProperty(CancelablePromise,"resolve",(function(e){return cancelable(Promise.resolve(e))})),_defineProperty(CancelablePromise,"reject",(function(e){return cancelable(Promise.reject(e))})),_defineProperty(CancelablePromise,"isCancelable",isCancelablePromise);export default CancelablePromise;export function cancelable(e){return makeCancelable(e,defaultInternals())}export function isCancelablePromise(e){return e instanceof CancelablePromise||e instanceof CancelablePromiseInternal}function createCallback(e,a){if(e)return t=>{if(!a.isCanceled){var l=e(t);return isCancelablePromise(l)&&a.onCancelList.push(l.cancel),l}return t}}function makeCancelable(e,a){return new CancelablePromiseInternal({internals:a,promise:e})}function makeAllCancelable(e,a){var t=defaultInternals();return t.onCancelList.push((()=>{for(var a of e)isCancelablePromise(a)&&a.cancel()})),new CancelablePromiseInternal({internals:t,promise:a})}function defaultInternals(){return{isCanceled:!1,onCancelList:[]}} //# sourceMappingURL=CancelablePromise.min.mjs.map