mobx-downloader 0.3.0 → 0.3.1
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.
- package/dist/index.d.ts +1 -1
- package/dist/index.esm.js +8 -8
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +19 -19
package/dist/index.d.ts
CHANGED
|
@@ -37,7 +37,7 @@ export abstract class DownloadTask implements Partial<TransferProgress> {
|
|
|
37
37
|
export class HTTPDownloadTask extends DownloadTask {
|
|
38
38
|
client: DownloadTask['client'];
|
|
39
39
|
constructor(path: string, name?: string);
|
|
40
|
-
loadStream(options?: DownloadOptions): AsyncGenerator<Partial<
|
|
40
|
+
loadStream(options?: DownloadOptions): AsyncGenerator<Partial<TransferProgress>, void, unknown>;
|
|
41
41
|
}
|
|
42
42
|
export class Downloader {
|
|
43
43
|
static protocolMap: Record<string, Constructor<DownloadTask>>;
|
package/dist/index.esm.js
CHANGED
|
@@ -226,12 +226,12 @@ let $2305cbd960c24ac6$export$e9ba70c733fe1cb8 = (()=>{
|
|
|
226
226
|
return new (0, $42h8L$ByteSize)(this.loaded);
|
|
227
227
|
}
|
|
228
228
|
static nameOf(URI) {
|
|
229
|
-
return decodeURI(new URL(URI).pathname.split(
|
|
229
|
+
return decodeURI(new URL(URI).pathname.split('/').filter(Boolean).at(-1));
|
|
230
230
|
}
|
|
231
231
|
constructor(path, name = _a.nameOf(path)){
|
|
232
|
-
_DownloadTask_id_accessor_storage.set(this, ($2305cbd960c24ac6$var$__runInitializers(this, _instanceExtraInitializers), $2305cbd960c24ac6$var$__runInitializers(this, _id_initializers,
|
|
233
|
-
_DownloadTask_name_accessor_storage.set(this, ($2305cbd960c24ac6$var$__runInitializers(this, _id_extraInitializers), $2305cbd960c24ac6$var$__runInitializers(this, _name_initializers,
|
|
234
|
-
_DownloadTask_path_accessor_storage.set(this, ($2305cbd960c24ac6$var$__runInitializers(this, _name_extraInitializers), $2305cbd960c24ac6$var$__runInitializers(this, _path_initializers,
|
|
232
|
+
_DownloadTask_id_accessor_storage.set(this, ($2305cbd960c24ac6$var$__runInitializers(this, _instanceExtraInitializers), $2305cbd960c24ac6$var$__runInitializers(this, _id_initializers, '')));
|
|
233
|
+
_DownloadTask_name_accessor_storage.set(this, ($2305cbd960c24ac6$var$__runInitializers(this, _id_extraInitializers), $2305cbd960c24ac6$var$__runInitializers(this, _name_initializers, '')));
|
|
234
|
+
_DownloadTask_path_accessor_storage.set(this, ($2305cbd960c24ac6$var$__runInitializers(this, _name_extraInitializers), $2305cbd960c24ac6$var$__runInitializers(this, _path_initializers, '')));
|
|
235
235
|
_DownloadTask_fsHandle_accessor_storage.set(this, ($2305cbd960c24ac6$var$__runInitializers(this, _path_extraInitializers), $2305cbd960c24ac6$var$__runInitializers(this, _fsHandle_initializers, void 0)));
|
|
236
236
|
_DownloadTask_total_accessor_storage.set(this, ($2305cbd960c24ac6$var$__runInitializers(this, _fsHandle_extraInitializers), $2305cbd960c24ac6$var$__runInitializers(this, _total_initializers, 0)));
|
|
237
237
|
_DownloadTask_loaded_accessor_storage.set(this, ($2305cbd960c24ac6$var$__runInitializers(this, _total_extraInitializers), $2305cbd960c24ac6$var$__runInitializers(this, _loaded_initializers, 0)));
|
|
@@ -595,7 +595,7 @@ class $eaae1d79f358eeb1$export$54a5aef4e85ae85 extends (0, $2305cbd960c24ac6$exp
|
|
|
595
595
|
configurable: true,
|
|
596
596
|
writable: true,
|
|
597
597
|
value: new (0, $42h8L$HTTPClient)({
|
|
598
|
-
responseType:
|
|
598
|
+
responseType: 'arraybuffer'
|
|
599
599
|
})
|
|
600
600
|
});
|
|
601
601
|
this.id = `http-download-task-${this.name}`;
|
|
@@ -624,7 +624,7 @@ class $eaae1d79f358eeb1$export$54a5aef4e85ae85 extends (0, $2305cbd960c24ac6$exp
|
|
|
624
624
|
_d = false;
|
|
625
625
|
const chunk = _c;
|
|
626
626
|
yield $eaae1d79f358eeb1$var$__await(writer.write({
|
|
627
|
-
type:
|
|
627
|
+
type: 'write',
|
|
628
628
|
position: this.loaded,
|
|
629
629
|
data: chunk.buffer
|
|
630
630
|
}));
|
|
@@ -740,7 +740,7 @@ let $53eb72fe5615c114$export$ef06e7620d37c296 = (()=>{
|
|
|
740
740
|
let _get_executingCount_decorators;
|
|
741
741
|
return _a = class Downloader {
|
|
742
742
|
static createTask(path, name) {
|
|
743
|
-
const [protocol] = path.split(
|
|
743
|
+
const [protocol] = path.split(':');
|
|
744
744
|
const ProtocolTask = _a.protocolMap[protocol];
|
|
745
745
|
if (!ProtocolTask) throw new URIError(`Protocol "${protocol} has not been registered"`);
|
|
746
746
|
return new ProtocolTask(path, name);
|
|
@@ -748,7 +748,7 @@ let $53eb72fe5615c114$export$ef06e7620d37c296 = (()=>{
|
|
|
748
748
|
constructor(){
|
|
749
749
|
_Downloader_tasks_accessor_storage.set(this, ($53eb72fe5615c114$var$__runInitializers(this, _instanceExtraInitializers), $53eb72fe5615c114$var$__runInitializers(this, _tasks_initializers, [])));
|
|
750
750
|
$53eb72fe5615c114$var$__runInitializers(this, _tasks_extraInitializers);
|
|
751
|
-
(0, $42h8L$restore)(this,
|
|
751
|
+
(0, $42h8L$restore)(this, 'downloader');
|
|
752
752
|
}
|
|
753
753
|
get tasks() {
|
|
754
754
|
return $53eb72fe5615c114$var$__classPrivateFieldGet(this, _Downloader_tasks_accessor_storage, "f");
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;A,I,0C,a,U,iB,I,S,O,E,Y,E,K;I,I,W,U,M,G;I,I,I,I,G,I,a,M,E,I,Q,W,Y,C,E,C,I,C,S,S,Y,C,E,C,I,C;I,O,W,Q,K;A;A,I,qC,a,U,Y,I,S,I,E,Y,E,U,E,S,E,Y,E,iB;I,S,O,C;Q,I,M,K,K,O,M,Y,M,I,U;Q,O;I;I,I,O,U,I,E,M,S,W,Q,S,W,Q;I,I,S,C,gB,O,S,C,S,G,O,K,S,G;I,I,a,gB,C,S,O,wB,C,Q,U,I,I,C,C;I,I,G,O;I,I,I,I,W,M,G,G,K,G,I;Q,I,U,C;Q,I,I,K,U,O,C,E,G,M,W,C,I,S,C,E;Q,I,I,K,U,M,C,Q,M,C,E,G,U,M,C,E;Q,Q,c,G,S,C;Y,I,M,M,I,U;Y,kB,I,C,O,K;Q;Q,I,S,A,C,G,U,C,E,A,E,S,a;Y,K,W,G;Y,K,W,G;Q,I,U,C,I,E;Q,I,S,Y;Y,I,W,K,G;Y,I,W,Q,O,W,U,M,I,U;Y,I,I,O,O,G,G,W,G,G;Y,I,I,O,O,G,G,W,G,G;Y,I,I,O,O,I,G,a,O,C;Q,O,I,I,O;Y,I,S,S,a,O,C;iB,U,C,I,G;;I;I,I,Q,O,c,C,Q,U,I,E;I,O;A;A,I,kC,a,U,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;A,I,+C,a,U,sB,I,S,Q,E,K,E,I,E,C;I,I,S,O,C,G,M,I,U;I,I,O,U,a,a,S,C,I,C,M,G,C,W,M,I,U;I,O,S,M,I,S,M,E,I,C,Y,I,E,K,G,M,G,C;A;A,I,+C,a,U,sB,I,S,Q,E,K,E,K,E,I,E,C;I,I,S,K,M,I,U;I,I,S,O,C,G,M,I,U;I,I,O,U,a,a,S,C,I,C,M,G,C,W,M,I,U;I,O,A,S,M,E,I,C,U,S,I,E,K,G,Q,M,G,C,U,Q;A;A,I,+B,a,U,M,I,S,C,E,C;I,I,I,C;I,I,I,K,E,I,O,S,C,c,C,I,C,G,M,E,O,C,K,G,C,C,E,G,C,C,E;I,I,K,Q,O,O,qB,K,Y;Q,I,I,I,G,I,O,qB,C,I,I,E,M,E,I,I,E,O,C,C,C,E,I,K,O,S,C,oB,C,I,C,G,C,C,E,G,C,C,C,C,E,C,G,C,C,C,C,E,C;I;I,O;A;A,I,sC,a,U,a,I,S,C;I,I,C,O,a,E,M,I,U;I,I,I,C,C,O,a,C,E;I,O,I,E,I,C,K,C,I,O,a,a,S,K,C,C,O,Q,C,I,I,C,G,K,S,K,U,K,W,C,C,O,a,C,G;Q,O,I;I,G,C;I,S,K,C;Q,C,C,E,G,C,C,E,I,S,C;Y,O,I,Q,S,O,E,M;gB,I,C,C,E,C,I,O,S,Q,E,I,E,E,K;Y;Q;I;I,S,O,O,E,M,E,C,E,C;Q,Q,O,C,G,I,C,S,C;Y,Q;gB,O;gB,M;Y;Q,G;I;A;;AEOsB,IAAA,4CAAA,AAAA,CAAA;I,I,I,mC,qC,qC,yC,sC,uC,wC,0C;I,I;I,I,6B,E;I,I;I,I,mB,E;I,I,wB,E;I,I;I,I,qB,E;I,I,0B,E;I,I;I,I,qB,E;I,I,0B,E;I,I;I,I,yB,E;I,I,8B,E;I,I;I,I,sB,E;I,I,2B,E;I,I;I,I,uB,E;I,I,4B,E;I,I;I,I,wB,E;I,I,6B,E;I,I;I,I,0B,E;I,I,+B,E;I,I;I,I,wB,E;I,I,6B,E;I,I;I,I;IAAA,OAAA,KAAA,MAAA;QAKlB,IAAS,KAAE;YAAA,OAAA,6CAAA,IAAA,EAAA,mCAAA;QAAA;QAAX,IAAS,GAAE,KAAA,EAAA;YAAA,6CAAA,IAAA,EAAA,mCAAA,OAAA;QAAA;QAIX,IAAS,OAAI;YAAA,OAAA,6CAAA,IAAA,EAAA,qCAAA;QAAA;QAAb,IAAS,KAAI,KAAA,EAAA;YAAA,6CAAA,IAAA,EAAA,qCAAA,OAAA;QAAA;QAIb,IAAS,OAAI;YAAA,OAAA,6CAAA,IAAA,EAAA,qCAAA;QAAA;QAAb,IAAS,KAAI,KAAA,EAAA;YAAA,6CAAA,IAAA,EAAA,qCAAA,OAAA;QAAA;QAIb,IAAS,WAAQ;YAAA,OAAA,6CAAA,IAAA,EAAA,yCAAA;QAAA;QAAjB,IAAS,SAAQ,KAAA,EAAA;YAAA,6CAAA,IAAA,EAAA,yCAAA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A,IAAI,UAAU;YAAA;YAAA,UAAA;QAAA,GAAA,MAAA;Q,I,W,O,c,C,I,O,Q,E;Y,Y;Y,c;Y,U;Y,O;Q;I,C,K;A,C;;;A,I,gC,a,U,O,I,S,C;I,O,I,Y,gC,C,I,C,C,G,G,I,A,I,I,8B;A;A,I,sC,a,U,a,I,S,C;I,I,C,O,a,E,M,I,U;I,I,I,C,C,O,a,C,E;I,O,I,E,I,C,K,C,I,O,a,a,S,K,C,C,O,Q,C,I,I,C,G,K,S,K,U,K,W,C,C,O,a,C,G;Q,O,I;I,G,C;I,S,K,C;Q,C,C,E,G,C,C,E,I,S,C;Y,O,I,Q,S,O,E,M;gB,I,C,C,E,C,I,O,S,Q,E,I,E,E,K;Y;Q;I;I,S,O,O,E,M,E,C,E,C;Q,Q,O,C,G,I,C,S,C;Y,Q;gB,O;gB,M;Y;Q,G;I;A;A,I,yC,a,U,gB,I,S,O,E,U,E,S;I,I,C,O,a,E,M,I,U;I,I,I,U,K,C,S,c,E,G,G,I,E;I,O,I,O,M,C,A,C,O,kB,a,gB,M,E,S,G,K,S,K,U,K,U,c,C,C,O,a,C,G;Q,O,I;I,G;I,S,Y,C;Q,O,S,C;Y,O,Q,O,C,G,I,C,G;Q;I;I,S,K,C,E,C;Q,I,C,C,E,E;Y,C,C,E,G,S,C;gB,O,I,Q,S,C,E,C;oB,E,I,C;wB;wB;wB;wB;qB,I,K,O,G;gB;Y;Y,I,G,C,C,E,G,E,C,C,E;Q;I;I,S,O,C,E,C;Q,I;Y,K,C,C,E,C;Q,E,O,G;Y,O,C,C,E,C,E,E;Q;I;I,S,K,C;Q,E,K,Y,gC,Q,O,C,E,K,C,C,E,I,C,S,U,O,C,C,E,C,E,E;I;I,S,Q,K;Q,O,Q;I;I,S,O,K;Q,O,S;I;I,S,O,C,E,C;Q,I,E,I,E,K,I,E,M,E,O,C,C,E,C,E,E,C,C,E,C,E;I;A;;AD/CZ,MAAO,iDAAyB,CAAA,GAAA,yCAAA;IAKlC,YAAY,IAAY,EAAE,IAAa,CAAvC;QACI,KAAK,CAAC,MAAM;QALhB,OAAA,cAAA,CAAA,IAAA,EAAA,UAAA;Y,Y;Y,c;Y,U;YAAiC,OAAA,IAAI,CAAA,GAAA,iBAAA,EAAW;gBAC5C,cAAc;YACjB;QAAE;QAKC,IAAI,CAAC,EAAE,GAAG,CAAA,mBAAA,EAAsB,IAAI,CAAC,IAAI,CAAA,CAAE;QAE3C,CAAA,GAAA,cAAA,EAAQ,IAAI,EAAE,IAAI,CAAC,EAAE;IACzB;IAEO,WAAW,OAAyB,EAApC;Q,O,uC,I,E,W,U;Y,I,I,K,I;YACH,MAAM,QAAE,IAAI,EAAE,GAAG,IAAI;YACrB,MAAM,gBAAgB,CAAA,GAAA,yCAAA,EAAa,MAAM,CAAC;YAE1C,IAAI,CAAC,QAAQ,IAAb,CAAA,IAAI,CAAC,QAAQ,GAAK,MAAA,8BAAM,AACpB,CAAA,MAAA,8BAAM,+BAAoC,EAC5C,kBAAkB,CAAC;+BAAE;YAAa,GAAG;YAEvC,MAAM,SAAS,MAAA,8BACP,IAAI,CAAC,QACR,CAAC,cAAc,CAAC;gBACb,kBAAkB;YACrB,KACD,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAI,OAAA,MAAA,CAAA;gBAC9B,OAAO;oBAAC,IAAI,CAAC,MAAM;iBAAC;YAAA,GACjB;YAGX,IAAI;gBACA,IAAI,CAAC,SAAS,GAAG;gB,I;oBAEjB,IAA0B,IAAA,KAAA,MAAA,WAAA,oCAAA,SAAM,YAAA,aAAA,MAAA,8BAAA,SAAA,IAAA,KAAA,KAAA,WAAA,IAAA,EAAA,CAAA,IAAA,KAAA,KAAE;wBAAR,KAAA,WAAA,KAAA;wBAAA,KAAA;wBAAf,MAAM,QAAK;wBAClB,MAAA,8BAAM,OAAO,KAAK,CAAC;4BACf,MAAM;4BACN,UAAU,IAAI,CAAC,MAAM;4BACrB,MAAM,MAAM,MAAM;wBACrB;wBAED,MAAA,MAAA,8BAAM,IAAI,CAAC,QAAQ,CAAC;wBAEpB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;oBACzB;gB,E,O,O;oB,M;wB,O;oB;gB,S;oB,I;wB,I,C,M,C,M,C,K,S,M,A,G,M,8B,G,I,C;oB,S;wB,I,K,M,I,K;oB;gB;YACJ,SAAU;gBACN,MAAA,8BAAM,OAAO,KAAK;gBAElB,IAAI,CAAC,SAAS,GAAG;YACrB;QACJ;IAAC;AACJ;;;;A,I,0C,a,U,iB,I,S,O,E,Y,E,K;I,I,W,U,M,G;I,I,I,I,G,I,a,M,E,I,Q,W,Y,C,E,C,I,C,S,S,Y,C,E,C,I,C;I,O,W,Q,K;A;A,I,qC,a,U,Y,I,S,I,E,Y,E,U,E,S,E,Y,E,iB;I,S,O,C;Q,I,M,K,K,O,M,Y,M,I,U;Q,O;I;I,I,O,U,I,E,M,S,W,Q,S,W,Q;I,I,S,C,gB,O,S,C,S,G,O,K,S,G;I,I,a,gB,C,S,O,wB,C,Q,U,I,I,C,C;I,I,G,O;I,I,I,I,W,M,G,G,K,G,I;Q,I,U,C;Q,I,I,K,U,O,C,E,G,M,W,C,I,S,C,E;Q,I,I,K,U,M,C,Q,M,C,E,G,U,M,C,E;Q,Q,c,G,S,C;Y,I,M,M,I,U;Y,kB,I,C,O,K;Q;Q,I,S,A,C,G,U,C,E,A,E,S,a;Y,K,W,G;Y,K,W,G;Q,I,U,C,I,E;Q,I,S,Y;Y,I,W,K,G;Y,I,W,Q,O,W,U,M,I,U;Y,I,I,O,O,G,G,W,G,G;Y,I,I,O,O,G,G,W,G,G;Y,I,I,O,O,I,G,a,O,C;Q,O,I,I,O;Y,I,S,S,a,O,C;iB,U,C,I,G;;I;I,I,Q,O,c,C,Q,U,I,E;I,O;A;A,I,kC,a,U,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;A,I,+C,a,U,sB,I,S,Q,E,K,E,I,E,C;I,I,S,O,C,G,M,I,U;I,I,O,U,a,a,S,C,I,C,M,G,C,W,M,I,U;I,O,S,M,I,S,M,E,I,C,Y,I,E,K,G,M,G,C;A;A,I,+C,a,U,sB,I,S,Q,E,K,E,K,E,I,E,C;I,I,S,K,M,I,U;I,I,S,O,C,G,M,I,U;I,I,O,U,a,a,S,C,I,C,M,G,C,W,M,I,U;I,O,A,S,M,E,I,C,U,S,I,E,K,G,Q,M,G,C,U,Q;A;AD/CY,IAAA,4CAAA,AAAA,CAAA;I,I,I;I,I,6B,E;I,I;I,I,sB,E;I,I,2B,E;I,I;I,I;IAAA,OAAA,KAAA,MAAA;QAMT,OAAO,WAAW,IAAY,EAAE,IAAa,EAA7C;YACI,MAAM,CAAC,SAAS,GAAG,KAAK,KAAK,CAAC;YAC9B,MAAM,eAAe,GAAW,WAAW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","sources":["source/index.ts","source/HTTP.ts","source/Task.ts"],"sourcesContent":["import { computed, observable } from 'mobx';\nimport { persist, restore } from 'mobx-restful';\nimport { Constructor } from 'web-utility';\n\nimport { HTTPDownloadTask } from './HTTP';\nimport { DownloadTask } from './Task';\n\nexport * from './HTTP';\nexport * from './Task';\n\nexport class Downloader {\n static protocolMap: Record<string, Constructor<DownloadTask>> = {\n http: HTTPDownloadTask,\n https: HTTPDownloadTask\n };\n\n static createTask(path: string, name?: string) {\n const [protocol] = path.split(':');\n const ProtocolTask = Downloader.protocolMap[protocol];\n\n if (!ProtocolTask)\n throw new URIError(\n `Protocol \"${protocol} has not been registered\"`\n );\n return new ProtocolTask(path, name);\n }\n\n constructor() {\n restore(this, 'downloader');\n }\n\n @persist({\n set: tasks => tasks.map(({ name, path }) => ({ name, path })),\n get: list =>\n list?.map(({ name, path }) => Downloader.createTask(path, name))\n })\n @observable\n accessor tasks: DownloadTask[] = [];\n\n @computed\n get unfinishedCount() {\n return this.tasks.filter(({ percent }) => percent < 100).length;\n }\n\n @computed\n get executingCount() {\n return this.tasks.filter(({ executing }) => executing).length;\n }\n\n createTask(path: string, name?: string) {\n const { tasks } = this;\n const sameTask = tasks.find(task => task.path === path);\n\n if (sameTask) return sameTask;\n\n const task = Downloader.createTask(path, name);\n\n this.tasks = [...tasks, task];\n\n return task;\n }\n\n async destroyTask(name: string) {\n const { tasks } = this;\n const index = tasks.findIndex(({ name: N }) => N === name);\n\n if (index < 0) throw new ReferenceError(`${name} isn't found`);\n\n await tasks[index].destroy();\n\n this.tasks = [...tasks.slice(0, index), ...tasks.slice(index + 1)];\n }\n}\n","import { HTTPClient, type DownloadOptions } from 'koajax';\nimport { restore } from 'mobx-restful';\nimport type { FileSystemFileHandle } from 'native-file-system-adapter';\n\nimport { DownloadTask } from './Task';\n\nexport class HTTPDownloadTask extends DownloadTask {\n client: DownloadTask['client'] = new HTTPClient({\n responseType: 'arraybuffer'\n });\n\n constructor(path: string, name?: string) {\n super(path, name);\n\n this.id = `http-download-task-${this.name}`;\n\n restore(this, this.id);\n }\n\n async *loadStream(options?: DownloadOptions) {\n const { path } = this;\n const suggestedName = DownloadTask.nameOf(path);\n\n this.fsHandle ||= await (\n await import('native-file-system-adapter')\n ).showSaveFilePicker({ suggestedName });\n\n const writer = await (\n this.fsHandle as FileSystemFileHandle\n ).createWritable({\n keepExistingData: true\n }),\n stream = this.client.download(path, {\n range: [this.loaded],\n ...options\n });\n\n try {\n this.executing = true;\n\n for await (const chunk of stream) {\n await writer.write({\n type: 'write',\n position: this.loaded,\n data: chunk.buffer\n });\n\n yield this.saveMeta(chunk);\n\n if (!this.executing) break;\n }\n } finally {\n await writer.close();\n\n this.executing = false;\n }\n }\n}\n","import { Context, DownloadOptions, HTTPClient, TransferProgress } from 'koajax';\nimport { computed, observable } from 'mobx';\nimport { destroy, persist } from 'mobx-restful';\nimport type { FileSystemHandle } from 'native-file-system-adapter';\nimport type { ReadableStream } from 'web-streams-polyfill';\nimport { ByteSize } from 'web-utility';\n\nexport abstract class DownloadTask implements Partial<TransferProgress> {\n abstract client: Pick<HTTPClient<Context>, 'download'>;\n\n @persist()\n @observable\n accessor id = '';\n\n @persist()\n @observable\n accessor name = '';\n\n @persist()\n @observable\n accessor path = '';\n\n @persist()\n @observable.ref\n accessor fsHandle: FileSystemHandle | undefined;\n\n @persist()\n @observable\n accessor total = 0;\n\n @persist()\n @observable\n accessor loaded = 0;\n\n @persist()\n @observable\n accessor percent = 0;\n\n @observable\n accessor executing = false;\n\n @persist()\n @observable\n accessor options: DownloadOptions | undefined;\n\n stream?: ReadableStream<Partial<TransferProgress>>;\n\n @computed\n get totalSize() {\n return new ByteSize(this.total);\n }\n\n @computed\n get loadedSize() {\n return new ByteSize(this.loaded);\n }\n\n static nameOf(URI: string) {\n return decodeURI(\n new URL(URI).pathname.split('/').filter(Boolean).at(-1)\n );\n }\n\n constructor(path: string, name = DownloadTask.nameOf(path)) {\n this.path = path;\n this.name = name;\n }\n\n toJSON() {\n const { id, name, path, fsHandle, total, loaded, percent, options } =\n this;\n\n return {\n ...{ id, name, path, fsHandle, options },\n ...{ total, loaded, percent }\n };\n }\n\n saveMeta(data: Partial<TransferProgress> = {}) {\n const { buffer, ...progress } = data;\n\n Object.assign(this, progress);\n\n return data;\n }\n\n abstract loadStream(\n options?: DownloadOptions\n ): AsyncGenerator<Partial<TransferProgress>>;\n\n async start(options = this.options) {\n this.options = options;\n\n const started = Promise.withResolvers<void>();\n\n const [innerStream, outerStream] = (\n await import('web-streams-polyfill')\n ).ReadableStream.from<Partial<TransferProgress>>(\n this.loadStream(options)\n ).tee();\n\n (async () => {\n try {\n for await (const chunk of innerStream) {\n started.resolve();\n console.table(chunk);\n }\n } catch (error) {\n started.reject(error);\n }\n })();\n\n await started.promise;\n\n return (this.stream = outerStream);\n }\n\n async pause() {\n this.executing = false;\n }\n\n async destroy() {\n await this.pause();\n\n return destroy(this, this.id);\n }\n}\n"],"names":[],"version":3,"file":"index.esm.js.map"}
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;A,I,0C,a,U,iB,I,S,O,E,Y,E,K;I,I,W,U,M,G;I,I,I,I,G,I,a,M,E,I,Q,W,Y,C,E,C,I,C,S,S,Y,C,E,C,I,C;I,O,W,Q,K;A;A,I,qC,a,U,Y,I,S,I,E,Y,E,U,E,S,E,Y,E,iB;I,S,O,C;Q,I,M,K,K,O,M,Y,M,I,U;Q,O;I;I,I,O,U,I,E,M,S,W,Q,S,W,Q;I,I,S,C,gB,O,S,C,S,G,O,K,S,G;I,I,a,gB,C,S,O,wB,C,Q,U,I,I,C,C;I,I,G,O;I,I,I,I,W,M,G,G,K,G,I;Q,I,U,C;Q,I,I,K,U,O,C,E,G,M,W,C,I,S,C,E;Q,I,I,K,U,M,C,Q,M,C,E,G,U,M,C,E;Q,Q,c,G,S,C;Y,I,M,M,I,U;Y,kB,I,C,O,K;Q;Q,I,S,A,C,G,U,C,E,A,E,S,a;Y,K,W,G;Y,K,W,G;Q,I,U,C,I,E;Q,I,S,Y;Y,I,W,K,G;Y,I,W,Q,O,W,U,M,I,U;Y,I,I,O,O,G,G,W,G,G;Y,I,I,O,O,G,G,W,G,G;Y,I,I,O,O,I,G,a,O,C;Q,O,I,I,O;Y,I,S,S,a,O,C;iB,U,C,I,G;;I;I,I,Q,O,c,C,Q,U,I,E;I,O;A;A,I,kC,a,U,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;A,I,+C,a,U,sB,I,S,Q,E,K,E,I,E,C;I,I,S,O,C,G,M,I,U;I,I,O,U,a,a,S,C,I,C,M,G,C,W,M,I,U;I,O,S,M,I,S,M,E,I,C,Y,I,E,K,G,M,G,C;A;A,I,+C,a,U,sB,I,S,Q,E,K,E,K,E,I,E,C;I,I,S,K,M,I,U;I,I,S,O,C,G,M,I,U;I,I,O,U,a,a,S,C,I,C,M,G,C,W,M,I,U;I,O,A,S,M,E,I,C,U,S,I,E,K,G,Q,M,G,C,U,Q;A;A,I,+B,a,U,M,I,S,C,E,C;I,I,I,C;I,I,I,K,E,I,O,S,C,c,C,I,C,G,M,E,O,C,K,G,C,C,E,G,C,C,E;I,I,K,Q,O,O,qB,K,Y;Q,I,I,I,G,I,O,qB,C,I,I,E,M,E,I,I,E,O,C,C,C,E,I,K,O,S,C,oB,C,I,C,G,C,C,E,G,C,C,C,C,E,C,G,C,C,C,C,E,C;I;I,O;A;A,I,sC,a,U,a,I,S,C;I,I,C,O,a,E,M,I,U;I,I,I,C,C,O,a,C,E;I,O,I,E,I,C,K,C,I,O,a,a,S,K,C,C,O,Q,C,I,I,C,G,K,S,K,U,K,W,C,C,O,a,C,G;Q,O,I;I,G,C;I,S,K,C;Q,C,C,E,G,C,C,E,I,S,C;Y,O,I,Q,S,O,E,M;gB,I,C,C,E,C,I,O,S,Q,E,I,E,E,K;Y;Q;I;I,S,O,O,E,M,E,C,E,C;Q,Q,O,C,G,I,C,S,C;Y,Q;gB,O;gB,M;Y;Q,G;I;A;;AEOsB,IAAA,4CAAA,AAAA,CAAA;I,I,I,mC,qC,qC,yC,sC,uC,wC,0C;I,I;I,I,6B,E;I,I;I,I,mB,E;I,I,wB,E;I,I;I,I,qB,E;I,I,0B,E;I,I;I,I,qB,E;I,I,0B,E;I,I;I,I,yB,E;I,I,8B,E;I,I;I,I,sB,E;I,I,2B,E;I,I;I,I,uB,E;I,I,4B,E;I,I;I,I,wB,E;I,I,6B,E;I,I;I,I,0B,E;I,I,+B,E;I,I;I,I,wB,E;I,I,6B,E;I,I;I,I;IAAA,OAAA,KAAA,MAAA;QAKlB,IAAS,KAAE;YAAA,OAAA,6CAAA,IAAA,EAAA,mCAAA;QAAA;QAAX,IAAS,GAAE,KAAA,EAAA;YAAA,6CAAA,IAAA,EAAA,mCAAA,OAAA;QAAA;QAIX,IAAS,OAAI;YAAA,OAAA,6CAAA,IAAA,EAAA,qCAAA;QAAA;QAAb,IAAS,KAAI,KAAA,EAAA;YAAA,6CAAA,IAAA,EAAA,qCAAA,OAAA;QAAA;QAIb,IAAS,OAAI;YAAA,OAAA,6CAAA,IAAA,EAAA,qCAAA;QAAA;QAAb,IAAS,KAAI,KAAA,EAAA;YAAA,6CAAA,IAAA,EAAA,qCAAA,OAAA;QAAA;QAIb,IAAS,WAAQ;YAAA,OAAA,6CAAA,IAAA,EAAA,yCAAA;QAAA;QAAjB,IAAS,SAAQ,KAAA,EAAA;YAAA,6CAAA,IAAA,EAAA,yCAAA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A,IAAI,UAAU;YAAA;YAAA,UAAA;QAAA,GAAA,MAAA;Q,I,W,O,c,C,I,O,Q,E;Y,Y;Y,c;Y,U;Y,O;Q;I,C,K;A,C;;;A,I,gC,a,U,O,I,S,C;I,O,I,Y,gC,C,I,C,C,G,G,I,A,I,I,8B;A;A,I,sC,a,U,a,I,S,C;I,I,C,O,a,E,M,I,U;I,I,I,C,C,O,a,C,E;I,O,I,E,I,C,K,C,I,O,a,a,S,K,C,C,O,Q,C,I,I,C,G,K,S,K,U,K,W,C,C,O,a,C,G;Q,O,I;I,G,C;I,S,K,C;Q,C,C,E,G,C,C,E,I,S,C;Y,O,I,Q,S,O,E,M;gB,I,C,C,E,C,I,O,S,Q,E,I,E,E,K;Y;Q;I;I,S,O,O,E,M,E,C,E,C;Q,Q,O,C,G,I,C,S,C;Y,Q;gB,O;gB,M;Y;Q,G;I;A;A,I,yC,a,U,gB,I,S,O,E,U,E,S;I,I,C,O,a,E,M,I,U;I,I,I,U,K,C,S,c,E,G,G,I,E;I,O,I,O,M,C,A,C,O,kB,a,gB,M,E,S,G,K,S,K,U,K,U,c,C,C,O,a,C,G;Q,O,I;I,G;I,S,Y,C;Q,O,S,C;Y,O,Q,O,C,G,I,C,G;Q;I;I,S,K,C,E,C;Q,I,C,C,E,E;Y,C,C,E,G,S,C;gB,O,I,Q,S,C,E,C;oB,E,I,C;wB;wB;wB;wB;qB,I,K,O,G;gB;Y;Y,I,G,C,C,E,G,E,C,C,E;Q;I;I,S,O,C,E,C;Q,I;Y,K,C,C,E,C;Q,E,O,G;Y,O,C,C,E,C,E,E;Q;I;I,S,K,C;Q,E,K,Y,gC,Q,O,C,E,K,C,C,E,I,C,S,U,O,C,C,E,C,E,E;I;I,S,Q,K;Q,O,Q;I;I,S,O,K;Q,O,S;I;I,S,O,C,E,C;Q,I,E,I,E,K,I,E,M,E,O,C,C,E,C,E,E,C,C,E,C,E;I;A;;AD/CZ,MAAO,iDAAyB,CAAA,GAAA,yCAAA;IAKlC,YAAY,IAAY,EAAE,IAAa,CAAvC;QACI,KAAK,CAAC,MAAM;QALhB,OAAA,cAAA,CAAA,IAAA,EAAA,UAAA;Y,Y;Y,c;Y,U;YAAiC,OAAA,IAAI,CAAA,GAAA,iBAAA,EAAW;gBAC5C,cAAc;YACjB;QAAE;QAKC,IAAI,CAAC,EAAE,GAAG,CAAA,mBAAA,EAAsB,IAAI,CAAC,IAAI,EAAE;QAE3C,CAAA,GAAA,cAAA,EAAQ,IAAI,EAAE,IAAI,CAAC,EAAE;IACzB;IAEO,WAAW,OAAyB,EAApC;Q,O,uC,I,E,W,U;Y,I,I,K,I;YACH,MAAM,QAAE,IAAI,EAAE,GAAG,IAAI;YACrB,MAAM,gBAAgB,CAAA,GAAA,yCAAA,EAAa,MAAM,CAAC;YAE1C,IAAI,CAAC,QAAQ,IAAb,CAAA,IAAI,CAAC,QAAQ,GAAK,MAAA,8BAAM,AACpB,CAAA,MAAA,8BAAM,+BAAoC,EAC5C,kBAAkB,CAAC;+BAAE;YAAa,GAAG;YAEvC,MAAM,SAAS,MAAA,8BACP,IAAI,CAAC,QACR,CAAC,cAAc,CAAC;gBACb,kBAAkB;YACrB,KACD,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAI,OAAA,MAAA,CAAA;gBAC9B,OAAO;oBAAC,IAAI,CAAC,MAAM;iBAAC;YAAA,GACjB;YAGX,IAAI;gBACA,IAAI,CAAC,SAAS,GAAG;gB,I;oBAEjB,IAA0B,IAAA,KAAA,MAAA,WAAA,oCAAA,SAAM,YAAA,aAAA,MAAA,8BAAA,SAAA,IAAA,KAAA,KAAA,WAAA,IAAA,EAAA,CAAA,IAAA,KAAA,KAAE;wBAAR,KAAA,WAAA,KAAA;wBAAA,KAAA;wBAAf,MAAM,QAAK;wBAClB,MAAA,8BAAM,OAAO,KAAK,CAAC;4BACf,MAAM;4BACN,UAAU,IAAI,CAAC,MAAM;4BACrB,MAAM,MAAM,MAAM;wBACrB;wBAED,MAAA,MAAA,8BAAM,IAAI,CAAC,QAAQ,CAAC;wBAEpB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;oBACzB;gB,E,O,O;oB,M;wB,O;oB;gB,S;oB,I;wB,I,C,M,C,M,C,K,S,M,A,G,M,8B,G,I,C;oB,S;wB,I,K,M,I,K;oB;gB;YACJ,SAAU;gBACN,MAAA,8BAAM,OAAO,KAAK;gBAElB,IAAI,CAAC,SAAS,GAAG;YACrB;QACJ;IAAC;AACJ;;;;A,I,0C,a,U,iB,I,S,O,E,Y,E,K;I,I,W,U,M,G;I,I,I,I,G,I,a,M,E,I,Q,W,Y,C,E,C,I,C,S,S,Y,C,E,C,I,C;I,O,W,Q,K;A;A,I,qC,a,U,Y,I,S,I,E,Y,E,U,E,S,E,Y,E,iB;I,S,O,C;Q,I,M,K,K,O,M,Y,M,I,U;Q,O;I;I,I,O,U,I,E,M,S,W,Q,S,W,Q;I,I,S,C,gB,O,S,C,S,G,O,K,S,G;I,I,a,gB,C,S,O,wB,C,Q,U,I,I,C,C;I,I,G,O;I,I,I,I,W,M,G,G,K,G,I;Q,I,U,C;Q,I,I,K,U,O,C,E,G,M,W,C,I,S,C,E;Q,I,I,K,U,M,C,Q,M,C,E,G,U,M,C,E;Q,Q,c,G,S,C;Y,I,M,M,I,U;Y,kB,I,C,O,K;Q;Q,I,S,A,C,G,U,C,E,A,E,S,a;Y,K,W,G;Y,K,W,G;Q,I,U,C,I,E;Q,I,S,Y;Y,I,W,K,G;Y,I,W,Q,O,W,U,M,I,U;Y,I,I,O,O,G,G,W,G,G;Y,I,I,O,O,G,G,W,G,G;Y,I,I,O,O,I,G,a,O,C;Q,O,I,I,O;Y,I,S,S,a,O,C;iB,U,C,I,G;;I;I,I,Q,O,c,C,Q,U,I,E;I,O;A;A,I,kC,a,U,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;A,I,+C,a,U,sB,I,S,Q,E,K,E,I,E,C;I,I,S,O,C,G,M,I,U;I,I,O,U,a,a,S,C,I,C,M,G,C,W,M,I,U;I,O,S,M,I,S,M,E,I,C,Y,I,E,K,G,M,G,C;A;A,I,+C,a,U,sB,I,S,Q,E,K,E,K,E,I,E,C;I,I,S,K,M,I,U;I,I,S,O,C,G,M,I,U;I,I,O,U,a,a,S,C,I,C,M,G,C,W,M,I,U;I,O,A,S,M,E,I,C,U,S,I,E,K,G,Q,M,G,C,U,Q;A;AD/CY,IAAA,4CAAA,AAAA,CAAA;I,I,I;I,I,6B,E;I,I;I,I,sB,E;I,I,2B,E;I,I;I,I;IAAA,OAAA,KAAA,MAAA;QAMT,OAAO,WAAW,IAAY,EAAE,IAAa,EAA7C;YACI,MAAM,CAAC,SAAS,GAAG,KAAK,KAAK,CAAC;YAC9B,MAAM,eAAe,GAAW,WAAW,CAAC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","sources":["source/index.ts","source/HTTP.ts","source/Task.ts"],"sourcesContent":["import { computed, observable } from 'mobx';\nimport { persist, restore } from 'mobx-restful';\nimport { Constructor } from 'web-utility';\n\nimport { HTTPDownloadTask } from './HTTP';\nimport { DownloadTask } from './Task';\n\nexport * from './HTTP';\nexport * from './Task';\n\nexport class Downloader {\n static protocolMap: Record<string, Constructor<DownloadTask>> = {\n http: HTTPDownloadTask,\n https: HTTPDownloadTask\n };\n\n static createTask(path: string, name?: string) {\n const [protocol] = path.split(':');\n const ProtocolTask = Downloader.protocolMap[protocol];\n\n if (!ProtocolTask)\n throw new URIError(\n `Protocol \"${protocol} has not been registered\"`\n );\n return new ProtocolTask(path, name);\n }\n\n constructor() {\n restore(this, 'downloader');\n }\n\n @persist({\n set: tasks => tasks.map(({ name, path }) => ({ name, path })),\n get: list =>\n list?.map(({ name, path }) => Downloader.createTask(path, name))\n })\n @observable\n accessor tasks: DownloadTask[] = [];\n\n @computed\n get unfinishedCount() {\n return this.tasks.filter(({ percent }) => percent < 100).length;\n }\n\n @computed\n get executingCount() {\n return this.tasks.filter(({ executing }) => executing).length;\n }\n\n createTask(path: string, name?: string) {\n const { tasks } = this;\n const sameTask = tasks.find(task => task.path === path);\n\n if (sameTask) return sameTask;\n\n const task = Downloader.createTask(path, name);\n\n this.tasks = [...tasks, task];\n\n return task;\n }\n\n async destroyTask(name: string) {\n const { tasks } = this;\n const index = tasks.findIndex(({ name: N }) => N === name);\n\n if (index < 0) throw new ReferenceError(`${name} isn't found`);\n\n await tasks[index].destroy();\n\n this.tasks = [...tasks.slice(0, index), ...tasks.slice(index + 1)];\n }\n}\n","import { HTTPClient, type DownloadOptions } from 'koajax';\nimport { restore } from 'mobx-restful';\nimport type { FileSystemFileHandle } from 'native-file-system-adapter';\n\nimport { DownloadTask } from './Task';\n\nexport class HTTPDownloadTask extends DownloadTask {\n client: DownloadTask['client'] = new HTTPClient({\n responseType: 'arraybuffer'\n });\n\n constructor(path: string, name?: string) {\n super(path, name);\n\n this.id = `http-download-task-${this.name}`;\n\n restore(this, this.id);\n }\n\n async *loadStream(options?: DownloadOptions) {\n const { path } = this;\n const suggestedName = DownloadTask.nameOf(path);\n\n this.fsHandle ||= await (\n await import('native-file-system-adapter')\n ).showSaveFilePicker({ suggestedName });\n\n const writer = await (\n this.fsHandle as FileSystemFileHandle\n ).createWritable({\n keepExistingData: true\n }),\n stream = this.client.download(path, {\n range: [this.loaded],\n ...options\n });\n\n try {\n this.executing = true;\n\n for await (const chunk of stream) {\n await writer.write({\n type: 'write',\n position: this.loaded,\n data: chunk.buffer\n });\n\n yield this.saveMeta(chunk);\n\n if (!this.executing) break;\n }\n } finally {\n await writer.close();\n\n this.executing = false;\n }\n }\n}\n","import { Context, DownloadOptions, HTTPClient, TransferProgress } from 'koajax';\nimport { computed, observable } from 'mobx';\nimport { destroy, persist } from 'mobx-restful';\nimport type { FileSystemHandle } from 'native-file-system-adapter';\nimport type { ReadableStream } from 'web-streams-polyfill';\nimport { ByteSize } from 'web-utility';\n\nexport abstract class DownloadTask implements Partial<TransferProgress> {\n abstract client: Pick<HTTPClient<Context>, 'download'>;\n\n @persist()\n @observable\n accessor id = '';\n\n @persist()\n @observable\n accessor name = '';\n\n @persist()\n @observable\n accessor path = '';\n\n @persist()\n @observable.ref\n accessor fsHandle: FileSystemHandle | undefined;\n\n @persist()\n @observable\n accessor total = 0;\n\n @persist()\n @observable\n accessor loaded = 0;\n\n @persist()\n @observable\n accessor percent = 0;\n\n @observable\n accessor executing = false;\n\n @persist()\n @observable\n accessor options: DownloadOptions | undefined;\n\n stream?: ReadableStream<Partial<TransferProgress>>;\n\n @computed\n get totalSize() {\n return new ByteSize(this.total);\n }\n\n @computed\n get loadedSize() {\n return new ByteSize(this.loaded);\n }\n\n static nameOf(URI: string) {\n return decodeURI(\n new URL(URI).pathname.split('/').filter(Boolean).at(-1)\n );\n }\n\n constructor(path: string, name = DownloadTask.nameOf(path)) {\n this.path = path;\n this.name = name;\n }\n\n toJSON() {\n const { id, name, path, fsHandle, total, loaded, percent, options } =\n this;\n\n return {\n ...{ id, name, path, fsHandle, options },\n ...{ total, loaded, percent }\n };\n }\n\n saveMeta(data: Partial<TransferProgress> = {}) {\n const { buffer, ...progress } = data;\n\n Object.assign(this, progress);\n\n return data;\n }\n\n abstract loadStream(\n options?: DownloadOptions\n ): AsyncGenerator<Partial<TransferProgress>>;\n\n async start(options = this.options) {\n this.options = options;\n\n const started = Promise.withResolvers<void>();\n\n const [innerStream, outerStream] = (\n await import('web-streams-polyfill')\n ).ReadableStream.from<Partial<TransferProgress>>(\n this.loadStream(options)\n ).tee();\n\n (async () => {\n try {\n for await (const chunk of innerStream) {\n started.resolve();\n console.table(chunk);\n }\n } catch (error) {\n started.reject(error);\n }\n })();\n\n await started.promise;\n\n return (this.stream = outerStream);\n }\n\n async pause() {\n this.executing = false;\n }\n\n async destroy() {\n await this.pause();\n\n return destroy(this, this.id);\n }\n}\n"],"names":[],"version":3,"file":"index.esm.js.map"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e,t,n,r,i,a,s,o,c,u,l,f,h,d,p,v,y,m,b,w,g,k,j,_,x,O,S,P,T,E,I,z,C,M,q,H,W,D,R,B,F,U,A,N,J,L,G,K,Q,V,X,Y=require("@swc/helpers/cjs/_class_call_check.cjs"),Z=require("@swc/helpers/cjs/_create_class.cjs"),$=require("@swc/helpers/cjs/_sliced_to_array.cjs"),ee=require("@swc/helpers/cjs/_to_consumable_array.cjs"),et=require("@swc/helpers/cjs/_ts_generator.cjs"),en=require("mobx"),er=require("mobx-restful"),ei=require("@swc/helpers/cjs/_assert_this_initialized.cjs"),ea=require("@swc/helpers/cjs/_inherits.cjs"),es=require("@swc/helpers/cjs/_create_super.cjs"),eo=require("koajax"),ec=require("native-file-system-adapter"),eu=require("web-utility"),el=require("web-streams-polyfill");function ef(e,t){return Object.keys(t).forEach(function(n){"default"===n||"__esModule"===n||Object.prototype.hasOwnProperty.call(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[n]}})}),e}function eh(e,t,n,r){Object.defineProperty(e,t,{get:n,set:r,enumerable:!0,configurable:!0})}eh(module.exports,"Downloader",function(){return ez});var ed={};eh(ed,"HTTPDownloadTask",function(){return eS});var ep={};eh(ep,"DownloadTask",function(){return ej});var ev=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0},ey=function(e,t,n,r,i,a){function s(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var o,c=r.kind,u="getter"===c?"get":"setter"===c?"set":"value",l=!t&&e?r.static?e:e.prototype:null,f=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),h=!1,d=n.length-1;d>=0;d--){var p={};for(var v in r)p[v]="access"===v?{}:r[v];for(var v in r.access)p.access[v]=r.access[v];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");a.push(s(e||null))};var y=(0,n[d])("accessor"===c?{get:f.get,set:f.set}:f[u],p);if("accessor"===c){if(void 0===y)continue;if(null===y||"object"!=typeof y)throw TypeError("Object expected");(o=s(y.get))&&(f.get=o),(o=s(y.set))&&(f.set=o),(o=s(y.init))&&i.unshift(o)}else(o=s(y))&&("field"===c?i.unshift(o):f[u]=o)}l&&Object.defineProperty(l,r.name,f),h=!0},em=function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function s(e){try{c(r.next(e))}catch(e){a(e)}}function o(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?i(e.value):((t=e.value)instanceof n?t:new n(function(e){e(t)})).then(s,o)}c((r=r.apply(e,t||[])).next())})},eb=function(e,t,n,r){if("a"===n&&!r)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)},ew=function(e,t,n,r,i){if("m"===r)throw TypeError("Private method is not writable");if("a"===r&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,n):i?i.value=n:t.set(e,n),n},eg=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)0>t.indexOf(r[i])&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},ek=function(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise(function(r,i){!function(e,t,n,r){Promise.resolve(r).then(function(t){e({value:t,done:n})},t)}(r,i,(t=e[n](t)).done,t.value)})}}},ej=(j=[],_=[],x=[],O=[],S=[],P=[],T=[],E=[],I=[],z=[],C=[],M=[],q=[],H=[],W=[],D=[],R=[],B=[],F=[],e=/*#__PURE__*/function(){function l(f){var h=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.nameOf(f);(0,Y._)(this,l),t.set(this,(ev(this,j),ev(this,_,""))),n.set(this,(ev(this,x),ev(this,O,""))),r.set(this,(ev(this,S),ev(this,P,""))),i.set(this,(ev(this,T),ev(this,E,void 0))),a.set(this,(ev(this,I),ev(this,z,0))),s.set(this,(ev(this,C),ev(this,M,0))),o.set(this,(ev(this,q),ev(this,H,0))),c.set(this,(ev(this,W),ev(this,D,!1))),u.set(this,(ev(this,R),ev(this,B,void 0))),Object.defineProperty(this,"stream",{enumerable:!0,configurable:!0,writable:!0,value:ev(this,F)}),this.path=f,this.name=h}return(0,Z._)(l,[{key:"id",get:function(){return eb(this,t,"f")},set:function(e){ew(this,t,e,"f")}},{key:"name",get:function(){return eb(this,n,"f")},set:function(e){ew(this,n,e,"f")}},{key:"path",get:function(){return eb(this,r,"f")},set:function(e){ew(this,r,e,"f")}},{key:"fsHandle",get:function(){return eb(this,i,"f")},set:function(e){ew(this,i,e,"f")}},{key:"total",get:function(){return eb(this,a,"f")},set:function(e){ew(this,a,e,"f")}},{key:"loaded",get:function(){return eb(this,s,"f")},set:function(e){ew(this,s,e,"f")}},{key:"percent",get:function(){return eb(this,o,"f")},set:function(e){ew(this,o,e,"f")}},{key:"executing",get:function(){return eb(this,c,"f")},set:function(e){ew(this,c,e,"f")}},{key:"options",get:function(){return eb(this,u,"f")},set:function(e){ew(this,u,e,"f")}},{key:"totalSize",get:function(){return new eu.ByteSize(this.total)}},{key:"loadedSize",get:function(){return new eu.ByteSize(this.loaded)}},{key:"toJSON",value:function(){var e=this.id,t=this.name,n=this.path,r=this.fsHandle,i=this.total,a=this.loaded,s=this.percent;return Object.assign({id:e,name:t,path:n,fsHandle:r,options:this.options},{total:i,loaded:a,percent:s})}},{key:"saveMeta",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.buffer,Object.assign(this,eg(e,["buffer"])),e}},{key:"start",value:function(){return em(this,arguments,void 0,function(){var e,t,n,r,i,a,s=arguments;return(0,et._)(this,function(o){switch(o.label){case 0:return e=this,t=s.length>0&&void 0!==s[0]?s[0]:this.options,this.options=t,n=Promise.withResolvers(),[4,el];case 1:return i=(r=(0,$._).apply(void 0,[o.sent().ReadableStream.from(this.loadStream(t)).tee(),2]))[0],a=r[1],em(e,void 0,void 0,function(){var e,t,r,a,s,o,c,u,l;return(0,et._)(this,function(f){switch(f.label){case 0:f.trys.push([0,13,,14]),f.label=1;case 1:f.trys.push([1,6,7,12]),s=!0,o=ek(i),f.label=2;case 2:return[4,o.next()];case 3:if(e=(c=f.sent()).done)return[3,5];a=c.value,s=!1,u=a,n.resolve(),console.table(u),f.label=4;case 4:return s=!0,[3,2];case 5:return[3,12];case 6:return t={error:f.sent()},[3,12];case 7:if(f.trys.push([7,,10,11]),!(!s&&!e&&(r=o.return)))return[3,9];return[4,r.call(o)];case 8:f.sent(),f.label=9;case 9:return[3,11];case 10:if(t)throw t.error;return[7];case 11:return[7];case 12:return[3,14];case 13:return l=f.sent(),n.reject(l),[3,14];case 14:return[2]}})}),[4,n.promise];case 2:return o.sent(),[2,this.stream=a]}})})}},{key:"pause",value:function(){return em(this,void 0,void 0,function(){return(0,et._)(this,function(e){return this.executing=!1,[2]})})}},{key:"destroy",value:function(){return em(this,void 0,void 0,function(){return(0,et._)(this,function(e){switch(e.label){case 0:return[4,this.pause()];case 1:return e.sent(),[2,(0,er.destroy)(this,this.id)]}})})}}],[{key:"nameOf",value:function(e){return decodeURI(new URL(e).pathname.split("/").filter(Boolean).at(-1))}}]),l}(),t=new WeakMap,n=new WeakMap,r=new WeakMap,i=new WeakMap,a=new WeakMap,s=new WeakMap,o=new WeakMap,c=new WeakMap,u=new WeakMap,U="function"==typeof Symbol&&Symbol.metadata?Object.create(null):void 0,f=[(0,er.persist)(),en.observable],h=[(0,er.persist)(),en.observable],d=[(0,er.persist)(),en.observable],p=[(0,er.persist)(),(l=en.observable).ref.bind(l)],v=[(0,er.persist)(),en.observable],y=[(0,er.persist)(),en.observable],m=[(0,er.persist)(),en.observable],b=[en.observable],w=[(0,er.persist)(),en.observable],g=[en.computed],k=[en.computed],ey(e,null,f,{kind:"accessor",name:"id",static:!1,private:!1,access:{has:function(e){return"id"in e},get:function(e){return e.id},set:function(e,t){e.id=t}},metadata:U},_,x),ey(e,null,h,{kind:"accessor",name:"name",static:!1,private:!1,access:{has:function(e){return"name"in e},get:function(e){return e.name},set:function(e,t){e.name=t}},metadata:U},O,S),ey(e,null,d,{kind:"accessor",name:"path",static:!1,private:!1,access:{has:function(e){return"path"in e},get:function(e){return e.path},set:function(e,t){e.path=t}},metadata:U},P,T),ey(e,null,p,{kind:"accessor",name:"fsHandle",static:!1,private:!1,access:{has:function(e){return"fsHandle"in e},get:function(e){return e.fsHandle},set:function(e,t){e.fsHandle=t}},metadata:U},E,I),ey(e,null,v,{kind:"accessor",name:"total",static:!1,private:!1,access:{has:function(e){return"total"in e},get:function(e){return e.total},set:function(e,t){e.total=t}},metadata:U},z,C),ey(e,null,y,{kind:"accessor",name:"loaded",static:!1,private:!1,access:{has:function(e){return"loaded"in e},get:function(e){return e.loaded},set:function(e,t){e.loaded=t}},metadata:U},M,q),ey(e,null,m,{kind:"accessor",name:"percent",static:!1,private:!1,access:{has:function(e){return"percent"in e},get:function(e){return e.percent},set:function(e,t){e.percent=t}},metadata:U},H,W),ey(e,null,b,{kind:"accessor",name:"executing",static:!1,private:!1,access:{has:function(e){return"executing"in e},get:function(e){return e.executing},set:function(e,t){e.executing=t}},metadata:U},D,R),ey(e,null,w,{kind:"accessor",name:"options",static:!1,private:!1,access:{has:function(e){return"options"in e},get:function(e){return e.options},set:function(e,t){e.options=t}},metadata:U},B,F),ey(e,null,g,{kind:"getter",name:"totalSize",static:!1,private:!1,access:{has:function(e){return"totalSize"in e},get:function(e){return e.totalSize}},metadata:U},null,j),ey(e,null,k,{kind:"getter",name:"loadedSize",static:!1,private:!1,access:{has:function(e){return"loadedSize"in e},get:function(e){return e.loadedSize}},metadata:U},null,j),U&&Object.defineProperty(e,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:U}),e),e_=function(e){return this instanceof e_?(this.v=e,this):new e_(e)},ex=function(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise(function(r,i){!function(e,t,n,r){Promise.resolve(r).then(function(t){e({value:t,done:n})},t)}(r,i,(t=e[n](t)).done,t.value)})}}},eO=function(e,t,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r,i=n.apply(e,t||[]),a=[];return r=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),s("next"),s("throw"),s("return",function(e){return function(t){return Promise.resolve(t).then(e,u)}}),r[Symbol.asyncIterator]=function(){return this},r;function s(e,t){i[e]&&(r[e]=function(t){return new Promise(function(n,r){a.push([e,t,n,r])>1||o(e,t)})},t&&(r[e]=t(r[e])))}function o(e,t){try{var n;(n=i[e](t)).value instanceof e_?Promise.resolve(n.value.v).then(c,u):l(a[0][2],n)}catch(e){l(a[0][3],e)}}function c(e){o("next",e)}function u(e){o("throw",e)}function l(e,t){e(t),a.shift(),a.length&&o(a[0][0],a[0][1])}},eS=/*#__PURE__*/function(e){(0,ea._)(n,e);var t=(0,es._)(n);function n(e,r){var i;return(0,Y._)(this,n),i=t.call(this,e,r),Object.defineProperty((0,ei._)(i),"client",{enumerable:!0,configurable:!0,writable:!0,value:new eo.HTTPClient({responseType:"arraybuffer"})}),i.id="http-download-task-".concat(i.name),(0,er.restore)((0,ei._)(i),i.id),i}return(0,Z._)(n,[{key:"loadStream",value:function(e){return eO(this,arguments,function(){var t,n,r,i,a,s,o,c,u,l,f,h,d;return(0,et._)(this,function(p){switch(p.label){case 0:if(a=this.path,s=ej.nameOf(a),this.fsHandle)return[3,3];return o=this,[4,e_(ec)];case 1:return[4,e_.apply(void 0,[p.sent().showSaveFilePicker({suggestedName:s})])];case 2:o.fsHandle=p.sent(),p.label=3;case 3:return[4,e_(this.fsHandle.createWritable({keepExistingData:!0}))];case 4:c=p.sent(),u=this.client.download(a,Object.assign({range:[this.loaded]},e)),p.label=5;case 5:p.trys.push([5,,21,23]),this.executing=!0,p.label=6;case 6:p.trys.push([6,14,15,20]),l=!0,f=ex(u),p.label=7;case 7:return[4,e_(f.next())];case 8:if(t=(h=p.sent()).done)return[3,13];return i=h.value,l=!1,d=i,[4,e_(c.write({type:"write",position:this.loaded,data:d.buffer}))];case 9:return p.sent(),[4,e_(this.saveMeta(d))];case 10:return[4,p.sent()];case 11:if(p.sent(),!this.executing)return[3,13];p.label=12;case 12:return l=!0,[3,7];case 13:return[3,20];case 14:return n={error:p.sent()},[3,20];case 15:if(p.trys.push([15,,18,19]),!(!l&&!t&&(r=f.return)))return[3,17];return[4,e_(r.call(f))];case 16:p.sent(),p.label=17;case 17:return[3,19];case 18:if(n)throw n.error;return[7];case 19:return[7];case 20:return[3,23];case 21:return[4,e_(c.close())];case 22:return p.sent(),this.executing=!1,[7];case 23:return[2]}})})}}]),n}(ej),eP=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0},eT=function(e,t,n,r,i,a){function s(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var o,c=r.kind,u="getter"===c?"get":"setter"===c?"set":"value",l=!t&&e?r.static?e:e.prototype:null,f=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),h=!1,d=n.length-1;d>=0;d--){var p={};for(var v in r)p[v]="access"===v?{}:r[v];for(var v in r.access)p.access[v]=r.access[v];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");a.push(s(e||null))};var y=(0,n[d])("accessor"===c?{get:f.get,set:f.set}:f[u],p);if("accessor"===c){if(void 0===y)continue;if(null===y||"object"!=typeof y)throw TypeError("Object expected");(o=s(y.get))&&(f.get=o),(o=s(y.set))&&(f.set=o),(o=s(y.init))&&i.unshift(o)}else(o=s(y))&&("field"===c?i.unshift(o):f[u]=o)}l&&Object.defineProperty(l,r.name,f),h=!0},eE=function(e,t,n,r){if("a"===n&&!r)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)},eI=function(e,t,n,r,i){if("m"===r)throw TypeError("Private method is not writable");if("a"===r&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,n):i?i.value=n:t.set(e,n),n},ez=(K=[],Q=[],V=[],A=/*#__PURE__*/function(){function e(){(0,Y._)(this,e),N.set(this,(eP(this,K),eP(this,Q,[]))),eP(this,V),(0,er.restore)(this,"downloader")}return(0,Z._)(e,[{key:"tasks",get:function(){return eE(this,N,"f")},set:function(e){eI(this,N,e,"f")}},{key:"unfinishedCount",get:function(){return this.tasks.filter(function(e){return e.percent<100}).length}},{key:"executingCount",get:function(){return this.tasks.filter(function(e){return e.executing}).length}},{key:"createTask",value:function(e,t){var n=this.tasks,r=n.find(function(t){return t.path===e});if(r)return r;var i=A.createTask(e,t);return this.tasks=(0,ee._)(n).concat([i]),i}},{key:"destroyTask",value:function(e){var t,n,r,i;return t=this,n=void 0,r=void 0,i=function(){var t,n;return(0,et._)(this,function(r){switch(r.label){case 0:if((n=(t=this.tasks).findIndex(function(t){return t.name===e}))<0)throw ReferenceError("".concat(e," isn't found"));return[4,t[n].destroy()];case 1:return r.sent(),this.tasks=(0,ee._)(t.slice(0,n)).concat((0,ee._)(t.slice(n+1))),[2]}})},new(r||(r=Promise))(function(e,a){function s(e){try{c(i.next(e))}catch(e){a(e)}}function o(e){try{c(i.throw(e))}catch(e){a(e)}}function c(t){var n;t.done?e(t.value):((n=t.value)instanceof r?n:new r(function(e){e(n)})).then(s,o)}c((i=i.apply(t,n||[])).next())})}}],[{key:"createTask",value:function(e,t){var n=(0,$._)(e.split(":"),1)[0],r=A.protocolMap[n];if(!r)throw URIError('Protocol "'.concat(n,' has not been registered"'));return new r(e,t)}}]),e}(),N=new WeakMap,X="function"==typeof Symbol&&Symbol.metadata?Object.create(null):void 0,J=[(0,er.persist)({set:function(e){return e.map(function(e){return{name:e.name,path:e.path}})},get:function(e){return null==e?void 0:e.map(function(e){var t=e.name,n=e.path;return ez.createTask(n,t)})}}),en.observable],L=[en.computed],G=[en.computed],eT(A,null,J,{kind:"accessor",name:"tasks",static:!1,private:!1,access:{has:function(e){return"tasks"in e},get:function(e){return e.tasks},set:function(e,t){e.tasks=t}},metadata:X},Q,V),eT(A,null,L,{kind:"getter",name:"unfinishedCount",static:!1,private:!1,access:{has:function(e){return"unfinishedCount"in e},get:function(e){return e.unfinishedCount}},metadata:X},null,K),eT(A,null,G,{kind:"getter",name:"executingCount",static:!1,private:!1,access:{has:function(e){return"executingCount"in e},get:function(e){return e.executingCount}},metadata:X},null,K),X&&Object.defineProperty(A,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:X}),Object.defineProperty(A,"protocolMap",{enumerable:!0,configurable:!0,writable:!0,value:{http:eS,https:eS}}),A);ef(module.exports,ed),ef(module.exports,ep);
|
|
1
|
+
var e,t,n,r,i,a,s,o,c,u,l,f,h,d,p,v,y,m,b,w,g,k,j,_,x,O,S,P,T,E,I,C,M,q,z,H,W,D,R,B,F,U,A,N,J,L,G,K,Q,V,X,Y=require("@swc/helpers/cjs/_class_call_check.cjs"),Z=require("@swc/helpers/cjs/_create_class.cjs"),$=require("@swc/helpers/cjs/_sliced_to_array.cjs"),ee=require("@swc/helpers/cjs/_to_consumable_array.cjs"),et=require("@swc/helpers/cjs/_type_of.cjs"),en=require("@swc/helpers/cjs/_ts_generator.cjs"),er=require("mobx"),ei=require("mobx-restful"),ea=require("@swc/helpers/cjs/_call_super.cjs"),es=require("@swc/helpers/cjs/_inherits.cjs"),eo=require("koajax"),ec=require("native-file-system-adapter"),eu=require("web-utility"),el=require("web-streams-polyfill");function ef(e,t){return Object.keys(t).forEach(function(n){!("default"===n||"__esModule"===n||Object.prototype.hasOwnProperty.call(e,n))&&Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[n]}})}),e}function eh(e,t,n,r){Object.defineProperty(e,t,{get:n,set:r,enumerable:!0,configurable:!0})}eh(module.exports,"Downloader",function(){return eC});var ed={};eh(ed,"HTTPDownloadTask",function(){return eS});var ep={};eh(ep,"DownloadTask",function(){return ej});var ev=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0},ey=function(e,t,n,r,i,a){function s(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var o,c=r.kind,u="getter"===c?"get":"setter"===c?"set":"value",l=!t&&e?r.static?e:e.prototype:null,f=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),h=!1,d=n.length-1;d>=0;d--){var p={};for(var v in r)p[v]="access"===v?{}:r[v];for(var v in r.access)p.access[v]=r.access[v];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");a.push(s(e||null))};var y=(0,n[d])("accessor"===c?{get:f.get,set:f.set}:f[u],p);if("accessor"===c){if(void 0===y)continue;if(null===y||(void 0===y?"undefined":(0,et._)(y))!=="object")throw TypeError("Object expected");(o=s(y.get))&&(f.get=o),(o=s(y.set))&&(f.set=o),(o=s(y.init))&&i.unshift(o)}else(o=s(y))&&("field"===c?i.unshift(o):f[u]=o)}l&&Object.defineProperty(l,r.name,f),h=!0},em=function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function s(e){try{c(r.next(e))}catch(e){a(e)}}function o(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?i(e.value):((t=e.value)instanceof n?t:new n(function(e){e(t)})).then(s,o)}c((r=r.apply(e,t||[])).next())})},eb=function(e,t,n,r){if("a"===n&&!r)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)},ew=function(e,t,n,r,i){if("m"===r)throw TypeError("Private method is not writable");if("a"===r&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,n):i?i.value=n:t.set(e,n),n},eg=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)0>t.indexOf(r[i])&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},ek=function(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise(function(r,i){!function(e,t,n,r){Promise.resolve(r).then(function(t){e({value:t,done:n})},t)}(r,i,(t=e[n](t)).done,t.value)})}}},ej=(j=[],_=[],x=[],O=[],S=[],P=[],T=[],E=[],I=[],C=[],M=[],q=[],z=[],H=[],W=[],D=[],R=[],B=[],F=[],e=function(){function l(f){var h=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.nameOf(f);(0,Y._)(this,l),t.set(this,(ev(this,j),ev(this,_,""))),n.set(this,(ev(this,x),ev(this,O,""))),r.set(this,(ev(this,S),ev(this,P,""))),i.set(this,(ev(this,T),ev(this,E,void 0))),a.set(this,(ev(this,I),ev(this,C,0))),s.set(this,(ev(this,M),ev(this,q,0))),o.set(this,(ev(this,z),ev(this,H,0))),c.set(this,(ev(this,W),ev(this,D,!1))),u.set(this,(ev(this,R),ev(this,B,void 0))),Object.defineProperty(this,"stream",{enumerable:!0,configurable:!0,writable:!0,value:ev(this,F)}),this.path=f,this.name=h}return(0,Z._)(l,[{key:"id",get:function(){return eb(this,t,"f")},set:function(e){ew(this,t,e,"f")}},{key:"name",get:function(){return eb(this,n,"f")},set:function(e){ew(this,n,e,"f")}},{key:"path",get:function(){return eb(this,r,"f")},set:function(e){ew(this,r,e,"f")}},{key:"fsHandle",get:function(){return eb(this,i,"f")},set:function(e){ew(this,i,e,"f")}},{key:"total",get:function(){return eb(this,a,"f")},set:function(e){ew(this,a,e,"f")}},{key:"loaded",get:function(){return eb(this,s,"f")},set:function(e){ew(this,s,e,"f")}},{key:"percent",get:function(){return eb(this,o,"f")},set:function(e){ew(this,o,e,"f")}},{key:"executing",get:function(){return eb(this,c,"f")},set:function(e){ew(this,c,e,"f")}},{key:"options",get:function(){return eb(this,u,"f")},set:function(e){ew(this,u,e,"f")}},{key:"totalSize",get:function(){return new eu.ByteSize(this.total)}},{key:"loadedSize",get:function(){return new eu.ByteSize(this.loaded)}},{key:"toJSON",value:function(){var e=this.id,t=this.name,n=this.path,r=this.fsHandle,i=this.total,a=this.loaded,s=this.percent;return Object.assign({id:e,name:t,path:n,fsHandle:r,options:this.options},{total:i,loaded:a,percent:s})}},{key:"saveMeta",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.buffer,Object.assign(this,eg(e,["buffer"])),e}},{key:"start",value:function(){return em(this,arguments,void 0,function(){var e,t,n,r,i,a,s=arguments;return(0,en._)(this,function(o){switch(o.label){case 0:return e=this,t=s.length>0&&void 0!==s[0]?s[0]:this.options,this.options=t,n=Promise.withResolvers(),[4,el];case 1:return i=(r=(0,$._).apply(void 0,[o.sent().ReadableStream.from(this.loadStream(t)).tee(),2]))[0],a=r[1],em(e,void 0,void 0,function(){var e,t,r,a,s,o,c,u,l;return(0,en._)(this,function(f){switch(f.label){case 0:f.trys.push([0,13,,14]),f.label=1;case 1:f.trys.push([1,6,7,12]),s=!0,o=ek(i),f.label=2;case 2:return[4,o.next()];case 3:if(e=(c=f.sent()).done)return[3,5];a=c.value,s=!1,u=a,n.resolve(),console.table(u),f.label=4;case 4:return s=!0,[3,2];case 5:return[3,12];case 6:return t={error:f.sent()},[3,12];case 7:if(f.trys.push([7,,10,11]),!(!s&&!e&&(r=o.return)))return[3,9];return[4,r.call(o)];case 8:f.sent(),f.label=9;case 9:return[3,11];case 10:if(t)throw t.error;return[7];case 11:return[7];case 12:return[3,14];case 13:return l=f.sent(),n.reject(l),[3,14];case 14:return[2]}})}),[4,n.promise];case 2:return o.sent(),[2,this.stream=a]}})})}},{key:"pause",value:function(){return em(this,void 0,void 0,function(){return(0,en._)(this,function(e){return this.executing=!1,[2]})})}},{key:"destroy",value:function(){return em(this,void 0,void 0,function(){return(0,en._)(this,function(e){switch(e.label){case 0:return[4,this.pause()];case 1:return e.sent(),[2,(0,ei.destroy)(this,this.id)]}})})}}],[{key:"nameOf",value:function(e){return decodeURI(new URL(e).pathname.split("/").filter(Boolean).at(-1))}}]),l}(),t=new WeakMap,n=new WeakMap,r=new WeakMap,i=new WeakMap,a=new WeakMap,s=new WeakMap,o=new WeakMap,c=new WeakMap,u=new WeakMap,U="function"==typeof Symbol&&Symbol.metadata?Object.create(null):void 0,f=[(0,ei.persist)(),er.observable],h=[(0,ei.persist)(),er.observable],d=[(0,ei.persist)(),er.observable],p=[(0,ei.persist)(),(l=er.observable).ref.bind(l)],v=[(0,ei.persist)(),er.observable],y=[(0,ei.persist)(),er.observable],m=[(0,ei.persist)(),er.observable],b=[er.observable],w=[(0,ei.persist)(),er.observable],g=[er.computed],k=[er.computed],ey(e,null,f,{kind:"accessor",name:"id",static:!1,private:!1,access:{has:function(e){return"id"in e},get:function(e){return e.id},set:function(e,t){e.id=t}},metadata:U},_,x),ey(e,null,h,{kind:"accessor",name:"name",static:!1,private:!1,access:{has:function(e){return"name"in e},get:function(e){return e.name},set:function(e,t){e.name=t}},metadata:U},O,S),ey(e,null,d,{kind:"accessor",name:"path",static:!1,private:!1,access:{has:function(e){return"path"in e},get:function(e){return e.path},set:function(e,t){e.path=t}},metadata:U},P,T),ey(e,null,p,{kind:"accessor",name:"fsHandle",static:!1,private:!1,access:{has:function(e){return"fsHandle"in e},get:function(e){return e.fsHandle},set:function(e,t){e.fsHandle=t}},metadata:U},E,I),ey(e,null,v,{kind:"accessor",name:"total",static:!1,private:!1,access:{has:function(e){return"total"in e},get:function(e){return e.total},set:function(e,t){e.total=t}},metadata:U},C,M),ey(e,null,y,{kind:"accessor",name:"loaded",static:!1,private:!1,access:{has:function(e){return"loaded"in e},get:function(e){return e.loaded},set:function(e,t){e.loaded=t}},metadata:U},q,z),ey(e,null,m,{kind:"accessor",name:"percent",static:!1,private:!1,access:{has:function(e){return"percent"in e},get:function(e){return e.percent},set:function(e,t){e.percent=t}},metadata:U},H,W),ey(e,null,b,{kind:"accessor",name:"executing",static:!1,private:!1,access:{has:function(e){return"executing"in e},get:function(e){return e.executing},set:function(e,t){e.executing=t}},metadata:U},D,R),ey(e,null,w,{kind:"accessor",name:"options",static:!1,private:!1,access:{has:function(e){return"options"in e},get:function(e){return e.options},set:function(e,t){e.options=t}},metadata:U},B,F),ey(e,null,g,{kind:"getter",name:"totalSize",static:!1,private:!1,access:{has:function(e){return"totalSize"in e},get:function(e){return e.totalSize}},metadata:U},null,j),ey(e,null,k,{kind:"getter",name:"loadedSize",static:!1,private:!1,access:{has:function(e){return"loadedSize"in e},get:function(e){return e.loadedSize}},metadata:U},null,j),U&&Object.defineProperty(e,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:U}),e),e_=function(e){return this instanceof e_?(this.v=e,this):new e_(e)},ex=function(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise(function(r,i){!function(e,t,n,r){Promise.resolve(r).then(function(t){e({value:t,done:n})},t)}(r,i,(t=e[n](t)).done,t.value)})}}},eO=function(e,t,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r,i=n.apply(e,t||[]),a=[];return r=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),s("next"),s("throw"),s("return",function(e){return function(t){return Promise.resolve(t).then(e,u)}}),r[Symbol.asyncIterator]=function(){return this},r;function s(e,t){i[e]&&(r[e]=function(t){return new Promise(function(n,r){a.push([e,t,n,r])>1||o(e,t)})},t&&(r[e]=t(r[e])))}function o(e,t){try{var n;(n=i[e](t)).value instanceof e_?Promise.resolve(n.value.v).then(c,u):l(a[0][2],n)}catch(e){l(a[0][3],e)}}function c(e){o("next",e)}function u(e){o("throw",e)}function l(e,t){e(t),a.shift(),a.length&&o(a[0][0],a[0][1])}},eS=function(e){function t(e,n){var r;return(0,Y._)(this,t),Object.defineProperty(r=(0,ea._)(this,t,[e,n]),"client",{enumerable:!0,configurable:!0,writable:!0,value:new eo.HTTPClient({responseType:"arraybuffer"})}),r.id="http-download-task-".concat(r.name),(0,ei.restore)(r,r.id),r}return(0,es._)(t,e),(0,Z._)(t,[{key:"loadStream",value:function(e){return eO(this,arguments,function(){var t,n,r,i,a,s,o,c,u,l,f,h,d,p;return(0,en._)(this,function(o){switch(o.label){case 0:if(a=this.path,s=ej.nameOf(a),this.fsHandle)return[3,3];return c=this,[4,e_(ec)];case 1:return[4,e_.apply(void 0,[o.sent().showSaveFilePicker({suggestedName:s})])];case 2:c.fsHandle=o.sent(),o.label=3;case 3:return[4,e_(this.fsHandle.createWritable({keepExistingData:!0}))];case 4:u=o.sent(),l=this.client.download(a,Object.assign({range:[this.loaded]},e)),o.label=5;case 5:o.trys.push([5,,21,23]),this.executing=!0,o.label=6;case 6:o.trys.push([6,14,15,20]),f=!0,h=ex(l),o.label=7;case 7:return[4,e_(h.next())];case 8:if(t=(d=o.sent()).done)return[3,13];return i=d.value,f=!1,p=i,[4,e_(u.write({type:"write",position:this.loaded,data:p.buffer}))];case 9:return o.sent(),[4,e_(this.saveMeta(p))];case 10:return[4,o.sent()];case 11:if(o.sent(),!this.executing)return[3,13];o.label=12;case 12:return f=!0,[3,7];case 13:return[3,20];case 14:return n={error:o.sent()},[3,20];case 15:if(o.trys.push([15,,18,19]),!(!f&&!t&&(r=h.return)))return[3,17];return[4,e_(r.call(h))];case 16:o.sent(),o.label=17;case 17:return[3,19];case 18:if(n)throw n.error;return[7];case 19:return[7];case 20:return[3,23];case 21:return[4,e_(u.close())];case 22:return o.sent(),this.executing=!1,[7];case 23:return[2]}})})}}]),t}(ej),eP=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0},eT=function(e,t,n,r,i,a){function s(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var o,c=r.kind,u="getter"===c?"get":"setter"===c?"set":"value",l=!t&&e?r.static?e:e.prototype:null,f=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),h=!1,d=n.length-1;d>=0;d--){var p={};for(var v in r)p[v]="access"===v?{}:r[v];for(var v in r.access)p.access[v]=r.access[v];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");a.push(s(e||null))};var y=(0,n[d])("accessor"===c?{get:f.get,set:f.set}:f[u],p);if("accessor"===c){if(void 0===y)continue;if(null===y||(void 0===y?"undefined":(0,et._)(y))!=="object")throw TypeError("Object expected");(o=s(y.get))&&(f.get=o),(o=s(y.set))&&(f.set=o),(o=s(y.init))&&i.unshift(o)}else(o=s(y))&&("field"===c?i.unshift(o):f[u]=o)}l&&Object.defineProperty(l,r.name,f),h=!0},eE=function(e,t,n,r){if("a"===n&&!r)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)},eI=function(e,t,n,r,i){if("m"===r)throw TypeError("Private method is not writable");if("a"===r&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,n):i?i.value=n:t.set(e,n),n},eC=(K=[],Q=[],V=[],A=function(){function e(){(0,Y._)(this,e),N.set(this,(eP(this,K),eP(this,Q,[]))),eP(this,V),(0,ei.restore)(this,"downloader")}return(0,Z._)(e,[{key:"tasks",get:function(){return eE(this,N,"f")},set:function(e){eI(this,N,e,"f")}},{key:"unfinishedCount",get:function(){return this.tasks.filter(function(e){return e.percent<100}).length}},{key:"executingCount",get:function(){return this.tasks.filter(function(e){return e.executing}).length}},{key:"createTask",value:function(e,t){var n=this.tasks,r=n.find(function(t){return t.path===e});if(r)return r;var i=A.createTask(e,t);return this.tasks=(0,ee._)(n).concat([i]),i}},{key:"destroyTask",value:function(e){var t,n,r,i;return t=this,n=void 0,r=void 0,i=function(){var t,n;return(0,en._)(this,function(r){switch(r.label){case 0:if((n=(t=this.tasks).findIndex(function(t){return t.name===e}))<0)throw ReferenceError("".concat(e," isn't found"));return[4,t[n].destroy()];case 1:return r.sent(),this.tasks=(0,ee._)(t.slice(0,n)).concat((0,ee._)(t.slice(n+1))),[2]}})},new(r||(r=Promise))(function(e,a){function s(e){try{c(i.next(e))}catch(e){a(e)}}function o(e){try{c(i.throw(e))}catch(e){a(e)}}function c(t){var n;t.done?e(t.value):((n=t.value)instanceof r?n:new r(function(e){e(n)})).then(s,o)}c((i=i.apply(t,n||[])).next())})}}],[{key:"createTask",value:function(e,t){var n=(0,$._)(e.split(":"),1)[0],r=A.protocolMap[n];if(!r)throw URIError('Protocol "'.concat(n,' has not been registered"'));return new r(e,t)}}]),e}(),N=new WeakMap,X="function"==typeof Symbol&&Symbol.metadata?Object.create(null):void 0,J=[(0,ei.persist)({set:function(e){return e.map(function(e){return{name:e.name,path:e.path}})},get:function(e){return null==e?void 0:e.map(function(e){var t=e.name,n=e.path;return eC.createTask(n,t)})}}),er.observable],L=[er.computed],G=[er.computed],eT(A,null,J,{kind:"accessor",name:"tasks",static:!1,private:!1,access:{has:function(e){return"tasks"in e},get:function(e){return e.tasks},set:function(e,t){e.tasks=t}},metadata:X},Q,V),eT(A,null,L,{kind:"getter",name:"unfinishedCount",static:!1,private:!1,access:{has:function(e){return"unfinishedCount"in e},get:function(e){return e.unfinishedCount}},metadata:X},null,K),eT(A,null,G,{kind:"getter",name:"executingCount",static:!1,private:!1,access:{has:function(e){return"executingCount"in e},get:function(e){return e.executingCount}},metadata:X},null,K),X&&Object.defineProperty(A,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:X}),Object.defineProperty(A,"protocolMap",{enumerable:!0,configurable:!0,writable:!0,value:{http:eS,https:eS}}),A);ef(module.exports,ed),ef(module.exports,ep);
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"A,I,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,Q,0C,E,Q,sC,E,Q,yC,G,Q,6C,G,Q,sC,G,Q,Q,G,Q,gB,G,Q,iD,G,Q,kC,G,Q,sC,G,Q,U,G,Q,8B,G,Q,e,G,Q,wB,S,G,C,C,C,E,O,O,I,C,G,O,C,S,C,E,Y,G,A,e,G,O,S,C,c,C,I,C,E,I,O,c,C,E,E,C,W,C,E,I,W,O,C,C,E,A,C,E,G,C,C,S,G,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,G,O,O,C,a,W,O,E,G,I,G,C,E,G,G,mB,W,O,E,G,I,G,C,E,G,G,e,W,O,E,G,I,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,C,C,E,O,G,C,G,C,E,O,C,E,S,C,C,C,E,S,E,C,E,G,C,E,E,I,C,G,C,M,E,C,E,E,C,C,S,E,C,E,G,C,E,E,K,C,G,C,M,E,C,E,E,C,C,S,E,C,M,C,C,E,I,C,E,E,K,E,A,C,C,E,E,K,Y,E,E,I,E,S,C,E,E,E,E,E,I,C,E,E,C,E,A,C,E,E,K,C,E,G,E,C,E,I,G,E,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,E,G,S,C,C,C,E,I,E,C,E,I,I,K,E,O,S,C,c,C,I,C,E,I,A,E,E,O,C,I,C,C,C,E,C,C,C,E,A,E,G,A,M,G,A,Y,O,O,qB,C,I,I,E,E,E,O,qB,C,G,E,E,M,C,I,E,E,O,C,C,C,E,G,O,S,C,oB,C,I,C,E,C,C,E,G,C,C,C,C,C,E,C,C,C,C,C,C,E,C,A,E,O,C,E,G,S,C,E,G,C,O,a,C,M,A,U,wC,I,E,E,C,C,O,a,C,C,O,E,E,I,C,G,C,E,A,Y,O,S,S,G,C,C,O,Q,C,G,E,C,E,E,Q,E,S,E,U,C,C,O,a,C,C,W,O,I,A,E,C,E,S,E,C,E,C,C,E,C,C,C,E,E,S,C,E,O,I,Q,S,C,C,C,G,A,S,C,C,C,C,C,C,C,E,Q,O,C,G,I,C,S,C,E,E,C,M,E,K,C,E,E,E,E,E,E,A,C,E,C,C,E,C,E,E,I,C,E,K,C,E,C,C,EGOsB,I,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,CAAA,EAAA,WAAA,EAAA,WAAA,SAAA,EAwDN,CAAY,EAAE,IAAA,EAAA,UAAA,MAAA,CAAA,GAAA,AAAA,KAAA,IAAA,SAAA,CAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAO,EAAa,MAAM,CAAC,G,A,C,E,E,C,A,E,I,C,GAnD5C,EAAA,GAAA,CAAA,IAAA,CALS,CAAA,GAAA,IAAA,CAAA,GAAY,GAAA,IAAA,CAAA,EAKhB,GAAA,GAIL,EAAA,GAAA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G,G,G,E,C,C,C,G,C,G,C,E,E,M,A,C,E,M,C,E,E,C,M,C,E,E,I,C,G,A,M,E,E,I,G,E,K,C,C,M,E,M,C,E,G,A,M,G,G,E,M,E,K,C,M,C,E,A,M,G,M,C,E,A,M,G,M,C,E,G,A,M,G,OAIhC,EAAA,EAAA,IAAA,GACL,EAAQ,MAAM,CAAC,G,C,E,G,A,M,G,M,C,E,A,C,EAEvB,GAEA,C,EAAM,EAAQ,OAAO,C,A,M,EAErB,OAFA,EAAA,IAAA,GAEA,C,EAAQ,IAAI,CAAC,MAAM,CAAG,E,A,C,EAC1B,EAAC,C,E,CAEK,IAAA,QAAA,MAAA,W,O,G,I,C,K,E,K,E,W,M,A,C,E,G,C,A,E,I,C,S,C,E,OACF,IAAI,CAAC,SAAS,CAAG,CAAA,E,C,E,A,EACrB,EAAC,C,E,CAEK,IAAA,UAAA,MAAA,W,O,G,I,C,K,E,K,E,W,M,A,C,E,G,C,A,E,I,C,S,C,E,O,E,K,E,K,EACF,MAAA,C,EAAM,IAAI,CAAC,KAAK,G,A,M,EAEhB,OAFA,EAAA,IAAA,GAEA,C,EAAO,AAAA,CAAA,EAAA,GAAA,OAAA,AAAA,EAAQ,IAAI,CAAE,IAAI,CAAC,EAAE,E,A,C,EAChC,EAAC,C,E,C,C,CApEM,IAAA,SAAP,MAAA,SAAc,CAAW,EACrB,OAAO,UACH,IAAI,IAAI,GAAK,QAAQ,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC,IAE5D,C,E,E,C,I,E,I,Q,E,I,Q,E,I,Q,E,I,Q,E,I,Q,E,I,Q,E,I,Q,E,I,Q,E,I,Q,E,A,Y,O,Q,O,Q,C,O,M,C,M,K,EAnDC,EAAA,CAAA,AAAA,CAAA,EAAA,GAAA,OAAA,AAAA,IACA,GAAA,UAAA,CADA,CAIA,EAAA,CAAA,AAAA,CAAA,EAAA,GAAA,OAAA,AAAA,IACA,GAAA,UAAA,CADA,CAIA,EAAA,CAAA,AAAA,CAAA,EAAA,GAAA,OAAA,AAAA,IACA,GAAA,UAAA,CADA,CAIA,EAAA,CAAA,AAAA,CAAA,EAAA,GAAA,OAAA,AAAA,IACA,AAAA,CAAA,EAAA,GAAA,UAAA,EAAW,GAAG,CADd,IAAA,CAAA,GAAA,CAIA,EAAA,CAAA,AAAA,C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EAAA,OAAA,CAAA,IAAA,SAAA,CAAA,EAAA,MAAA,YAAA,C,EAAA,IAAA,SAAA,CAAA,EAAA,OAAA,EAAS,OAAO,A,EAAA,IAAA,SAAA,CAAA,CAAA,CAAA,EAAA,EAAP,OAAO,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,EAAA,GAKhB,GAAA,EAAA,KAAA,EAAA,CAAA,KAAA,SAAA,KAAA,YAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,SAAA,CAAA,EAAA,MAAA,cAAA,C,EAAA,IAAA,SAAA,CAAA,EAAA,OAAA,EAAI,SAAS,A,CAAA,EAAA,SAAA,CAAA,EAAA,KAAA,GAKb,GAAA,EAAA,KAAA,EAAA,CAAA,KAAA,SAAA,KAAA,aAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,SAAA,CAAA,EAAA,MAAA,eAAA,C,EAAA,IAAA,SAAA,CAAA,EAAA,OAAA,EAAI,UAAU,A,CAAA,EAAA,SAAA,CAAA,EAAA,KAAA,G,G,O,c,C,E,O,Q,C,C,W,C,E,a,C,E,S,C,E,M,C,G,G,G,S,C,E,O,I,Y,G,C,I,C,C,C,E,I,A,E,I,G,E,E,G,S,C,E,G,C,O,a,C,M,A,U,wC,I,E,E,C,C,O,a,C,C,O,E,E,I,C,G,C,E,A,Y,O,S,S,G,C,C,O,Q,C,G,E,C,E,E,Q,E,S,E,U,C,C,O,a,C,C,W,O,I,A,E,C,E,S,E,C,E,C,C,E,C,C,C,E,E,S,C,E,O,I,Q,S,C,C,C,G,A,S,C,C,C,C,C,C,C,E,Q,O,C,G,I,C,S,C,E,E,C,M,E,K,C,E,E,E,E,E,E,A,C,E,C,C,E,C,E,E,I,C,E,K,C,E,C,C,E,G,S,C,C,C,C,C,E,G,C,O,a,C,M,A,U,wC,I,E,E,E,K,C,E,G,E,E,E,E,C,O,E,O,M,C,A,C,A,Y,O,c,c,M,E,S,E,E,Q,E,S,E,S,S,C,E,O,S,C,E,O,Q,O,C,G,I,C,E,E,C,G,C,C,O,a,C,C,W,O,I,A,E,E,S,E,C,C,C,E,C,C,E,G,C,C,E,C,S,C,E,O,I,Q,S,C,C,C,E,E,I,C,C,E,E,E,E,E,G,E,E,E,E,E,G,C,C,C,E,C,E,C,C,E,C,E,C,S,E,C,C,C,E,G,K,C,E,E,C,C,E,C,I,K,Y,G,Q,O,C,E,K,C,C,E,I,C,E,G,E,C,C,E,C,E,C,E,C,M,E,C,E,C,C,E,C,E,C,E,C,C,S,E,C,E,E,O,E,C,S,E,C,E,E,Q,E,C,S,E,C,C,C,E,E,G,E,K,G,A,E,M,E,E,C,C,E,C,E,C,C,C,E,C,E,C,C,ED/CL,GAAA,WAAA,EAAP,SAAA,CAAA,EAAO,AAAA,CAAA,EAAA,GAAA,CAAA,AAAA,EAAA,EAAA,GAAA,IAAA,EAAA,AAAA,CAAA,EAAA,GAAA,CAAA,AAAA,EAAA,GAAA,SAAA,EAKG,CAAY,CAAE,CAAa,M,E,MAL9B,AAAA,CAAA,EAAA,EAAA,CAAA,AAAA,EAAA,IAAA,CAAA,GAMC,EAAA,EAAA,IAAA,CAAA,IAAA,CAAA,EAAM,GALhB,OAAA,cAAA,CAAA,AAAA,CAAA,EAAA,GAAA,CAAA,AAAA,EAAA,GAAA,SAAA,C,W,C,E,a,C,E,S,C,EAAiC,MAAA,IAAI,GAAA,UAAA,CAAW,CAC5C,aAAc,aACjB,EAAE,GAKC,EAAK,EAAE,CAAG,sBAA+B,MAAA,CAAT,EAAK,IAAI,EAEzC,AAAA,CAAA,EAAA,GAAA,OAAA,AAAA,EAAA,AAAA,CAAA,EAAA,GAAA,CAAA,AAAA,EAAA,GAAc,EAAK,EAAE,E,C,CAVhB,MAAA,AAAA,CAAA,EAAA,EAAA,CAAA,AAAA,EAAA,EAAA,C,CAaF,IAAA,aAAA,MAAA,SAAW,CAAyB,E,O,G,I,C,U,W,I,E,E,E,EAC/B,EACF,EAAA,EAMA,EAKF,EAQ0B,EAAA,EAAM,EAAf,E,M,A,C,E,G,C,A,E,I,C,S,C,E,O,E,K,E,K,EAjBrB,GAHQ,EAAS,IAAI,CAAb,IAAA,CACF,EAAgB,AAAA,GAAa,MAAM,CAAC,GAE1C,IAAI,CAAC,QAAQ,CAAb,MAAA,C,E,E,CACI,OADJ,EAAA,IAAI,CACA,C,EAAA,GAAM,I,A,M,EADQ,MAAA,C,EAAA,GAAA,KAAA,CAAA,KAAA,EAAA,CACd,EAAA,IAAA,GACF,kBAAkB,CAAC,CAAE,cAAA,CAAa,G,E,A,M,EAFpC,EAAK,QAAQ,CAAK,EAAlB,IAAA,G,E,K,C,C,M,EAIe,MAAA,C,EAAA,GACP,IAAI,CAAC,QACR,CAAC,cAAc,CAAC,CACb,iBAAkB,CAAA,CACrB,I,A,M,EAJC,EAAS,EAAA,IAAA,GAKX,EAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAI,OAAA,MAAA,CAAA,CAC9B,MAAA,CAAQ,IAAI,CAAC,MAAM,C,AAAC,EACjB,I,E,K,C,C,M,E,E,I,C,I,C,C,G,G,G,EAIP,IAAI,CAAC,SAAS,CAAG,CAAA,E,E,K,C,C,M,E,E,I,C,I,C,C,E,G,G,G,EAES,EAAA,CAAA,EAAA,EAAA,GAAA,G,E,K,C,C,M,EAAM,MAAA,C,EAAA,GAAA,EAAA,IAAA,I,A,M,EAAA,GAAA,EAAA,AAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,IAAA,CAAA,MAAA,C,E,G,CAC5B,OADsB,EAAA,EAAA,KAAA,CAAA,EAAA,CAAA,EAAT,EAAK,EAClB,C,EAAA,GAAM,EAAO,KAAK,CAAC,CACf,KAAM,QACN,SAAU,IAAI,CAAC,MAAM,CACrB,KAAM,EAAM,MAAM,AACrB,I,A,M,EAED,OANA,EAAA,IAAA,GAMA,C,EAAA,GAAM,IAAI,CAAC,QAAQ,CAAC,I,A,M,GAApB,MAAA,C,EAAA,EAAA,IAAA,G,A,M,GAEA,GAFA,EAAA,IAAA,GAEI,CAAC,IAAI,CAAC,SAAS,CAAE,MAArB,C,E,G,A,C,E,K,C,E,M,G,OAT4B,EAAA,CAAA,E,C,E,E,A,M,G,M,C,E,G,A,M,G,O,E,C,M,E,I,E,E,C,E,G,A,M,G,G,E,I,C,I,C,C,I,G,G,E,C,C,C,G,C,G,C,E,E,M,A,C,E,M,C,E,G,C,M,C,E,G,E,I,C,I,A,M,G,E,I,G,E,K,C,E,M,G,M,C,E,G,A,M,G,G,E,M,E,K,C,M,C,E,A,M,G,M,C,E,A,M,G,M,C,E,G,A,M,GAYhC,MAAA,C,EAAA,GAAM,EAAO,KAAK,I,A,M,G,OAAlB,EAAA,IAAA,GAEA,IAAI,CAAC,SAAS,CAAG,CAAA,E,C,E,A,M,G,M,C,E,A,C,EAEzB,EAAC,C,E,EAlDQ,CAAyB,EAAA,I,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,EDIzB,I,E,E,C,E,E,C,E,E,CAAA,EAAA,WAAA,EAAA,WAAA,SAAA,I,A,C,E,E,C,A,E,I,C,GA2BA,EAAA,GAAA,CAAA,IAAA,CA3BA,CAAA,GAAA,IAAA,CAAA,GAAU,GAAA,IAAA,CAAA,EA2Bc,EAAE,CAAA,G,G,I,C,GAT/B,AAAA,CAAA,EAAA,GAAA,OAAA,AAAA,EAAQ,IAAI,CAAE,a,C,M,A,C,E,E,C,A,E,E,C,CAST,IAAA,QAAT,IAAA,WAAc,OAAA,GAAA,IAAA,CAAA,EAAA,IAAA,EAAd,IAAA,SAAc,CAAA,EAAA,GAAA,IAAA,CAAA,EAAA,EAAA,IAAA,C,E,CAGV,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","sources":["<anon>","source/index.ts","source/HTTP.ts","source/Task.ts"],"sourcesContent":["var $8uLkp$swchelperscjs_class_call_checkcjs = require(\"@swc/helpers/cjs/_class_call_check.cjs\");\nvar $8uLkp$swchelperscjs_create_classcjs = require(\"@swc/helpers/cjs/_create_class.cjs\");\nvar $8uLkp$swchelperscjs_sliced_to_arraycjs = require(\"@swc/helpers/cjs/_sliced_to_array.cjs\");\nvar $8uLkp$swchelperscjs_to_consumable_arraycjs = require(\"@swc/helpers/cjs/_to_consumable_array.cjs\");\nvar $8uLkp$swchelperscjs_ts_generatorcjs = require(\"@swc/helpers/cjs/_ts_generator.cjs\");\nvar $8uLkp$mobx = require(\"mobx\");\nvar $8uLkp$mobxrestful = require(\"mobx-restful\");\nvar $8uLkp$swchelperscjs_assert_this_initializedcjs = require(\"@swc/helpers/cjs/_assert_this_initialized.cjs\");\nvar $8uLkp$swchelperscjs_inheritscjs = require(\"@swc/helpers/cjs/_inherits.cjs\");\nvar $8uLkp$swchelperscjs_create_supercjs = require(\"@swc/helpers/cjs/_create_super.cjs\");\nvar $8uLkp$koajax = require(\"koajax\");\nvar $8uLkp$nativefilesystemadapter = require(\"native-file-system-adapter\");\nvar $8uLkp$webutility = require(\"web-utility\");\nvar $8uLkp$webstreamspolyfill = require(\"web-streams-polyfill\");\n\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule' || Object.prototype.hasOwnProperty.call(dest, key)) {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n }\n });\n });\n\n return dest;\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n$parcel$export(module.exports, \"Downloader\", function () { return $7f6c4ba7e5cc013b$export$ef06e7620d37c296; });\n\n\n\n\n\n\n\nvar $4cfe9f2b4fce97c3$exports = {};\n\n$parcel$export($4cfe9f2b4fce97c3$exports, \"HTTPDownloadTask\", function () { return $4cfe9f2b4fce97c3$export$54a5aef4e85ae85; });\n\n\n\n\n\n\n\n\nvar $cbb67161e2147ddb$exports = {};\n\n$parcel$export($cbb67161e2147ddb$exports, \"DownloadTask\", function () { return $cbb67161e2147ddb$export$e9ba70c733fe1cb8; });\n\n\n\n\n\n\n\nvar $cbb67161e2147ddb$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $cbb67161e2147ddb$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $cbb67161e2147ddb$var$__awaiter = undefined && undefined.__awaiter || function(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar $cbb67161e2147ddb$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $cbb67161e2147ddb$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $cbb67161e2147ddb$var$__rest = undefined && undefined.__rest || function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar $cbb67161e2147ddb$var$__asyncValues = undefined && undefined.__asyncValues || function(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function() {\n return this;\n }, i);\n function verb(n) {\n i[n] = o[n] && function(v) {\n return new Promise(function(resolve, reject) {\n v = o[n](v), settle(resolve, reject, v.done, v.value);\n });\n };\n }\n function settle(resolve, reject, d, v) {\n Promise.resolve(v).then(function(v) {\n resolve({\n value: v,\n done: d\n });\n }, reject);\n }\n};\n\nvar $cbb67161e2147ddb$export$e9ba70c733fe1cb8 = function() {\n var _a, _DownloadTask_id_accessor_storage, _DownloadTask_name_accessor_storage, _DownloadTask_path_accessor_storage, _DownloadTask_fsHandle_accessor_storage, _DownloadTask_total_accessor_storage, _DownloadTask_loaded_accessor_storage, _DownloadTask_percent_accessor_storage, _DownloadTask_executing_accessor_storage, _DownloadTask_options_accessor_storage;\n var _b;\n var _instanceExtraInitializers = [];\n var _id_decorators;\n var _id_initializers = [];\n var _id_extraInitializers = [];\n var _name_decorators;\n var _name_initializers = [];\n var _name_extraInitializers = [];\n var _path_decorators;\n var _path_initializers = [];\n var _path_extraInitializers = [];\n var _fsHandle_decorators;\n var _fsHandle_initializers = [];\n var _fsHandle_extraInitializers = [];\n var _total_decorators;\n var _total_initializers = [];\n var _total_extraInitializers = [];\n var _loaded_decorators;\n var _loaded_initializers = [];\n var _loaded_extraInitializers = [];\n var _percent_decorators;\n var _percent_initializers = [];\n var _percent_extraInitializers = [];\n var _executing_decorators;\n var _executing_initializers = [];\n var _executing_extraInitializers = [];\n var _options_decorators;\n var _options_initializers = [];\n var _options_extraInitializers = [];\n var _get_totalSize_decorators;\n var _get_loadedSize_decorators;\n return _a = /*#__PURE__*/ function() {\n \"use strict\";\n function DownloadTask(path) {\n var name = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : _a.nameOf(path);\n (0, $8uLkp$swchelperscjs_class_call_checkcjs._)(this, DownloadTask);\n _DownloadTask_id_accessor_storage.set(this, ($cbb67161e2147ddb$var$__runInitializers(this, _instanceExtraInitializers), $cbb67161e2147ddb$var$__runInitializers(this, _id_initializers, \"\")));\n _DownloadTask_name_accessor_storage.set(this, ($cbb67161e2147ddb$var$__runInitializers(this, _id_extraInitializers), $cbb67161e2147ddb$var$__runInitializers(this, _name_initializers, \"\")));\n _DownloadTask_path_accessor_storage.set(this, ($cbb67161e2147ddb$var$__runInitializers(this, _name_extraInitializers), $cbb67161e2147ddb$var$__runInitializers(this, _path_initializers, \"\")));\n _DownloadTask_fsHandle_accessor_storage.set(this, ($cbb67161e2147ddb$var$__runInitializers(this, _path_extraInitializers), $cbb67161e2147ddb$var$__runInitializers(this, _fsHandle_initializers, void 0)));\n _DownloadTask_total_accessor_storage.set(this, ($cbb67161e2147ddb$var$__runInitializers(this, _fsHandle_extraInitializers), $cbb67161e2147ddb$var$__runInitializers(this, _total_initializers, 0)));\n _DownloadTask_loaded_accessor_storage.set(this, ($cbb67161e2147ddb$var$__runInitializers(this, _total_extraInitializers), $cbb67161e2147ddb$var$__runInitializers(this, _loaded_initializers, 0)));\n _DownloadTask_percent_accessor_storage.set(this, ($cbb67161e2147ddb$var$__runInitializers(this, _loaded_extraInitializers), $cbb67161e2147ddb$var$__runInitializers(this, _percent_initializers, 0)));\n _DownloadTask_executing_accessor_storage.set(this, ($cbb67161e2147ddb$var$__runInitializers(this, _percent_extraInitializers), $cbb67161e2147ddb$var$__runInitializers(this, _executing_initializers, false)));\n _DownloadTask_options_accessor_storage.set(this, ($cbb67161e2147ddb$var$__runInitializers(this, _executing_extraInitializers), $cbb67161e2147ddb$var$__runInitializers(this, _options_initializers, void 0)));\n Object.defineProperty(this, \"stream\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: $cbb67161e2147ddb$var$__runInitializers(this, _options_extraInitializers)\n });\n this.path = path;\n this.name = name;\n }\n (0, $8uLkp$swchelperscjs_create_classcjs._)(DownloadTask, [\n {\n key: \"id\",\n get: function get() {\n return $cbb67161e2147ddb$var$__classPrivateFieldGet(this, _DownloadTask_id_accessor_storage, \"f\");\n },\n set: function set(value) {\n $cbb67161e2147ddb$var$__classPrivateFieldSet(this, _DownloadTask_id_accessor_storage, value, \"f\");\n }\n },\n {\n key: \"name\",\n get: function get() {\n return $cbb67161e2147ddb$var$__classPrivateFieldGet(this, _DownloadTask_name_accessor_storage, \"f\");\n },\n set: function set(value) {\n $cbb67161e2147ddb$var$__classPrivateFieldSet(this, _DownloadTask_name_accessor_storage, value, \"f\");\n }\n },\n {\n key: \"path\",\n get: function get() {\n return $cbb67161e2147ddb$var$__classPrivateFieldGet(this, _DownloadTask_path_accessor_storage, \"f\");\n },\n set: function set(value) {\n $cbb67161e2147ddb$var$__classPrivateFieldSet(this, _DownloadTask_path_accessor_storage, value, \"f\");\n }\n },\n {\n key: \"fsHandle\",\n get: function get() {\n return $cbb67161e2147ddb$var$__classPrivateFieldGet(this, _DownloadTask_fsHandle_accessor_storage, \"f\");\n },\n set: function set(value) {\n $cbb67161e2147ddb$var$__classPrivateFieldSet(this, _DownloadTask_fsHandle_accessor_storage, value, \"f\");\n }\n },\n {\n key: \"total\",\n get: function get() {\n return $cbb67161e2147ddb$var$__classPrivateFieldGet(this, _DownloadTask_total_accessor_storage, \"f\");\n },\n set: function set(value) {\n $cbb67161e2147ddb$var$__classPrivateFieldSet(this, _DownloadTask_total_accessor_storage, value, \"f\");\n }\n },\n {\n key: \"loaded\",\n get: function get() {\n return $cbb67161e2147ddb$var$__classPrivateFieldGet(this, _DownloadTask_loaded_accessor_storage, \"f\");\n },\n set: function set(value) {\n $cbb67161e2147ddb$var$__classPrivateFieldSet(this, _DownloadTask_loaded_accessor_storage, value, \"f\");\n }\n },\n {\n key: \"percent\",\n get: function get() {\n return $cbb67161e2147ddb$var$__classPrivateFieldGet(this, _DownloadTask_percent_accessor_storage, \"f\");\n },\n set: function set(value) {\n $cbb67161e2147ddb$var$__classPrivateFieldSet(this, _DownloadTask_percent_accessor_storage, value, \"f\");\n }\n },\n {\n key: \"executing\",\n get: function get() {\n return $cbb67161e2147ddb$var$__classPrivateFieldGet(this, _DownloadTask_executing_accessor_storage, \"f\");\n },\n set: function set(value) {\n $cbb67161e2147ddb$var$__classPrivateFieldSet(this, _DownloadTask_executing_accessor_storage, value, \"f\");\n }\n },\n {\n key: \"options\",\n get: function get() {\n return $cbb67161e2147ddb$var$__classPrivateFieldGet(this, _DownloadTask_options_accessor_storage, \"f\");\n },\n set: function set(value) {\n $cbb67161e2147ddb$var$__classPrivateFieldSet(this, _DownloadTask_options_accessor_storage, value, \"f\");\n }\n },\n {\n key: \"totalSize\",\n get: function get() {\n return new (0, $8uLkp$webutility.ByteSize)(this.total);\n }\n },\n {\n key: \"loadedSize\",\n get: function get() {\n return new (0, $8uLkp$webutility.ByteSize)(this.loaded);\n }\n },\n {\n key: \"toJSON\",\n value: function toJSON() {\n var _this = this, id = _this.id, name = _this.name, path = _this.path, fsHandle = _this.fsHandle, total = _this.total, loaded = _this.loaded, percent = _this.percent, options = _this.options;\n return Object.assign({\n id: id,\n name: name,\n path: path,\n fsHandle: fsHandle,\n options: options\n }, {\n total: total,\n loaded: loaded,\n percent: percent\n });\n }\n },\n {\n key: \"saveMeta\",\n value: function saveMeta() {\n var data = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n var buffer = data.buffer, progress = $cbb67161e2147ddb$var$__rest(data, [\n \"buffer\"\n ]);\n Object.assign(this, progress);\n return data;\n }\n },\n {\n key: \"start\",\n value: function start() {\n return $cbb67161e2147ddb$var$__awaiter(this, arguments, void 0, function() {\n var _this, options, started, _ReadableStream_from_tee, innerStream, outerStream;\n var _arguments = arguments;\n return (0, $8uLkp$swchelperscjs_ts_generatorcjs._)(this, function(_state) {\n switch(_state.label){\n case 0:\n _this = this;\n options = _arguments.length > 0 && _arguments[0] !== void 0 ? _arguments[0] : this.options;\n this.options = options;\n started = Promise.withResolvers();\n return [\n 4,\n $8uLkp$webstreamspolyfill\n ];\n case 1:\n _ReadableStream_from_tee = (0, $8uLkp$swchelperscjs_sliced_to_arraycjs._).apply(void 0, [\n _state.sent().ReadableStream.from(this.loadStream(options)).tee(),\n 2\n ]), innerStream = _ReadableStream_from_tee[0], outerStream = _ReadableStream_from_tee[1];\n (function() {\n return $cbb67161e2147ddb$var$__awaiter(_this, void 0, void 0, function() {\n var _b, e_1, _c, _d, _e, innerStream_1, innerStream_1_1, chunk, e_1_1, error;\n return (0, $8uLkp$swchelperscjs_ts_generatorcjs._)(this, function(_state) {\n switch(_state.label){\n case 0:\n _state.trys.push([\n 0,\n 13,\n ,\n 14\n ]);\n _state.label = 1;\n case 1:\n _state.trys.push([\n 1,\n 6,\n 7,\n 12\n ]);\n _e = true, innerStream_1 = $cbb67161e2147ddb$var$__asyncValues(innerStream);\n _state.label = 2;\n case 2:\n return [\n 4,\n innerStream_1.next()\n ];\n case 3:\n if (!(innerStream_1_1 = _state.sent(), _b = innerStream_1_1.done, !_b)) return [\n 3,\n 5\n ];\n _d = innerStream_1_1.value;\n _e = false;\n chunk = _d;\n started.resolve();\n console.table(chunk);\n _state.label = 4;\n case 4:\n _e = true;\n return [\n 3,\n 2\n ];\n case 5:\n return [\n 3,\n 12\n ];\n case 6:\n e_1_1 = _state.sent();\n e_1 = {\n error: e_1_1\n };\n return [\n 3,\n 12\n ];\n case 7:\n _state.trys.push([\n 7,\n ,\n 10,\n 11\n ]);\n if (!(!_e && !_b && (_c = innerStream_1.return))) return [\n 3,\n 9\n ];\n return [\n 4,\n _c.call(innerStream_1)\n ];\n case 8:\n _state.sent();\n _state.label = 9;\n case 9:\n return [\n 3,\n 11\n ];\n case 10:\n if (e_1) throw e_1.error;\n return [\n 7\n ];\n case 11:\n return [\n 7\n ];\n case 12:\n return [\n 3,\n 14\n ];\n case 13:\n error = _state.sent();\n started.reject(error);\n return [\n 3,\n 14\n ];\n case 14:\n return [\n 2\n ];\n }\n });\n });\n })();\n return [\n 4,\n started.promise\n ];\n case 2:\n _state.sent();\n return [\n 2,\n this.stream = outerStream\n ];\n }\n });\n });\n }\n },\n {\n key: \"pause\",\n value: function pause() {\n return $cbb67161e2147ddb$var$__awaiter(this, void 0, void 0, function() {\n return (0, $8uLkp$swchelperscjs_ts_generatorcjs._)(this, function(_state) {\n this.executing = false;\n return [\n 2\n ];\n });\n });\n }\n },\n {\n key: \"destroy\",\n value: function destroy1() {\n return $cbb67161e2147ddb$var$__awaiter(this, void 0, void 0, function() {\n return (0, $8uLkp$swchelperscjs_ts_generatorcjs._)(this, function(_state) {\n switch(_state.label){\n case 0:\n return [\n 4,\n this.pause()\n ];\n case 1:\n _state.sent();\n return [\n 2,\n (0, $8uLkp$mobxrestful.destroy)(this, this.id)\n ];\n }\n });\n });\n }\n }\n ], [\n {\n key: \"nameOf\",\n value: function nameOf(URI) {\n return decodeURI(new URL(URI).pathname.split(\"/\").filter(Boolean).at(-1));\n }\n }\n ]);\n return DownloadTask;\n }(), _DownloadTask_id_accessor_storage = new WeakMap(), _DownloadTask_name_accessor_storage = new WeakMap(), _DownloadTask_path_accessor_storage = new WeakMap(), _DownloadTask_fsHandle_accessor_storage = new WeakMap(), _DownloadTask_total_accessor_storage = new WeakMap(), _DownloadTask_loaded_accessor_storage = new WeakMap(), _DownloadTask_percent_accessor_storage = new WeakMap(), _DownloadTask_executing_accessor_storage = new WeakMap(), _DownloadTask_options_accessor_storage = new WeakMap(), function() {\n var _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(null) : void 0;\n _id_decorators = [\n (0, $8uLkp$mobxrestful.persist)(),\n (0, $8uLkp$mobx.observable)\n ];\n _name_decorators = [\n (0, $8uLkp$mobxrestful.persist)(),\n (0, $8uLkp$mobx.observable)\n ];\n _path_decorators = [\n (0, $8uLkp$mobxrestful.persist)(),\n (0, $8uLkp$mobx.observable)\n ];\n _fsHandle_decorators = [\n (0, $8uLkp$mobxrestful.persist)(),\n (_b = (0, $8uLkp$mobx.observable)).ref.bind(_b)\n ];\n _total_decorators = [\n (0, $8uLkp$mobxrestful.persist)(),\n (0, $8uLkp$mobx.observable)\n ];\n _loaded_decorators = [\n (0, $8uLkp$mobxrestful.persist)(),\n (0, $8uLkp$mobx.observable)\n ];\n _percent_decorators = [\n (0, $8uLkp$mobxrestful.persist)(),\n (0, $8uLkp$mobx.observable)\n ];\n _executing_decorators = [\n (0, $8uLkp$mobx.observable)\n ];\n _options_decorators = [\n (0, $8uLkp$mobxrestful.persist)(),\n (0, $8uLkp$mobx.observable)\n ];\n _get_totalSize_decorators = [\n (0, $8uLkp$mobx.computed)\n ];\n _get_loadedSize_decorators = [\n (0, $8uLkp$mobx.computed)\n ];\n $cbb67161e2147ddb$var$__esDecorate(_a, null, _id_decorators, {\n kind: \"accessor\",\n name: \"id\",\n static: false,\n private: false,\n access: {\n has: function(obj) {\n return \"id\" in obj;\n },\n get: function(obj) {\n return obj.id;\n },\n set: function(obj, value) {\n obj.id = value;\n }\n },\n metadata: _metadata\n }, _id_initializers, _id_extraInitializers);\n $cbb67161e2147ddb$var$__esDecorate(_a, null, _name_decorators, {\n kind: \"accessor\",\n name: \"name\",\n static: false,\n private: false,\n access: {\n has: function(obj) {\n return \"name\" in obj;\n },\n get: function(obj) {\n return obj.name;\n },\n set: function(obj, value) {\n obj.name = value;\n }\n },\n metadata: _metadata\n }, _name_initializers, _name_extraInitializers);\n $cbb67161e2147ddb$var$__esDecorate(_a, null, _path_decorators, {\n kind: \"accessor\",\n name: \"path\",\n static: false,\n private: false,\n access: {\n has: function(obj) {\n return \"path\" in obj;\n },\n get: function(obj) {\n return obj.path;\n },\n set: function(obj, value) {\n obj.path = value;\n }\n },\n metadata: _metadata\n }, _path_initializers, _path_extraInitializers);\n $cbb67161e2147ddb$var$__esDecorate(_a, null, _fsHandle_decorators, {\n kind: \"accessor\",\n name: \"fsHandle\",\n static: false,\n private: false,\n access: {\n has: function(obj) {\n return \"fsHandle\" in obj;\n },\n get: function(obj) {\n return obj.fsHandle;\n },\n set: function(obj, value) {\n obj.fsHandle = value;\n }\n },\n metadata: _metadata\n }, _fsHandle_initializers, _fsHandle_extraInitializers);\n $cbb67161e2147ddb$var$__esDecorate(_a, null, _total_decorators, {\n kind: \"accessor\",\n name: \"total\",\n static: false,\n private: false,\n access: {\n has: function(obj) {\n return \"total\" in obj;\n },\n get: function(obj) {\n return obj.total;\n },\n set: function(obj, value) {\n obj.total = value;\n }\n },\n metadata: _metadata\n }, _total_initializers, _total_extraInitializers);\n $cbb67161e2147ddb$var$__esDecorate(_a, null, _loaded_decorators, {\n kind: \"accessor\",\n name: \"loaded\",\n static: false,\n private: false,\n access: {\n has: function(obj) {\n return \"loaded\" in obj;\n },\n get: function(obj) {\n return obj.loaded;\n },\n set: function(obj, value) {\n obj.loaded = value;\n }\n },\n metadata: _metadata\n }, _loaded_initializers, _loaded_extraInitializers);\n $cbb67161e2147ddb$var$__esDecorate(_a, null, _percent_decorators, {\n kind: \"accessor\",\n name: \"percent\",\n static: false,\n private: false,\n access: {\n has: function(obj) {\n return \"percent\" in obj;\n },\n get: function(obj) {\n return obj.percent;\n },\n set: function(obj, value) {\n obj.percent = value;\n }\n },\n metadata: _metadata\n }, _percent_initializers, _percent_extraInitializers);\n $cbb67161e2147ddb$var$__esDecorate(_a, null, _executing_decorators, {\n kind: \"accessor\",\n name: \"executing\",\n static: false,\n private: false,\n access: {\n has: function(obj) {\n return \"executing\" in obj;\n },\n get: function(obj) {\n return obj.executing;\n },\n set: function(obj, value) {\n obj.executing = value;\n }\n },\n metadata: _metadata\n }, _executing_initializers, _executing_extraInitializers);\n $cbb67161e2147ddb$var$__esDecorate(_a, null, _options_decorators, {\n kind: \"accessor\",\n name: \"options\",\n static: false,\n private: false,\n access: {\n has: function(obj) {\n return \"options\" in obj;\n },\n get: function(obj) {\n return obj.options;\n },\n set: function(obj, value) {\n obj.options = value;\n }\n },\n metadata: _metadata\n }, _options_initializers, _options_extraInitializers);\n $cbb67161e2147ddb$var$__esDecorate(_a, null, _get_totalSize_decorators, {\n kind: \"getter\",\n name: \"totalSize\",\n static: false,\n private: false,\n access: {\n has: function(obj) {\n return \"totalSize\" in obj;\n },\n get: function(obj) {\n return obj.totalSize;\n }\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $cbb67161e2147ddb$var$__esDecorate(_a, null, _get_loadedSize_decorators, {\n kind: \"getter\",\n name: \"loadedSize\",\n static: false,\n private: false,\n access: {\n has: function(obj) {\n return \"loadedSize\" in obj;\n },\n get: function(obj) {\n return obj.loadedSize;\n }\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n if (_metadata) Object.defineProperty(_a, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n }(), _a;\n}();\n\n\nvar $4cfe9f2b4fce97c3$var$__await = undefined && undefined.__await || function(v) {\n return this instanceof $4cfe9f2b4fce97c3$var$__await ? (this.v = v, this) : new $4cfe9f2b4fce97c3$var$__await(v);\n};\nvar $4cfe9f2b4fce97c3$var$__asyncValues = undefined && undefined.__asyncValues || function(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function() {\n return this;\n }, i);\n function verb(n) {\n i[n] = o[n] && function(v) {\n return new Promise(function(resolve, reject) {\n v = o[n](v), settle(resolve, reject, v.done, v.value);\n });\n };\n }\n function settle(resolve, reject, d, v) {\n Promise.resolve(v).then(function(v) {\n resolve({\n value: v,\n done: d\n });\n }, reject);\n }\n};\nvar $4cfe9f2b4fce97c3$var$__asyncGenerator = undefined && undefined.__asyncGenerator || function(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function() {\n return this;\n }, i;\n function awaitReturn(f) {\n return function(v) {\n return Promise.resolve(v).then(f, reject);\n };\n }\n function verb(n, f) {\n if (g[n]) {\n i[n] = function(v) {\n return new Promise(function(a, b) {\n q.push([\n n,\n v,\n a,\n b\n ]) > 1 || resume(n, v);\n });\n };\n if (f) i[n] = f(i[n]);\n }\n }\n function resume(n, v) {\n try {\n step(g[n](v));\n } catch (e) {\n settle(q[0][3], e);\n }\n }\n function step(r) {\n r.value instanceof $4cfe9f2b4fce97c3$var$__await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n }\n function fulfill(value) {\n resume(\"next\", value);\n }\n function reject(value) {\n resume(\"throw\", value);\n }\n function settle(f, v) {\n if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n }\n};\n\nvar $4cfe9f2b4fce97c3$export$54a5aef4e85ae85 = /*#__PURE__*/ function(DownloadTask1) {\n \"use strict\";\n (0, $8uLkp$swchelperscjs_inheritscjs._)(HTTPDownloadTask, DownloadTask1);\n var _super = (0, $8uLkp$swchelperscjs_create_supercjs._)(HTTPDownloadTask);\n function HTTPDownloadTask(path, name) {\n (0, $8uLkp$swchelperscjs_class_call_checkcjs._)(this, HTTPDownloadTask);\n var _this;\n _this = _super.call(this, path, name);\n Object.defineProperty((0, $8uLkp$swchelperscjs_assert_this_initializedcjs._)(_this), \"client\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new (0, $8uLkp$koajax.HTTPClient)({\n responseType: \"arraybuffer\"\n })\n });\n _this.id = \"http-download-task-\".concat(_this.name);\n (0, $8uLkp$mobxrestful.restore)((0, $8uLkp$swchelperscjs_assert_this_initializedcjs._)(_this), _this.id);\n return _this;\n }\n (0, $8uLkp$swchelperscjs_create_classcjs._)(HTTPDownloadTask, [\n {\n key: \"loadStream\",\n value: function loadStream(options) {\n return $4cfe9f2b4fce97c3$var$__asyncGenerator(this, arguments, function loadStream_1() {\n var _a, e_1, _b, _c, path, suggestedName, _tmp, _, writer, stream, _d, stream_1, stream_1_1, chunk, e_1_1;\n return (0, $8uLkp$swchelperscjs_ts_generatorcjs._)(this, function(_state) {\n switch(_state.label){\n case 0:\n path = this.path;\n suggestedName = (0, $cbb67161e2147ddb$export$e9ba70c733fe1cb8).nameOf(path);\n _tmp = this.fsHandle;\n if (_tmp) return [\n 3,\n 3\n ];\n _ = this;\n return [\n 4,\n $4cfe9f2b4fce97c3$var$__await($8uLkp$nativefilesystemadapter)\n ];\n case 1:\n return [\n 4,\n $4cfe9f2b4fce97c3$var$__await.apply(void 0, [\n _state.sent().showSaveFilePicker({\n suggestedName: suggestedName\n })\n ])\n ];\n case 2:\n _tmp = _.fsHandle = _state.sent();\n _state.label = 3;\n case 3:\n _tmp;\n return [\n 4,\n $4cfe9f2b4fce97c3$var$__await(this.fsHandle.createWritable({\n keepExistingData: true\n }))\n ];\n case 4:\n writer = _state.sent(), stream = this.client.download(path, Object.assign({\n range: [\n this.loaded\n ]\n }, options));\n _state.label = 5;\n case 5:\n _state.trys.push([\n 5,\n ,\n 21,\n 23\n ]);\n this.executing = true;\n _state.label = 6;\n case 6:\n _state.trys.push([\n 6,\n 14,\n 15,\n 20\n ]);\n _d = true, stream_1 = $4cfe9f2b4fce97c3$var$__asyncValues(stream);\n _state.label = 7;\n case 7:\n return [\n 4,\n $4cfe9f2b4fce97c3$var$__await(stream_1.next())\n ];\n case 8:\n if (!(stream_1_1 = _state.sent(), _a = stream_1_1.done, !_a)) return [\n 3,\n 13\n ];\n _c = stream_1_1.value;\n _d = false;\n chunk = _c;\n return [\n 4,\n $4cfe9f2b4fce97c3$var$__await(writer.write({\n type: \"write\",\n position: this.loaded,\n data: chunk.buffer\n }))\n ];\n case 9:\n _state.sent();\n return [\n 4,\n $4cfe9f2b4fce97c3$var$__await(this.saveMeta(chunk))\n ];\n case 10:\n return [\n 4,\n _state.sent()\n ];\n case 11:\n _state.sent();\n if (!this.executing) return [\n 3,\n 13\n ];\n _state.label = 12;\n case 12:\n _d = true;\n return [\n 3,\n 7\n ];\n case 13:\n return [\n 3,\n 20\n ];\n case 14:\n e_1_1 = _state.sent();\n e_1 = {\n error: e_1_1\n };\n return [\n 3,\n 20\n ];\n case 15:\n _state.trys.push([\n 15,\n ,\n 18,\n 19\n ]);\n if (!(!_d && !_a && (_b = stream_1.return))) return [\n 3,\n 17\n ];\n return [\n 4,\n $4cfe9f2b4fce97c3$var$__await(_b.call(stream_1))\n ];\n case 16:\n _state.sent();\n _state.label = 17;\n case 17:\n return [\n 3,\n 19\n ];\n case 18:\n if (e_1) throw e_1.error;\n return [\n 7\n ];\n case 19:\n return [\n 7\n ];\n case 20:\n return [\n 3,\n 23\n ];\n case 21:\n return [\n 4,\n $4cfe9f2b4fce97c3$var$__await(writer.close())\n ];\n case 22:\n _state.sent();\n this.executing = false;\n return [\n 7\n ];\n case 23:\n return [\n 2\n ];\n }\n });\n });\n }\n }\n ]);\n return HTTPDownloadTask;\n}((0, $cbb67161e2147ddb$export$e9ba70c733fe1cb8));\n\n\n\nvar $7f6c4ba7e5cc013b$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $7f6c4ba7e5cc013b$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $7f6c4ba7e5cc013b$var$__awaiter = undefined && undefined.__awaiter || function(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar $7f6c4ba7e5cc013b$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $7f6c4ba7e5cc013b$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $7f6c4ba7e5cc013b$export$ef06e7620d37c296 = function() {\n var _a, _Downloader_tasks_accessor_storage;\n var _instanceExtraInitializers = [];\n var _tasks_decorators;\n var _tasks_initializers = [];\n var _tasks_extraInitializers = [];\n var _get_unfinishedCount_decorators;\n var _get_executingCount_decorators;\n return _a = /*#__PURE__*/ function() {\n \"use strict\";\n function Downloader() {\n (0, $8uLkp$swchelperscjs_class_call_checkcjs._)(this, Downloader);\n _Downloader_tasks_accessor_storage.set(this, ($7f6c4ba7e5cc013b$var$__runInitializers(this, _instanceExtraInitializers), $7f6c4ba7e5cc013b$var$__runInitializers(this, _tasks_initializers, [])));\n $7f6c4ba7e5cc013b$var$__runInitializers(this, _tasks_extraInitializers);\n (0, $8uLkp$mobxrestful.restore)(this, \"downloader\");\n }\n (0, $8uLkp$swchelperscjs_create_classcjs._)(Downloader, [\n {\n key: \"tasks\",\n get: function get() {\n return $7f6c4ba7e5cc013b$var$__classPrivateFieldGet(this, _Downloader_tasks_accessor_storage, \"f\");\n },\n set: function set(value) {\n $7f6c4ba7e5cc013b$var$__classPrivateFieldSet(this, _Downloader_tasks_accessor_storage, value, \"f\");\n }\n },\n {\n key: \"unfinishedCount\",\n get: function get() {\n return this.tasks.filter(function(param) {\n var percent = param.percent;\n return percent < 100;\n }).length;\n }\n },\n {\n key: \"executingCount\",\n get: function get() {\n return this.tasks.filter(function(param) {\n var executing = param.executing;\n return executing;\n }).length;\n }\n },\n {\n key: \"createTask\",\n value: function createTask(path, name) {\n var tasks = this.tasks;\n var sameTask = tasks.find(function(task) {\n return task.path === path;\n });\n if (sameTask) return sameTask;\n var task = _a.createTask(path, name);\n this.tasks = (0, $8uLkp$swchelperscjs_to_consumable_arraycjs._)(tasks).concat([\n task\n ]);\n return task;\n }\n },\n {\n key: \"destroyTask\",\n value: function destroyTask(name) {\n return $7f6c4ba7e5cc013b$var$__awaiter(this, void 0, void 0, function() {\n var tasks, index;\n return (0, $8uLkp$swchelperscjs_ts_generatorcjs._)(this, function(_state) {\n switch(_state.label){\n case 0:\n tasks = this.tasks;\n index = tasks.findIndex(function(param) {\n var N = param.name;\n return N === name;\n });\n if (index < 0) throw new ReferenceError(\"\".concat(name, \" isn't found\"));\n return [\n 4,\n tasks[index].destroy()\n ];\n case 1:\n _state.sent();\n this.tasks = (0, $8uLkp$swchelperscjs_to_consumable_arraycjs._)(tasks.slice(0, index)).concat((0, $8uLkp$swchelperscjs_to_consumable_arraycjs._)(tasks.slice(index + 1)));\n return [\n 2\n ];\n }\n });\n });\n }\n }\n ], [\n {\n key: \"createTask\",\n value: function createTask(path, name) {\n var _path_split = (0, $8uLkp$swchelperscjs_sliced_to_arraycjs._)(path.split(\":\"), 1), protocol = _path_split[0];\n var ProtocolTask = _a.protocolMap[protocol];\n if (!ProtocolTask) throw new URIError('Protocol \"'.concat(protocol, ' has not been registered\"'));\n return new ProtocolTask(path, name);\n }\n }\n ]);\n return Downloader;\n }(), _Downloader_tasks_accessor_storage = new WeakMap(), function() {\n var _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(null) : void 0;\n _tasks_decorators = [\n (0, $8uLkp$mobxrestful.persist)({\n set: function(tasks) {\n return tasks.map(function(param) {\n var name = param.name, path = param.path;\n return {\n name: name,\n path: path\n };\n });\n },\n get: function(list) {\n return list === null || list === void 0 ? void 0 : list.map(function(param) {\n var name = param.name, path = param.path;\n return $7f6c4ba7e5cc013b$export$ef06e7620d37c296.createTask(path, name);\n });\n }\n }),\n (0, $8uLkp$mobx.observable)\n ];\n _get_unfinishedCount_decorators = [\n (0, $8uLkp$mobx.computed)\n ];\n _get_executingCount_decorators = [\n (0, $8uLkp$mobx.computed)\n ];\n $7f6c4ba7e5cc013b$var$__esDecorate(_a, null, _tasks_decorators, {\n kind: \"accessor\",\n name: \"tasks\",\n static: false,\n private: false,\n access: {\n has: function(obj) {\n return \"tasks\" in obj;\n },\n get: function(obj) {\n return obj.tasks;\n },\n set: function(obj, value) {\n obj.tasks = value;\n }\n },\n metadata: _metadata\n }, _tasks_initializers, _tasks_extraInitializers);\n $7f6c4ba7e5cc013b$var$__esDecorate(_a, null, _get_unfinishedCount_decorators, {\n kind: \"getter\",\n name: \"unfinishedCount\",\n static: false,\n private: false,\n access: {\n has: function(obj) {\n return \"unfinishedCount\" in obj;\n },\n get: function(obj) {\n return obj.unfinishedCount;\n }\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $7f6c4ba7e5cc013b$var$__esDecorate(_a, null, _get_executingCount_decorators, {\n kind: \"getter\",\n name: \"executingCount\",\n static: false,\n private: false,\n access: {\n has: function(obj) {\n return \"executingCount\" in obj;\n },\n get: function(obj) {\n return obj.executingCount;\n }\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n if (_metadata) Object.defineProperty(_a, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n }(), Object.defineProperty(_a, \"protocolMap\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {\n http: (0, $4cfe9f2b4fce97c3$export$54a5aef4e85ae85),\n https: (0, $4cfe9f2b4fce97c3$export$54a5aef4e85ae85)\n }\n }), _a;\n}();\n$parcel$exportWildcard(module.exports, $4cfe9f2b4fce97c3$exports);\n$parcel$exportWildcard(module.exports, $cbb67161e2147ddb$exports);\n\n\n//# sourceMappingURL=index.js.map\n","import { computed, observable } from 'mobx';\nimport { persist, restore } from 'mobx-restful';\nimport { Constructor } from 'web-utility';\n\nimport { HTTPDownloadTask } from './HTTP';\nimport { DownloadTask } from './Task';\n\nexport * from './HTTP';\nexport * from './Task';\n\nexport class Downloader {\n static protocolMap: Record<string, Constructor<DownloadTask>> = {\n http: HTTPDownloadTask,\n https: HTTPDownloadTask\n };\n\n static createTask(path: string, name?: string) {\n const [protocol] = path.split(':');\n const ProtocolTask = Downloader.protocolMap[protocol];\n\n if (!ProtocolTask)\n throw new URIError(\n `Protocol \"${protocol} has not been registered\"`\n );\n return new ProtocolTask(path, name);\n }\n\n constructor() {\n restore(this, 'downloader');\n }\n\n @persist({\n set: tasks => tasks.map(({ name, path }) => ({ name, path })),\n get: list =>\n list?.map(({ name, path }) => Downloader.createTask(path, name))\n })\n @observable\n accessor tasks: DownloadTask[] = [];\n\n @computed\n get unfinishedCount() {\n return this.tasks.filter(({ percent }) => percent < 100).length;\n }\n\n @computed\n get executingCount() {\n return this.tasks.filter(({ executing }) => executing).length;\n }\n\n createTask(path: string, name?: string) {\n const { tasks } = this;\n const sameTask = tasks.find(task => task.path === path);\n\n if (sameTask) return sameTask;\n\n const task = Downloader.createTask(path, name);\n\n this.tasks = [...tasks, task];\n\n return task;\n }\n\n async destroyTask(name: string) {\n const { tasks } = this;\n const index = tasks.findIndex(({ name: N }) => N === name);\n\n if (index < 0) throw new ReferenceError(`${name} isn't found`);\n\n await tasks[index].destroy();\n\n this.tasks = [...tasks.slice(0, index), ...tasks.slice(index + 1)];\n }\n}\n","import { HTTPClient, type DownloadOptions } from 'koajax';\nimport { restore } from 'mobx-restful';\nimport type { FileSystemFileHandle } from 'native-file-system-adapter';\n\nimport { DownloadTask } from './Task';\n\nexport class HTTPDownloadTask extends DownloadTask {\n client: DownloadTask['client'] = new HTTPClient({\n responseType: 'arraybuffer'\n });\n\n constructor(path: string, name?: string) {\n super(path, name);\n\n this.id = `http-download-task-${this.name}`;\n\n restore(this, this.id);\n }\n\n async *loadStream(options?: DownloadOptions) {\n const { path } = this;\n const suggestedName = DownloadTask.nameOf(path);\n\n this.fsHandle ||= await (\n await import('native-file-system-adapter')\n ).showSaveFilePicker({ suggestedName });\n\n const writer = await (\n this.fsHandle as FileSystemFileHandle\n ).createWritable({\n keepExistingData: true\n }),\n stream = this.client.download(path, {\n range: [this.loaded],\n ...options\n });\n\n try {\n this.executing = true;\n\n for await (const chunk of stream) {\n await writer.write({\n type: 'write',\n position: this.loaded,\n data: chunk.buffer\n });\n\n yield this.saveMeta(chunk);\n\n if (!this.executing) break;\n }\n } finally {\n await writer.close();\n\n this.executing = false;\n }\n }\n}\n","import { Context, DownloadOptions, HTTPClient, TransferProgress } from 'koajax';\nimport { computed, observable } from 'mobx';\nimport { destroy, persist } from 'mobx-restful';\nimport type { FileSystemHandle } from 'native-file-system-adapter';\nimport type { ReadableStream } from 'web-streams-polyfill';\nimport { ByteSize } from 'web-utility';\n\nexport abstract class DownloadTask implements Partial<TransferProgress> {\n abstract client: Pick<HTTPClient<Context>, 'download'>;\n\n @persist()\n @observable\n accessor id = '';\n\n @persist()\n @observable\n accessor name = '';\n\n @persist()\n @observable\n accessor path = '';\n\n @persist()\n @observable.ref\n accessor fsHandle: FileSystemHandle | undefined;\n\n @persist()\n @observable\n accessor total = 0;\n\n @persist()\n @observable\n accessor loaded = 0;\n\n @persist()\n @observable\n accessor percent = 0;\n\n @observable\n accessor executing = false;\n\n @persist()\n @observable\n accessor options: DownloadOptions | undefined;\n\n stream?: ReadableStream<Partial<TransferProgress>>;\n\n @computed\n get totalSize() {\n return new ByteSize(this.total);\n }\n\n @computed\n get loadedSize() {\n return new ByteSize(this.loaded);\n }\n\n static nameOf(URI: string) {\n return decodeURI(\n new URL(URI).pathname.split('/').filter(Boolean).at(-1)\n );\n }\n\n constructor(path: string, name = DownloadTask.nameOf(path)) {\n this.path = path;\n this.name = name;\n }\n\n toJSON() {\n const { id, name, path, fsHandle, total, loaded, percent, options } =\n this;\n\n return {\n ...{ id, name, path, fsHandle, options },\n ...{ total, loaded, percent }\n };\n }\n\n saveMeta(data: Partial<TransferProgress> = {}) {\n const { buffer, ...progress } = data;\n\n Object.assign(this, progress);\n\n return data;\n }\n\n abstract loadStream(\n options?: DownloadOptions\n ): AsyncGenerator<Partial<TransferProgress>>;\n\n async start(options = this.options) {\n this.options = options;\n\n const started = Promise.withResolvers<void>();\n\n const [innerStream, outerStream] = (\n await import('web-streams-polyfill')\n ).ReadableStream.from<Partial<TransferProgress>>(\n this.loadStream(options)\n ).tee();\n\n (async () => {\n try {\n for await (const chunk of innerStream) {\n started.resolve();\n console.table(chunk);\n }\n } catch (error) {\n started.reject(error);\n }\n })();\n\n await started.promise;\n\n return (this.stream = outerStream);\n }\n\n async pause() {\n this.executing = false;\n }\n\n async destroy() {\n await this.pause();\n\n return destroy(this, this.id);\n }\n}\n"],"names":["_a","_DownloadTask_id_accessor_storage","_DownloadTask_name_accessor_storage","_DownloadTask_path_accessor_storage","_DownloadTask_fsHandle_accessor_storage","_DownloadTask_total_accessor_storage","_DownloadTask_loaded_accessor_storage","_DownloadTask_percent_accessor_storage","_DownloadTask_executing_accessor_storage","_DownloadTask_options_accessor_storage","_b","_id_decorators","_name_decorators","_path_decorators","_fsHandle_decorators","_total_decorators","_loaded_decorators","_percent_decorators","_executing_decorators","_options_decorators","_get_totalSize_decorators","_get_loadedSize_decorators","_instanceExtraInitializers","_id_initializers","_id_extraInitializers","_name_initializers","_name_extraInitializers","_path_initializers","_path_extraInitializers","_fsHandle_initializers","_fsHandle_extraInitializers","_total_initializers","_total_extraInitializers","_loaded_initializers","_loaded_extraInitializers","_percent_initializers","_percent_extraInitializers","_executing_initializers","_executing_extraInitializers","_options_initializers","_options_extraInitializers","_metadata","_Downloader_tasks_accessor_storage","_tasks_decorators","_get_unfinishedCount_decorators","_get_executingCount_decorators","_tasks_initializers","_tasks_extraInitializers","$8uLkp$swchelperscjs_class_call_checkcjs","require","$8uLkp$swchelperscjs_create_classcjs","$8uLkp$swchelperscjs_sliced_to_arraycjs","$8uLkp$swchelperscjs_to_consumable_arraycjs","$8uLkp$swchelperscjs_ts_generatorcjs","$8uLkp$mobx","$8uLkp$mobxrestful","$8uLkp$swchelperscjs_assert_this_initializedcjs","$8uLkp$swchelperscjs_inheritscjs","$8uLkp$swchelperscjs_create_supercjs","$8uLkp$koajax","$8uLkp$nativefilesystemadapter","$8uLkp$webutility","$8uLkp$webstreamspolyfill","$parcel$exportWildcard","dest","source","Object","keys","forEach","key","prototype","hasOwnProperty","call","defineProperty","enumerable","get","$parcel$export","e","n","v","s","set","configurable","module","exports","$7f6c4ba7e5cc013b$export$ef06e7620d37c296","$4cfe9f2b4fce97c3$exports","$4cfe9f2b4fce97c3$export$54a5aef4e85ae85","$cbb67161e2147ddb$exports","$cbb67161e2147ddb$export$e9ba70c733fe1cb8","$cbb67161e2147ddb$var$__runInitializers","thisArg","initializers","value","useValue","arguments","length","i","$cbb67161e2147ddb$var$__esDecorate","ctor","descriptorIn","decorators","contextIn","extraInitializers","accept","f","TypeError","_","kind","target","descriptor","getOwnPropertyDescriptor","name","done","context","p","access","addInitializer","push","result","init","unshift","$cbb67161e2147ddb$var$__awaiter","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","adopt","then","apply","$cbb67161e2147ddb$var$__classPrivateFieldGet","receiver","state","has","$cbb67161e2147ddb$var$__classPrivateFieldSet","$cbb67161e2147ddb$var$__rest","t","indexOf","getOwnPropertySymbols","propertyIsEnumerable","$cbb67161e2147ddb$var$__asyncValues","o","Symbol","asyncIterator","m","__values","iterator","verb","d","DownloadTask","path","nameOf","writable","ByteSize","total","loaded","id","_this","fsHandle","percent","assign","options","data","buffer","started","_ReadableStream_from_tee","innerStream","outerStream","_state","label","withResolvers","sent","ReadableStream","from","loadStream","tee","e_1","_c","_d","_e","innerStream_1","innerStream_1_1","chunk","error","trys","console","table","return","promise","stream","executing","pause","destroy","URI","decodeURI","URL","pathname","split","filter","Boolean","at","WeakMap","metadata","create","persist","observable","ref","bind","computed","static","private","obj","totalSize","loadedSize","$4cfe9f2b4fce97c3$var$__await","$4cfe9f2b4fce97c3$var$__asyncValues","$4cfe9f2b4fce97c3$var$__asyncGenerator","g","q","AsyncIterator","a","b","resume","r","fulfill","settle","shift","DownloadTask1","HTTPDownloadTask","_super","HTTPClient","responseType","concat","restore","suggestedName","writer","stream_1","stream_1_1","showSaveFilePicker","createWritable","keepExistingData","client","download","range","write","type","position","saveMeta","close","$7f6c4ba7e5cc013b$var$__runInitializers","$7f6c4ba7e5cc013b$var$__esDecorate","$7f6c4ba7e5cc013b$var$__classPrivateFieldGet","$7f6c4ba7e5cc013b$var$__classPrivateFieldSet","Downloader","tasks","param","sameTask","find","task","createTask","index","findIndex","N","ReferenceError","slice","protocol","_path_split","ProtocolTask","protocolMap","URIError","map","list","unfinishedCount","executingCount","http","https"],"version":3,"file":"index.js.map"}
|
|
1
|
+
{"mappings":"A,I,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,Q,0C,E,Q,sC,E,Q,yC,G,Q,6C,G,Q,iC,G,Q,sC,G,Q,Q,G,Q,gB,G,Q,oC,G,Q,kC,G,Q,U,G,Q,8B,G,Q,e,G,Q,wB,S,G,C,C,C,E,O,O,I,C,G,O,C,S,C,G,C,A,Y,G,A,e,G,O,S,C,c,C,I,C,E,E,G,O,c,C,E,E,C,W,C,E,I,W,O,C,C,E,A,C,E,G,C,C,S,G,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,G,O,O,C,a,W,O,E,G,I,G,C,E,G,G,mB,W,O,E,G,I,G,C,E,G,G,e,W,O,E,G,I,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,C,A,K,I,E,Y,A,C,E,G,C,A,E,E,I,S,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,C,C,E,O,G,C,G,C,E,O,C,E,S,C,C,C,E,S,E,C,E,G,C,E,E,I,C,G,C,M,E,C,E,E,C,C,S,E,C,E,G,C,E,E,K,C,G,C,M,E,C,E,E,C,C,S,E,C,M,C,C,E,I,C,E,E,K,E,A,C,C,E,E,K,Y,E,E,I,E,S,C,E,E,E,E,E,I,C,E,E,C,E,A,C,E,E,K,C,E,G,E,C,E,I,G,E,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,E,G,S,C,C,C,E,I,E,C,E,I,I,K,E,O,S,C,c,C,I,C,E,I,A,E,E,O,C,I,C,C,C,E,C,C,C,E,A,E,G,A,M,G,A,Y,O,O,qB,C,I,I,E,E,E,O,qB,C,G,E,E,M,C,I,E,E,O,C,C,C,E,G,O,S,C,oB,C,I,C,E,C,C,E,G,C,C,C,C,C,E,C,C,C,C,C,C,E,C,A,E,O,C,E,G,S,C,E,G,C,O,a,C,M,A,U,wC,I,E,E,C,C,O,a,C,C,O,E,E,I,C,G,C,E,A,Y,O,S,S,G,C,C,O,Q,C,G,E,C,E,E,Q,E,S,E,U,C,C,O,a,C,C,W,O,I,A,E,C,E,S,E,C,E,C,C,E,C,C,C,E,E,S,C,E,O,I,Q,S,C,C,C,G,A,S,C,C,C,C,C,C,C,E,Q,O,C,G,I,C,S,C,E,E,C,M,E,K,C,E,E,E,E,E,E,A,C,E,C,C,E,C,E,E,I,C,E,K,C,E,C,C,EGOsB,I,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,CAAA,EAAA,WAAA,SAAA,EAwDN,CAAY,EAAE,IAAA,EAAA,UAAA,MAAA,CAAA,GAAA,AAAA,KAAA,IAAA,SAAA,CAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAO,EAAa,MAAM,CAAC,GAxDnC,AAAA,CAAA,EAAA,EAAA,CAAA,AAAA,EAAA,IAAA,CAAA,GAKT,EAAA,GAAA,CAAA,IAAA,CALS,CAAA,GAAA,IAA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E,G,A,M,E,O,E,C,M,E,I,E,E,C,E,G,A,M,E,G,E,I,C,I,C,C,G,G,G,E,C,C,C,G,C,G,C,E,E,M,A,C,E,M,C,E,E,C,M,C,E,E,I,C,G,A,M,E,E,I,G,E,K,C,C,M,E,M,C,E,G,A,M,G,G,E,M,E,K,C,M,C,E,A,M,G,M,C,E,A,M,G,M,C,E,G,A,M,G,OAIhC,EAAA,EAAA,IAAA,GACL,EAAQ,MAAM,CAAC,G,C,E,G,A,M,G,M,C,E,A,C,EAEvB,GAEA,C,EAAM,EAAQ,OAAO,C,A,M,EAErB,OAFA,EAAA,IAAA,GAEA,C,EAAQ,IAAI,CAAC,MAAM,CAAG,E,A,C,EAC1B,EAAC,C,E,CAEK,IAAA,QAAA,MAAA,W,O,G,I,C,K,E,K,E,W,M,A,C,E,G,C,A,E,I,C,S,C,E,OACF,IAAI,CAAC,SAAS,CAAG,CAAA,E,C,E,A,EACrB,EAAC,C,E,CAEK,IAAA,UAAA,MAAA,W,O,G,I,C,K,E,K,E,W,M,A,C,E,G,C,A,E,I,C,S,C,E,O,E,K,E,K,EACF,MAAA,C,EAAM,IAAI,CAAC,KAAK,G,A,M,EAEhB,OAFA,EAAA,IAAA,GAEA,C,EAAO,AAAA,CAAA,EAAA,GAAA,OAAA,AAAA,EAAQ,IAAI,CAAE,IAAI,CAAC,EAAE,E,A,C,EAChC,EAAC,C,E,C,C,CApEM,IAAA,SAAP,MAAA,SAAc,CAAW,EACrB,OAAO,UACH,IAAI,IAAI,GAAK,QAAQ,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC,IAE5D,C,E,E,C,I,E,I,Q,E,I,Q,E,I,Q,E,I,Q,E,I,Q,E,I,Q,E,I,Q,E,I,Q,E,I,Q,E,A,Y,O,Q,O,Q,C,O,M,C,M,K,EAnDC,EAAA,CAAA,AAAA,CAAA,EAAA,GAAA,OAAA,AAAA,IACA,GAAA,UAAA,CADA,CAIA,EAAA,CAAA,AAAA,CAAA,EAAA,GAAA,OAAA,AAAA,IACA,GAAA,UAAA,CADA,CAIA,EAAA,CAAA,AAAA,CAAA,EAAA,GAAA,OAAA,AAAA,IACA,GAAA,UAAA,CADA,CAIA,EAAA,CAAA,AAAA,CAAA,EAAA,GAAA,OAAA,AAAA,IACA,AAAA,CAAA,EAAA,GAAA,UAAA,EAAW,GAAG,CADd,IAAA,CAAA,GAAA,CAIA,EAAA,CAAA,AAAA,CAAA,EAAA,GAAA,OAAA,AAAA,IACA,GAAA,UAAA,CADA,CAIA,EAAA,CAAA,AAAA,CAAA,EAAA,GAAA,OAAA,AAAA,IACA,GAAA,UAAA,CADA,CAIA,EAAA,CAAA,AAAA,CAAA,EAAA,GAAA,OAAA,AAAA,IACA,GAAA,UAAA,CADA,CAIA,EAAA,CAAA,GAAA,UAAA,CAAA,CAGA,EAAA,CAAA,AAAA,CAAA,EAAA,GAAA,OAAA,AAAA,IACA,GAAA,UAAA,CADA,CAMA,EAAA,CAAA,GAAA,QAAA,CAAA,CAKA,EAAA,CAAA,GAAA,QAAA,CAAA,CAxCD,GAAA,EAAA,KAAA,EAAA,CAAA,KAAA,WAAA,KAAA,KAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,SAAA,CAAA,EAAA,MAAA,OAAA,C,EAAA,IAAA,SAAA,CAAA,EAAA,OAAA,EAAS,EAAE,A,EAAA,IAAA,SAAA,CAAA,CAAA,CAAA,EAAA,EAAF,EAAE,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,EAAA,GAIX,GAAA,EAAA,KAAA,EAAA,CAAA,KAAA,WAAA,KAAA,OAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,SAAA,CAAA,EAAA,MAAA,SAAA,C,EAAA,IAAA,SAAA,CAAA,EAAA,OAAA,EAAS,IAAI,A,EAAA,IAAA,SAAA,CAAA,CAAA,CAAA,EAAA,EAAJ,IAAI,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,EAAA,GAIb,GAAA,EAAA,KAAA,EAAA,CAAA,KAAA,WAAA,KAAA,OAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,SAAA,CAAA,EAAA,MAAA,SAAA,C,EAAA,IAAA,SAAA,CAAA,EAAA,OAAA,EAAS,IAAI,A,EAAA,IAAA,SAAA,CAAA,CAAA,CAAA,EAAA,EAAJ,IAAI,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,EAAA,GAIb,GAAA,EAAA,KAAA,EAAA,CAAA,KAAA,WAAA,KAAA,WAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,SAAA,CAAA,EAAA,MAAA,aAAA,C,EAAA,IAAA,SAAA,CAAA,EAAA,OAAA,EAAS,QAAQ,A,EAAA,IAAA,SAAA,CAAA,CAAA,CAAA,EAAA,EAAR,QAAQ,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,EAAA,GAIjB,GAAA,EAAA,KAAA,EAAA,CAAA,KAAA,WAAA,KAAA,QAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,SAAA,CAAA,EAAA,MAAA,UAAA,C,EAAA,IAAA,SAAA,CAAA,EAAA,OAAA,EAAS,KAAK,A,EAAA,IAAA,SAAA,CAAA,CAAA,CAAA,EAAA,EAAL,KAAK,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,EAAA,GAId,GAAA,EAAA,KAAA,EAAA,CAAA,KAAA,WAAA,KAAA,SAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,SAAA,CAAA,EAAA,MAAA,WAAA,C,EAAA,IAAA,SAAA,CAAA,EAAA,OAAA,EAAS,MAAM,A,EAAA,IAAA,SAAA,CAAA,CAAA,CAAA,EAAA,EAAN,MAAM,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,EAAA,GAIf,GAAA,EAAA,KAAA,EAAA,CAAA,KAAA,WAAA,KAAA,UAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,SAAA,CAAA,EAAA,MAAA,YAAA,C,EAAA,IAAA,SAAA,CAAA,EAAA,OAAA,EAAS,OAAO,A,EAAA,IAAA,SAAA,CAAA,CAAA,CAAA,EAAA,EAAP,OAAO,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,EAAA,GAGhB,GAAA,EAAA,KAAA,EAAA,CAAA,KAAA,WAAA,KAAA,YAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,SAAA,CAAA,EAAA,MAAA,cAAA,C,EAAA,IAAA,SAAA,CAAA,EAAA,OAAA,EAAS,SAAS,A,EAAA,IAAA,SAAA,CAAA,CAAA,CAAA,EAAA,EAAT,SAAS,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,EAAA,GAIlB,GAAA,EAAA,KAAA,EAAA,CAAA,KAAA,WAAA,KAAA,UAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,SAAA,CAAA,EAAA,MAAA,YAAA,C,EAAA,IAAA,SAAA,CAAA,EAAA,OAAA,EAAS,OAAO,A,EAAA,IAAA,SAAA,CAAA,CAAA,CAAA,EAAA,EAAP,OAAO,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,EAAA,GAKhB,GAAA,EAAA,KAAA,EAAA,CAAA,KAAA,SAAA,KAAA,YAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,SAAA,CAAA,EAAA,MAAA,cAAA,C,EAAA,IAAA,SAAA,CAAA,EAAA,OAAA,EAAI,SAAS,A,CAAA,EAAA,SAAA,CAAA,EAAA,KAAA,GAKb,GAAA,EAAA,KAAA,EAAA,CAAA,KAAA,SAAA,KAAA,aAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,SAAA,CAAA,EAAA,MAAA,eAAA,C,EAAA,IAAA,SAAA,CAAA,EAAA,OAAA,EAAI,UAAU,A,CAAA,EAAA,SAAA,CAAA,EAAA,KAAA,G,G,O,c,C,E,O,Q,C,C,W,C,E,a,C,E,S,C,E,M,C,G,G,G,S,C,E,O,I,Y,G,C,I,C,C,C,E,I,A,E,I,G,E,E,G,S,C,E,G,C,O,a,C,M,A,U,wC,I,E,E,C,C,O,a,C,C,O,E,E,I,C,G,C,E,A,Y,O,S,S,G,C,C,O,Q,C,G,E,C,E,E,Q,E,S,E,U,C,C,O,a,C,C,W,O,I,A,E,C,E,S,E,C,E,C,C,E,C,C,C,E,E,S,C,E,O,I,Q,S,C,C,C,G,A,S,C,C,C,C,C,C,C,E,Q,O,C,G,I,C,S,C,E,E,C,M,E,K,C,E,E,E,E,E,E,A,C,E,C,C,E,C,E,E,I,C,E,K,C,E,C,C,E,G,S,C,C,C,C,C,E,G,C,O,a,C,M,A,U,wC,I,E,E,E,K,C,E,G,E,E,E,E,C,O,E,O,M,C,A,C,A,Y,O,c,c,M,E,S,E,E,Q,E,S,E,S,S,C,E,O,S,C,E,O,Q,O,C,G,I,C,E,E,C,G,C,C,O,a,C,C,W,O,I,A,E,E,S,E,C,C,C,E,C,C,E,G,C,C,E,C,S,C,E,O,I,Q,S,C,C,C,E,E,I,C,C,E,E,E,E,E,G,E,E,E,E,E,G,C,C,C,E,C,E,C,C,E,C,E,C,S,E,C,C,C,E,G,K,C,E,E,C,C,E,C,I,K,Y,G,Q,O,C,E,K,C,C,E,I,C,E,G,E,C,C,E,C,E,C,E,C,M,E,C,E,C,C,E,C,E,C,E,C,C,S,E,C,E,E,O,E,C,S,E,C,E,E,Q,E,C,S,E,C,C,C,E,E,G,E,K,G,A,E,M,E,E,C,C,E,C,E,C,C,C,E,C,E,C,C,ED/CL,GAAP,SAAA,CAAA,EAAO,SAAA,EAKG,CAAY,CAAE,CAAa,M,E,MAL9B,AAAA,CAAA,EAAA,EAAA,CAAA,AAAA,EAAA,IAAA,CAAA,GACT,OAAA,cAAA,CAKI,EAAA,AAAA,CAAA,EAAA,GAAA,CAAA,AAAA,EAAA,IAAA,CANK,EAML,CAAM,EAAM,E,EALhB,SAAA,C,W,C,E,a,C,E,S,C,EAAiC,MAAA,IAAI,GAAA,UAAA,CAAW,CAC5C,aAAc,aACjB,EAAE,GAKC,EAAK,EAAE,CAAG,sBAA+B,MAAA,CAAT,EAAK,IAAI,EAEzC,AAAA,CAAA,EAAA,GAAA,OAAA,AAAA,EAAA,EAAc,EAAK,EAAE,E,C,CAVhB,MAAA,AAAA,CAAA,EAAA,GAAA,CAAA,AAAA,EAAA,EAAA,GAAA,AAAA,CAAA,EAAA,EAAA,CAAA,AAAA,EAAA,EAAA,C,CAaF,IAAA,aAAA,MAAA,SAAW,CAAyB,E,O,G,I,C,U,W,I,E,E,E,EAC/B,EACF,EAAA,EAAA,EAMA,EAKF,EAQ0B,EAAA,EAAM,EAAf,E,M,A,C,E,G,C,A,E,I,C,S,C,E,O,E,K,E,K,EAjBrB,GAHQ,EAAS,IAAI,CAAb,IAAA,CACF,EAAgB,AAAA,GAAa,MAAM,CAAC,GAE1C,IAAI,CAAC,QAAQ,CAAb,MAAA,C,E,E,CACI,OADJ,EAAA,IAAI,CACA,C,EAAA,GAAM,I,A,M,EADQ,MAAA,C,EAAA,GAAA,KAAA,CAAA,KAAA,EAAA,CACd,EAAA,IAAA,GACF,kBAAkB,CAAC,CAAE,cAAA,CAAa,G,E,A,M,EAFpC,EAAK,QAAQ,CAAK,EAAlB,IAAA,G,E,K,C,C,M,EAIe,MAAA,C,EAAA,GACP,IAAI,CAAC,QACR,CAAC,cAAc,CAAC,CACb,iBAAkB,CAAA,CACrB,I,A,M,EAJC,EAAS,EAAA,IAAA,GAKX,EAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAI,OAAA,MAAA,CAAA,CAC9B,MAAA,CAAQ,IAAI,CAAC,MAAM,C,AAAC,EACjB,I,E,K,C,C,M,E,E,I,C,I,C,C,G,G,G,EAIP,IAAI,CAAC,SAAS,CAAG,CAAA,E,E,K,C,C,M,E,E,I,C,I,C,C,E,G,G,G,EAES,EAAA,CAAA,EAAA,EAAA,GAAA,G,E,K,C,C,M,EAAM,MAAA,C,EAAA,GAAA,EAAA,IAAA,I,A,M,EAAA,GAAA,EAAA,AAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,IAAA,CAAA,MAAA,C,E,G,CAC5B,OADsB,EAAA,EAAA,KAAA,CAAA,EAAA,CAAA,EAAT,EAAK,EAClB,C,EAAA,GAAM,EAAO,KAAK,CAAC,CACf,KAAM,QACN,SAAU,IAAI,CAAC,MAAM,CACrB,KAAM,EAAM,MAAM,AACrB,I,A,M,EAED,OANA,EAAA,IAAA,GAMA,C,EAAA,GAAM,IAAI,CAAC,QAAQ,CAAC,I,A,M,GAApB,MAAA,C,EAAA,EAAA,IAAA,G,A,M,GAEA,GAFA,EAAA,IAAA,GAEI,CAAC,IAAI,CAAC,SAAS,CAAE,MAArB,C,E,G,A,C,E,K,C,E,M,G,OAT4B,EAAA,CAAA,E,C,E,E,A,M,G,M,C,E,G,A,M,G,O,E,C,M,E,I,E,E,C,E,G,A,M,G,G,E,I,C,I,C,C,I,G,G,E,C,C,C,G,C,G,C,E,E,M,A,C,E,M,C,E,G,C,M,C,E,G,E,I,C,I,A,M,G,E,I,G,E,K,C,E,M,G,M,C,E,G,A,M,G,G,E,M,E,K,C,M,C,E,A,M,G,M,C,E,A,M,G,M,C,E,G,A,M,GAYhC,MAAA,C,EAAA,GAAM,EAAO,KAAK,I,A,M,G,OAAlB,EAAA,IAAA,GAEA,IAAI,CAAC,SAAS,CAAG,CAAA,E,C,E,A,M,G,M,C,E,A,C,EAEzB,EAAC,C,E,EAlDQ,CAAyB,EAAA,I,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,C,A,K,I,E,Y,A,C,E,G,C,A,E,E,I,S,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,EDIzB,I,E,E,C,E,E,C,E,E,CAAA,EAAA,WAAA,SAAA,IAAA,AAAA,CAAA,EAAA,EAAA,CAAA,AAAA,EAAA,IAAA,CAAA,GA2BA,EAAA,GAAA,CAAA,IAAA,CA3BA,CAAA,GAAA,IAAA,CAAA,GAAU,GAAA,IAAA,CAAA,EA2Bc,EAAE,CAAA,G,G,I,C,GAT/B,AAAA,CAAA,EAAA,GAAA,OAAA,AAAA,EAAQ,IAAI,CAAE,a,C,M,A,C,E,E,C,A,E,E,C,CAST,IAAA,QAAT,IAAA,WAAc,OAAA,GAAA,IAAA,CAAA,EAAA,IAAA,EAAd,IAAA,SAAc,CAAA,EAAA,GAAA,IAAA,CAAA,EAAA,EAAA,IAAA,C,E,CAGV,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","sources":["<anon>","source/index.ts","source/HTTP.ts","source/Task.ts"],"sourcesContent":["var $8uLkp$swchelperscjs_class_call_checkcjs = require(\"@swc/helpers/cjs/_class_call_check.cjs\");\nvar $8uLkp$swchelperscjs_create_classcjs = require(\"@swc/helpers/cjs/_create_class.cjs\");\nvar $8uLkp$swchelperscjs_sliced_to_arraycjs = require(\"@swc/helpers/cjs/_sliced_to_array.cjs\");\nvar $8uLkp$swchelperscjs_to_consumable_arraycjs = require(\"@swc/helpers/cjs/_to_consumable_array.cjs\");\nvar $8uLkp$swchelperscjs_type_ofcjs = require(\"@swc/helpers/cjs/_type_of.cjs\");\nvar $8uLkp$swchelperscjs_ts_generatorcjs = require(\"@swc/helpers/cjs/_ts_generator.cjs\");\nvar $8uLkp$mobx = require(\"mobx\");\nvar $8uLkp$mobxrestful = require(\"mobx-restful\");\nvar $8uLkp$swchelperscjs_call_supercjs = require(\"@swc/helpers/cjs/_call_super.cjs\");\nvar $8uLkp$swchelperscjs_inheritscjs = require(\"@swc/helpers/cjs/_inherits.cjs\");\nvar $8uLkp$koajax = require(\"koajax\");\nvar $8uLkp$nativefilesystemadapter = require(\"native-file-system-adapter\");\nvar $8uLkp$webutility = require(\"web-utility\");\nvar $8uLkp$webstreamspolyfill = require(\"web-streams-polyfill\");\n\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule' || Object.prototype.hasOwnProperty.call(dest, key)) {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n }\n });\n });\n\n return dest;\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n$parcel$export(module.exports, \"Downloader\", function () { return $7f6c4ba7e5cc013b$export$ef06e7620d37c296; });\n\n\n\n\n\n\n\n\nvar $4cfe9f2b4fce97c3$exports = {};\n\n$parcel$export($4cfe9f2b4fce97c3$exports, \"HTTPDownloadTask\", function () { return $4cfe9f2b4fce97c3$export$54a5aef4e85ae85; });\n\n\n\n\n\n\n\nvar $cbb67161e2147ddb$exports = {};\n\n$parcel$export($cbb67161e2147ddb$exports, \"DownloadTask\", function () { return $cbb67161e2147ddb$export$e9ba70c733fe1cb8; });\n\n\n\n\n\n\n\n\nvar $cbb67161e2147ddb$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $cbb67161e2147ddb$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || (typeof result === \"undefined\" ? \"undefined\" : (0, $8uLkp$swchelperscjs_type_ofcjs._)(result)) !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $cbb67161e2147ddb$var$__awaiter = undefined && undefined.__awaiter || function(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar $cbb67161e2147ddb$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $cbb67161e2147ddb$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $cbb67161e2147ddb$var$__rest = undefined && undefined.__rest || function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar $cbb67161e2147ddb$var$__asyncValues = undefined && undefined.__asyncValues || function(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function() {\n return this;\n }, i);\n function verb(n) {\n i[n] = o[n] && function(v) {\n return new Promise(function(resolve, reject) {\n v = o[n](v), settle(resolve, reject, v.done, v.value);\n });\n };\n }\n function settle(resolve, reject, d, v) {\n Promise.resolve(v).then(function(v) {\n resolve({\n value: v,\n done: d\n });\n }, reject);\n }\n};\n\nvar $cbb67161e2147ddb$export$e9ba70c733fe1cb8 = function() {\n var _a, _DownloadTask_id_accessor_storage, _DownloadTask_name_accessor_storage, _DownloadTask_path_accessor_storage, _DownloadTask_fsHandle_accessor_storage, _DownloadTask_total_accessor_storage, _DownloadTask_loaded_accessor_storage, _DownloadTask_percent_accessor_storage, _DownloadTask_executing_accessor_storage, _DownloadTask_options_accessor_storage;\n var _b;\n var _instanceExtraInitializers = [];\n var _id_decorators;\n var _id_initializers = [];\n var _id_extraInitializers = [];\n var _name_decorators;\n var _name_initializers = [];\n var _name_extraInitializers = [];\n var _path_decorators;\n var _path_initializers = [];\n var _path_extraInitializers = [];\n var _fsHandle_decorators;\n var _fsHandle_initializers = [];\n var _fsHandle_extraInitializers = [];\n var _total_decorators;\n var _total_initializers = [];\n var _total_extraInitializers = [];\n var _loaded_decorators;\n var _loaded_initializers = [];\n var _loaded_extraInitializers = [];\n var _percent_decorators;\n var _percent_initializers = [];\n var _percent_extraInitializers = [];\n var _executing_decorators;\n var _executing_initializers = [];\n var _executing_extraInitializers = [];\n var _options_decorators;\n var _options_initializers = [];\n var _options_extraInitializers = [];\n var _get_totalSize_decorators;\n var _get_loadedSize_decorators;\n return _a = /*#__PURE__*/ function() {\n \"use strict\";\n function DownloadTask(path) {\n var name = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : _a.nameOf(path);\n (0, $8uLkp$swchelperscjs_class_call_checkcjs._)(this, DownloadTask);\n _DownloadTask_id_accessor_storage.set(this, ($cbb67161e2147ddb$var$__runInitializers(this, _instanceExtraInitializers), $cbb67161e2147ddb$var$__runInitializers(this, _id_initializers, '')));\n _DownloadTask_name_accessor_storage.set(this, ($cbb67161e2147ddb$var$__runInitializers(this, _id_extraInitializers), $cbb67161e2147ddb$var$__runInitializers(this, _name_initializers, '')));\n _DownloadTask_path_accessor_storage.set(this, ($cbb67161e2147ddb$var$__runInitializers(this, _name_extraInitializers), $cbb67161e2147ddb$var$__runInitializers(this, _path_initializers, '')));\n _DownloadTask_fsHandle_accessor_storage.set(this, ($cbb67161e2147ddb$var$__runInitializers(this, _path_extraInitializers), $cbb67161e2147ddb$var$__runInitializers(this, _fsHandle_initializers, void 0)));\n _DownloadTask_total_accessor_storage.set(this, ($cbb67161e2147ddb$var$__runInitializers(this, _fsHandle_extraInitializers), $cbb67161e2147ddb$var$__runInitializers(this, _total_initializers, 0)));\n _DownloadTask_loaded_accessor_storage.set(this, ($cbb67161e2147ddb$var$__runInitializers(this, _total_extraInitializers), $cbb67161e2147ddb$var$__runInitializers(this, _loaded_initializers, 0)));\n _DownloadTask_percent_accessor_storage.set(this, ($cbb67161e2147ddb$var$__runInitializers(this, _loaded_extraInitializers), $cbb67161e2147ddb$var$__runInitializers(this, _percent_initializers, 0)));\n _DownloadTask_executing_accessor_storage.set(this, ($cbb67161e2147ddb$var$__runInitializers(this, _percent_extraInitializers), $cbb67161e2147ddb$var$__runInitializers(this, _executing_initializers, false)));\n _DownloadTask_options_accessor_storage.set(this, ($cbb67161e2147ddb$var$__runInitializers(this, _executing_extraInitializers), $cbb67161e2147ddb$var$__runInitializers(this, _options_initializers, void 0)));\n Object.defineProperty(this, \"stream\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: $cbb67161e2147ddb$var$__runInitializers(this, _options_extraInitializers)\n });\n this.path = path;\n this.name = name;\n }\n (0, $8uLkp$swchelperscjs_create_classcjs._)(DownloadTask, [\n {\n key: \"id\",\n get: function get() {\n return $cbb67161e2147ddb$var$__classPrivateFieldGet(this, _DownloadTask_id_accessor_storage, \"f\");\n },\n set: function set(value) {\n $cbb67161e2147ddb$var$__classPrivateFieldSet(this, _DownloadTask_id_accessor_storage, value, \"f\");\n }\n },\n {\n key: \"name\",\n get: function get() {\n return $cbb67161e2147ddb$var$__classPrivateFieldGet(this, _DownloadTask_name_accessor_storage, \"f\");\n },\n set: function set(value) {\n $cbb67161e2147ddb$var$__classPrivateFieldSet(this, _DownloadTask_name_accessor_storage, value, \"f\");\n }\n },\n {\n key: \"path\",\n get: function get() {\n return $cbb67161e2147ddb$var$__classPrivateFieldGet(this, _DownloadTask_path_accessor_storage, \"f\");\n },\n set: function set(value) {\n $cbb67161e2147ddb$var$__classPrivateFieldSet(this, _DownloadTask_path_accessor_storage, value, \"f\");\n }\n },\n {\n key: \"fsHandle\",\n get: function get() {\n return $cbb67161e2147ddb$var$__classPrivateFieldGet(this, _DownloadTask_fsHandle_accessor_storage, \"f\");\n },\n set: function set(value) {\n $cbb67161e2147ddb$var$__classPrivateFieldSet(this, _DownloadTask_fsHandle_accessor_storage, value, \"f\");\n }\n },\n {\n key: \"total\",\n get: function get() {\n return $cbb67161e2147ddb$var$__classPrivateFieldGet(this, _DownloadTask_total_accessor_storage, \"f\");\n },\n set: function set(value) {\n $cbb67161e2147ddb$var$__classPrivateFieldSet(this, _DownloadTask_total_accessor_storage, value, \"f\");\n }\n },\n {\n key: \"loaded\",\n get: function get() {\n return $cbb67161e2147ddb$var$__classPrivateFieldGet(this, _DownloadTask_loaded_accessor_storage, \"f\");\n },\n set: function set(value) {\n $cbb67161e2147ddb$var$__classPrivateFieldSet(this, _DownloadTask_loaded_accessor_storage, value, \"f\");\n }\n },\n {\n key: \"percent\",\n get: function get() {\n return $cbb67161e2147ddb$var$__classPrivateFieldGet(this, _DownloadTask_percent_accessor_storage, \"f\");\n },\n set: function set(value) {\n $cbb67161e2147ddb$var$__classPrivateFieldSet(this, _DownloadTask_percent_accessor_storage, value, \"f\");\n }\n },\n {\n key: \"executing\",\n get: function get() {\n return $cbb67161e2147ddb$var$__classPrivateFieldGet(this, _DownloadTask_executing_accessor_storage, \"f\");\n },\n set: function set(value) {\n $cbb67161e2147ddb$var$__classPrivateFieldSet(this, _DownloadTask_executing_accessor_storage, value, \"f\");\n }\n },\n {\n key: \"options\",\n get: function get() {\n return $cbb67161e2147ddb$var$__classPrivateFieldGet(this, _DownloadTask_options_accessor_storage, \"f\");\n },\n set: function set(value) {\n $cbb67161e2147ddb$var$__classPrivateFieldSet(this, _DownloadTask_options_accessor_storage, value, \"f\");\n }\n },\n {\n key: \"totalSize\",\n get: function get() {\n return new (0, $8uLkp$webutility.ByteSize)(this.total);\n }\n },\n {\n key: \"loadedSize\",\n get: function get() {\n return new (0, $8uLkp$webutility.ByteSize)(this.loaded);\n }\n },\n {\n key: \"toJSON\",\n value: function toJSON() {\n var _this = this, id = _this.id, name = _this.name, path = _this.path, fsHandle = _this.fsHandle, total = _this.total, loaded = _this.loaded, percent = _this.percent, options = _this.options;\n return Object.assign({\n id: id,\n name: name,\n path: path,\n fsHandle: fsHandle,\n options: options\n }, {\n total: total,\n loaded: loaded,\n percent: percent\n });\n }\n },\n {\n key: \"saveMeta\",\n value: function saveMeta() {\n var data = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n var buffer = data.buffer, progress = $cbb67161e2147ddb$var$__rest(data, [\n \"buffer\"\n ]);\n Object.assign(this, progress);\n return data;\n }\n },\n {\n key: \"start\",\n value: function start() {\n return $cbb67161e2147ddb$var$__awaiter(this, arguments, void 0, function() {\n var _this, options, started, _ReadableStream_from_tee, innerStream, outerStream;\n var _arguments = arguments;\n return (0, $8uLkp$swchelperscjs_ts_generatorcjs._)(this, function(_state) {\n switch(_state.label){\n case 0:\n _this = this;\n options = _arguments.length > 0 && _arguments[0] !== void 0 ? _arguments[0] : this.options;\n this.options = options;\n started = Promise.withResolvers();\n return [\n 4,\n $8uLkp$webstreamspolyfill\n ];\n case 1:\n _ReadableStream_from_tee = (0, $8uLkp$swchelperscjs_sliced_to_arraycjs._).apply(void 0, [\n _state.sent().ReadableStream.from(this.loadStream(options)).tee(),\n 2\n ]), innerStream = _ReadableStream_from_tee[0], outerStream = _ReadableStream_from_tee[1];\n (function() {\n return $cbb67161e2147ddb$var$__awaiter(_this, void 0, void 0, function() {\n var _b, e_1, _c, _d, _e, innerStream_1, innerStream_1_1, chunk, e_1_1, error;\n return (0, $8uLkp$swchelperscjs_ts_generatorcjs._)(this, function(_state) {\n switch(_state.label){\n case 0:\n _state.trys.push([\n 0,\n 13,\n ,\n 14\n ]);\n _state.label = 1;\n case 1:\n _state.trys.push([\n 1,\n 6,\n 7,\n 12\n ]);\n _e = true, innerStream_1 = $cbb67161e2147ddb$var$__asyncValues(innerStream);\n _state.label = 2;\n case 2:\n return [\n 4,\n innerStream_1.next()\n ];\n case 3:\n if (!(innerStream_1_1 = _state.sent(), _b = innerStream_1_1.done, !_b)) return [\n 3,\n 5\n ];\n _d = innerStream_1_1.value;\n _e = false;\n chunk = _d;\n started.resolve();\n console.table(chunk);\n _state.label = 4;\n case 4:\n _e = true;\n return [\n 3,\n 2\n ];\n case 5:\n return [\n 3,\n 12\n ];\n case 6:\n e_1_1 = _state.sent();\n e_1 = {\n error: e_1_1\n };\n return [\n 3,\n 12\n ];\n case 7:\n _state.trys.push([\n 7,\n ,\n 10,\n 11\n ]);\n if (!(!_e && !_b && (_c = innerStream_1.return))) return [\n 3,\n 9\n ];\n return [\n 4,\n _c.call(innerStream_1)\n ];\n case 8:\n _state.sent();\n _state.label = 9;\n case 9:\n return [\n 3,\n 11\n ];\n case 10:\n if (e_1) throw e_1.error;\n return [\n 7\n ];\n case 11:\n return [\n 7\n ];\n case 12:\n return [\n 3,\n 14\n ];\n case 13:\n error = _state.sent();\n started.reject(error);\n return [\n 3,\n 14\n ];\n case 14:\n return [\n 2\n ];\n }\n });\n });\n })();\n return [\n 4,\n started.promise\n ];\n case 2:\n _state.sent();\n return [\n 2,\n this.stream = outerStream\n ];\n }\n });\n });\n }\n },\n {\n key: \"pause\",\n value: function pause() {\n return $cbb67161e2147ddb$var$__awaiter(this, void 0, void 0, function() {\n return (0, $8uLkp$swchelperscjs_ts_generatorcjs._)(this, function(_state) {\n this.executing = false;\n return [\n 2\n ];\n });\n });\n }\n },\n {\n key: \"destroy\",\n value: function destroy1() {\n return $cbb67161e2147ddb$var$__awaiter(this, void 0, void 0, function() {\n return (0, $8uLkp$swchelperscjs_ts_generatorcjs._)(this, function(_state) {\n switch(_state.label){\n case 0:\n return [\n 4,\n this.pause()\n ];\n case 1:\n _state.sent();\n return [\n 2,\n (0, $8uLkp$mobxrestful.destroy)(this, this.id)\n ];\n }\n });\n });\n }\n }\n ], [\n {\n key: \"nameOf\",\n value: function nameOf(URI) {\n return decodeURI(new URL(URI).pathname.split('/').filter(Boolean).at(-1));\n }\n }\n ]);\n return DownloadTask;\n }(), _DownloadTask_id_accessor_storage = new WeakMap(), _DownloadTask_name_accessor_storage = new WeakMap(), _DownloadTask_path_accessor_storage = new WeakMap(), _DownloadTask_fsHandle_accessor_storage = new WeakMap(), _DownloadTask_total_accessor_storage = new WeakMap(), _DownloadTask_loaded_accessor_storage = new WeakMap(), _DownloadTask_percent_accessor_storage = new WeakMap(), _DownloadTask_executing_accessor_storage = new WeakMap(), _DownloadTask_options_accessor_storage = new WeakMap(), function() {\n var _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(null) : void 0;\n _id_decorators = [\n (0, $8uLkp$mobxrestful.persist)(),\n (0, $8uLkp$mobx.observable)\n ];\n _name_decorators = [\n (0, $8uLkp$mobxrestful.persist)(),\n (0, $8uLkp$mobx.observable)\n ];\n _path_decorators = [\n (0, $8uLkp$mobxrestful.persist)(),\n (0, $8uLkp$mobx.observable)\n ];\n _fsHandle_decorators = [\n (0, $8uLkp$mobxrestful.persist)(),\n (_b = (0, $8uLkp$mobx.observable)).ref.bind(_b)\n ];\n _total_decorators = [\n (0, $8uLkp$mobxrestful.persist)(),\n (0, $8uLkp$mobx.observable)\n ];\n _loaded_decorators = [\n (0, $8uLkp$mobxrestful.persist)(),\n (0, $8uLkp$mobx.observable)\n ];\n _percent_decorators = [\n (0, $8uLkp$mobxrestful.persist)(),\n (0, $8uLkp$mobx.observable)\n ];\n _executing_decorators = [\n (0, $8uLkp$mobx.observable)\n ];\n _options_decorators = [\n (0, $8uLkp$mobxrestful.persist)(),\n (0, $8uLkp$mobx.observable)\n ];\n _get_totalSize_decorators = [\n (0, $8uLkp$mobx.computed)\n ];\n _get_loadedSize_decorators = [\n (0, $8uLkp$mobx.computed)\n ];\n $cbb67161e2147ddb$var$__esDecorate(_a, null, _id_decorators, {\n kind: \"accessor\",\n name: \"id\",\n static: false,\n private: false,\n access: {\n has: function(obj) {\n return \"id\" in obj;\n },\n get: function(obj) {\n return obj.id;\n },\n set: function(obj, value) {\n obj.id = value;\n }\n },\n metadata: _metadata\n }, _id_initializers, _id_extraInitializers);\n $cbb67161e2147ddb$var$__esDecorate(_a, null, _name_decorators, {\n kind: \"accessor\",\n name: \"name\",\n static: false,\n private: false,\n access: {\n has: function(obj) {\n return \"name\" in obj;\n },\n get: function(obj) {\n return obj.name;\n },\n set: function(obj, value) {\n obj.name = value;\n }\n },\n metadata: _metadata\n }, _name_initializers, _name_extraInitializers);\n $cbb67161e2147ddb$var$__esDecorate(_a, null, _path_decorators, {\n kind: \"accessor\",\n name: \"path\",\n static: false,\n private: false,\n access: {\n has: function(obj) {\n return \"path\" in obj;\n },\n get: function(obj) {\n return obj.path;\n },\n set: function(obj, value) {\n obj.path = value;\n }\n },\n metadata: _metadata\n }, _path_initializers, _path_extraInitializers);\n $cbb67161e2147ddb$var$__esDecorate(_a, null, _fsHandle_decorators, {\n kind: \"accessor\",\n name: \"fsHandle\",\n static: false,\n private: false,\n access: {\n has: function(obj) {\n return \"fsHandle\" in obj;\n },\n get: function(obj) {\n return obj.fsHandle;\n },\n set: function(obj, value) {\n obj.fsHandle = value;\n }\n },\n metadata: _metadata\n }, _fsHandle_initializers, _fsHandle_extraInitializers);\n $cbb67161e2147ddb$var$__esDecorate(_a, null, _total_decorators, {\n kind: \"accessor\",\n name: \"total\",\n static: false,\n private: false,\n access: {\n has: function(obj) {\n return \"total\" in obj;\n },\n get: function(obj) {\n return obj.total;\n },\n set: function(obj, value) {\n obj.total = value;\n }\n },\n metadata: _metadata\n }, _total_initializers, _total_extraInitializers);\n $cbb67161e2147ddb$var$__esDecorate(_a, null, _loaded_decorators, {\n kind: \"accessor\",\n name: \"loaded\",\n static: false,\n private: false,\n access: {\n has: function(obj) {\n return \"loaded\" in obj;\n },\n get: function(obj) {\n return obj.loaded;\n },\n set: function(obj, value) {\n obj.loaded = value;\n }\n },\n metadata: _metadata\n }, _loaded_initializers, _loaded_extraInitializers);\n $cbb67161e2147ddb$var$__esDecorate(_a, null, _percent_decorators, {\n kind: \"accessor\",\n name: \"percent\",\n static: false,\n private: false,\n access: {\n has: function(obj) {\n return \"percent\" in obj;\n },\n get: function(obj) {\n return obj.percent;\n },\n set: function(obj, value) {\n obj.percent = value;\n }\n },\n metadata: _metadata\n }, _percent_initializers, _percent_extraInitializers);\n $cbb67161e2147ddb$var$__esDecorate(_a, null, _executing_decorators, {\n kind: \"accessor\",\n name: \"executing\",\n static: false,\n private: false,\n access: {\n has: function(obj) {\n return \"executing\" in obj;\n },\n get: function(obj) {\n return obj.executing;\n },\n set: function(obj, value) {\n obj.executing = value;\n }\n },\n metadata: _metadata\n }, _executing_initializers, _executing_extraInitializers);\n $cbb67161e2147ddb$var$__esDecorate(_a, null, _options_decorators, {\n kind: \"accessor\",\n name: \"options\",\n static: false,\n private: false,\n access: {\n has: function(obj) {\n return \"options\" in obj;\n },\n get: function(obj) {\n return obj.options;\n },\n set: function(obj, value) {\n obj.options = value;\n }\n },\n metadata: _metadata\n }, _options_initializers, _options_extraInitializers);\n $cbb67161e2147ddb$var$__esDecorate(_a, null, _get_totalSize_decorators, {\n kind: \"getter\",\n name: \"totalSize\",\n static: false,\n private: false,\n access: {\n has: function(obj) {\n return \"totalSize\" in obj;\n },\n get: function(obj) {\n return obj.totalSize;\n }\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $cbb67161e2147ddb$var$__esDecorate(_a, null, _get_loadedSize_decorators, {\n kind: \"getter\",\n name: \"loadedSize\",\n static: false,\n private: false,\n access: {\n has: function(obj) {\n return \"loadedSize\" in obj;\n },\n get: function(obj) {\n return obj.loadedSize;\n }\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n if (_metadata) Object.defineProperty(_a, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n }(), _a;\n}();\n\n\nvar $4cfe9f2b4fce97c3$var$__await = undefined && undefined.__await || function(v) {\n return this instanceof $4cfe9f2b4fce97c3$var$__await ? (this.v = v, this) : new $4cfe9f2b4fce97c3$var$__await(v);\n};\nvar $4cfe9f2b4fce97c3$var$__asyncValues = undefined && undefined.__asyncValues || function(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function() {\n return this;\n }, i);\n function verb(n) {\n i[n] = o[n] && function(v) {\n return new Promise(function(resolve, reject) {\n v = o[n](v), settle(resolve, reject, v.done, v.value);\n });\n };\n }\n function settle(resolve, reject, d, v) {\n Promise.resolve(v).then(function(v) {\n resolve({\n value: v,\n done: d\n });\n }, reject);\n }\n};\nvar $4cfe9f2b4fce97c3$var$__asyncGenerator = undefined && undefined.__asyncGenerator || function(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function() {\n return this;\n }, i;\n function awaitReturn(f) {\n return function(v) {\n return Promise.resolve(v).then(f, reject);\n };\n }\n function verb(n, f) {\n if (g[n]) {\n i[n] = function(v) {\n return new Promise(function(a, b) {\n q.push([\n n,\n v,\n a,\n b\n ]) > 1 || resume(n, v);\n });\n };\n if (f) i[n] = f(i[n]);\n }\n }\n function resume(n, v) {\n try {\n step(g[n](v));\n } catch (e) {\n settle(q[0][3], e);\n }\n }\n function step(r) {\n r.value instanceof $4cfe9f2b4fce97c3$var$__await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n }\n function fulfill(value) {\n resume(\"next\", value);\n }\n function reject(value) {\n resume(\"throw\", value);\n }\n function settle(f, v) {\n if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n }\n};\n\nvar $4cfe9f2b4fce97c3$export$54a5aef4e85ae85 = /*#__PURE__*/ function(DownloadTask1) {\n \"use strict\";\n (0, $8uLkp$swchelperscjs_inheritscjs._)(HTTPDownloadTask, DownloadTask1);\n function HTTPDownloadTask(path, name) {\n (0, $8uLkp$swchelperscjs_class_call_checkcjs._)(this, HTTPDownloadTask);\n var _this;\n _this = (0, $8uLkp$swchelperscjs_call_supercjs._)(this, HTTPDownloadTask, [\n path,\n name\n ]);\n Object.defineProperty(_this, \"client\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new (0, $8uLkp$koajax.HTTPClient)({\n responseType: 'arraybuffer'\n })\n });\n _this.id = \"http-download-task-\".concat(_this.name);\n (0, $8uLkp$mobxrestful.restore)(_this, _this.id);\n return _this;\n }\n (0, $8uLkp$swchelperscjs_create_classcjs._)(HTTPDownloadTask, [\n {\n key: \"loadStream\",\n value: function loadStream(options) {\n return $4cfe9f2b4fce97c3$var$__asyncGenerator(this, arguments, function loadStream_1() {\n var _a, e_1, _b, _c, path, suggestedName, _tmp, _, writer, stream, _d, stream_1, stream_1_1, chunk, e_1_1;\n return (0, $8uLkp$swchelperscjs_ts_generatorcjs._)(this, function(_state) {\n switch(_state.label){\n case 0:\n path = this.path;\n suggestedName = (0, $cbb67161e2147ddb$export$e9ba70c733fe1cb8).nameOf(path);\n _tmp = this.fsHandle;\n if (_tmp) return [\n 3,\n 3\n ];\n _ = this;\n return [\n 4,\n $4cfe9f2b4fce97c3$var$__await($8uLkp$nativefilesystemadapter)\n ];\n case 1:\n return [\n 4,\n $4cfe9f2b4fce97c3$var$__await.apply(void 0, [\n _state.sent().showSaveFilePicker({\n suggestedName: suggestedName\n })\n ])\n ];\n case 2:\n _tmp = _.fsHandle = _state.sent();\n _state.label = 3;\n case 3:\n _tmp;\n return [\n 4,\n $4cfe9f2b4fce97c3$var$__await(this.fsHandle.createWritable({\n keepExistingData: true\n }))\n ];\n case 4:\n writer = _state.sent(), stream = this.client.download(path, Object.assign({\n range: [\n this.loaded\n ]\n }, options));\n _state.label = 5;\n case 5:\n _state.trys.push([\n 5,\n ,\n 21,\n 23\n ]);\n this.executing = true;\n _state.label = 6;\n case 6:\n _state.trys.push([\n 6,\n 14,\n 15,\n 20\n ]);\n _d = true, stream_1 = $4cfe9f2b4fce97c3$var$__asyncValues(stream);\n _state.label = 7;\n case 7:\n return [\n 4,\n $4cfe9f2b4fce97c3$var$__await(stream_1.next())\n ];\n case 8:\n if (!(stream_1_1 = _state.sent(), _a = stream_1_1.done, !_a)) return [\n 3,\n 13\n ];\n _c = stream_1_1.value;\n _d = false;\n chunk = _c;\n return [\n 4,\n $4cfe9f2b4fce97c3$var$__await(writer.write({\n type: 'write',\n position: this.loaded,\n data: chunk.buffer\n }))\n ];\n case 9:\n _state.sent();\n return [\n 4,\n $4cfe9f2b4fce97c3$var$__await(this.saveMeta(chunk))\n ];\n case 10:\n return [\n 4,\n _state.sent()\n ];\n case 11:\n _state.sent();\n if (!this.executing) return [\n 3,\n 13\n ];\n _state.label = 12;\n case 12:\n _d = true;\n return [\n 3,\n 7\n ];\n case 13:\n return [\n 3,\n 20\n ];\n case 14:\n e_1_1 = _state.sent();\n e_1 = {\n error: e_1_1\n };\n return [\n 3,\n 20\n ];\n case 15:\n _state.trys.push([\n 15,\n ,\n 18,\n 19\n ]);\n if (!(!_d && !_a && (_b = stream_1.return))) return [\n 3,\n 17\n ];\n return [\n 4,\n $4cfe9f2b4fce97c3$var$__await(_b.call(stream_1))\n ];\n case 16:\n _state.sent();\n _state.label = 17;\n case 17:\n return [\n 3,\n 19\n ];\n case 18:\n if (e_1) throw e_1.error;\n return [\n 7\n ];\n case 19:\n return [\n 7\n ];\n case 20:\n return [\n 3,\n 23\n ];\n case 21:\n return [\n 4,\n $4cfe9f2b4fce97c3$var$__await(writer.close())\n ];\n case 22:\n _state.sent();\n this.executing = false;\n return [\n 7\n ];\n case 23:\n return [\n 2\n ];\n }\n });\n });\n }\n }\n ]);\n return HTTPDownloadTask;\n}((0, $cbb67161e2147ddb$export$e9ba70c733fe1cb8));\n\n\n\nvar $7f6c4ba7e5cc013b$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $7f6c4ba7e5cc013b$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || (typeof result === \"undefined\" ? \"undefined\" : (0, $8uLkp$swchelperscjs_type_ofcjs._)(result)) !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $7f6c4ba7e5cc013b$var$__awaiter = undefined && undefined.__awaiter || function(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar $7f6c4ba7e5cc013b$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $7f6c4ba7e5cc013b$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $7f6c4ba7e5cc013b$export$ef06e7620d37c296 = function() {\n var _a, _Downloader_tasks_accessor_storage;\n var _instanceExtraInitializers = [];\n var _tasks_decorators;\n var _tasks_initializers = [];\n var _tasks_extraInitializers = [];\n var _get_unfinishedCount_decorators;\n var _get_executingCount_decorators;\n return _a = /*#__PURE__*/ function() {\n \"use strict\";\n function Downloader() {\n (0, $8uLkp$swchelperscjs_class_call_checkcjs._)(this, Downloader);\n _Downloader_tasks_accessor_storage.set(this, ($7f6c4ba7e5cc013b$var$__runInitializers(this, _instanceExtraInitializers), $7f6c4ba7e5cc013b$var$__runInitializers(this, _tasks_initializers, [])));\n $7f6c4ba7e5cc013b$var$__runInitializers(this, _tasks_extraInitializers);\n (0, $8uLkp$mobxrestful.restore)(this, 'downloader');\n }\n (0, $8uLkp$swchelperscjs_create_classcjs._)(Downloader, [\n {\n key: \"tasks\",\n get: function get() {\n return $7f6c4ba7e5cc013b$var$__classPrivateFieldGet(this, _Downloader_tasks_accessor_storage, \"f\");\n },\n set: function set(value) {\n $7f6c4ba7e5cc013b$var$__classPrivateFieldSet(this, _Downloader_tasks_accessor_storage, value, \"f\");\n }\n },\n {\n key: \"unfinishedCount\",\n get: function get() {\n return this.tasks.filter(function(param) {\n var percent = param.percent;\n return percent < 100;\n }).length;\n }\n },\n {\n key: \"executingCount\",\n get: function get() {\n return this.tasks.filter(function(param) {\n var executing = param.executing;\n return executing;\n }).length;\n }\n },\n {\n key: \"createTask\",\n value: function createTask(path, name) {\n var tasks = this.tasks;\n var sameTask = tasks.find(function(task) {\n return task.path === path;\n });\n if (sameTask) return sameTask;\n var task = _a.createTask(path, name);\n this.tasks = (0, $8uLkp$swchelperscjs_to_consumable_arraycjs._)(tasks).concat([\n task\n ]);\n return task;\n }\n },\n {\n key: \"destroyTask\",\n value: function destroyTask(name) {\n return $7f6c4ba7e5cc013b$var$__awaiter(this, void 0, void 0, function() {\n var tasks, index;\n return (0, $8uLkp$swchelperscjs_ts_generatorcjs._)(this, function(_state) {\n switch(_state.label){\n case 0:\n tasks = this.tasks;\n index = tasks.findIndex(function(param) {\n var N = param.name;\n return N === name;\n });\n if (index < 0) throw new ReferenceError(\"\".concat(name, \" isn't found\"));\n return [\n 4,\n tasks[index].destroy()\n ];\n case 1:\n _state.sent();\n this.tasks = (0, $8uLkp$swchelperscjs_to_consumable_arraycjs._)(tasks.slice(0, index)).concat((0, $8uLkp$swchelperscjs_to_consumable_arraycjs._)(tasks.slice(index + 1)));\n return [\n 2\n ];\n }\n });\n });\n }\n }\n ], [\n {\n key: \"createTask\",\n value: function createTask(path, name) {\n var _path_split = (0, $8uLkp$swchelperscjs_sliced_to_arraycjs._)(path.split(':'), 1), protocol = _path_split[0];\n var ProtocolTask = _a.protocolMap[protocol];\n if (!ProtocolTask) throw new URIError('Protocol \"'.concat(protocol, ' has not been registered\"'));\n return new ProtocolTask(path, name);\n }\n }\n ]);\n return Downloader;\n }(), _Downloader_tasks_accessor_storage = new WeakMap(), function() {\n var _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(null) : void 0;\n _tasks_decorators = [\n (0, $8uLkp$mobxrestful.persist)({\n set: function(tasks) {\n return tasks.map(function(param) {\n var name = param.name, path = param.path;\n return {\n name: name,\n path: path\n };\n });\n },\n get: function(list) {\n return list === null || list === void 0 ? void 0 : list.map(function(param) {\n var name = param.name, path = param.path;\n return $7f6c4ba7e5cc013b$export$ef06e7620d37c296.createTask(path, name);\n });\n }\n }),\n (0, $8uLkp$mobx.observable)\n ];\n _get_unfinishedCount_decorators = [\n (0, $8uLkp$mobx.computed)\n ];\n _get_executingCount_decorators = [\n (0, $8uLkp$mobx.computed)\n ];\n $7f6c4ba7e5cc013b$var$__esDecorate(_a, null, _tasks_decorators, {\n kind: \"accessor\",\n name: \"tasks\",\n static: false,\n private: false,\n access: {\n has: function(obj) {\n return \"tasks\" in obj;\n },\n get: function(obj) {\n return obj.tasks;\n },\n set: function(obj, value) {\n obj.tasks = value;\n }\n },\n metadata: _metadata\n }, _tasks_initializers, _tasks_extraInitializers);\n $7f6c4ba7e5cc013b$var$__esDecorate(_a, null, _get_unfinishedCount_decorators, {\n kind: \"getter\",\n name: \"unfinishedCount\",\n static: false,\n private: false,\n access: {\n has: function(obj) {\n return \"unfinishedCount\" in obj;\n },\n get: function(obj) {\n return obj.unfinishedCount;\n }\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $7f6c4ba7e5cc013b$var$__esDecorate(_a, null, _get_executingCount_decorators, {\n kind: \"getter\",\n name: \"executingCount\",\n static: false,\n private: false,\n access: {\n has: function(obj) {\n return \"executingCount\" in obj;\n },\n get: function(obj) {\n return obj.executingCount;\n }\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n if (_metadata) Object.defineProperty(_a, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n }(), Object.defineProperty(_a, \"protocolMap\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {\n http: (0, $4cfe9f2b4fce97c3$export$54a5aef4e85ae85),\n https: (0, $4cfe9f2b4fce97c3$export$54a5aef4e85ae85)\n }\n }), _a;\n}();\n$parcel$exportWildcard(module.exports, $4cfe9f2b4fce97c3$exports);\n$parcel$exportWildcard(module.exports, $cbb67161e2147ddb$exports);\n\n\n//# sourceMappingURL=index.js.map\n","import { computed, observable } from 'mobx';\nimport { persist, restore } from 'mobx-restful';\nimport { Constructor } from 'web-utility';\n\nimport { HTTPDownloadTask } from './HTTP';\nimport { DownloadTask } from './Task';\n\nexport * from './HTTP';\nexport * from './Task';\n\nexport class Downloader {\n static protocolMap: Record<string, Constructor<DownloadTask>> = {\n http: HTTPDownloadTask,\n https: HTTPDownloadTask\n };\n\n static createTask(path: string, name?: string) {\n const [protocol] = path.split(':');\n const ProtocolTask = Downloader.protocolMap[protocol];\n\n if (!ProtocolTask)\n throw new URIError(\n `Protocol \"${protocol} has not been registered\"`\n );\n return new ProtocolTask(path, name);\n }\n\n constructor() {\n restore(this, 'downloader');\n }\n\n @persist({\n set: tasks => tasks.map(({ name, path }) => ({ name, path })),\n get: list =>\n list?.map(({ name, path }) => Downloader.createTask(path, name))\n })\n @observable\n accessor tasks: DownloadTask[] = [];\n\n @computed\n get unfinishedCount() {\n return this.tasks.filter(({ percent }) => percent < 100).length;\n }\n\n @computed\n get executingCount() {\n return this.tasks.filter(({ executing }) => executing).length;\n }\n\n createTask(path: string, name?: string) {\n const { tasks } = this;\n const sameTask = tasks.find(task => task.path === path);\n\n if (sameTask) return sameTask;\n\n const task = Downloader.createTask(path, name);\n\n this.tasks = [...tasks, task];\n\n return task;\n }\n\n async destroyTask(name: string) {\n const { tasks } = this;\n const index = tasks.findIndex(({ name: N }) => N === name);\n\n if (index < 0) throw new ReferenceError(`${name} isn't found`);\n\n await tasks[index].destroy();\n\n this.tasks = [...tasks.slice(0, index), ...tasks.slice(index + 1)];\n }\n}\n","import { HTTPClient, type DownloadOptions } from 'koajax';\nimport { restore } from 'mobx-restful';\nimport type { FileSystemFileHandle } from 'native-file-system-adapter';\n\nimport { DownloadTask } from './Task';\n\nexport class HTTPDownloadTask extends DownloadTask {\n client: DownloadTask['client'] = new HTTPClient({\n responseType: 'arraybuffer'\n });\n\n constructor(path: string, name?: string) {\n super(path, name);\n\n this.id = `http-download-task-${this.name}`;\n\n restore(this, this.id);\n }\n\n async *loadStream(options?: DownloadOptions) {\n const { path } = this;\n const suggestedName = DownloadTask.nameOf(path);\n\n this.fsHandle ||= await (\n await import('native-file-system-adapter')\n ).showSaveFilePicker({ suggestedName });\n\n const writer = await (\n this.fsHandle as FileSystemFileHandle\n ).createWritable({\n keepExistingData: true\n }),\n stream = this.client.download(path, {\n range: [this.loaded],\n ...options\n });\n\n try {\n this.executing = true;\n\n for await (const chunk of stream) {\n await writer.write({\n type: 'write',\n position: this.loaded,\n data: chunk.buffer\n });\n\n yield this.saveMeta(chunk);\n\n if (!this.executing) break;\n }\n } finally {\n await writer.close();\n\n this.executing = false;\n }\n }\n}\n","import { Context, DownloadOptions, HTTPClient, TransferProgress } from 'koajax';\nimport { computed, observable } from 'mobx';\nimport { destroy, persist } from 'mobx-restful';\nimport type { FileSystemHandle } from 'native-file-system-adapter';\nimport type { ReadableStream } from 'web-streams-polyfill';\nimport { ByteSize } from 'web-utility';\n\nexport abstract class DownloadTask implements Partial<TransferProgress> {\n abstract client: Pick<HTTPClient<Context>, 'download'>;\n\n @persist()\n @observable\n accessor id = '';\n\n @persist()\n @observable\n accessor name = '';\n\n @persist()\n @observable\n accessor path = '';\n\n @persist()\n @observable.ref\n accessor fsHandle: FileSystemHandle | undefined;\n\n @persist()\n @observable\n accessor total = 0;\n\n @persist()\n @observable\n accessor loaded = 0;\n\n @persist()\n @observable\n accessor percent = 0;\n\n @observable\n accessor executing = false;\n\n @persist()\n @observable\n accessor options: DownloadOptions | undefined;\n\n stream?: ReadableStream<Partial<TransferProgress>>;\n\n @computed\n get totalSize() {\n return new ByteSize(this.total);\n }\n\n @computed\n get loadedSize() {\n return new ByteSize(this.loaded);\n }\n\n static nameOf(URI: string) {\n return decodeURI(\n new URL(URI).pathname.split('/').filter(Boolean).at(-1)\n );\n }\n\n constructor(path: string, name = DownloadTask.nameOf(path)) {\n this.path = path;\n this.name = name;\n }\n\n toJSON() {\n const { id, name, path, fsHandle, total, loaded, percent, options } =\n this;\n\n return {\n ...{ id, name, path, fsHandle, options },\n ...{ total, loaded, percent }\n };\n }\n\n saveMeta(data: Partial<TransferProgress> = {}) {\n const { buffer, ...progress } = data;\n\n Object.assign(this, progress);\n\n return data;\n }\n\n abstract loadStream(\n options?: DownloadOptions\n ): AsyncGenerator<Partial<TransferProgress>>;\n\n async start(options = this.options) {\n this.options = options;\n\n const started = Promise.withResolvers<void>();\n\n const [innerStream, outerStream] = (\n await import('web-streams-polyfill')\n ).ReadableStream.from<Partial<TransferProgress>>(\n this.loadStream(options)\n ).tee();\n\n (async () => {\n try {\n for await (const chunk of innerStream) {\n started.resolve();\n console.table(chunk);\n }\n } catch (error) {\n started.reject(error);\n }\n })();\n\n await started.promise;\n\n return (this.stream = outerStream);\n }\n\n async pause() {\n this.executing = false;\n }\n\n async destroy() {\n await this.pause();\n\n return destroy(this, this.id);\n }\n}\n"],"names":["_a","_DownloadTask_id_accessor_storage","_DownloadTask_name_accessor_storage","_DownloadTask_path_accessor_storage","_DownloadTask_fsHandle_accessor_storage","_DownloadTask_total_accessor_storage","_DownloadTask_loaded_accessor_storage","_DownloadTask_percent_accessor_storage","_DownloadTask_executing_accessor_storage","_DownloadTask_options_accessor_storage","_b","_id_decorators","_name_decorators","_path_decorators","_fsHandle_decorators","_total_decorators","_loaded_decorators","_percent_decorators","_executing_decorators","_options_decorators","_get_totalSize_decorators","_get_loadedSize_decorators","_instanceExtraInitializers","_id_initializers","_id_extraInitializers","_name_initializers","_name_extraInitializers","_path_initializers","_path_extraInitializers","_fsHandle_initializers","_fsHandle_extraInitializers","_total_initializers","_total_extraInitializers","_loaded_initializers","_loaded_extraInitializers","_percent_initializers","_percent_extraInitializers","_executing_initializers","_executing_extraInitializers","_options_initializers","_options_extraInitializers","_metadata","_Downloader_tasks_accessor_storage","_tasks_decorators","_get_unfinishedCount_decorators","_get_executingCount_decorators","_tasks_initializers","_tasks_extraInitializers","$8uLkp$swchelperscjs_class_call_checkcjs","require","$8uLkp$swchelperscjs_create_classcjs","$8uLkp$swchelperscjs_sliced_to_arraycjs","$8uLkp$swchelperscjs_to_consumable_arraycjs","$8uLkp$swchelperscjs_type_ofcjs","$8uLkp$swchelperscjs_ts_generatorcjs","$8uLkp$mobx","$8uLkp$mobxrestful","$8uLkp$swchelperscjs_call_supercjs","$8uLkp$swchelperscjs_inheritscjs","$8uLkp$koajax","$8uLkp$nativefilesystemadapter","$8uLkp$webutility","$8uLkp$webstreamspolyfill","$parcel$exportWildcard","dest","source","Object","keys","forEach","key","prototype","hasOwnProperty","call","defineProperty","enumerable","get","$parcel$export","e","n","v","s","set","configurable","module","exports","$7f6c4ba7e5cc013b$export$ef06e7620d37c296","$4cfe9f2b4fce97c3$exports","$4cfe9f2b4fce97c3$export$54a5aef4e85ae85","$cbb67161e2147ddb$exports","$cbb67161e2147ddb$export$e9ba70c733fe1cb8","$cbb67161e2147ddb$var$__runInitializers","thisArg","initializers","value","useValue","arguments","length","i","$cbb67161e2147ddb$var$__esDecorate","ctor","descriptorIn","decorators","contextIn","extraInitializers","accept","f","TypeError","_","kind","target","descriptor","getOwnPropertyDescriptor","name","done","context","p","access","addInitializer","push","result","init","unshift","$cbb67161e2147ddb$var$__awaiter","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","adopt","then","apply","$cbb67161e2147ddb$var$__classPrivateFieldGet","receiver","state","has","$cbb67161e2147ddb$var$__classPrivateFieldSet","$cbb67161e2147ddb$var$__rest","t","indexOf","getOwnPropertySymbols","propertyIsEnumerable","$cbb67161e2147ddb$var$__asyncValues","o","Symbol","asyncIterator","m","__values","iterator","verb","d","DownloadTask","path","nameOf","writable","ByteSize","total","loaded","id","_this","fsHandle","percent","assign","options","data","buffer","started","_ReadableStream_from_tee","innerStream","outerStream","_state","label","withResolvers","sent","ReadableStream","from","loadStream","tee","e_1","_c","_d","_e","innerStream_1","innerStream_1_1","chunk","error","trys","console","table","return","promise","stream","executing","pause","destroy","URI","decodeURI","URL","pathname","split","filter","Boolean","at","WeakMap","metadata","create","persist","observable","ref","bind","computed","static","private","obj","totalSize","loadedSize","$4cfe9f2b4fce97c3$var$__await","$4cfe9f2b4fce97c3$var$__asyncValues","$4cfe9f2b4fce97c3$var$__asyncGenerator","g","q","AsyncIterator","a","b","resume","r","fulfill","settle","shift","DownloadTask1","HTTPDownloadTask","HTTPClient","responseType","concat","restore","suggestedName","_tmp","writer","stream_1","stream_1_1","showSaveFilePicker","createWritable","keepExistingData","client","download","range","write","type","position","saveMeta","close","$7f6c4ba7e5cc013b$var$__runInitializers","$7f6c4ba7e5cc013b$var$__esDecorate","$7f6c4ba7e5cc013b$var$__classPrivateFieldGet","$7f6c4ba7e5cc013b$var$__classPrivateFieldSet","Downloader","tasks","param","sameTask","find","task","createTask","index","findIndex","N","ReferenceError","slice","protocol","_path_split","ProtocolTask","protocolMap","URIError","map","list","unfinishedCount","executingCount","http","https"],"version":3,"file":"index.js.map"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mobx-downloader",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"license": "LGPL-3.0-or-later",
|
|
5
5
|
"author": "shiy2008@gmail.com",
|
|
6
6
|
"description": "File downloading SDK in Web browser, which is powered by MobX.",
|
|
@@ -27,29 +27,29 @@
|
|
|
27
27
|
"module": "dist/index.esm.js",
|
|
28
28
|
"main": "dist/index.js",
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@swc/helpers": "^0.5.
|
|
31
|
-
"koajax": "^3.
|
|
32
|
-
"mobx": "^6.13.
|
|
33
|
-
"mobx-restful": "^1.0
|
|
30
|
+
"@swc/helpers": "^0.5.15",
|
|
31
|
+
"koajax": "^3.1.1",
|
|
32
|
+
"mobx": "^6.13.6",
|
|
33
|
+
"mobx-restful": "^2.1.0",
|
|
34
34
|
"native-file-system-adapter": "^3.0.1",
|
|
35
35
|
"regenerator-runtime": "^0.14.1",
|
|
36
|
-
"web-streams-polyfill": "^4.
|
|
37
|
-
"web-utility": "^4.4.
|
|
36
|
+
"web-streams-polyfill": "^4.1.0",
|
|
37
|
+
"web-utility": "^4.4.2"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
|
-
"@parcel/config-default": "~2.
|
|
41
|
-
"@parcel/packager-ts": "~2.
|
|
42
|
-
"@parcel/transformer-typescript-tsc": "~2.
|
|
43
|
-
"@parcel/transformer-typescript-types": "~2.
|
|
44
|
-
"@types/node": "^
|
|
45
|
-
"husky": "^9.1.
|
|
46
|
-
"lint-staged": "^15.
|
|
40
|
+
"@parcel/config-default": "~2.13.3",
|
|
41
|
+
"@parcel/packager-ts": "~2.13.3",
|
|
42
|
+
"@parcel/transformer-typescript-tsc": "~2.13.3",
|
|
43
|
+
"@parcel/transformer-typescript-types": "~2.13.3",
|
|
44
|
+
"@types/node": "^22.13.4",
|
|
45
|
+
"husky": "^9.1.7",
|
|
46
|
+
"lint-staged": "^15.4.3",
|
|
47
47
|
"open-cli": "^8.0.0",
|
|
48
|
-
"parcel": "~2.
|
|
49
|
-
"prettier": "^3.
|
|
50
|
-
"typedoc": "^0.
|
|
51
|
-
"typedoc-plugin-mdn-links": "^
|
|
52
|
-
"typescript": "~5.
|
|
48
|
+
"parcel": "~2.13.3",
|
|
49
|
+
"prettier": "^3.5.1",
|
|
50
|
+
"typedoc": "^0.27.7",
|
|
51
|
+
"typedoc-plugin-mdn-links": "^4.0.12",
|
|
52
|
+
"typescript": "~5.7.3"
|
|
53
53
|
},
|
|
54
54
|
"prettier": {
|
|
55
55
|
"singleQuote": true,
|