easy-web-worker 7.0.0 → 7.0.2

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.
@@ -0,0 +1,158 @@
1
+ import { CancelablePromise } from 'easy-cancelable-promise/CancelablePromise';
2
+ import { EasyWebWorkerBody, IWorkerConfig, TOverrideConfig } from './types';
3
+ import { EasyWebWorkerMessage } from './EasyWebWorkerMessage';
4
+ /**
5
+ * This is a class to create an EasyWebWorker
6
+ * @template TPayload - Indicates if your WORKERS messages requires a parameter to be provided, NULL indicates they doesn't
7
+ * @template TResult - Indicates if your WORKERS messages has a result... NULL indicates all you messages are Promise<void>
8
+ * @param {EasyWebWorkerBody<TPayload, TResult> | EasyWebWorkerBody<TPayload, TResult>[]} workerBody -
9
+ * this parameter should be a function or set of functions that will become the body of your Web-Worker
10
+ * IMPORTANT!! all WORKERS content is gonna be transpiled on run time, so you can not use any variable, method of resource that weren't included into the WORKER.
11
+ * the above the reason of why we are injecting all worker context into the MessageBody Callbacks, so,
12
+ * you could easily identify what is on the context of your Worker.
13
+ * @param {Partial<IWorkerConfig>} WorkerConfig - You could add extra configuration to your worker,
14
+ * consult IWorkerConfig description to have more information
15
+ * */
16
+ export declare class EasyWebWorker<TPayload = null, TResult = void, TPrimitiveParameters extends any[] = unknown[]> {
17
+ /**
18
+ * this parameter should be a function or set of functions that will become the body of your Web-Worker
19
+ * IMPORTANT!! all WORKERS content is gonna be transpiled on run time, so you can not use any variable, method of resource that weren't included into the WORKER.
20
+ * the above the reason of why we are injecting all worker context into the MessageBody Callbacks, so,
21
+ * you could easily identify what is on the context of your Worker.
22
+ */
23
+ protected source: EasyWebWorkerBody<TPayload, TResult> | EasyWebWorkerBody<TPayload, TResult>[] | string | URL | Worker | Worker[];
24
+ /**
25
+ * This is the URL of the worker file
26
+ */
27
+ workerUrl?: string | URL | null;
28
+ /**
29
+ * @deprecated this will be removed in the next major version and keep it just inside the config object
30
+ */
31
+ name: string;
32
+ /**
33
+ * Worker configuration
34
+ */
35
+ config: Partial<IWorkerConfig<TPrimitiveParameters>>;
36
+ /**
37
+ * @deprecated Directly modifying the worker may lead to unexpected behavior. Use it only if you know what you are doing.
38
+ * this property will be removed in the next major version
39
+ */
40
+ get worker(): Worker;
41
+ /**
42
+ * @deprecated this will be removed in the next major version and keep it just inside the config object
43
+ */
44
+ maxWorkers: number;
45
+ /**
46
+ * @deprecated avoid direct access to the workers unless you know what you are doing
47
+ */
48
+ workers: Worker[];
49
+ /**
50
+ * @deprecated this will be removed in the next major version and keep it just inside the config object
51
+ */
52
+ keepAlive: boolean;
53
+ /**
54
+ * @deprecated this will be removed in the next major version and keep it just inside the config object
55
+ */
56
+ warmUpWorkers: boolean;
57
+ /**
58
+ * @deprecated this will be removed in the next major version and keep it just inside the config object
59
+ */
60
+ terminationDelay: number;
61
+ /**
62
+ * @deprecated this will be removed in the next major version and keep it just inside the config object
63
+ */
64
+ primitiveParameters: TPrimitiveParameters;
65
+ /**
66
+ * @deprecated this will be removed in the next major version and keep it just inside the config object
67
+ */
68
+ workerOptions?: WorkerOptions;
69
+ /**
70
+ * These where send to the worker but not yet resolved
71
+ */
72
+ private messagesQueue;
73
+ /**
74
+ * @deprecated this will be removed in the next major version to be grouped as a worker option object
75
+ * This is the list of scripts that will be imported into the worker
76
+ */
77
+ scripts: string[];
78
+ /**
79
+ * @deprecated this will be removed in the next major version to be grouped as a worker option object
80
+ * This is the callback that will be executed when the worker throws an error
81
+ */
82
+ onWorkerError: (error: ErrorEvent) => void;
83
+ protected get isExternalWorkerFile(): boolean;
84
+ constructor(
85
+ /**
86
+ * this parameter should be a function or set of functions that will become the body of your Web-Worker
87
+ * IMPORTANT!! all WORKERS content is gonna be transpiled on run time, so you can not use any variable, method of resource that weren't included into the WORKER.
88
+ * the above the reason of why we are injecting all worker context into the MessageBody Callbacks, so,
89
+ * you could easily identify what is on the context of your Worker.
90
+ */
91
+ source: EasyWebWorkerBody<TPayload, TResult> | EasyWebWorkerBody<TPayload, TResult>[] | string | URL | Worker | Worker[],
92
+ /**
93
+ * You could import scripts into your worker, this is useful if you want to use external libraries
94
+ */
95
+ config?: Partial<IWorkerConfig<TPrimitiveParameters>>);
96
+ private warmUp;
97
+ private fillWorkerMethods;
98
+ private createNewWorker;
99
+ private getWorkerFromPool;
100
+ protected computeWorkerBaseSource: () => {
101
+ isArrayOfWebWorkers: boolean;
102
+ };
103
+ private RemoveMessageFromQueue;
104
+ /**
105
+ * Categorizes the worker response and executes the corresponding callback
106
+ */
107
+ private executeMessageCallback;
108
+ protected getWorkerUrl(): string;
109
+ /**
110
+ * Execute the cancel callback of each message in the queue if provided
111
+ * @param {unknown} reason - reason messages where canceled
112
+ * @param {boolean} force - if true, the messages will be cancelled immediately without waiting for the worker to respond
113
+ * This action will reboot the worker
114
+ */
115
+ cancelAll(reason?: unknown, { force }?: {
116
+ force?: boolean;
117
+ }): CancelablePromise<unknown[]>;
118
+ protected addMessageToQueue(message: EasyWebWorkerMessage<unknown, unknown>): void;
119
+ /**
120
+ * Send a message to the worker queue to an specific method
121
+ * @template TResult_ - result type of the message (if any)
122
+ * @template TPayload_ - payload type of the message (if any)
123
+ * @param {string} method - method name
124
+ * @param {TPayload} payload - whatever json data you want to send to the worker
125
+ * @returns {IMessagePromise<TResult>} generated defer that will be resolved when the message completed
126
+ */
127
+ sendToMethod<TResult_ = void, TPayload_ = null>(method: string, payload?: TPayload_, transfer?: Transferable[]): CancelablePromise<TResult_>;
128
+ /**
129
+ * Send a message to the worker queue
130
+ * @param {TPayload} payload - whatever json data you want to send to the worker
131
+ * @returns {IMessagePromise<TResult>} generated defer that will be resolved when the message completed
132
+ */
133
+ send: [TPayload] extends [null] ? () => CancelablePromise<TResult> : (payload: TPayload, transfer?: Transferable[]) => CancelablePromise<TResult>;
134
+ private sendToWorker;
135
+ /**
136
+ * This method terminate all current messages and send a new one to the worker queue
137
+ * @param {TPayload} payload - whatever json data you want to send to the worker, should be serializable
138
+ * @param {unknown} reason - reason why the worker was terminated
139
+ * @returns {IMessagePromise<TResult>} generated defer that will be resolved when the message completed
140
+ */
141
+ override: [TPayload] extends [null] ? (reason?: unknown, config?: TOverrideConfig) => CancelablePromise<TResult> : (payload: TPayload, reason?: unknown, config?: TOverrideConfig) => CancelablePromise<TResult>;
142
+ /**
143
+ * This method will alow the current message to be completed and send a new one to the worker queue after it, all the messages after the current one will be canceled
144
+ * @param {TPayload} payload - whatever json data you want to send to the worker should be serializable
145
+ * @param {unknown} reason - reason why the worker was terminated
146
+ * @returns {IMessagePromise<TResult>} generated defer that will be resolved when the message completed
147
+ */
148
+ overrideAfterCurrent: [TPayload] extends [null] ? (reason?: unknown, TOverrideConfig?: any) => CancelablePromise<TResult> : (payload: TPayload, reason?: unknown, config?: TOverrideConfig) => CancelablePromise<TResult>;
149
+ /**
150
+ * This method will reboot the worker and cancel all the messages in the queue
151
+ * @param {unknown} reason - reason why the worker will be restarted
152
+ */
153
+ reboot(reason?: unknown): CancelablePromise<unknown[]>;
154
+ /**
155
+ * This method will remove the WebWorker and the BlobUrl
156
+ */
157
+ dispose(): Promise<void>;
158
+ }
@@ -0,0 +1 @@
1
+ !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports["easy-web-worker"]=r():e["easy-web-worker"]=r()}(this,(()=>(()=>{var e={655:(e,r,t)=>{"use strict";function n(e){return n="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},n(e)}function o(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,a(n.key),n)}}function i(e,r,t){return r&&o(e.prototype,r),t&&o(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function a(e){var r=function(e,r){if("object"!=n(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,r||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)}(e,"string");return"symbol"==n(r)?r:r+""}Object.defineProperty(r,"__esModule",{value:!0}),r.EasyWebWorkerMessage=void 0;var c=t(816),l=t(416),s=i((function e(){!function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e),this.messageId=(0,l.uniqueId)("ms:"),this.decoupledPromise=(0,c.createDecoupledPromise)(),this.decoupledPromise._cancel=this.decoupledPromise.promise.cancel}));r.EasyWebWorkerMessage=s},111:(e,r,t)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.createBlobWorker=void 0;var n=t(216);r.createBlobWorker=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],t=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).primitiveParameters,o=void 0===t?[]:t,i=Array.isArray(e)?e:[e],a="".concat(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.length?'self.importScripts(["'.concat(e.join('","'),'"]);'):""}(r),"self.primitiveParameters=JSON.parse(`").concat(JSON.stringify(null!=o?o:[]),"`);let ew$=").concat((0,n.getWorkerTemplate)(),";let cn$=self;").concat(i.map((function(e){return"\n(".concat(null==e?void 0:e.toString().trim(),")(ew$,cn$);")})).join(""));return(window.URL||window.webkitURL).createObjectURL(new Blob([a],{type:"application/javascript"}))}},216:(e,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.getWorkerTemplate=void 0;r.getWorkerTemplate=function(){return'(()=>{let e=new Map,o=new Map([["",()=>{throw"you didn\'t defined a message-callback, please assign a callback by calling easyWorker.onMessage"},],]),t=({messageId:o,payload:t,method:a})=>{let s="pending",n=new Map,r=(t,r,l=[])=>{var i;let c=s,d="progress"===t?"pending":t;if(!e.has(o)){let g="%c#"+o+" Message Not Found: %cThis means that the message was already resolved | rejected | canceled. To avoid this error, please make sure that you are not resolving | rejecting | canceling the same message twice. Also make sure that you are not reporting progress after the message was processed. Remember each message can handle his one cancelation by adding a handler with the %cmessage.onCancel%c method. To now more about this method, please check the documentation at: %chttps://www.npmjs.com/package/easy-web-worker#ieasywebworkermessageipayload--null-iresult--void %cTrying to process message:";console.error(g,"color: darkorange; font-size: 12px; font-weight: bold;","font-weight: normal;","font-weight: bold;","font-weight: normal;","color: lightblue; font-size: 10px; font-weight: bold;","font-weight: bold; color: darkorange;",{messageId:o,status:{current:c,target:d},method:a,action:r});return}let h={resolved:"onResolve",rejected:"onReject",canceled:"onCancel",worker_cancelation:"onCancel",pending:"onProgress"}[d],w=n.get(h),m=!r.progress;try{null==w||w.forEach(e=>e(r,l)),m&&(null===(i=n.get("onFinalize"))||void 0===i||i.forEach(e=>e(r,l)))}catch(u){throw e.delete(o),{message:"Error while processing message id: "+o,error:u,messageData:r,messageType:t,when:h}}finally{m&&e.delete(o)}self.postMessage(Object.assign({messageId:o},r),l),s=d},l=(e,o=[])=>r("resolved",{resolved:{payload:void 0===e?[]:[e]}},o),i=(e,o=[])=>{r("rejected",{rejected:{reason:e}},o)},c=(e,o=[])=>r("worker_cancelation",{worker_cancelation:{reason:e}},o),d=(e,o,t=[])=>{r("progress",{progress:{percentage:e,payload:o}},t)},g=e=>o=>{n.has(e)||n.set(e,new Set);let t=n.get(e);return t.add(o),()=>t.delete(o)};return{messageId:o,method:a,payload:t,getStatus:()=>s,isPending:()=>"pending"===s,resolve:l,reject:i,cancel:c,reportProgress:d,onResolve:g("onResolve"),onReject:g("onReject"),onCancel:g("onCancel"),onProgress:g("onProgress"),onFinalize:g("onFinalize")}},a=(...e)=>{let[t,a]=e,s="string"==typeof t;if(s){let n=t,r=a;o.set(n,r);return}let l=t;o.set("",l)},s=()=>{let o=[...e.values()];o.forEach(e=>e.reject(Error("worker closed"))),self.close()};self.onmessage=a=>{var s,n,r,l;let i=null===(s=null==a?void 0:a.data)||void 0===s?void 0:s.messageId,c=null!==(r=null===(n=null==a?void 0:a.data)||void 0===n?void 0:n.__is_easy_web_worker_message__)&&void 0!==r&&r,d=i&&c;if(d)try{let{data:g}=a,{cancelation:h}=g;if(h){let{reason:w}=h,m=e.get(i);m.cancel(w);return}let{method:u,execution:p}=a.data,{payload:v}=p,f=t({method:u,messageId:i,payload:v});e.set(i,f);let y=o.get(u||"");y(f,a)}catch(k){throw e.delete(null===(l=a.data)||void 0===l?void 0:l.messageId),{message:"Error while processing message id: "+i,event:a}}};let n=(...e)=>{self.importScripts(...e)};return{onMessage:a,close:s,importScripts:n}})();'}},416:(e,r)=>{"use strict";var t;Object.defineProperty(r,"__esModule",{value:!0}),r.uniqueId=void 0,r.uniqueId=(t=0,function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return t===Number.MAX_SAFE_INTEGER&&(t=0),e+Date.now().toString(36)+(t++).toString(36)})},911:function(e){var r;r=()=>(()=>{"use strict";var e={836:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isCancelableAbortSignal=void 0,r.isCancelableAbortSignal=function(e){return Boolean(null==e?void 0:e.__is_cancelable_abort_signal)}},216:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.promise_identifier=r.isCancelablePromise=void 0;var t=Symbol("promise_identifier");r.promise_identifier=t,r.isCancelablePromise=function(e){return!!(null==e?void 0:e[t])}},790:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isPromise=void 0,r.isPromise=function(e){return Promise.resolve(e)===e}}},r={};function t(n){var o=r[n];if(void 0!==o)return o.exports;var i=r[n]={exports:{}};return e[n](i,i.exports,t),i.exports}var n={};return(()=>{var e=n;function r(e){return 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},r(e)}Object.defineProperty(e,"__esModule",{value:!0}),e.toCancelablePromise=e.CancelablePromise=void 0;var o,i=t(836),a=t(216),c=t(790);function l(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,(i=function(e){if("object"!==r(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(o.key),"symbol"===r(i)?i:String(i)),o)}var i}function s(e){var t=v();return function(){var n,o=y(e);if(t){var i=y(this).constructor;n=Reflect.construct(o,arguments,i)}else n=o.apply(this,arguments);return function(e,t){if(t&&("object"===r(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return u(e)}(this,n)}}function u(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function f(){return f="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,r,t){var n=function(e,r){for(;!Object.prototype.hasOwnProperty.call(e,r)&&null!==(e=y(e)););return e}(e,r);if(n){var o=Object.getOwnPropertyDescriptor(n,r);return o.get?o.get.call(arguments.length<3?e:t):o.value}},f.apply(this,arguments)}function p(e){var r="function"==typeof Map?new Map:void 0;return p=function(e){if(null===e||(t=e,-1===Function.toString.call(t).indexOf("[native code]")))return e;var t;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(e))return r.get(e);r.set(e,n)}function n(){return d(e,arguments,y(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),h(n,e)},p(e)}function d(e,r,t){return d=v()?Reflect.construct.bind():function(e,r,t){var n=[null];n.push.apply(n,r);var o=new(Function.bind.apply(e,n));return t&&h(o,t.prototype),o},d.apply(null,arguments)}function v(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function h(e,r){return h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,r){return e.__proto__=r,e},h(e,r)}function y(e){return y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},y(e)}var b=function(e){!function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),r&&h(e,r)}(a,e);var r,t,n=s(a);function a(e){var r,t,c,l,s,p;return function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,a),(l=n.call(this,(function(e,r){s=e,p=r})))[o]=!0,l.status="pending",l.cancelCallbacks=new Set,l.ownCancelCallbacks=new Set,l.onProgressCallbacks=new Set,l.disposeCallbacks=function(){l.cancelCallbacks=new Set,l.ownCancelCallbacks=new Set,l.onProgressCallbacks=new Set},l.subscribeToOwnCancelEvent=function(e){return l.ownCancelCallbacks.add(e),function(){l.ownCancelCallbacks.delete(e)}},l.cancel=function(e){if("pending"!==l.status)return u(l);l.status="canceled";var r=void 0===e?new Error("Promise canceled"):e;return l.ownCancelCallbacks.forEach((function(e){return e(r)})),l.cancelCallbacks.forEach((function(e){return e(r)})),l._reject(r),l.disposeCallbacks(),u(l)},l.onCancel=function(e){var r=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).signal;return l.cancelCallbacks.add(e),(0,i.isCancelableAbortSignal)(r)?r.subscribe((function(){l.cancelCallbacks.delete(e)})):null==r||r.addEventListener("abort",(function(){l.cancelCallbacks.delete(e)})),u(l)},l.onProgress=function(e){var r=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).signal;return l.onProgressCallbacks.add(e),(0,i.isCancelableAbortSignal)(r)?r.subscribe((function(){l.onProgressCallbacks.delete(e)})):null==r||r.addEventListener("abort",(function(){l.onProgressCallbacks.delete(e)})),u(l)},l.reportProgress=function(e,r){return l.onProgressCallbacks.forEach((function(t){return t(e,r)})),u(l)},l.createChildPromise=function(){var e,r,t=new a((function(t,n,o){e=t,r=n}));return t.onProgressCallbacks=l.onProgressCallbacks,t.onCancel((function(e){l.cancel(e)})),{promise:t,resolve:e,reject:r}},l._resolve=s,l._reject=p,e((function(e){l.status="resolved",l.disposeCallbacks(),l._resolve(e)}),(function(e){l.status="rejected",l.disposeCallbacks(),l._reject(e)}),{cancel:function(e){return l.cancel(e)},onCancel:function(e){return l.subscribeToOwnCancelEvent(e)},onProgress:function(e){return l.onProgress(e),function(){l.onProgressCallbacks.delete(e)}},reportProgress:function(e,r){l.reportProgress(e,r)}}),l.then=function(e,t){var n=l.createChildPromise(),o=n.promise,i=n.resolve,c=n.reject;return f((r=u(l),y(a.prototype)),"then",r).call(r,e,t).then(i,c),o},l.catch=function(e){var r=l.createChildPromise(),n=r.promise,o=r.resolve,i=r.reject;return f((t=u(l),y(a.prototype)),"catch",t).call(t,e).then(o,i),n},l.finally=function(e){var r=l.createChildPromise(),t=r.promise,n=r.resolve,o=r.reject;return f((c=u(l),y(a.prototype)),"finally",c).call(c,e).then(n,o),t},l}return r=a,t=[{key:"resolve",value:function(e){return new a((function(r){return r(e)}))}}],t&&l(r,t),Object.defineProperty(r,"prototype",{writable:!1}),a}(p(Promise));e.CancelablePromise=b,o=a.promise_identifier,b.reject=function(e){return new b((function(r,t){return t(e)}))},b.canceled=function(e){return new b((function(r,t,n){return(0,n.cancel)(e)}))},b.race=function(e){return new b((function(r,t,n){var o=n.onCancel,i=n.cancel;e.forEach((function(e){var n=m(e);o((function(e){n.cancel(e)})),n.then(r,(function(e){"canceled"!==n.status?t(e):i(e)}))}))}))},b.all=function(e){return new b((function(r,t,n){var o=n.onCancel,i=n.cancel,a=new Map,c=e.length,l=0;e.forEach((function(e){var n=m(e);a.set(n,null),o((function(e){n.cancel(e)})),n.then((function(e){l++,a.set(n,e),l===c&&r(Array.from(a.values()))}),(function(e){"canceled"!==n.status?t(e):i(e)}))}))}))},b.allSettled=function(e){return new b((function(r,t,n){var o=n.onCancel,i=new Map,a=e.length,c=0;e.forEach((function(e){var t=m(e);i.set(t,null),o((function(e){t.cancel(e)})),t.then((function(e){i.set(t,{status:"fulfilled",value:e})}),(function(e){i.set(t,{status:"canceled"===t.status?"canceled":"rejected",reason:e})})).finally((function(){++c===a&&r(Array.from(i.values()))}))}))}))},b.prototype.constructor=Promise;var m=function e(r){if((0,a.isCancelablePromise)(r))return r;if("function"==typeof r)return e(r());if(!(0,c.isPromise)(r))return new b((function(e){return e(r)}));var t,n,o=new b((function(e,o,i){t=e,n=o,r.then(t,n)}));return o.onCancel((function(e){n(e)})),o};e.toCancelablePromise=m})(),n})(),e.exports=r()},816:function(e){var r;r=()=>(()=>{"use strict";var e={0:(e,r,t)=>{function n(e){return n="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},n(e)}Object.defineProperty(r,"__esModule",{value:!0}),r.toCancelablePromise=r.CancelablePromise=void 0;var o,i=t(836),a=t(216),c=t(790);function l(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,(i=function(e){if("object"!==n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var t=r.call(e,"string");if("object"!==n(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(o.key),"symbol"===n(i)?i:String(i)),o)}var i}function s(e){var r=v();return function(){var t,o=y(e);if(r){var i=y(this).constructor;t=Reflect.construct(o,arguments,i)}else t=o.apply(this,arguments);return function(e,r){if(r&&("object"===n(r)||"function"==typeof r))return r;if(void 0!==r)throw new TypeError("Derived constructors may only return object or undefined");return u(e)}(this,t)}}function u(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function f(){return f="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,r,t){var n=function(e,r){for(;!Object.prototype.hasOwnProperty.call(e,r)&&null!==(e=y(e)););return e}(e,r);if(n){var o=Object.getOwnPropertyDescriptor(n,r);return o.get?o.get.call(arguments.length<3?e:t):o.value}},f.apply(this,arguments)}function p(e){var r="function"==typeof Map?new Map:void 0;return p=function(e){if(null===e||(t=e,-1===Function.toString.call(t).indexOf("[native code]")))return e;var t;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(e))return r.get(e);r.set(e,n)}function n(){return d(e,arguments,y(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),h(n,e)},p(e)}function d(e,r,t){return d=v()?Reflect.construct.bind():function(e,r,t){var n=[null];n.push.apply(n,r);var o=new(Function.bind.apply(e,n));return t&&h(o,t.prototype),o},d.apply(null,arguments)}function v(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function h(e,r){return h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,r){return e.__proto__=r,e},h(e,r)}function y(e){return y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},y(e)}var b=function(e){!function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),r&&h(e,r)}(a,e);var r,t,n=s(a);function a(e){var r,t,c,l,s,p;return function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,a),(l=n.call(this,(function(e,r){s=e,p=r})))[o]=!0,l.status="pending",l.cancelCallbacks=new Set,l.ownCancelCallbacks=new Set,l.onProgressCallbacks=new Set,l.disposeCallbacks=function(){l.cancelCallbacks=new Set,l.ownCancelCallbacks=new Set,l.onProgressCallbacks=new Set},l.subscribeToOwnCancelEvent=function(e){return l.ownCancelCallbacks.add(e),function(){l.ownCancelCallbacks.delete(e)}},l.cancel=function(e){if("pending"!==l.status)return u(l);l.status="canceled";var r=void 0===e?new Error("Promise canceled"):e;return l.ownCancelCallbacks.forEach((function(e){return e(r)})),l.cancelCallbacks.forEach((function(e){return e(r)})),l._reject(r),l.disposeCallbacks(),u(l)},l.onCancel=function(e){var r=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).signal;return l.cancelCallbacks.add(e),(0,i.isCancelableAbortSignal)(r)?r.subscribe((function(){l.cancelCallbacks.delete(e)})):null==r||r.addEventListener("abort",(function(){l.cancelCallbacks.delete(e)})),u(l)},l.onProgress=function(e){var r=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).signal;return l.onProgressCallbacks.add(e),(0,i.isCancelableAbortSignal)(r)?r.subscribe((function(){l.onProgressCallbacks.delete(e)})):null==r||r.addEventListener("abort",(function(){l.onProgressCallbacks.delete(e)})),u(l)},l.reportProgress=function(e,r){return l.onProgressCallbacks.forEach((function(t){return t(e,r)})),u(l)},l.createChildPromise=function(){var e,r,t=new a((function(t,n,o){e=t,r=n}));return t.onProgressCallbacks=l.onProgressCallbacks,t.onCancel((function(e){l.cancel(e)})),{promise:t,resolve:e,reject:r}},l._resolve=s,l._reject=p,e((function(e){l.status="resolved",l.disposeCallbacks(),l._resolve(e)}),(function(e){l.status="rejected",l.disposeCallbacks(),l._reject(e)}),{cancel:function(e){return l.cancel(e)},onCancel:function(e){return l.subscribeToOwnCancelEvent(e)},onProgress:function(e){return l.onProgress(e),function(){l.onProgressCallbacks.delete(e)}},reportProgress:function(e,r){l.reportProgress(e,r)}}),l.then=function(e,t){var n=l.createChildPromise(),o=n.promise,i=n.resolve,c=n.reject;return f((r=u(l),y(a.prototype)),"then",r).call(r,e,t).then(i,c),o},l.catch=function(e){var r=l.createChildPromise(),n=r.promise,o=r.resolve,i=r.reject;return f((t=u(l),y(a.prototype)),"catch",t).call(t,e).then(o,i),n},l.finally=function(e){var r=l.createChildPromise(),t=r.promise,n=r.resolve,o=r.reject;return f((c=u(l),y(a.prototype)),"finally",c).call(c,e).then(n,o),t},l}return r=a,t=[{key:"resolve",value:function(e){return new a((function(r){return r(e)}))}}],t&&l(r,t),Object.defineProperty(r,"prototype",{writable:!1}),a}(p(Promise));r.CancelablePromise=b,o=a.promise_identifier,b.reject=function(e){return new b((function(r,t){return t(e)}))},b.canceled=function(e){return new b((function(r,t,n){return(0,n.cancel)(e)}))},b.race=function(e){return new b((function(r,t,n){var o=n.onCancel,i=n.cancel;e.forEach((function(e){var n=m(e);o((function(e){n.cancel(e)})),n.then(r,(function(e){"canceled"!==n.status?t(e):i(e)}))}))}))},b.all=function(e){return new b((function(r,t,n){var o=n.onCancel,i=n.cancel,a=new Map,c=e.length,l=0;e.forEach((function(e){var n=m(e);a.set(n,null),o((function(e){n.cancel(e)})),n.then((function(e){l++,a.set(n,e),l===c&&r(Array.from(a.values()))}),(function(e){"canceled"!==n.status?t(e):i(e)}))}))}))},b.allSettled=function(e){return new b((function(r,t,n){var o=n.onCancel,i=new Map,a=e.length,c=0;e.forEach((function(e){var t=m(e);i.set(t,null),o((function(e){t.cancel(e)})),t.then((function(e){i.set(t,{status:"fulfilled",value:e})}),(function(e){i.set(t,{status:"canceled"===t.status?"canceled":"rejected",reason:e})})).finally((function(){++c===a&&r(Array.from(i.values()))}))}))}))},b.prototype.constructor=Promise;var m=function e(r){if((0,a.isCancelablePromise)(r))return r;if("function"==typeof r)return e(r());if(!(0,c.isPromise)(r))return new b((function(e){return e(r)}));var t,n,o=new b((function(e,o,i){t=e,n=o,r.then(t,n)}));return o.onCancel((function(e){n(e)})),o};r.toCancelablePromise=m},836:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isCancelableAbortSignal=void 0,r.isCancelableAbortSignal=function(e){return Boolean(null==e?void 0:e.__is_cancelable_abort_signal)}},216:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.promise_identifier=r.isCancelablePromise=void 0;var t=Symbol("promise_identifier");r.promise_identifier=t,r.isCancelablePromise=function(e){return!!(null==e?void 0:e[t])}},790:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isPromise=void 0,r.isPromise=function(e){return Promise.resolve(e)===e}}},r={};function t(n){var o=r[n];if(void 0!==o)return o.exports;var i=r[n]={exports:{}};return e[n](i,i.exports,t),i.exports}var n={};return(()=>{var e=n;Object.defineProperty(e,"__esModule",{value:!0}),e.createDecoupledPromise=void 0;var r=t(0);e.createDecoupledPromise=function(){var e,t,n,o=new r.CancelablePromise((function(r,o,i){e=r,t=o,n=i}));return Object.assign(Object.assign({resolve:e,reject:t},n),{promise:o})}})(),n})(),e.exports=r()},180:function(e){var r;r=()=>(()=>{"use strict";var e={0:(e,r,t)=>{function n(e){return n="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},n(e)}Object.defineProperty(r,"__esModule",{value:!0}),r.toCancelablePromise=r.CancelablePromise=void 0;var o,i=t(836),a=t(216),c=t(790);function l(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,(i=function(e){if("object"!==n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var t=r.call(e,"string");if("object"!==n(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(o.key),"symbol"===n(i)?i:String(i)),o)}var i}function s(e){var r=v();return function(){var t,o=y(e);if(r){var i=y(this).constructor;t=Reflect.construct(o,arguments,i)}else t=o.apply(this,arguments);return function(e,r){if(r&&("object"===n(r)||"function"==typeof r))return r;if(void 0!==r)throw new TypeError("Derived constructors may only return object or undefined");return u(e)}(this,t)}}function u(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function f(){return f="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,r,t){var n=function(e,r){for(;!Object.prototype.hasOwnProperty.call(e,r)&&null!==(e=y(e)););return e}(e,r);if(n){var o=Object.getOwnPropertyDescriptor(n,r);return o.get?o.get.call(arguments.length<3?e:t):o.value}},f.apply(this,arguments)}function p(e){var r="function"==typeof Map?new Map:void 0;return p=function(e){if(null===e||(t=e,-1===Function.toString.call(t).indexOf("[native code]")))return e;var t;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(e))return r.get(e);r.set(e,n)}function n(){return d(e,arguments,y(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),h(n,e)},p(e)}function d(e,r,t){return d=v()?Reflect.construct.bind():function(e,r,t){var n=[null];n.push.apply(n,r);var o=new(Function.bind.apply(e,n));return t&&h(o,t.prototype),o},d.apply(null,arguments)}function v(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function h(e,r){return h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,r){return e.__proto__=r,e},h(e,r)}function y(e){return y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},y(e)}var b=function(e){!function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),r&&h(e,r)}(a,e);var r,t,n=s(a);function a(e){var r,t,c,l,s,p;return function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,a),(l=n.call(this,(function(e,r){s=e,p=r})))[o]=!0,l.status="pending",l.cancelCallbacks=new Set,l.ownCancelCallbacks=new Set,l.onProgressCallbacks=new Set,l.disposeCallbacks=function(){l.cancelCallbacks=new Set,l.ownCancelCallbacks=new Set,l.onProgressCallbacks=new Set},l.subscribeToOwnCancelEvent=function(e){return l.ownCancelCallbacks.add(e),function(){l.ownCancelCallbacks.delete(e)}},l.cancel=function(e){if("pending"!==l.status)return u(l);l.status="canceled";var r=void 0===e?new Error("Promise canceled"):e;return l.ownCancelCallbacks.forEach((function(e){return e(r)})),l.cancelCallbacks.forEach((function(e){return e(r)})),l._reject(r),l.disposeCallbacks(),u(l)},l.onCancel=function(e){var r=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).signal;return l.cancelCallbacks.add(e),(0,i.isCancelableAbortSignal)(r)?r.subscribe((function(){l.cancelCallbacks.delete(e)})):null==r||r.addEventListener("abort",(function(){l.cancelCallbacks.delete(e)})),u(l)},l.onProgress=function(e){var r=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).signal;return l.onProgressCallbacks.add(e),(0,i.isCancelableAbortSignal)(r)?r.subscribe((function(){l.onProgressCallbacks.delete(e)})):null==r||r.addEventListener("abort",(function(){l.onProgressCallbacks.delete(e)})),u(l)},l.reportProgress=function(e,r){return l.onProgressCallbacks.forEach((function(t){return t(e,r)})),u(l)},l.createChildPromise=function(){var e,r,t=new a((function(t,n,o){e=t,r=n}));return t.onProgressCallbacks=l.onProgressCallbacks,t.onCancel((function(e){l.cancel(e)})),{promise:t,resolve:e,reject:r}},l._resolve=s,l._reject=p,e((function(e){l.status="resolved",l.disposeCallbacks(),l._resolve(e)}),(function(e){l.status="rejected",l.disposeCallbacks(),l._reject(e)}),{cancel:function(e){return l.cancel(e)},onCancel:function(e){return l.subscribeToOwnCancelEvent(e)},onProgress:function(e){return l.onProgress(e),function(){l.onProgressCallbacks.delete(e)}},reportProgress:function(e,r){l.reportProgress(e,r)}}),l.then=function(e,t){var n=l.createChildPromise(),o=n.promise,i=n.resolve,c=n.reject;return f((r=u(l),y(a.prototype)),"then",r).call(r,e,t).then(i,c),o},l.catch=function(e){var r=l.createChildPromise(),n=r.promise,o=r.resolve,i=r.reject;return f((t=u(l),y(a.prototype)),"catch",t).call(t,e).then(o,i),n},l.finally=function(e){var r=l.createChildPromise(),t=r.promise,n=r.resolve,o=r.reject;return f((c=u(l),y(a.prototype)),"finally",c).call(c,e).then(n,o),t},l}return r=a,t=[{key:"resolve",value:function(e){return new a((function(r){return r(e)}))}}],t&&l(r,t),Object.defineProperty(r,"prototype",{writable:!1}),a}(p(Promise));r.CancelablePromise=b,o=a.promise_identifier,b.reject=function(e){return new b((function(r,t){return t(e)}))},b.canceled=function(e){return new b((function(r,t,n){return(0,n.cancel)(e)}))},b.race=function(e){return new b((function(r,t,n){var o=n.onCancel,i=n.cancel;e.forEach((function(e){var n=m(e);o((function(e){n.cancel(e)})),n.then(r,(function(e){"canceled"!==n.status?t(e):i(e)}))}))}))},b.all=function(e){return new b((function(r,t,n){var o=n.onCancel,i=n.cancel,a=new Map,c=e.length,l=0;e.forEach((function(e){var n=m(e);a.set(n,null),o((function(e){n.cancel(e)})),n.then((function(e){l++,a.set(n,e),l===c&&r(Array.from(a.values()))}),(function(e){"canceled"!==n.status?t(e):i(e)}))}))}))},b.allSettled=function(e){return new b((function(r,t,n){var o=n.onCancel,i=new Map,a=e.length,c=0;e.forEach((function(e){var t=m(e);i.set(t,null),o((function(e){t.cancel(e)})),t.then((function(e){i.set(t,{status:"fulfilled",value:e})}),(function(e){i.set(t,{status:"canceled"===t.status?"canceled":"rejected",reason:e})})).finally((function(){++c===a&&r(Array.from(i.values()))}))}))}))},b.prototype.constructor=Promise;var m=function e(r){if((0,a.isCancelablePromise)(r))return r;if("function"==typeof r)return e(r());if(!(0,c.isPromise)(r))return new b((function(e){return e(r)}));var t,n,o=new b((function(e,o,i){t=e,n=o,r.then(t,n)}));return o.onCancel((function(e){n(e)})),o};r.toCancelablePromise=m},836:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isCancelableAbortSignal=void 0,r.isCancelableAbortSignal=function(e){return Boolean(null==e?void 0:e.__is_cancelable_abort_signal)}},216:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.promise_identifier=r.isCancelablePromise=void 0;var t=Symbol("promise_identifier");r.promise_identifier=t,r.isCancelablePromise=function(e){return!!(null==e?void 0:e[t])}},790:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isPromise=void 0,r.isPromise=function(e){return Promise.resolve(e)===e}},710:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"toCancelablePromise",{enumerable:!0,get:function(){return n.toCancelablePromise}});var n=t(0)}},r={};function t(n){var o=r[n];if(void 0!==o)return o.exports;var i=r[n]={exports:{}};return e[n](i,i.exports,t),i.exports}var n={};return(()=>{var e=n;Object.defineProperty(e,"__esModule",{value:!0}),e.groupAsCancelablePromise=void 0;var r=t(710),o=t(0);function i(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return a(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?a(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}e.groupAsCancelablePromise=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e.length)return null;var n=t.maxConcurrent,a=void 0===n?8:n,c=t.executeInOrder,l=void 0!==c&&c,s=t.beforeEachCallback,u=void 0===s?null:s,f=t.afterEachCallback,p=void 0===f?null:f,d=t.onQueueEmptyCallback,v=void 0===d?null:d,h=i(e),y=[];return new o.CancelablePromise((function(t,n,o){(function t(){if(h.length){var n=h.splice(0,a).map((function(t){var n="function"==typeof t?t():t;null==u||u();var i=(0,r.toCancelablePromise)(n),a=o.onCancel((function(e){i.cancel(e)}));return i.then((function(r){var t,n;a(),y.push(r),null==p||p(r),o.reportProgress((null!==(t=y.length)&&void 0!==t?t:1)/(null!==(n=e.length)&&void 0!==n?n:1)*100)})),l?i.then((function(e){return e})):i}));return Promise.all(n).then((function(){return t()}))}})().then((function(){null==v||v(y),t(y)}))}))}})(),n})(),e.exports=r()}},r={};function t(n){var o=r[n];if(void 0!==o)return o.exports;var i=r[n]={exports:{}};return e[n].call(i.exports,i,i.exports,t),i.exports}var n={};return(()=>{"use strict";var e=n;function r(e){return 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},r(e)}function o(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||a(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,o,i,a,c=[],l=!0,s=!1;try{if(i=(t=t.call(e)).next,0===r){if(Object(t)!==t)return;l=!1}else for(;!(l=(n=i.call(t)).done)&&(c.push(n.value),c.length!==r);l=!0);}catch(e){s=!0,o=e}finally{try{if(!l&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(s)throw o}}return c}}(e,r)||a(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,r){if(e){if("string"==typeof e)return c(e,r);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?c(e,r):void 0}}function c(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}function l(){l=function(){return t};var e,t={},n=Object.prototype,o=n.hasOwnProperty,i=Object.defineProperty||function(e,r,t){e[r]=t.value},a="function"==typeof Symbol?Symbol:{},c=a.iterator||"@@iterator",s=a.asyncIterator||"@@asyncIterator",u=a.toStringTag||"@@toStringTag";function f(e,r,t){return Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}),e[r]}try{f({},"")}catch(e){f=function(e,r,t){return e[r]=t}}function p(e,r,t,n){var o=r&&r.prototype instanceof g?r:g,a=Object.create(o.prototype),c=new M(n||[]);return i(a,"_invoke",{value:E(e,t,c)}),a}function d(e,r,t){try{return{type:"normal",arg:e.call(r,t)}}catch(e){return{type:"throw",arg:e}}}t.wrap=p;var v="suspendedStart",h="suspendedYield",y="executing",b="completed",m={};function g(){}function w(){}function k(){}var P={};f(P,c,(function(){return this}));var C=Object.getPrototypeOf,j=C&&C(C(R([])));j&&j!==n&&o.call(j,c)&&(P=j);var _=k.prototype=g.prototype=Object.create(P);function O(e){["next","throw","return"].forEach((function(r){f(e,r,(function(e){return this._invoke(r,e)}))}))}function S(e,t){function n(i,a,c,l){var s=d(e[i],e,a);if("throw"!==s.type){var u=s.arg,f=u.value;return f&&"object"==r(f)&&o.call(f,"__await")?t.resolve(f.__await).then((function(e){n("next",e,c,l)}),(function(e){n("throw",e,c,l)})):t.resolve(f).then((function(e){u.value=e,c(u)}),(function(e){return n("throw",e,c,l)}))}l(s.arg)}var a;i(this,"_invoke",{value:function(e,r){function o(){return new t((function(t,o){n(e,r,t,o)}))}return a=a?a.then(o,o):o()}})}function E(r,t,n){var o=v;return function(i,a){if(o===y)throw Error("Generator is already running");if(o===b){if("throw"===i)throw a;return{value:e,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var l=x(c,n);if(l){if(l===m)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===v)throw o=b,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=y;var s=d(r,t,n);if("normal"===s.type){if(o=n.done?b:h,s.arg===m)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=b,n.method="throw",n.arg=s.arg)}}}function x(r,t){var n=t.method,o=r.iterator[n];if(o===e)return t.delegate=null,"throw"===n&&r.iterator.return&&(t.method="return",t.arg=e,x(r,t),"throw"===t.method)||"return"!==n&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+n+"' method")),m;var i=d(o,r.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,m;var a=i.arg;return a?a.done?(t[r.resultName]=a.value,t.next=r.nextLoc,"return"!==t.method&&(t.method="next",t.arg=e),t.delegate=null,m):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,m)}function W(e){var r={tryLoc:e[0]};1 in e&&(r.catchLoc=e[1]),2 in e&&(r.finallyLoc=e[2],r.afterLoc=e[3]),this.tryEntries.push(r)}function A(e){var r=e.completion||{};r.type="normal",delete r.arg,e.completion=r}function M(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(W,this),this.reset(!0)}function R(t){if(t||""===t){var n=t[c];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,a=function r(){for(;++i<t.length;)if(o.call(t,i))return r.value=t[i],r.done=!1,r;return r.value=e,r.done=!0,r};return a.next=a}}throw new TypeError(r(t)+" is not iterable")}return w.prototype=k,i(_,"constructor",{value:k,configurable:!0}),i(k,"constructor",{value:w,configurable:!0}),w.displayName=f(k,u,"GeneratorFunction"),t.isGeneratorFunction=function(e){var r="function"==typeof e&&e.constructor;return!!r&&(r===w||"GeneratorFunction"===(r.displayName||r.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,k):(e.__proto__=k,f(e,u,"GeneratorFunction")),e.prototype=Object.create(_),e},t.awrap=function(e){return{__await:e}},O(S.prototype),f(S.prototype,s,(function(){return this})),t.AsyncIterator=S,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new S(p(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},O(_),f(_,u,"Generator"),f(_,c,(function(){return this})),f(_,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var r=Object(e),t=[];for(var n in r)t.push(n);return t.reverse(),function e(){for(;t.length;){var n=t.pop();if(n in r)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=R,M.prototype={constructor:M,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(A),!r)for(var t in this)"t"===t.charAt(0)&&o.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var t=this;function n(n,o){return c.type="throw",c.arg=r,t.next=n,o&&(t.method="next",t.arg=e),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var l=o.call(a,"catchLoc"),s=o.call(a,"finallyLoc");if(l&&s){if(this.prev<a.catchLoc)return n(a.catchLoc,!0);if(this.prev<a.finallyLoc)return n(a.finallyLoc)}else if(l){if(this.prev<a.catchLoc)return n(a.catchLoc,!0)}else{if(!s)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return n(a.finallyLoc)}}}},abrupt:function(e,r){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var i=n;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=r&&r<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=r,i?(this.method="next",this.next=i.finallyLoc,m):this.complete(a)},complete:function(e,r){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&r&&(this.next=r),m},finish:function(e){for(var r=this.tryEntries.length-1;r>=0;--r){var t=this.tryEntries[r];if(t.finallyLoc===e)return this.complete(t.completion,t.afterLoc),A(t),m}},catch:function(e){for(var r=this.tryEntries.length-1;r>=0;--r){var t=this.tryEntries[r];if(t.tryLoc===e){var n=t.completion;if("throw"===n.type){var o=n.arg;A(t)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,t,n){return this.delegate={iterator:R(r),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=e),m}},t}function s(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,u(n.key),n)}}function u(e){var t=function(e,t){if("object"!=r(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==r(t)?t:t+""}var f=function(e,r,t,n){return new(t||(t=Promise))((function(o,i){function a(e){try{l(n.next(e))}catch(e){i(e)}}function c(e){try{l(n.throw(e))}catch(e){i(e)}}function l(e){var r;e.done?o(e.value):(r=e.value,r instanceof t?r:new t((function(e){e(r)}))).then(a,c)}l((n=n.apply(e,r||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.EasyWebWorker=void 0;var p=t(911),d=t(180),v=t(655),h=t(416),y=t(111),b=function(){return e=function e(r){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};!function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e),this.source=r,this.workerUrl=null,this.config=null,this.maxWorkers=1,this.workers=[],this.keepAlive=!0,this.warmUpWorkers=!1,this.terminationDelay=1e3,this.primitiveParameters=[],this.messagesQueue=new Map,this.scripts=[],this.warmUp=function(){var e=t.config,r=e.warmUpWorkers,n=e.maxWorkers;r&&new Array(n).fill(null).forEach((function(){return t.getWorkerFromPool()}))},this.fillWorkerMethods=function(e){return e.onmessage=function(e){t.executeMessageCallback(e)},e.onerror=function(e){var r=t.config.onWorkerError;if(!r)throw e;r(e)},e},this.createNewWorker=function(){var e,r=t.workerUrl,n=t.config.workerOptions;n.name=0===(e=t.workers.length)?n.name:"".concat(n.name,"-").concat(e);var o=new Worker(r,n);return t.fillWorkerMethods(o)},this.getWorkerFromPool=function(){var e=t.config,r=e.maxWorkers,n=e.warmUpWorkers,o=t.messagesQueue.size;if(!t.workers.length||t.workers.length<r&&(o||n)){var i=t.createNewWorker();return t.workers.push(i),i}var a=t.workers.shift();return t.workers.push(a),a},this.computeWorkerBaseSource=function(){var e=function(){var e,r;if(t.source instanceof Worker)return t.workers=[t.fillWorkerMethods(t.source)],{isArrayOfWebWorkers:!1,workerUrl:null};var n="string"==typeof t.source||t.source instanceof URL,o="function"==typeof t.source;if(n||o)return{isArrayOfWebWorkers:!1,workerUrl:null!==(e=t.workerUrl)&&void 0!==e?e:t.getWorkerUrl()};var i=Array.isArray(t.source);if(i&&"function"==typeof t.source[0])return{isArrayOfWebWorkers:!1,workerUrl:null!==(r=t.workerUrl)&&void 0!==r?r:t.getWorkerUrl()};var a=i&&t.source[0]instanceof Worker;return a?(t.workers=t.source.map(t.fillWorkerMethods),{isArrayOfWebWorkers:a,workerUrl:null}):{isArrayOfWebWorkers:!1,workerUrl:null}}(),r=e.workerUrl,n=e.isArrayOfWebWorkers;return t.workerUrl=r,t.config.maxWorkers=n?t.workers.length:t.config.maxWorkers,{isArrayOfWebWorkers:n}},this.send=function(e,r){return t.sendToWorker({payload:e},r)},this.sendToWorker=function(e,r){var n,o,i=e.payload,a=e.method,c=new v.EasyWebWorkerMessage,l=c.messageId,s=c.decoupledPromise,u=t.getWorkerFromPool();s.promise.cancel=function(e){s.promise.cancel=s._cancel;var n={messageId:l,__is_easy_web_worker_message__:!0,method:a,cancelation:{reason:e}};return t.workers.length?(u.postMessage(n,r),s.promise):s.cancel(e)},t.config.keepAlive||null===(o=null===(n=s.promise)||void 0===n?void 0:n.finally)||void 0===o||o.call(n,(function(){setTimeout((function(){t.messagesQueue.size||(t.workers.forEach((function(e){return e.terminate()})),t.workers=[])}),t.config.terminationDelay)})),t.addMessageToQueue(c);var f={messageId:l,__is_easy_web_worker_message__:!0,method:a,execution:{payload:i}};return u.postMessage(f,r),s.promise},this.override=function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var o=r[0],i=r[1],a=r[2];return new p.CancelablePromise((function(e,r,n){return f(t,[e,r,n],void 0,(function(e,r,t){var n=this,c=t.onCancel;return l().mark((function r(){var t,s;return l().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return t=n.cancelAll(i,a),s=c((function(){t.cancel()})),r.next=4,t;case 4:s(),e(n.send.apply(n,[o]));case 6:case"end":return r.stop()}}),r)}))()}))}))},this.overrideAfterCurrent=function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var o=r[0],a=r[1],c=r[2];return new p.CancelablePromise((function(e,r,n){return f(t,[e,r,n],void 0,(function(e,r,t){var n=this,s=t.onCancel,u=t.reportProgress;return l().mark((function r(){var t,f,p,d,v,h;return l().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(!n.messagesQueue.size){r.next=10;break}return t=i(n.messagesQueue,1),f=t[0],p=i(f,2),d=p[1],n.RemoveMessageFromQueue(d.messageId),v=n.cancelAll(a,c).onProgress(u),h=s((function(){v.cancel()})),n.addMessageToQueue(d),r.next=9,v;case 9:h();case 10:e(n.send.apply(n,[o]));case 11:case"end":return r.stop()}}),r)}))()}))}))},this.workerUrl="string"==typeof r||r instanceof URL?r:null;var o=null!=n?n:{},a=o.scripts,c=void 0===a?[]:a,s=o.name,u=o.onWorkerError,d=void 0===u?null:u,y=o.maxWorkers,b=void 0===y?1:y,m=o.terminationDelay,g=void 0===m?1e3:m,w=o.primitiveParameters,k=o.workerOptions,P=void 0===k?{}:k,C="boolean"==typeof(null==n?void 0:n.warmUpWorkers)?n.warmUpWorkers:!(1!==b),j="boolean"==typeof(null==n?void 0:n.keepAlive)?n.keepAlive:C;this.config={scripts:null!=c?c:[],name:s,maxWorkers:b,keepAlive:j,warmUpWorkers:C,workerOptions:Object.assign(Object.assign({},null!=P?P:{}),{name:P.name||(0,h.uniqueId)("wk:")}),onWorkerError:d,terminationDelay:g,primitiveParameters:w},this.workerOptions=this.config.workerOptions,this.name=this.workerOptions.name,this.scripts=c,this.onWorkerError=d,this.maxWorkers=b,this.terminationDelay=g,this.warmUpWorkers=C,this.primitiveParameters=null!=w?w:[],j=!!this.computeWorkerBaseSource().isArrayOfWebWorkers||j,this.keepAlive=j,this.config.keepAlive=j,this.warmUp()},r=[{key:"worker",get:function(){return this.workers.length>1?null:this.workers[0]}},{key:"isExternalWorkerFile",get:function(){return"string"==typeof this.source||this.source instanceof URL}},{key:"RemoveMessageFromQueue",value:function(e){this.messagesQueue.delete(e)}},{key:"executeMessageCallback",value:function(e){var r,t=null!==(r=this.messagesQueue.get(e.data.messageId))&&void 0!==r?r:null;if(t){var n=e.data.progress;if(this.workers.length){var i=t.decoupledPromise;if(n){var a=n.percentage,c=n.payload;i.reportProgress(a,c)}else{this.RemoveMessageFromQueue(t.messageId);var l=e.data.worker_cancelation;if(l){var s=l.reason;i._cancel(s)}else{var u=e.data.rejected;if(u){var f=u.reason;i.reject(f)}else{var p=e.data.resolved.payload;i.resolve.apply(i,o(null!=p?p:[]))}}}}else this.RemoveMessageFromQueue(t.messageId)}}},{key:"getWorkerUrl",value:function(){if(this.isExternalWorkerFile)return this.source;var e=this.config,r=e.primitiveParameters,t=e.scripts;return(0,y.createBlobWorker)(this.source,t,{primitiveParameters:r})}},{key:"cancelAll",value:function(e){var r=this,t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).force,n=void 0!==t&&t;return new p.CancelablePromise((function(t,o,i){return f(r,[t,o,i],void 0,(function(r,t,o){var i=this,a=o.onCancel,c=o.reportProgress;return l().mark((function t(){var o,s,u,f,p,v;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(u=Array.from(null!==(s=null===(o=i.messagesQueue)||void 0===o?void 0:o.values())&&void 0!==s?s:[]),f=u.length,p=100/f,!n){t.next=5;break}return t.abrupt("return",r(i.reboot(e)));case 5:v=(0,d.groupAsCancelablePromise)(u.map((function(r){return r.decoupledPromise.promise.cancel(e).catch((function(e){return c(p,e),e}))}))),a((function(){v.cancel()})),r(v);case 8:case"end":return t.stop()}}),t)}))()}))}))}},{key:"addMessageToQueue",value:function(e){this.messagesQueue.set(e.messageId,e)}},{key:"sendToMethod",value:function(e,r,t){return this.sendToWorker({method:e,payload:r},t)}},{key:"reboot",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Worker was rebooted";if(!this.workerUrl)throw new Error("You can not reboot a worker that was created from a Worker Instance");this.workers.forEach((function(e){return e.terminate()})),this.workers=[];var r=this.cancelAll(e);return this.warmUp(),r}},{key:"dispose",value:function(){return f(this,void 0,void 0,l().mark((function e(){return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.cancelAll(null);case 2:this.workerUrl&&(window.URL||window.webkitURL).revokeObjectURL("string"==typeof this.workerUrl?this.workerUrl:this.workerUrl.href),this.workers.forEach((function(e){return e.terminate()})),this.workers=[];case 5:case"end":return e.stop()}}),e,this)})))}}],r&&s(e.prototype,r),t&&s(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,r,t}();e.EasyWebWorker=b})(),n})()));
@@ -1,4 +1,4 @@
1
- import { CancelablePromise, TDecoupledCancelablePromise } from 'easy-cancelable-promise';
1
+ import type { CancelablePromise, TDecoupledCancelablePromise } from 'easy-cancelable-promise';
2
2
  /**
3
3
  * This class represents a message that will be send to a worker
4
4
  */
@@ -0,0 +1 @@
1
+ !function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports["easy-web-worker"]=n():e["easy-web-worker"]=n()}(this,(()=>(()=>{var e={416:(e,n)=>{"use strict";var t;Object.defineProperty(n,"__esModule",{value:!0}),n.uniqueId=void 0,n.uniqueId=(t=0,function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return t===Number.MAX_SAFE_INTEGER&&(t=0),e+Date.now().toString(36)+(t++).toString(36)})},816:function(e){var n;n=()=>(()=>{"use strict";var e={0:(e,n,t)=>{function r(e){return 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},r(e)}Object.defineProperty(n,"__esModule",{value:!0}),n.toCancelablePromise=n.CancelablePromise=void 0;var o,c=t(836),i=t(216),a=t(790);function u(e,n){for(var t=0;t<n.length;t++){var o=n[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,(c=function(e){if("object"!==r(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var t=n.call(e,"string");if("object"!==r(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(o.key),"symbol"===r(c)?c:String(c)),o)}var c}function l(e){var n=d();return function(){var t,o=y(e);if(n){var c=y(this).constructor;t=Reflect.construct(o,arguments,c)}else t=o.apply(this,arguments);return function(e,n){if(n&&("object"===r(n)||"function"==typeof n))return n;if(void 0!==n)throw new TypeError("Derived constructors may only return object or undefined");return s(e)}(this,t)}}function s(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function f(){return f="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,n,t){var r=function(e,n){for(;!Object.prototype.hasOwnProperty.call(e,n)&&null!==(e=y(e)););return e}(e,n);if(r){var o=Object.getOwnPropertyDescriptor(r,n);return o.get?o.get.call(arguments.length<3?e:t):o.value}},f.apply(this,arguments)}function p(e){var n="function"==typeof Map?new Map:void 0;return p=function(e){if(null===e||(t=e,-1===Function.toString.call(t).indexOf("[native code]")))return e;var t;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(e))return n.get(e);n.set(e,r)}function r(){return b(e,arguments,y(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),v(r,e)},p(e)}function b(e,n,t){return b=d()?Reflect.construct.bind():function(e,n,t){var r=[null];r.push.apply(r,n);var o=new(Function.bind.apply(e,r));return t&&v(o,t.prototype),o},b.apply(null,arguments)}function d(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function v(e,n){return v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,n){return e.__proto__=n,e},v(e,n)}function y(e){return y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},y(e)}var m=function(e){!function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&v(e,n)}(i,e);var n,t,r=l(i);function i(e){var n,t,a,u,l,p;return function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,i),(u=r.call(this,(function(e,n){l=e,p=n})))[o]=!0,u.status="pending",u.cancelCallbacks=new Set,u.ownCancelCallbacks=new Set,u.onProgressCallbacks=new Set,u.disposeCallbacks=function(){u.cancelCallbacks=new Set,u.ownCancelCallbacks=new Set,u.onProgressCallbacks=new Set},u.subscribeToOwnCancelEvent=function(e){return u.ownCancelCallbacks.add(e),function(){u.ownCancelCallbacks.delete(e)}},u.cancel=function(e){if("pending"!==u.status)return s(u);u.status="canceled";var n=void 0===e?new Error("Promise canceled"):e;return u.ownCancelCallbacks.forEach((function(e){return e(n)})),u.cancelCallbacks.forEach((function(e){return e(n)})),u._reject(n),u.disposeCallbacks(),s(u)},u.onCancel=function(e){var n=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).signal;return u.cancelCallbacks.add(e),(0,c.isCancelableAbortSignal)(n)?n.subscribe((function(){u.cancelCallbacks.delete(e)})):null==n||n.addEventListener("abort",(function(){u.cancelCallbacks.delete(e)})),s(u)},u.onProgress=function(e){var n=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).signal;return u.onProgressCallbacks.add(e),(0,c.isCancelableAbortSignal)(n)?n.subscribe((function(){u.onProgressCallbacks.delete(e)})):null==n||n.addEventListener("abort",(function(){u.onProgressCallbacks.delete(e)})),s(u)},u.reportProgress=function(e,n){return u.onProgressCallbacks.forEach((function(t){return t(e,n)})),s(u)},u.createChildPromise=function(){var e,n,t=new i((function(t,r,o){e=t,n=r}));return t.onProgressCallbacks=u.onProgressCallbacks,t.onCancel((function(e){u.cancel(e)})),{promise:t,resolve:e,reject:n}},u._resolve=l,u._reject=p,e((function(e){u.status="resolved",u.disposeCallbacks(),u._resolve(e)}),(function(e){u.status="rejected",u.disposeCallbacks(),u._reject(e)}),{cancel:function(e){return u.cancel(e)},onCancel:function(e){return u.subscribeToOwnCancelEvent(e)},onProgress:function(e){return u.onProgress(e),function(){u.onProgressCallbacks.delete(e)}},reportProgress:function(e,n){u.reportProgress(e,n)}}),u.then=function(e,t){var r=u.createChildPromise(),o=r.promise,c=r.resolve,a=r.reject;return f((n=s(u),y(i.prototype)),"then",n).call(n,e,t).then(c,a),o},u.catch=function(e){var n=u.createChildPromise(),r=n.promise,o=n.resolve,c=n.reject;return f((t=s(u),y(i.prototype)),"catch",t).call(t,e).then(o,c),r},u.finally=function(e){var n=u.createChildPromise(),t=n.promise,r=n.resolve,o=n.reject;return f((a=s(u),y(i.prototype)),"finally",a).call(a,e).then(r,o),t},u}return n=i,t=[{key:"resolve",value:function(e){return new i((function(n){return n(e)}))}}],t&&u(n,t),Object.defineProperty(n,"prototype",{writable:!1}),i}(p(Promise));n.CancelablePromise=m,o=i.promise_identifier,m.reject=function(e){return new m((function(n,t){return t(e)}))},m.canceled=function(e){return new m((function(n,t,r){return(0,r.cancel)(e)}))},m.race=function(e){return new m((function(n,t,r){var o=r.onCancel,c=r.cancel;e.forEach((function(e){var r=P(e);o((function(e){r.cancel(e)})),r.then(n,(function(e){"canceled"!==r.status?t(e):c(e)}))}))}))},m.all=function(e){return new m((function(n,t,r){var o=r.onCancel,c=r.cancel,i=new Map,a=e.length,u=0;e.forEach((function(e){var r=P(e);i.set(r,null),o((function(e){r.cancel(e)})),r.then((function(e){u++,i.set(r,e),u===a&&n(Array.from(i.values()))}),(function(e){"canceled"!==r.status?t(e):c(e)}))}))}))},m.allSettled=function(e){return new m((function(n,t,r){var o=r.onCancel,c=new Map,i=e.length,a=0;e.forEach((function(e){var t=P(e);c.set(t,null),o((function(e){t.cancel(e)})),t.then((function(e){c.set(t,{status:"fulfilled",value:e})}),(function(e){c.set(t,{status:"canceled"===t.status?"canceled":"rejected",reason:e})})).finally((function(){++a===i&&n(Array.from(c.values()))}))}))}))},m.prototype.constructor=Promise;var P=function e(n){if((0,i.isCancelablePromise)(n))return n;if("function"==typeof n)return e(n());if(!(0,a.isPromise)(n))return new m((function(e){return e(n)}));var t,r,o=new m((function(e,o,c){t=e,r=o,n.then(t,r)}));return o.onCancel((function(e){r(e)})),o};n.toCancelablePromise=P},836:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.isCancelableAbortSignal=void 0,n.isCancelableAbortSignal=function(e){return Boolean(null==e?void 0:e.__is_cancelable_abort_signal)}},216:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.promise_identifier=n.isCancelablePromise=void 0;var t=Symbol("promise_identifier");n.promise_identifier=t,n.isCancelablePromise=function(e){return!!(null==e?void 0:e[t])}},790:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.isPromise=void 0,n.isPromise=function(e){return Promise.resolve(e)===e}}},n={};function t(r){var o=n[r];if(void 0!==o)return o.exports;var c=n[r]={exports:{}};return e[r](c,c.exports,t),c.exports}var r={};return(()=>{var e=r;Object.defineProperty(e,"__esModule",{value:!0}),e.createDecoupledPromise=void 0;var n=t(0);e.createDecoupledPromise=function(){var e,t,r,o=new n.CancelablePromise((function(n,o,c){e=n,t=o,r=c}));return Object.assign(Object.assign({resolve:e,reject:t},r),{promise:o})}})(),r})(),e.exports=n()}},n={};function t(r){var o=n[r];if(void 0!==o)return o.exports;var c=n[r]={exports:{}};return e[r].call(c.exports,c,c.exports,t),c.exports}var r={};return(()=>{"use strict";var e=r;function n(e){return n="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},n(e)}function o(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,i(r.key),r)}}function c(e,n,t){return n&&o(e.prototype,n),t&&o(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function i(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==n(t)?t:t+""}Object.defineProperty(e,"__esModule",{value:!0}),e.EasyWebWorkerMessage=void 0;var a=t(816),u=t(416),l=c((function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.messageId=(0,u.uniqueId)("ms:"),this.decoupledPromise=(0,a.createDecoupledPromise)(),this.decoupledPromise._cancel=this.decoupledPromise.promise.cancel}));e.EasyWebWorkerMessage=l})(),r})()));
package/README.md CHANGED
@@ -10,9 +10,17 @@ Check out the running example with **React** and **TypeScript** at [CODEPEN](htt
10
10
 
11
11
  [Important!] Starting from version 4.0.0, EasyWebWorker supports concurrency mode. This means you can now configure whether a single **EasyWebWorker** should use multiple Web Worker instances. This feature is extremely powerful for code that requires not only heavy computations occasionally but also robust concurrent processing. For more detailed information, please see the section below. [concurrency mode](#concurrency-mode)
12
12
 
13
+ #### IMPORTANT!
14
+
15
+ If you were previously using **easy-web-worker** with **cancelable-promise-jq**, please note that the **cancelable-promise-jq** package has been renamed/deprecated. To continue using the latest version of **easy-web-worker**, simply uninstall **cancelable-promise-jq** and replace all imports with **easy-cancelable-promise**.
16
+
17
+ I sincerely apologize for any inconvenience this may cause.
18
+
13
19
  ### Creating a web worker never was easier!
14
20
 
15
21
  ```ts
22
+ import { createEasyWebWorker } from 'easy-web-worker/createEasyWebWorker';
23
+
16
24
  /**
17
25
  * The callback parameter will be the body of the worker
18
26
  */
@@ -322,6 +330,9 @@ let's see how to use it:
322
330
  // onMessage Callback is gonna receive all _send_ method calls.
323
331
 
324
332
  ```TS
333
+ // imports only the static web worker
334
+ import { createStaticEasyWebWorker } from 'easy-web-worker/createStaticEasyWebWorker';
335
+
325
336
  // this is gonna create the same message structure the runtime Workers
326
337
  const { onMessage } = createStaticEasyWebWorker();
327
338
 
@@ -1,11 +1,7 @@
1
- import { IEasyWebWorkerMessage, IEasyWorkerInstance, IMessageData } from './EasyWebWorker';
1
+ import { IEasyWebWorkerMessage, IEasyWorkerInstance, IMessageData } from './types';
2
2
  /**
3
3
  * Constructor for the StaticEasyWebWorker
4
4
  * @param onMessageCallback - callback to be called when a message is received
5
5
  * @returns an instance of the StaticEasyWebWorker
6
6
  * */
7
7
  export declare const StaticEasyWebWorker: new <TPayload = null, TResult = null>(onMessageCallback?: (message: IEasyWebWorkerMessage<TPayload, TResult>, event: MessageEvent<IMessageData<TPayload>>) => void) => IEasyWorkerInstance<TPayload, TResult>;
8
- /**
9
- * This method is used to create a new instance of the easy static web worker
10
- */
11
- export declare const createStaticEasyWebWorker: <TPayload = null, TResult = void>(onMessageCallback?: (message: IEasyWebWorkerMessage<TPayload, TResult>, event: MessageEvent<IMessageData<TPayload>>) => void) => IEasyWorkerInstance<TPayload, TResult>;
@@ -0,0 +1 @@
1
+ !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports["easy-web-worker"]=o():e["easy-web-worker"]=o()}(this,(()=>(()=>{"use strict";var e={};return(()=>{var o=e;function r(e){return function(e){if(Array.isArray(e))return n(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,o){if(e){if("string"==typeof e)return n(e,o);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,o):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(e,o){(null==o||o>e.length)&&(o=e.length);for(var r=0,n=Array(o);r<o;r++)n[r]=e[r];return n}Object.defineProperty(o,"__esModule",{value:!0}),o.StaticEasyWebWorker=void 0,o.StaticEasyWebWorker=function(e){var o=function(){var e=new Map,o=new Map([["",function(){throw"you didn't defined a message-callback, please assign a callback by calling easyWorker.onMessage"}]]);self.onmessage=function(r){var n,t,a,s,i=null===(n=null==r?void 0:r.data)||void 0===n?void 0:n.messageId,c=null!==(a=null===(t=null==r?void 0:r.data)||void 0===t?void 0:t.__is_easy_web_worker_message__)&&void 0!==a&&a;if(i&&c)try{var l=r.data.cancelation;if(l){var d=l.reason;return void e.get(i).cancel(d)}var u=r.data,g=u.method,f=function(o){var r=o.messageId,n=o.payload,t=o.method,a="pending",s=new Map,i=function(o,n){var i,c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],l=a,d="progress"===o?"pending":o;if(e.has(r)){var u={resolved:"onResolve",rejected:"onReject",canceled:"onCancel",worker_cancelation:"onCancel",pending:"onProgress"}[d],g=s.get(u),f=!n.progress;try{null==g||g.forEach((function(e){return e(n,c)})),f&&(null===(i=s.get("onFinalize"))||void 0===i||i.forEach((function(e){return e(n,c)})))}catch(t){throw e.delete(r),{message:"Error while processing message id: "+r,error:t,messageData:n,messageType:o,when:u}}finally{f&&e.delete(r)}self.postMessage(Object.assign({messageId:r},n),c),a=d}else{var p="%c#"+r+" Message Not Found: %cThis means that the message was already resolved | rejected | canceled. To avoid this error, please make sure that you are not resolving | rejecting | canceling the same message twice. Also make sure that you are not reporting progress after the message was processed. Remember each message can handle his one cancelation by adding a handler with the %cmessage.onCancel%c method. To now more about this method, please check the documentation at: %chttps://www.npmjs.com/package/easy-web-worker#ieasywebworkermessageipayload--null-iresult--void %cTrying to process message:";console.error(p,"color: darkorange; font-size: 12px; font-weight: bold;","font-weight: normal;","font-weight: bold;","font-weight: normal;","color: lightblue; font-size: 10px; font-weight: bold;","font-weight: bold; color: darkorange;",{messageId:r,status:{current:l,target:d},method:t,action:n})}},c=function(e){return function(o){s.has(e)||s.set(e,new Set);var r=s.get(e);return r.add(o),function(){return r.delete(o)}}};return{messageId:r,method:t,payload:n,getStatus:function(){return a},isPending:function(){return"pending"===a},resolve:function(e){return i("resolved",{resolved:{payload:void 0===e?[]:[e]}},arguments.length>1&&void 0!==arguments[1]?arguments[1]:[])},reject:function(e){i("rejected",{rejected:{reason:e}},arguments.length>1&&void 0!==arguments[1]?arguments[1]:[])},cancel:function(e){return i("worker_cancelation",{worker_cancelation:{reason:e}},arguments.length>1&&void 0!==arguments[1]?arguments[1]:[])},reportProgress:function(e,o){i("progress",{progress:{percentage:e,payload:o}},arguments.length>2&&void 0!==arguments[2]?arguments[2]:[])},onResolve:c("onResolve"),onReject:c("onReject"),onCancel:c("onCancel"),onProgress:c("onProgress"),onFinalize:c("onFinalize")}}({method:g,messageId:i,payload:u.execution.payload});e.set(i,f),o.get(g||"")(f,r)}catch(o){throw e.delete(null===(s=r.data)||void 0===s?void 0:s.messageId),{message:"Error while processing message id: "+i,event:r}}};return{onMessage:function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var t=r[0],a=r[1];if("string"==typeof t){var s=t,i=a;o.set(s,i)}else{var c=t;o.set("",c)}},close:function(){r(e.values()).forEach((function(e){return e.reject(new Error("worker closed"))})),self.close()},importScripts:function(){var e;(e=self).importScripts.apply(e,arguments)}}}(),n=o.close,t=o.onMessage,a=o.importScripts;this.close=n,this.onMessage=t,this.importScripts=a,e&&t(e)}})(),e})()));
package/bundle.js ADDED
@@ -0,0 +1 @@
1
+ !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports["easy-web-worker"]=r():e["easy-web-worker"]=r()}(this,(()=>(()=>{var e={382:(e,r,t)=>{"use strict";function n(e){return n="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},n(e)}function o(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||i(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,o,a,i,c=[],l=!0,s=!1;try{if(a=(t=t.call(e)).next,0===r){if(Object(t)!==t)return;l=!1}else for(;!(l=(n=a.call(t)).done)&&(c.push(n.value),c.length!==r);l=!0);}catch(e){s=!0,o=e}finally{try{if(!l&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(s)throw o}}return c}}(e,r)||i(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,r){if(e){if("string"==typeof e)return c(e,r);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?c(e,r):void 0}}function c(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}function l(){l=function(){return r};var e,r={},t=Object.prototype,o=t.hasOwnProperty,a=Object.defineProperty||function(e,r,t){e[r]=t.value},i="function"==typeof Symbol?Symbol:{},c=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function f(e,r,t){return Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}),e[r]}try{f({},"")}catch(e){f=function(e,r,t){return e[r]=t}}function p(e,r,t,n){var o=r&&r.prototype instanceof g?r:g,i=Object.create(o.prototype),c=new M(n||[]);return a(i,"_invoke",{value:S(e,t,c)}),i}function d(e,r,t){try{return{type:"normal",arg:e.call(r,t)}}catch(e){return{type:"throw",arg:e}}}r.wrap=p;var v="suspendedStart",h="suspendedYield",y="executing",b="completed",m={};function g(){}function w(){}function k(){}var P={};f(P,c,(function(){return this}));var C=Object.getPrototypeOf,j=C&&C(C(R([])));j&&j!==t&&o.call(j,c)&&(P=j);var _=k.prototype=g.prototype=Object.create(P);function O(e){["next","throw","return"].forEach((function(r){f(e,r,(function(e){return this._invoke(r,e)}))}))}function E(e,r){function t(a,i,c,l){var s=d(e[a],e,i);if("throw"!==s.type){var u=s.arg,f=u.value;return f&&"object"==n(f)&&o.call(f,"__await")?r.resolve(f.__await).then((function(e){t("next",e,c,l)}),(function(e){t("throw",e,c,l)})):r.resolve(f).then((function(e){u.value=e,c(u)}),(function(e){return t("throw",e,c,l)}))}l(s.arg)}var i;a(this,"_invoke",{value:function(e,n){function o(){return new r((function(r,o){t(e,n,r,o)}))}return i=i?i.then(o,o):o()}})}function S(r,t,n){var o=v;return function(a,i){if(o===y)throw Error("Generator is already running");if(o===b){if("throw"===a)throw i;return{value:e,done:!0}}for(n.method=a,n.arg=i;;){var c=n.delegate;if(c){var l=W(c,n);if(l){if(l===m)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===v)throw o=b,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=y;var s=d(r,t,n);if("normal"===s.type){if(o=n.done?b:h,s.arg===m)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=b,n.method="throw",n.arg=s.arg)}}}function W(r,t){var n=t.method,o=r.iterator[n];if(o===e)return t.delegate=null,"throw"===n&&r.iterator.return&&(t.method="return",t.arg=e,W(r,t),"throw"===t.method)||"return"!==n&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+n+"' method")),m;var a=d(o,r.iterator,t.arg);if("throw"===a.type)return t.method="throw",t.arg=a.arg,t.delegate=null,m;var i=a.arg;return i?i.done?(t[r.resultName]=i.value,t.next=r.nextLoc,"return"!==t.method&&(t.method="next",t.arg=e),t.delegate=null,m):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,m)}function x(e){var r={tryLoc:e[0]};1 in e&&(r.catchLoc=e[1]),2 in e&&(r.finallyLoc=e[2],r.afterLoc=e[3]),this.tryEntries.push(r)}function A(e){var r=e.completion||{};r.type="normal",delete r.arg,e.completion=r}function M(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function R(r){if(r||""===r){var t=r[c];if(t)return t.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var a=-1,i=function t(){for(;++a<r.length;)if(o.call(r,a))return t.value=r[a],t.done=!1,t;return t.value=e,t.done=!0,t};return i.next=i}}throw new TypeError(n(r)+" is not iterable")}return w.prototype=k,a(_,"constructor",{value:k,configurable:!0}),a(k,"constructor",{value:w,configurable:!0}),w.displayName=f(k,u,"GeneratorFunction"),r.isGeneratorFunction=function(e){var r="function"==typeof e&&e.constructor;return!!r&&(r===w||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,k):(e.__proto__=k,f(e,u,"GeneratorFunction")),e.prototype=Object.create(_),e},r.awrap=function(e){return{__await:e}},O(E.prototype),f(E.prototype,s,(function(){return this})),r.AsyncIterator=E,r.async=function(e,t,n,o,a){void 0===a&&(a=Promise);var i=new E(p(e,t,n,o),a);return r.isGeneratorFunction(t)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},O(_),f(_,u,"Generator"),f(_,c,(function(){return this})),f(_,"toString",(function(){return"[object Generator]"})),r.keys=function(e){var r=Object(e),t=[];for(var n in r)t.push(n);return t.reverse(),function e(){for(;t.length;){var n=t.pop();if(n in r)return e.value=n,e.done=!1,e}return e.done=!0,e}},r.values=R,M.prototype={constructor:M,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(A),!r)for(var t in this)"t"===t.charAt(0)&&o.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var t=this;function n(n,o){return c.type="throw",c.arg=r,t.next=n,o&&(t.method="next",t.arg=e),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var l=o.call(i,"catchLoc"),s=o.call(i,"finallyLoc");if(l&&s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!s)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,r){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var a=n;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(i)},complete:function(e,r){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&r&&(this.next=r),m},finish:function(e){for(var r=this.tryEntries.length-1;r>=0;--r){var t=this.tryEntries[r];if(t.finallyLoc===e)return this.complete(t.completion,t.afterLoc),A(t),m}},catch:function(e){for(var r=this.tryEntries.length-1;r>=0;--r){var t=this.tryEntries[r];if(t.tryLoc===e){var n=t.completion;if("throw"===n.type){var o=n.arg;A(t)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,t,n){return this.delegate={iterator:R(r),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=e),m}},r}function s(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,u(n.key),n)}}function u(e){var r=function(e,r){if("object"!=n(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,r||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)}(e,"string");return"symbol"==n(r)?r:r+""}var f=function(e,r,t,n){return new(t||(t=Promise))((function(o,a){function i(e){try{l(n.next(e))}catch(e){a(e)}}function c(e){try{l(n.throw(e))}catch(e){a(e)}}function l(e){var r;e.done?o(e.value):(r=e.value,r instanceof t?r:new t((function(e){e(r)}))).then(i,c)}l((n=n.apply(e,r||[])).next())}))};Object.defineProperty(r,"__esModule",{value:!0}),r.EasyWebWorker=void 0;var p=t(911),d=t(180),v=t(655),h=t(416),y=t(111),b=function(){return e=function e(r){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};!function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e),this.source=r,this.workerUrl=null,this.config=null,this.maxWorkers=1,this.workers=[],this.keepAlive=!0,this.warmUpWorkers=!1,this.terminationDelay=1e3,this.primitiveParameters=[],this.messagesQueue=new Map,this.scripts=[],this.warmUp=function(){var e=t.config,r=e.warmUpWorkers,n=e.maxWorkers;r&&new Array(n).fill(null).forEach((function(){return t.getWorkerFromPool()}))},this.fillWorkerMethods=function(e){return e.onmessage=function(e){t.executeMessageCallback(e)},e.onerror=function(e){var r=t.config.onWorkerError;if(!r)throw e;r(e)},e},this.createNewWorker=function(){var e,r=t.workerUrl,n=t.config.workerOptions;n.name=0===(e=t.workers.length)?n.name:"".concat(n.name,"-").concat(e);var o=new Worker(r,n);return t.fillWorkerMethods(o)},this.getWorkerFromPool=function(){var e=t.config,r=e.maxWorkers,n=e.warmUpWorkers,o=t.messagesQueue.size;if(!t.workers.length||t.workers.length<r&&(o||n)){var a=t.createNewWorker();return t.workers.push(a),a}var i=t.workers.shift();return t.workers.push(i),i},this.computeWorkerBaseSource=function(){var e=function(){var e,r;if(t.source instanceof Worker)return t.workers=[t.fillWorkerMethods(t.source)],{isArrayOfWebWorkers:!1,workerUrl:null};var n="string"==typeof t.source||t.source instanceof URL,o="function"==typeof t.source;if(n||o)return{isArrayOfWebWorkers:!1,workerUrl:null!==(e=t.workerUrl)&&void 0!==e?e:t.getWorkerUrl()};var a=Array.isArray(t.source);if(a&&"function"==typeof t.source[0])return{isArrayOfWebWorkers:!1,workerUrl:null!==(r=t.workerUrl)&&void 0!==r?r:t.getWorkerUrl()};var i=a&&t.source[0]instanceof Worker;return i?(t.workers=t.source.map(t.fillWorkerMethods),{isArrayOfWebWorkers:i,workerUrl:null}):{isArrayOfWebWorkers:!1,workerUrl:null}}(),r=e.workerUrl,n=e.isArrayOfWebWorkers;return t.workerUrl=r,t.config.maxWorkers=n?t.workers.length:t.config.maxWorkers,{isArrayOfWebWorkers:n}},this.send=function(e,r){return t.sendToWorker({payload:e},r)},this.sendToWorker=function(e,r){var n,o,a=e.payload,i=e.method,c=new v.EasyWebWorkerMessage,l=c.messageId,s=c.decoupledPromise,u=t.getWorkerFromPool();s.promise.cancel=function(e){s.promise.cancel=s._cancel;var n={messageId:l,__is_easy_web_worker_message__:!0,method:i,cancelation:{reason:e}};return t.workers.length?(u.postMessage(n,r),s.promise):s.cancel(e)},t.config.keepAlive||null===(o=null===(n=s.promise)||void 0===n?void 0:n.finally)||void 0===o||o.call(n,(function(){setTimeout((function(){t.messagesQueue.size||(t.workers.forEach((function(e){return e.terminate()})),t.workers=[])}),t.config.terminationDelay)})),t.addMessageToQueue(c);var f={messageId:l,__is_easy_web_worker_message__:!0,method:i,execution:{payload:a}};return u.postMessage(f,r),s.promise},this.override=function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var o=r[0],a=r[1],i=r[2];return new p.CancelablePromise((function(e,r,n){return f(t,[e,r,n],void 0,(function(e,r,t){var n=this,c=t.onCancel;return l().mark((function r(){var t,s;return l().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return t=n.cancelAll(a,i),s=c((function(){t.cancel()})),r.next=4,t;case 4:s(),e(n.send.apply(n,[o]));case 6:case"end":return r.stop()}}),r)}))()}))}))},this.overrideAfterCurrent=function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var o=r[0],i=r[1],c=r[2];return new p.CancelablePromise((function(e,r,n){return f(t,[e,r,n],void 0,(function(e,r,t){var n=this,s=t.onCancel,u=t.reportProgress;return l().mark((function r(){var t,f,p,d,v,h;return l().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(!n.messagesQueue.size){r.next=10;break}return t=a(n.messagesQueue,1),f=t[0],p=a(f,2),d=p[1],n.RemoveMessageFromQueue(d.messageId),v=n.cancelAll(i,c).onProgress(u),h=s((function(){v.cancel()})),n.addMessageToQueue(d),r.next=9,v;case 9:h();case 10:e(n.send.apply(n,[o]));case 11:case"end":return r.stop()}}),r)}))()}))}))},this.workerUrl="string"==typeof r||r instanceof URL?r:null;var o=null!=n?n:{},i=o.scripts,c=void 0===i?[]:i,s=o.name,u=o.onWorkerError,d=void 0===u?null:u,y=o.maxWorkers,b=void 0===y?1:y,m=o.terminationDelay,g=void 0===m?1e3:m,w=o.primitiveParameters,k=o.workerOptions,P=void 0===k?{}:k,C="boolean"==typeof(null==n?void 0:n.warmUpWorkers)?n.warmUpWorkers:!(1!==b),j="boolean"==typeof(null==n?void 0:n.keepAlive)?n.keepAlive:C;this.config={scripts:null!=c?c:[],name:s,maxWorkers:b,keepAlive:j,warmUpWorkers:C,workerOptions:Object.assign(Object.assign({},null!=P?P:{}),{name:P.name||(0,h.uniqueId)("wk:")}),onWorkerError:d,terminationDelay:g,primitiveParameters:w},this.workerOptions=this.config.workerOptions,this.name=this.workerOptions.name,this.scripts=c,this.onWorkerError=d,this.maxWorkers=b,this.terminationDelay=g,this.warmUpWorkers=C,this.primitiveParameters=null!=w?w:[],j=!!this.computeWorkerBaseSource().isArrayOfWebWorkers||j,this.keepAlive=j,this.config.keepAlive=j,this.warmUp()},r=[{key:"worker",get:function(){return this.workers.length>1?null:this.workers[0]}},{key:"isExternalWorkerFile",get:function(){return"string"==typeof this.source||this.source instanceof URL}},{key:"RemoveMessageFromQueue",value:function(e){this.messagesQueue.delete(e)}},{key:"executeMessageCallback",value:function(e){var r,t=null!==(r=this.messagesQueue.get(e.data.messageId))&&void 0!==r?r:null;if(t){var n=e.data.progress;if(this.workers.length){var a=t.decoupledPromise;if(n){var i=n.percentage,c=n.payload;a.reportProgress(i,c)}else{this.RemoveMessageFromQueue(t.messageId);var l=e.data.worker_cancelation;if(l){var s=l.reason;a._cancel(s)}else{var u=e.data.rejected;if(u){var f=u.reason;a.reject(f)}else{var p=e.data.resolved.payload;a.resolve.apply(a,o(null!=p?p:[]))}}}}else this.RemoveMessageFromQueue(t.messageId)}}},{key:"getWorkerUrl",value:function(){if(this.isExternalWorkerFile)return this.source;var e=this.config,r=e.primitiveParameters,t=e.scripts;return(0,y.createBlobWorker)(this.source,t,{primitiveParameters:r})}},{key:"cancelAll",value:function(e){var r=this,t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).force,n=void 0!==t&&t;return new p.CancelablePromise((function(t,o,a){return f(r,[t,o,a],void 0,(function(r,t,o){var a=this,i=o.onCancel,c=o.reportProgress;return l().mark((function t(){var o,s,u,f,p,v;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(u=Array.from(null!==(s=null===(o=a.messagesQueue)||void 0===o?void 0:o.values())&&void 0!==s?s:[]),f=u.length,p=100/f,!n){t.next=5;break}return t.abrupt("return",r(a.reboot(e)));case 5:v=(0,d.groupAsCancelablePromise)(u.map((function(r){return r.decoupledPromise.promise.cancel(e).catch((function(e){return c(p,e),e}))}))),i((function(){v.cancel()})),r(v);case 8:case"end":return t.stop()}}),t)}))()}))}))}},{key:"addMessageToQueue",value:function(e){this.messagesQueue.set(e.messageId,e)}},{key:"sendToMethod",value:function(e,r,t){return this.sendToWorker({method:e,payload:r},t)}},{key:"reboot",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Worker was rebooted";if(!this.workerUrl)throw new Error("You can not reboot a worker that was created from a Worker Instance");this.workers.forEach((function(e){return e.terminate()})),this.workers=[];var r=this.cancelAll(e);return this.warmUp(),r}},{key:"dispose",value:function(){return f(this,void 0,void 0,l().mark((function e(){return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.cancelAll(null);case 2:this.workerUrl&&(window.URL||window.webkitURL).revokeObjectURL("string"==typeof this.workerUrl?this.workerUrl:this.workerUrl.href),this.workers.forEach((function(e){return e.terminate()})),this.workers=[];case 5:case"end":return e.stop()}}),e,this)})))}}],r&&s(e.prototype,r),t&&s(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,r,t}();r.EasyWebWorker=b},655:(e,r,t)=>{"use strict";function n(e){return n="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},n(e)}function o(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,i(n.key),n)}}function a(e,r,t){return r&&o(e.prototype,r),t&&o(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function i(e){var r=function(e,r){if("object"!=n(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,r||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)}(e,"string");return"symbol"==n(r)?r:r+""}Object.defineProperty(r,"__esModule",{value:!0}),r.EasyWebWorkerMessage=void 0;var c=t(816),l=t(416),s=a((function e(){!function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e),this.messageId=(0,l.uniqueId)("ms:"),this.decoupledPromise=(0,c.createDecoupledPromise)(),this.decoupledPromise._cancel=this.decoupledPromise.promise.cancel}));r.EasyWebWorkerMessage=s},600:(e,r)=>{"use strict";function t(e){return function(e){if(Array.isArray(e))return n(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return n(e,r);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?n(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}Object.defineProperty(r,"__esModule",{value:!0}),r.StaticEasyWebWorker=void 0,r.StaticEasyWebWorker=function(e){var r=function(){var e=new Map,r=new Map([["",function(){throw"you didn't defined a message-callback, please assign a callback by calling easyWorker.onMessage"}]]);self.onmessage=function(t){var n,o,a,i,c=null===(n=null==t?void 0:t.data)||void 0===n?void 0:n.messageId,l=null!==(a=null===(o=null==t?void 0:t.data)||void 0===o?void 0:o.__is_easy_web_worker_message__)&&void 0!==a&&a;if(c&&l)try{var s=t.data.cancelation;if(s){var u=s.reason;return void e.get(c).cancel(u)}var f=t.data,p=f.method,d=function(r){var t=r.messageId,n=r.payload,o=r.method,a="pending",i=new Map,c=function(r,n){var c,l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],s=a,u="progress"===r?"pending":r;if(e.has(t)){var f={resolved:"onResolve",rejected:"onReject",canceled:"onCancel",worker_cancelation:"onCancel",pending:"onProgress"}[u],p=i.get(f),d=!n.progress;try{null==p||p.forEach((function(e){return e(n,l)})),d&&(null===(c=i.get("onFinalize"))||void 0===c||c.forEach((function(e){return e(n,l)})))}catch(o){throw e.delete(t),{message:"Error while processing message id: "+t,error:o,messageData:n,messageType:r,when:f}}finally{d&&e.delete(t)}self.postMessage(Object.assign({messageId:t},n),l),a=u}else{var v="%c#"+t+" Message Not Found: %cThis means that the message was already resolved | rejected | canceled. To avoid this error, please make sure that you are not resolving | rejecting | canceling the same message twice. Also make sure that you are not reporting progress after the message was processed. Remember each message can handle his one cancelation by adding a handler with the %cmessage.onCancel%c method. To now more about this method, please check the documentation at: %chttps://www.npmjs.com/package/easy-web-worker#ieasywebworkermessageipayload--null-iresult--void %cTrying to process message:";console.error(v,"color: darkorange; font-size: 12px; font-weight: bold;","font-weight: normal;","font-weight: bold;","font-weight: normal;","color: lightblue; font-size: 10px; font-weight: bold;","font-weight: bold; color: darkorange;",{messageId:t,status:{current:s,target:u},method:o,action:n})}},l=function(e){return function(r){i.has(e)||i.set(e,new Set);var t=i.get(e);return t.add(r),function(){return t.delete(r)}}};return{messageId:t,method:o,payload:n,getStatus:function(){return a},isPending:function(){return"pending"===a},resolve:function(e){return c("resolved",{resolved:{payload:void 0===e?[]:[e]}},arguments.length>1&&void 0!==arguments[1]?arguments[1]:[])},reject:function(e){c("rejected",{rejected:{reason:e}},arguments.length>1&&void 0!==arguments[1]?arguments[1]:[])},cancel:function(e){return c("worker_cancelation",{worker_cancelation:{reason:e}},arguments.length>1&&void 0!==arguments[1]?arguments[1]:[])},reportProgress:function(e,r){c("progress",{progress:{percentage:e,payload:r}},arguments.length>2&&void 0!==arguments[2]?arguments[2]:[])},onResolve:l("onResolve"),onReject:l("onReject"),onCancel:l("onCancel"),onProgress:l("onProgress"),onFinalize:l("onFinalize")}}({method:p,messageId:c,payload:f.execution.payload});e.set(c,d),r.get(p||"")(d,t)}catch(r){throw e.delete(null===(i=t.data)||void 0===i?void 0:i.messageId),{message:"Error while processing message id: "+c,event:t}}};return{onMessage:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var o=t[0],a=t[1];if("string"==typeof o){var i=o,c=a;r.set(i,c)}else{var l=o;r.set("",l)}},close:function(){t(e.values()).forEach((function(e){return e.reject(new Error("worker closed"))})),self.close()},importScripts:function(){var e;(e=self).importScripts.apply(e,arguments)}}}(),n=r.close,o=r.onMessage,a=r.importScripts;this.close=n,this.onMessage=o,this.importScripts=a,e&&o(e)}},111:(e,r,t)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.createBlobWorker=void 0;var n=t(216);r.createBlobWorker=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],t=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).primitiveParameters,o=void 0===t?[]:t,a=Array.isArray(e)?e:[e],i="".concat(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.length?'self.importScripts(["'.concat(e.join('","'),'"]);'):""}(r),"self.primitiveParameters=JSON.parse(`").concat(JSON.stringify(null!=o?o:[]),"`);let ew$=").concat((0,n.getWorkerTemplate)(),";let cn$=self;").concat(a.map((function(e){return"\n(".concat(null==e?void 0:e.toString().trim(),")(ew$,cn$);")})).join(""));return(window.URL||window.webkitURL).createObjectURL(new Blob([i],{type:"application/javascript"}))}},134:(e,r,t)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.createEasyWebWorker=void 0;var n=t(382);r.createEasyWebWorker=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new n.EasyWebWorker(e,r)}},952:(e,r,t)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.createStaticEasyWebWorker=void 0;var n=t(600);r.createStaticEasyWebWorker=function(e){return new n.StaticEasyWebWorker(e)}},216:(e,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.getWorkerTemplate=void 0;r.getWorkerTemplate=function(){return'(()=>{let e=new Map,o=new Map([["",()=>{throw"you didn\'t defined a message-callback, please assign a callback by calling easyWorker.onMessage"},],]),t=({messageId:o,payload:t,method:a})=>{let s="pending",n=new Map,r=(t,r,l=[])=>{var i;let c=s,d="progress"===t?"pending":t;if(!e.has(o)){let g="%c#"+o+" Message Not Found: %cThis means that the message was already resolved | rejected | canceled. To avoid this error, please make sure that you are not resolving | rejecting | canceling the same message twice. Also make sure that you are not reporting progress after the message was processed. Remember each message can handle his one cancelation by adding a handler with the %cmessage.onCancel%c method. To now more about this method, please check the documentation at: %chttps://www.npmjs.com/package/easy-web-worker#ieasywebworkermessageipayload--null-iresult--void %cTrying to process message:";console.error(g,"color: darkorange; font-size: 12px; font-weight: bold;","font-weight: normal;","font-weight: bold;","font-weight: normal;","color: lightblue; font-size: 10px; font-weight: bold;","font-weight: bold; color: darkorange;",{messageId:o,status:{current:c,target:d},method:a,action:r});return}let h={resolved:"onResolve",rejected:"onReject",canceled:"onCancel",worker_cancelation:"onCancel",pending:"onProgress"}[d],w=n.get(h),m=!r.progress;try{null==w||w.forEach(e=>e(r,l)),m&&(null===(i=n.get("onFinalize"))||void 0===i||i.forEach(e=>e(r,l)))}catch(u){throw e.delete(o),{message:"Error while processing message id: "+o,error:u,messageData:r,messageType:t,when:h}}finally{m&&e.delete(o)}self.postMessage(Object.assign({messageId:o},r),l),s=d},l=(e,o=[])=>r("resolved",{resolved:{payload:void 0===e?[]:[e]}},o),i=(e,o=[])=>{r("rejected",{rejected:{reason:e}},o)},c=(e,o=[])=>r("worker_cancelation",{worker_cancelation:{reason:e}},o),d=(e,o,t=[])=>{r("progress",{progress:{percentage:e,payload:o}},t)},g=e=>o=>{n.has(e)||n.set(e,new Set);let t=n.get(e);return t.add(o),()=>t.delete(o)};return{messageId:o,method:a,payload:t,getStatus:()=>s,isPending:()=>"pending"===s,resolve:l,reject:i,cancel:c,reportProgress:d,onResolve:g("onResolve"),onReject:g("onReject"),onCancel:g("onCancel"),onProgress:g("onProgress"),onFinalize:g("onFinalize")}},a=(...e)=>{let[t,a]=e,s="string"==typeof t;if(s){let n=t,r=a;o.set(n,r);return}let l=t;o.set("",l)},s=()=>{let o=[...e.values()];o.forEach(e=>e.reject(Error("worker closed"))),self.close()};self.onmessage=a=>{var s,n,r,l;let i=null===(s=null==a?void 0:a.data)||void 0===s?void 0:s.messageId,c=null!==(r=null===(n=null==a?void 0:a.data)||void 0===n?void 0:n.__is_easy_web_worker_message__)&&void 0!==r&&r,d=i&&c;if(d)try{let{data:g}=a,{cancelation:h}=g;if(h){let{reason:w}=h,m=e.get(i);m.cancel(w);return}let{method:u,execution:p}=a.data,{payload:v}=p,f=t({method:u,messageId:i,payload:v});e.set(i,f);let y=o.get(u||"");y(f,a)}catch(k){throw e.delete(null===(l=a.data)||void 0===l?void 0:l.messageId),{message:"Error while processing message id: "+i,event:a}}};let n=(...e)=>{self.importScripts(...e)};return{onMessage:a,close:s,importScripts:n}})();'}},416:(e,r)=>{"use strict";var t;Object.defineProperty(r,"__esModule",{value:!0}),r.uniqueId=void 0,r.uniqueId=(t=0,function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return t===Number.MAX_SAFE_INTEGER&&(t=0),e+Date.now().toString(36)+(t++).toString(36)})},911:function(e){var r;r=()=>(()=>{"use strict";var e={836:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isCancelableAbortSignal=void 0,r.isCancelableAbortSignal=function(e){return Boolean(null==e?void 0:e.__is_cancelable_abort_signal)}},216:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.promise_identifier=r.isCancelablePromise=void 0;var t=Symbol("promise_identifier");r.promise_identifier=t,r.isCancelablePromise=function(e){return!!(null==e?void 0:e[t])}},790:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isPromise=void 0,r.isPromise=function(e){return Promise.resolve(e)===e}}},r={};function t(n){var o=r[n];if(void 0!==o)return o.exports;var a=r[n]={exports:{}};return e[n](a,a.exports,t),a.exports}var n={};return(()=>{var e=n;function r(e){return 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},r(e)}Object.defineProperty(e,"__esModule",{value:!0}),e.toCancelablePromise=e.CancelablePromise=void 0;var o,a=t(836),i=t(216),c=t(790);function l(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,(a=function(e){if("object"!==r(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(o.key),"symbol"===r(a)?a:String(a)),o)}var a}function s(e){var t=v();return function(){var n,o=y(e);if(t){var a=y(this).constructor;n=Reflect.construct(o,arguments,a)}else n=o.apply(this,arguments);return function(e,t){if(t&&("object"===r(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return u(e)}(this,n)}}function u(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function f(){return f="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,r,t){var n=function(e,r){for(;!Object.prototype.hasOwnProperty.call(e,r)&&null!==(e=y(e)););return e}(e,r);if(n){var o=Object.getOwnPropertyDescriptor(n,r);return o.get?o.get.call(arguments.length<3?e:t):o.value}},f.apply(this,arguments)}function p(e){var r="function"==typeof Map?new Map:void 0;return p=function(e){if(null===e||(t=e,-1===Function.toString.call(t).indexOf("[native code]")))return e;var t;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(e))return r.get(e);r.set(e,n)}function n(){return d(e,arguments,y(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),h(n,e)},p(e)}function d(e,r,t){return d=v()?Reflect.construct.bind():function(e,r,t){var n=[null];n.push.apply(n,r);var o=new(Function.bind.apply(e,n));return t&&h(o,t.prototype),o},d.apply(null,arguments)}function v(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function h(e,r){return h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,r){return e.__proto__=r,e},h(e,r)}function y(e){return y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},y(e)}var b=function(e){!function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),r&&h(e,r)}(i,e);var r,t,n=s(i);function i(e){var r,t,c,l,s,p;return function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,i),(l=n.call(this,(function(e,r){s=e,p=r})))[o]=!0,l.status="pending",l.cancelCallbacks=new Set,l.ownCancelCallbacks=new Set,l.onProgressCallbacks=new Set,l.disposeCallbacks=function(){l.cancelCallbacks=new Set,l.ownCancelCallbacks=new Set,l.onProgressCallbacks=new Set},l.subscribeToOwnCancelEvent=function(e){return l.ownCancelCallbacks.add(e),function(){l.ownCancelCallbacks.delete(e)}},l.cancel=function(e){if("pending"!==l.status)return u(l);l.status="canceled";var r=void 0===e?new Error("Promise canceled"):e;return l.ownCancelCallbacks.forEach((function(e){return e(r)})),l.cancelCallbacks.forEach((function(e){return e(r)})),l._reject(r),l.disposeCallbacks(),u(l)},l.onCancel=function(e){var r=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).signal;return l.cancelCallbacks.add(e),(0,a.isCancelableAbortSignal)(r)?r.subscribe((function(){l.cancelCallbacks.delete(e)})):null==r||r.addEventListener("abort",(function(){l.cancelCallbacks.delete(e)})),u(l)},l.onProgress=function(e){var r=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).signal;return l.onProgressCallbacks.add(e),(0,a.isCancelableAbortSignal)(r)?r.subscribe((function(){l.onProgressCallbacks.delete(e)})):null==r||r.addEventListener("abort",(function(){l.onProgressCallbacks.delete(e)})),u(l)},l.reportProgress=function(e,r){return l.onProgressCallbacks.forEach((function(t){return t(e,r)})),u(l)},l.createChildPromise=function(){var e,r,t=new i((function(t,n,o){e=t,r=n}));return t.onProgressCallbacks=l.onProgressCallbacks,t.onCancel((function(e){l.cancel(e)})),{promise:t,resolve:e,reject:r}},l._resolve=s,l._reject=p,e((function(e){l.status="resolved",l.disposeCallbacks(),l._resolve(e)}),(function(e){l.status="rejected",l.disposeCallbacks(),l._reject(e)}),{cancel:function(e){return l.cancel(e)},onCancel:function(e){return l.subscribeToOwnCancelEvent(e)},onProgress:function(e){return l.onProgress(e),function(){l.onProgressCallbacks.delete(e)}},reportProgress:function(e,r){l.reportProgress(e,r)}}),l.then=function(e,t){var n=l.createChildPromise(),o=n.promise,a=n.resolve,c=n.reject;return f((r=u(l),y(i.prototype)),"then",r).call(r,e,t).then(a,c),o},l.catch=function(e){var r=l.createChildPromise(),n=r.promise,o=r.resolve,a=r.reject;return f((t=u(l),y(i.prototype)),"catch",t).call(t,e).then(o,a),n},l.finally=function(e){var r=l.createChildPromise(),t=r.promise,n=r.resolve,o=r.reject;return f((c=u(l),y(i.prototype)),"finally",c).call(c,e).then(n,o),t},l}return r=i,t=[{key:"resolve",value:function(e){return new i((function(r){return r(e)}))}}],t&&l(r,t),Object.defineProperty(r,"prototype",{writable:!1}),i}(p(Promise));e.CancelablePromise=b,o=i.promise_identifier,b.reject=function(e){return new b((function(r,t){return t(e)}))},b.canceled=function(e){return new b((function(r,t,n){return(0,n.cancel)(e)}))},b.race=function(e){return new b((function(r,t,n){var o=n.onCancel,a=n.cancel;e.forEach((function(e){var n=m(e);o((function(e){n.cancel(e)})),n.then(r,(function(e){"canceled"!==n.status?t(e):a(e)}))}))}))},b.all=function(e){return new b((function(r,t,n){var o=n.onCancel,a=n.cancel,i=new Map,c=e.length,l=0;e.forEach((function(e){var n=m(e);i.set(n,null),o((function(e){n.cancel(e)})),n.then((function(e){l++,i.set(n,e),l===c&&r(Array.from(i.values()))}),(function(e){"canceled"!==n.status?t(e):a(e)}))}))}))},b.allSettled=function(e){return new b((function(r,t,n){var o=n.onCancel,a=new Map,i=e.length,c=0;e.forEach((function(e){var t=m(e);a.set(t,null),o((function(e){t.cancel(e)})),t.then((function(e){a.set(t,{status:"fulfilled",value:e})}),(function(e){a.set(t,{status:"canceled"===t.status?"canceled":"rejected",reason:e})})).finally((function(){++c===i&&r(Array.from(a.values()))}))}))}))},b.prototype.constructor=Promise;var m=function e(r){if((0,i.isCancelablePromise)(r))return r;if("function"==typeof r)return e(r());if(!(0,c.isPromise)(r))return new b((function(e){return e(r)}));var t,n,o=new b((function(e,o,a){t=e,n=o,r.then(t,n)}));return o.onCancel((function(e){n(e)})),o};e.toCancelablePromise=m})(),n})(),e.exports=r()},816:function(e){var r;r=()=>(()=>{"use strict";var e={0:(e,r,t)=>{function n(e){return n="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},n(e)}Object.defineProperty(r,"__esModule",{value:!0}),r.toCancelablePromise=r.CancelablePromise=void 0;var o,a=t(836),i=t(216),c=t(790);function l(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,(a=function(e){if("object"!==n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var t=r.call(e,"string");if("object"!==n(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(o.key),"symbol"===n(a)?a:String(a)),o)}var a}function s(e){var r=v();return function(){var t,o=y(e);if(r){var a=y(this).constructor;t=Reflect.construct(o,arguments,a)}else t=o.apply(this,arguments);return function(e,r){if(r&&("object"===n(r)||"function"==typeof r))return r;if(void 0!==r)throw new TypeError("Derived constructors may only return object or undefined");return u(e)}(this,t)}}function u(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function f(){return f="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,r,t){var n=function(e,r){for(;!Object.prototype.hasOwnProperty.call(e,r)&&null!==(e=y(e)););return e}(e,r);if(n){var o=Object.getOwnPropertyDescriptor(n,r);return o.get?o.get.call(arguments.length<3?e:t):o.value}},f.apply(this,arguments)}function p(e){var r="function"==typeof Map?new Map:void 0;return p=function(e){if(null===e||(t=e,-1===Function.toString.call(t).indexOf("[native code]")))return e;var t;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(e))return r.get(e);r.set(e,n)}function n(){return d(e,arguments,y(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),h(n,e)},p(e)}function d(e,r,t){return d=v()?Reflect.construct.bind():function(e,r,t){var n=[null];n.push.apply(n,r);var o=new(Function.bind.apply(e,n));return t&&h(o,t.prototype),o},d.apply(null,arguments)}function v(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function h(e,r){return h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,r){return e.__proto__=r,e},h(e,r)}function y(e){return y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},y(e)}var b=function(e){!function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),r&&h(e,r)}(i,e);var r,t,n=s(i);function i(e){var r,t,c,l,s,p;return function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,i),(l=n.call(this,(function(e,r){s=e,p=r})))[o]=!0,l.status="pending",l.cancelCallbacks=new Set,l.ownCancelCallbacks=new Set,l.onProgressCallbacks=new Set,l.disposeCallbacks=function(){l.cancelCallbacks=new Set,l.ownCancelCallbacks=new Set,l.onProgressCallbacks=new Set},l.subscribeToOwnCancelEvent=function(e){return l.ownCancelCallbacks.add(e),function(){l.ownCancelCallbacks.delete(e)}},l.cancel=function(e){if("pending"!==l.status)return u(l);l.status="canceled";var r=void 0===e?new Error("Promise canceled"):e;return l.ownCancelCallbacks.forEach((function(e){return e(r)})),l.cancelCallbacks.forEach((function(e){return e(r)})),l._reject(r),l.disposeCallbacks(),u(l)},l.onCancel=function(e){var r=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).signal;return l.cancelCallbacks.add(e),(0,a.isCancelableAbortSignal)(r)?r.subscribe((function(){l.cancelCallbacks.delete(e)})):null==r||r.addEventListener("abort",(function(){l.cancelCallbacks.delete(e)})),u(l)},l.onProgress=function(e){var r=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).signal;return l.onProgressCallbacks.add(e),(0,a.isCancelableAbortSignal)(r)?r.subscribe((function(){l.onProgressCallbacks.delete(e)})):null==r||r.addEventListener("abort",(function(){l.onProgressCallbacks.delete(e)})),u(l)},l.reportProgress=function(e,r){return l.onProgressCallbacks.forEach((function(t){return t(e,r)})),u(l)},l.createChildPromise=function(){var e,r,t=new i((function(t,n,o){e=t,r=n}));return t.onProgressCallbacks=l.onProgressCallbacks,t.onCancel((function(e){l.cancel(e)})),{promise:t,resolve:e,reject:r}},l._resolve=s,l._reject=p,e((function(e){l.status="resolved",l.disposeCallbacks(),l._resolve(e)}),(function(e){l.status="rejected",l.disposeCallbacks(),l._reject(e)}),{cancel:function(e){return l.cancel(e)},onCancel:function(e){return l.subscribeToOwnCancelEvent(e)},onProgress:function(e){return l.onProgress(e),function(){l.onProgressCallbacks.delete(e)}},reportProgress:function(e,r){l.reportProgress(e,r)}}),l.then=function(e,t){var n=l.createChildPromise(),o=n.promise,a=n.resolve,c=n.reject;return f((r=u(l),y(i.prototype)),"then",r).call(r,e,t).then(a,c),o},l.catch=function(e){var r=l.createChildPromise(),n=r.promise,o=r.resolve,a=r.reject;return f((t=u(l),y(i.prototype)),"catch",t).call(t,e).then(o,a),n},l.finally=function(e){var r=l.createChildPromise(),t=r.promise,n=r.resolve,o=r.reject;return f((c=u(l),y(i.prototype)),"finally",c).call(c,e).then(n,o),t},l}return r=i,t=[{key:"resolve",value:function(e){return new i((function(r){return r(e)}))}}],t&&l(r,t),Object.defineProperty(r,"prototype",{writable:!1}),i}(p(Promise));r.CancelablePromise=b,o=i.promise_identifier,b.reject=function(e){return new b((function(r,t){return t(e)}))},b.canceled=function(e){return new b((function(r,t,n){return(0,n.cancel)(e)}))},b.race=function(e){return new b((function(r,t,n){var o=n.onCancel,a=n.cancel;e.forEach((function(e){var n=m(e);o((function(e){n.cancel(e)})),n.then(r,(function(e){"canceled"!==n.status?t(e):a(e)}))}))}))},b.all=function(e){return new b((function(r,t,n){var o=n.onCancel,a=n.cancel,i=new Map,c=e.length,l=0;e.forEach((function(e){var n=m(e);i.set(n,null),o((function(e){n.cancel(e)})),n.then((function(e){l++,i.set(n,e),l===c&&r(Array.from(i.values()))}),(function(e){"canceled"!==n.status?t(e):a(e)}))}))}))},b.allSettled=function(e){return new b((function(r,t,n){var o=n.onCancel,a=new Map,i=e.length,c=0;e.forEach((function(e){var t=m(e);a.set(t,null),o((function(e){t.cancel(e)})),t.then((function(e){a.set(t,{status:"fulfilled",value:e})}),(function(e){a.set(t,{status:"canceled"===t.status?"canceled":"rejected",reason:e})})).finally((function(){++c===i&&r(Array.from(a.values()))}))}))}))},b.prototype.constructor=Promise;var m=function e(r){if((0,i.isCancelablePromise)(r))return r;if("function"==typeof r)return e(r());if(!(0,c.isPromise)(r))return new b((function(e){return e(r)}));var t,n,o=new b((function(e,o,a){t=e,n=o,r.then(t,n)}));return o.onCancel((function(e){n(e)})),o};r.toCancelablePromise=m},836:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isCancelableAbortSignal=void 0,r.isCancelableAbortSignal=function(e){return Boolean(null==e?void 0:e.__is_cancelable_abort_signal)}},216:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.promise_identifier=r.isCancelablePromise=void 0;var t=Symbol("promise_identifier");r.promise_identifier=t,r.isCancelablePromise=function(e){return!!(null==e?void 0:e[t])}},790:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isPromise=void 0,r.isPromise=function(e){return Promise.resolve(e)===e}}},r={};function t(n){var o=r[n];if(void 0!==o)return o.exports;var a=r[n]={exports:{}};return e[n](a,a.exports,t),a.exports}var n={};return(()=>{var e=n;Object.defineProperty(e,"__esModule",{value:!0}),e.createDecoupledPromise=void 0;var r=t(0);e.createDecoupledPromise=function(){var e,t,n,o=new r.CancelablePromise((function(r,o,a){e=r,t=o,n=a}));return Object.assign(Object.assign({resolve:e,reject:t},n),{promise:o})}})(),n})(),e.exports=r()},180:function(e){var r;r=()=>(()=>{"use strict";var e={0:(e,r,t)=>{function n(e){return n="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},n(e)}Object.defineProperty(r,"__esModule",{value:!0}),r.toCancelablePromise=r.CancelablePromise=void 0;var o,a=t(836),i=t(216),c=t(790);function l(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,(a=function(e){if("object"!==n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var t=r.call(e,"string");if("object"!==n(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(o.key),"symbol"===n(a)?a:String(a)),o)}var a}function s(e){var r=v();return function(){var t,o=y(e);if(r){var a=y(this).constructor;t=Reflect.construct(o,arguments,a)}else t=o.apply(this,arguments);return function(e,r){if(r&&("object"===n(r)||"function"==typeof r))return r;if(void 0!==r)throw new TypeError("Derived constructors may only return object or undefined");return u(e)}(this,t)}}function u(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function f(){return f="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,r,t){var n=function(e,r){for(;!Object.prototype.hasOwnProperty.call(e,r)&&null!==(e=y(e)););return e}(e,r);if(n){var o=Object.getOwnPropertyDescriptor(n,r);return o.get?o.get.call(arguments.length<3?e:t):o.value}},f.apply(this,arguments)}function p(e){var r="function"==typeof Map?new Map:void 0;return p=function(e){if(null===e||(t=e,-1===Function.toString.call(t).indexOf("[native code]")))return e;var t;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(e))return r.get(e);r.set(e,n)}function n(){return d(e,arguments,y(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),h(n,e)},p(e)}function d(e,r,t){return d=v()?Reflect.construct.bind():function(e,r,t){var n=[null];n.push.apply(n,r);var o=new(Function.bind.apply(e,n));return t&&h(o,t.prototype),o},d.apply(null,arguments)}function v(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function h(e,r){return h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,r){return e.__proto__=r,e},h(e,r)}function y(e){return y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},y(e)}var b=function(e){!function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),r&&h(e,r)}(i,e);var r,t,n=s(i);function i(e){var r,t,c,l,s,p;return function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,i),(l=n.call(this,(function(e,r){s=e,p=r})))[o]=!0,l.status="pending",l.cancelCallbacks=new Set,l.ownCancelCallbacks=new Set,l.onProgressCallbacks=new Set,l.disposeCallbacks=function(){l.cancelCallbacks=new Set,l.ownCancelCallbacks=new Set,l.onProgressCallbacks=new Set},l.subscribeToOwnCancelEvent=function(e){return l.ownCancelCallbacks.add(e),function(){l.ownCancelCallbacks.delete(e)}},l.cancel=function(e){if("pending"!==l.status)return u(l);l.status="canceled";var r=void 0===e?new Error("Promise canceled"):e;return l.ownCancelCallbacks.forEach((function(e){return e(r)})),l.cancelCallbacks.forEach((function(e){return e(r)})),l._reject(r),l.disposeCallbacks(),u(l)},l.onCancel=function(e){var r=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).signal;return l.cancelCallbacks.add(e),(0,a.isCancelableAbortSignal)(r)?r.subscribe((function(){l.cancelCallbacks.delete(e)})):null==r||r.addEventListener("abort",(function(){l.cancelCallbacks.delete(e)})),u(l)},l.onProgress=function(e){var r=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).signal;return l.onProgressCallbacks.add(e),(0,a.isCancelableAbortSignal)(r)?r.subscribe((function(){l.onProgressCallbacks.delete(e)})):null==r||r.addEventListener("abort",(function(){l.onProgressCallbacks.delete(e)})),u(l)},l.reportProgress=function(e,r){return l.onProgressCallbacks.forEach((function(t){return t(e,r)})),u(l)},l.createChildPromise=function(){var e,r,t=new i((function(t,n,o){e=t,r=n}));return t.onProgressCallbacks=l.onProgressCallbacks,t.onCancel((function(e){l.cancel(e)})),{promise:t,resolve:e,reject:r}},l._resolve=s,l._reject=p,e((function(e){l.status="resolved",l.disposeCallbacks(),l._resolve(e)}),(function(e){l.status="rejected",l.disposeCallbacks(),l._reject(e)}),{cancel:function(e){return l.cancel(e)},onCancel:function(e){return l.subscribeToOwnCancelEvent(e)},onProgress:function(e){return l.onProgress(e),function(){l.onProgressCallbacks.delete(e)}},reportProgress:function(e,r){l.reportProgress(e,r)}}),l.then=function(e,t){var n=l.createChildPromise(),o=n.promise,a=n.resolve,c=n.reject;return f((r=u(l),y(i.prototype)),"then",r).call(r,e,t).then(a,c),o},l.catch=function(e){var r=l.createChildPromise(),n=r.promise,o=r.resolve,a=r.reject;return f((t=u(l),y(i.prototype)),"catch",t).call(t,e).then(o,a),n},l.finally=function(e){var r=l.createChildPromise(),t=r.promise,n=r.resolve,o=r.reject;return f((c=u(l),y(i.prototype)),"finally",c).call(c,e).then(n,o),t},l}return r=i,t=[{key:"resolve",value:function(e){return new i((function(r){return r(e)}))}}],t&&l(r,t),Object.defineProperty(r,"prototype",{writable:!1}),i}(p(Promise));r.CancelablePromise=b,o=i.promise_identifier,b.reject=function(e){return new b((function(r,t){return t(e)}))},b.canceled=function(e){return new b((function(r,t,n){return(0,n.cancel)(e)}))},b.race=function(e){return new b((function(r,t,n){var o=n.onCancel,a=n.cancel;e.forEach((function(e){var n=m(e);o((function(e){n.cancel(e)})),n.then(r,(function(e){"canceled"!==n.status?t(e):a(e)}))}))}))},b.all=function(e){return new b((function(r,t,n){var o=n.onCancel,a=n.cancel,i=new Map,c=e.length,l=0;e.forEach((function(e){var n=m(e);i.set(n,null),o((function(e){n.cancel(e)})),n.then((function(e){l++,i.set(n,e),l===c&&r(Array.from(i.values()))}),(function(e){"canceled"!==n.status?t(e):a(e)}))}))}))},b.allSettled=function(e){return new b((function(r,t,n){var o=n.onCancel,a=new Map,i=e.length,c=0;e.forEach((function(e){var t=m(e);a.set(t,null),o((function(e){t.cancel(e)})),t.then((function(e){a.set(t,{status:"fulfilled",value:e})}),(function(e){a.set(t,{status:"canceled"===t.status?"canceled":"rejected",reason:e})})).finally((function(){++c===i&&r(Array.from(a.values()))}))}))}))},b.prototype.constructor=Promise;var m=function e(r){if((0,i.isCancelablePromise)(r))return r;if("function"==typeof r)return e(r());if(!(0,c.isPromise)(r))return new b((function(e){return e(r)}));var t,n,o=new b((function(e,o,a){t=e,n=o,r.then(t,n)}));return o.onCancel((function(e){n(e)})),o};r.toCancelablePromise=m},836:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isCancelableAbortSignal=void 0,r.isCancelableAbortSignal=function(e){return Boolean(null==e?void 0:e.__is_cancelable_abort_signal)}},216:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.promise_identifier=r.isCancelablePromise=void 0;var t=Symbol("promise_identifier");r.promise_identifier=t,r.isCancelablePromise=function(e){return!!(null==e?void 0:e[t])}},790:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isPromise=void 0,r.isPromise=function(e){return Promise.resolve(e)===e}},710:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"toCancelablePromise",{enumerable:!0,get:function(){return n.toCancelablePromise}});var n=t(0)}},r={};function t(n){var o=r[n];if(void 0!==o)return o.exports;var a=r[n]={exports:{}};return e[n](a,a.exports,t),a.exports}var n={};return(()=>{var e=n;Object.defineProperty(e,"__esModule",{value:!0}),e.groupAsCancelablePromise=void 0;var r=t(710),o=t(0);function a(e){return function(e){if(Array.isArray(e))return i(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return i(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?i(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}e.groupAsCancelablePromise=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e.length)return null;var n=t.maxConcurrent,i=void 0===n?8:n,c=t.executeInOrder,l=void 0!==c&&c,s=t.beforeEachCallback,u=void 0===s?null:s,f=t.afterEachCallback,p=void 0===f?null:f,d=t.onQueueEmptyCallback,v=void 0===d?null:d,h=a(e),y=[];return new o.CancelablePromise((function(t,n,o){(function t(){if(h.length){var n=h.splice(0,i).map((function(t){var n="function"==typeof t?t():t;null==u||u();var a=(0,r.toCancelablePromise)(n),i=o.onCancel((function(e){a.cancel(e)}));return a.then((function(r){var t,n;i(),y.push(r),null==p||p(r),o.reportProgress((null!==(t=y.length)&&void 0!==t?t:1)/(null!==(n=e.length)&&void 0!==n?n:1)*100)})),l?a.then((function(e){return e})):a}));return Promise.all(n).then((function(){return t()}))}})().then((function(){null==v||v(y),t(y)}))}))}})(),n})(),e.exports=r()}},r={};function t(n){var o=r[n];if(void 0!==o)return o.exports;var a=r[n]={exports:{}};return e[n].call(a.exports,a,a.exports,t),a.exports}var n={};return(()=>{"use strict";var e=n;Object.defineProperty(e,"__esModule",{value:!0}),e.createStaticEasyWebWorker=e.createEasyWebWorker=e.StaticEasyWebWorker=e.EasyWebWorker=e.default=void 0;var r=t(382);Object.defineProperty(e,"default",{enumerable:!0,get:function(){return r.EasyWebWorker}});var o=t(382);Object.defineProperty(e,"EasyWebWorker",{enumerable:!0,get:function(){return o.EasyWebWorker}});var a=t(600);Object.defineProperty(e,"StaticEasyWebWorker",{enumerable:!0,get:function(){return a.StaticEasyWebWorker}});var i=t(134);Object.defineProperty(e,"createEasyWebWorker",{enumerable:!0,get:function(){return i.createEasyWebWorker}});var c=t(952);Object.defineProperty(e,"createStaticEasyWebWorker",{enumerable:!0,get:function(){return c.createStaticEasyWebWorker}})})(),n})()));
@@ -0,0 +1,4 @@
1
+ import { EasyWebWorkerBody } from './types';
2
+ export declare const createBlobWorker: <IPayload = null, IResult = void, TPrimitiveParameters extends any[] = unknown[]>(source: EasyWebWorkerBody<IPayload, IResult> | EasyWebWorkerBody<IPayload, IResult>[], imports?: string[], { primitiveParameters, }?: {
3
+ primitiveParameters?: TPrimitiveParameters;
4
+ }) => string;
@@ -0,0 +1 @@
1
+ !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports["easy-web-worker"]=o():e["easy-web-worker"]=o()}(this,(()=>(()=>{"use strict";var e={216:(e,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.getWorkerTemplate=void 0;o.getWorkerTemplate=function(){return'(()=>{let e=new Map,o=new Map([["",()=>{throw"you didn\'t defined a message-callback, please assign a callback by calling easyWorker.onMessage"},],]),t=({messageId:o,payload:t,method:a})=>{let s="pending",n=new Map,r=(t,r,l=[])=>{var i;let c=s,d="progress"===t?"pending":t;if(!e.has(o)){let g="%c#"+o+" Message Not Found: %cThis means that the message was already resolved | rejected | canceled. To avoid this error, please make sure that you are not resolving | rejecting | canceling the same message twice. Also make sure that you are not reporting progress after the message was processed. Remember each message can handle his one cancelation by adding a handler with the %cmessage.onCancel%c method. To now more about this method, please check the documentation at: %chttps://www.npmjs.com/package/easy-web-worker#ieasywebworkermessageipayload--null-iresult--void %cTrying to process message:";console.error(g,"color: darkorange; font-size: 12px; font-weight: bold;","font-weight: normal;","font-weight: bold;","font-weight: normal;","color: lightblue; font-size: 10px; font-weight: bold;","font-weight: bold; color: darkorange;",{messageId:o,status:{current:c,target:d},method:a,action:r});return}let h={resolved:"onResolve",rejected:"onReject",canceled:"onCancel",worker_cancelation:"onCancel",pending:"onProgress"}[d],w=n.get(h),m=!r.progress;try{null==w||w.forEach(e=>e(r,l)),m&&(null===(i=n.get("onFinalize"))||void 0===i||i.forEach(e=>e(r,l)))}catch(u){throw e.delete(o),{message:"Error while processing message id: "+o,error:u,messageData:r,messageType:t,when:h}}finally{m&&e.delete(o)}self.postMessage(Object.assign({messageId:o},r),l),s=d},l=(e,o=[])=>r("resolved",{resolved:{payload:void 0===e?[]:[e]}},o),i=(e,o=[])=>{r("rejected",{rejected:{reason:e}},o)},c=(e,o=[])=>r("worker_cancelation",{worker_cancelation:{reason:e}},o),d=(e,o,t=[])=>{r("progress",{progress:{percentage:e,payload:o}},t)},g=e=>o=>{n.has(e)||n.set(e,new Set);let t=n.get(e);return t.add(o),()=>t.delete(o)};return{messageId:o,method:a,payload:t,getStatus:()=>s,isPending:()=>"pending"===s,resolve:l,reject:i,cancel:c,reportProgress:d,onResolve:g("onResolve"),onReject:g("onReject"),onCancel:g("onCancel"),onProgress:g("onProgress"),onFinalize:g("onFinalize")}},a=(...e)=>{let[t,a]=e,s="string"==typeof t;if(s){let n=t,r=a;o.set(n,r);return}let l=t;o.set("",l)},s=()=>{let o=[...e.values()];o.forEach(e=>e.reject(Error("worker closed"))),self.close()};self.onmessage=a=>{var s,n,r,l;let i=null===(s=null==a?void 0:a.data)||void 0===s?void 0:s.messageId,c=null!==(r=null===(n=null==a?void 0:a.data)||void 0===n?void 0:n.__is_easy_web_worker_message__)&&void 0!==r&&r,d=i&&c;if(d)try{let{data:g}=a,{cancelation:h}=g;if(h){let{reason:w}=h,m=e.get(i);m.cancel(w);return}let{method:u,execution:p}=a.data,{payload:v}=p,f=t({method:u,messageId:i,payload:v});e.set(i,f);let y=o.get(u||"");y(f,a)}catch(k){throw e.delete(null===(l=a.data)||void 0===l?void 0:l.messageId),{message:"Error while processing message id: "+i,event:a}}};let n=(...e)=>{self.importScripts(...e)};return{onMessage:a,close:s,importScripts:n}})();'}}},o={};function t(r){var a=o[r];if(void 0!==a)return a.exports;var n=o[r]={exports:{}};return e[r](n,n.exports,t),n.exports}var r={};return(()=>{var e=r;Object.defineProperty(e,"__esModule",{value:!0}),e.createBlobWorker=void 0;var o=t(216);e.createBlobWorker=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).primitiveParameters,a=void 0===r?[]:r,n=Array.isArray(e)?e:[e],s="".concat(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.length?'self.importScripts(["'.concat(e.join('","'),'"]);'):""}(t),"self.primitiveParameters=JSON.parse(`").concat(JSON.stringify(null!=a?a:[]),"`);let ew$=").concat((0,o.getWorkerTemplate)(),";let cn$=self;").concat(n.map((function(e){return"\n(".concat(null==e?void 0:e.toString().trim(),")(ew$,cn$);")})).join(""));return(window.URL||window.webkitURL).createObjectURL(new Blob([s],{type:"application/javascript"}))}})(),r})()));
@@ -1,2 +1,3 @@
1
- import { EasyWebWorker, EasyWebWorkerBody, IWorkerConfig } from './EasyWebWorker';
1
+ import { EasyWebWorkerBody, IWorkerConfig } from './types';
2
+ import { EasyWebWorker } from './EasyWebWorker';
2
3
  export declare const createEasyWebWorker: <TPayload = null, TResult = void>(source: EasyWebWorkerBody<TPayload, TResult> | EasyWebWorkerBody<TPayload, TResult>[] | string | URL | Worker | Worker[], parameters?: Partial<IWorkerConfig>) => EasyWebWorker<TPayload, TResult, unknown[]>;