@visulima/storage-client 1.0.0-alpha.15 → 1.0.0-alpha.17

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.
Files changed (97) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/index.d.ts +6 -6
  3. package/dist/index.js +1 -1
  4. package/dist/packem_shared/{MemoryUrlStorage-DN4oF-4W.js → MemoryUrlStorage-DEJTeeWV.js} +1 -1
  5. package/dist/packem_shared/UploadControl-Dhcv4C_4.js +1 -0
  6. package/dist/packem_shared/{createAbortAll-BVH_Wo6s.js → createAbortAll-BgWB0M8L.js} +1 -1
  7. package/dist/packem_shared/{createAbortAll-DMUWUL4C.js → createAbortAll-DmafEVPg.js} +1 -1
  8. package/dist/packem_shared/{createAbortBatch-C3t-Ho9c.js → createAbortBatch-CW04KjG_.js} +1 -1
  9. package/dist/packem_shared/{createAbortBatch-bMvSBu1k.js → createAbortBatch-DFng-YoT.js} +1 -1
  10. package/dist/packem_shared/{createAbortItem-Bmhqhi8L.js → createAbortItem-BgAr8QH1.js} +1 -1
  11. package/dist/packem_shared/{createAbortItem-BsqmmxdZ.js → createAbortItem-DtAxoZ3-.js} +1 -1
  12. package/dist/packem_shared/{createAllAbortListener-BChF9YcG.js → createAllAbortListener-DAtFajN3.js} +1 -1
  13. package/dist/packem_shared/{createAllAbortListener-BF9VhxQA.js → createAllAbortListener-_BNDgw-O.js} +1 -1
  14. package/dist/packem_shared/{createBatchCancelledListener-FsVlTbYv.js → createBatchCancelledListener-BDRU6frX.js} +1 -1
  15. package/dist/packem_shared/{createBatchCancelledListener-DIHrRDNj.js → createBatchCancelledListener-BI-2bwOX.js} +1 -1
  16. package/dist/packem_shared/{createBatchErrorListener-BNXfdSlM.js → createBatchErrorListener-6OzlaJOF.js} +1 -1
  17. package/dist/packem_shared/{createBatchErrorListener-CxEJhGOX.js → createBatchErrorListener-B16MwTl_.js} +1 -1
  18. package/dist/packem_shared/{createBatchFinalizeListener-DOK5uoog.js → createBatchFinalizeListener-Cik2xAKG.js} +1 -1
  19. package/dist/packem_shared/{createBatchFinalizeListener-pjqAl9iM.js → createBatchFinalizeListener-D9x4qR1M.js} +1 -1
  20. package/dist/packem_shared/{createBatchFinishListener-DuMOo7Kn.js → createBatchFinishListener-D-wyxJzA.js} +1 -1
  21. package/dist/packem_shared/{createBatchFinishListener-BbMzJGlN.js → createBatchFinishListener-NOqsTPQB.js} +1 -1
  22. package/dist/packem_shared/{createBatchProgressListener-D28nm9Xe.js → createBatchProgressListener-C7eAxTuy.js} +1 -1
  23. package/dist/packem_shared/{createBatchProgressListener-CUpa_7Nv.js → createBatchProgressListener-De-zprpA.js} +1 -1
  24. package/dist/packem_shared/{createBatchRetry-Bnaf10e9.js → createBatchRetry-CCEJUN-z.js} +1 -1
  25. package/dist/packem_shared/{createBatchRetry-DWOdovQt.js → createBatchRetry-Dygo1h6p.js} +1 -1
  26. package/dist/packem_shared/{createBatchStartListener-DejGDAMY.js → createBatchStartListener-B8eHIkCa.js} +1 -1
  27. package/dist/packem_shared/{createBatchStartListener-BwVzPsCB.js → createBatchStartListener-CFJxY_3I.js} +1 -1
  28. package/dist/packem_shared/{createBatchUpload-Dm5vSg1j.js → createBatchUpload-CY4M6LlW.js} +1 -1
  29. package/dist/packem_shared/{createBatchUpload-Z-8vD9Ql.js → createBatchUpload-CjgaDKt-.js} +1 -1
  30. package/dist/packem_shared/createChunkedRestAdapter-Cb6z5AWj.js +1 -0
  31. package/dist/packem_shared/{createChunkedRestUpload-Cu19LRnt.js → createChunkedRestUpload-BjdI7x-K.js} +1 -1
  32. package/dist/packem_shared/{createChunkedRestUpload-D4WS_E_m.js → createChunkedRestUpload-CB7uSKyw.js} +1 -1
  33. package/dist/packem_shared/createMultipartAdapter-BBMVAwLI.js +1 -0
  34. package/dist/packem_shared/{createMultipartUpload-CFsUjhvG.js → createMultipartUpload-DWPWN7m5.js} +1 -1
  35. package/dist/packem_shared/{createMultipartUpload-BPcFYSwI.js → createMultipartUpload-DsHzkIPS.js} +1 -1
  36. package/dist/packem_shared/{createRetry-BInLl1TV.js → createRetry-BE2SICVx.js} +1 -1
  37. package/dist/packem_shared/{createRetry-D0eddvNY.js → createRetry-BMHTKXO4.js} +1 -1
  38. package/dist/packem_shared/{createRetryListener-59bXI4qF.js → createRetryListener-C53r0Uni.js} +1 -1
  39. package/dist/packem_shared/{createRetryListener-hZUkGq7P.js → createRetryListener-CJaNMHEg.js} +1 -1
  40. package/dist/packem_shared/createTusAdapter-LN-3AmiS.js +1 -0
  41. package/dist/packem_shared/{createTusUpload-DrZu_r2C.js → createTusUpload-CapBF42H.js} +1 -1
  42. package/dist/packem_shared/{createTusUpload-C_EE1exZ.js → createTusUpload-DomlnZ3W.js} +1 -1
  43. package/dist/packem_shared/{createUpload-F7cp3uwR.js → createUpload-BQ3fCiKy.js} +1 -1
  44. package/dist/packem_shared/{createUpload-ABEJ1whY.js → createUpload-D3Elf41m.js} +1 -1
  45. package/dist/packem_shared/createUploader-Bd0VM6Ma.js +1 -0
  46. package/dist/packem_shared/{uploader.d-npepq2LE.d.ts → uploader.d-B1FMsMcN.d.ts} +49 -49
  47. package/dist/packem_shared/{useAbortAll-DNzPcfOt.js → useAbortAll-2RYK9Ie0.js} +1 -1
  48. package/dist/packem_shared/{useAbortAll-Xks2z0Rf.js → useAbortAll-nUlyX6tB.js} +1 -1
  49. package/dist/packem_shared/{useAbortBatch-Jb37hbXq.js → useAbortBatch-CIh7xqNm.js} +1 -1
  50. package/dist/packem_shared/{useAbortBatch-y-KZjKTY.js → useAbortBatch-dLfXkXev.js} +1 -1
  51. package/dist/packem_shared/{useAbortItem-BhdhRgs8.js → useAbortItem-DljU_vFw.js} +1 -1
  52. package/dist/packem_shared/{useAbortItem-DTFUUKVu.js → useAbortItem-Z69dqEo-.js} +1 -1
  53. package/dist/packem_shared/{useAllAbortListener-BBw02ZoD.js → useAllAbortListener-Bhs8RZud.js} +1 -1
  54. package/dist/packem_shared/{useAllAbortListener-Crsmf1kC.js → useAllAbortListener-COgCiPgE.js} +1 -1
  55. package/dist/packem_shared/{useBatchCancelledListener-C3IW43nC.js → useBatchCancelledListener-BBlQjTTx.js} +1 -1
  56. package/dist/packem_shared/{useBatchCancelledListener-CVJULtua.js → useBatchCancelledListener-Bg0QgiCq.js} +1 -1
  57. package/dist/packem_shared/{useBatchErrorListener-Ck1BwfZA.js → useBatchErrorListener-CAz6qXiT.js} +1 -1
  58. package/dist/packem_shared/{useBatchErrorListener-BAVIRlQE.js → useBatchErrorListener-C__Q5h-V.js} +1 -1
  59. package/dist/packem_shared/{useBatchFinalizeListener-D7TRElSE.js → useBatchFinalizeListener-B11L-t4E.js} +1 -1
  60. package/dist/packem_shared/{useBatchFinalizeListener-nA7Qs-Ya.js → useBatchFinalizeListener-DwS8a-Cq.js} +1 -1
  61. package/dist/packem_shared/{useBatchFinishListener-VdCzyg4J.js → useBatchFinishListener-BdErzI6J.js} +1 -1
  62. package/dist/packem_shared/{useBatchFinishListener-C6zS5OI6.js → useBatchFinishListener-BkvLv0gD.js} +1 -1
  63. package/dist/packem_shared/{useBatchProgressListener-B08x2n9U.js → useBatchProgressListener-By7MexHJ.js} +1 -1
  64. package/dist/packem_shared/{useBatchProgressListener-CdcDM2sa.js → useBatchProgressListener-D5ePjx6c.js} +1 -1
  65. package/dist/packem_shared/{useBatchRetry-DahiIOXJ.js → useBatchRetry-5KG1NhQY.js} +1 -1
  66. package/dist/packem_shared/{useBatchRetry-B3FQ1DdH.js → useBatchRetry-Ba0F__lE.js} +1 -1
  67. package/dist/packem_shared/{useBatchStartListener-DndF1z5v.js → useBatchStartListener-B8ZVjkes.js} +1 -1
  68. package/dist/packem_shared/{useBatchStartListener-ByQlcF8F.js → useBatchStartListener-BkDX60uf.js} +1 -1
  69. package/dist/packem_shared/{useBatchUpload-IZkU_Gop.js → useBatchUpload-BEa01Ea3.js} +1 -1
  70. package/dist/packem_shared/{useBatchUpload-BJBdu6vh.js → useBatchUpload-DzvnTCng.js} +1 -1
  71. package/dist/packem_shared/{useChunkedRestUpload-T5jeupI6.js → useChunkedRestUpload-CJrOxVqG.js} +1 -1
  72. package/dist/packem_shared/{useChunkedRestUpload-C_I_pDEa.js → useChunkedRestUpload-UaJs-RNd.js} +1 -1
  73. package/dist/packem_shared/{useMultipartUpload-CbRSpnTb.js → useMultipartUpload-DEHG_GPg.js} +1 -1
  74. package/dist/packem_shared/{useMultipartUpload-CJMa-_Yo.js → useMultipartUpload-DuwpdpA4.js} +1 -1
  75. package/dist/packem_shared/{useRetry-trYC3K_p.js → useRetry-BXj83ucD.js} +1 -1
  76. package/dist/packem_shared/{useRetry-DHjDuH0H.js → useRetry-BjVBPZqC.js} +1 -1
  77. package/dist/packem_shared/{useRetryListener-DC8G9lmY.js → useRetryListener-CjkeiRcg.js} +1 -1
  78. package/dist/packem_shared/{useRetryListener-CAIyK1_Q.js → useRetryListener-JjAqRGCu.js} +1 -1
  79. package/dist/packem_shared/useTusUpload-BLPk4PJY.js +1 -0
  80. package/dist/packem_shared/{useTusUpload-SYnJmg1s.js → useTusUpload-DTOgR4ps.js} +1 -1
  81. package/dist/packem_shared/{useUpload-D-2542dH.js → useUpload-Blfq2NpI.js} +1 -1
  82. package/dist/packem_shared/{useUpload-BDMiZyCV.js → useUpload-Dx_rSwSy.js} +1 -1
  83. package/dist/react/index.d.ts +3 -3
  84. package/dist/react/index.js +1 -1
  85. package/dist/solid/index.d.ts +3 -3
  86. package/dist/solid/index.js +1 -1
  87. package/dist/svelte/index.d.ts +3 -3
  88. package/dist/svelte/index.js +1 -1
  89. package/dist/vue/index.d.ts +3 -3
  90. package/dist/vue/index.js +1 -1
  91. package/package.json +1 -1
  92. package/dist/packem_shared/UploadControl-CKU7Tv3Q.js +0 -1
  93. package/dist/packem_shared/createChunkedRestAdapter-YzmsiWvW.js +0 -1
  94. package/dist/packem_shared/createMultipartAdapter-B17aIZJS.js +0 -1
  95. package/dist/packem_shared/createTusAdapter-6FZAUcvj.js +0 -1
  96. package/dist/packem_shared/createUploader-KOsp3cZt.js +0 -1
  97. package/dist/packem_shared/useTusUpload-DJedNEXm.js +0 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,24 @@
1
+ ## @visulima/storage-client [1.0.0-alpha.17](https://github.com/visulima/visulima/compare/@visulima/storage-client@1.0.0-alpha.16...@visulima/storage-client@1.0.0-alpha.17) (2026-06-04)
2
+
3
+ ### Bug Fixes
4
+
5
+ * **storage-client:** 5 bug fixes + 1 perf ([edb1f4c](https://github.com/visulima/visulima/commit/edb1f4cd5a5b9102ad4850a29c7b657eb65c353c))
6
+
7
+ ## @visulima/storage-client [1.0.0-alpha.16](https://github.com/visulima/visulima/compare/@visulima/storage-client@1.0.0-alpha.15...@visulima/storage-client@1.0.0-alpha.16) (2026-06-02)
8
+
9
+ ### Bug Fixes
10
+
11
+ * **tests:** revert unsafe vitest autofixes from the lint sweep ([378f27c](https://github.com/visulima/visulima/commit/378f27caa370f1d3188aef2ed36d46839abc88c4))
12
+
13
+ ### Miscellaneous Chores
14
+
15
+ * apply eslint + prettier autofixes across packages ([c1bb784](https://github.com/visulima/visulima/commit/c1bb7848a0d93d0dfe2960c77e3cda22239c79a0))
16
+
17
+ ### Tests
18
+
19
+ * improve coverage across packages ([91bd6d3](https://github.com/visulima/visulima/commit/91bd6d3b61736e3c8bd1fc59b0b5955f76a5d323))
20
+ * **storage-client:** clear eslint errors in test suite ([#669](https://github.com/visulima/visulima/issues/669)) ([2a3928d](https://github.com/visulima/visulima/commit/2a3928d7a6fbe1dd7213e57f941ff3b1d6c745ec))
21
+
1
22
  ## @visulima/storage-client [1.0.0-alpha.15](https://github.com/visulima/visulima/compare/@visulima/storage-client@1.0.0-alpha.14...@visulima/storage-client@1.0.0-alpha.15) (2026-05-27)
2
23
 
3
24
  ### Features
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { U as UploadResult, a as UploadControl, F as FingerprintFn, b as UrlStorage, c as Uploader, d as FileMeta } from "./packem_shared/uploader.d-npepq2LE.js";
2
- export { B as BatchState, e as CoreUploaderOptions, f as FingerprintInput, g as FingerprintProtocol, L as LocalStorageUrlStorage, M as MemoryUrlStorage, h as UploadControlAttachMeta, i as UploadControlBinding, j as UploadControlSnapshot, k as UploadItem, l as UploaderEventHandler, m as UploaderEventType, n as UrlStorageEntry, o as createUploader, p as defaultFingerprint, q as defaultUrlStorage } from "./packem_shared/uploader.d-npepq2LE.js";
1
+ import { U as UploadControl, F as FingerprintFunction, a as UrlStorage, b as UploadResult$1, c as Uploader, d as FileMeta } from "./packem_shared/uploader.d-B1FMsMcN.js";
2
+ export { B as BatchState, e as CoreUploaderOptions, f as FingerprintInput, g as FingerprintProtocol, L as LocalStorageUrlStorage, M as MemoryUrlStorage, h as UploadControlAttachMeta, i as UploadControlBinding, j as UploadControlSnapshot, k as UploadItem, l as UploaderEventHandler, m as UploaderEventType, n as UrlStorageEntry, o as createUploader, p as defaultFingerprint, q as defaultUrlStorage } from "./packem_shared/uploader.d-B1FMsMcN.js";
3
3
  interface ChunkedRestAdapterOptions {
4
4
  /** Chunk size in bytes (default: 5MB) */
5
5
  chunkSize?: number;
@@ -8,7 +8,7 @@ interface ChunkedRestAdapterOptions {
8
8
  /** Upload endpoint URL */
9
9
  endpoint: string;
10
10
  /** Customise the resume fingerprint. Defaults to `defaultFingerprint`. */
11
- fingerprint?: FingerprintFn;
11
+ fingerprint?: FingerprintFunction;
12
12
  /** Maximum number of retry attempts */
13
13
  maxRetries?: number;
14
14
  /** Additional metadata to include with the upload */
@@ -68,7 +68,7 @@ interface MultipartAdapter {
68
68
  /** Clear all uploads */
69
69
  clear: () => void;
70
70
  /** Upload a file and return visulima-compatible result */
71
- upload: (file: File) => Promise<UploadResult>;
71
+ upload: (file: File) => Promise<UploadResult$1>;
72
72
  /** Upload multiple files as a batch and return item IDs */
73
73
  uploadBatch: (files: File[]) => string[];
74
74
  /** The underlying uploader instance */
@@ -182,7 +182,7 @@ interface TusAdapterOptions {
182
182
  /** TUS upload endpoint URL */
183
183
  endpoint: string;
184
184
  /** Customise the resume fingerprint. Defaults to `defaultFingerprint`. */
185
- fingerprint?: FingerprintFn;
185
+ fingerprint?: FingerprintFunction;
186
186
  /** Maximum number of retry attempts */
187
187
  maxRetries?: number;
188
188
  /** Additional metadata to include with the upload */
@@ -225,4 +225,4 @@ interface TusAdapter {
225
225
  * with proper progress tracking, pause/resume, and event handling.
226
226
  */
227
227
  declare const createTusAdapter: (options: TusAdapterOptions) => TusAdapter;
228
- export { ApiError, ChunkedRestAdapter, ChunkedRestAdapterOptions, FingerprintFn, MultipartAdapter, MultipartAdapterOptions, TusAdapter, TusAdapterOptions, UploadControl, Uploader, UrlStorage, buildUrl, createChunkedRestAdapter, createMultipartAdapter, createTusAdapter, deleteRequest, extractFileMetaFromHeaders, fetchFile, fetchHead, fetchJson, parseApiError, patchChunk, putFile, storageQueryKeys };
228
+ export { ApiError, ChunkedRestAdapter, ChunkedRestAdapterOptions, FingerprintFunction, MultipartAdapter, MultipartAdapterOptions, TusAdapter, TusAdapterOptions, UploadControl, Uploader, UrlStorage, buildUrl, createChunkedRestAdapter, createMultipartAdapter, createTusAdapter, deleteRequest, extractFileMetaFromHeaders, fetchFile, fetchHead, fetchJson, parseApiError, patchChunk, putFile, storageQueryKeys };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{default as t}from"./packem_shared/storageQueryKeys-cD4rL4b1.js";import{LocalStorageUrlStorage as a,MemoryUrlStorage as p,defaultUrlStorage as l}from"./packem_shared/MemoryUrlStorage-DN4oF-4W.js";import{UploadControl as d}from"./packem_shared/UploadControl-CKU7Tv3Q.js";import{buildUrl as u,deleteRequest as c,extractFileMetaFromHeaders as x,fetchFile as s,fetchHead as i,fetchJson as g,parseApiError as h,patchChunk as n,putFile as U}from"./packem_shared/parseApiError-BiXX3oHJ.js";import{createChunkedRestAdapter as A}from"./packem_shared/createChunkedRestAdapter-YzmsiWvW.js";import{createMultipartAdapter as y}from"./packem_shared/createMultipartAdapter-B17aIZJS.js";import{createTusAdapter as M}from"./packem_shared/createTusAdapter-6FZAUcvj.js";import{createUploader as H}from"./packem_shared/createUploader-KOsp3cZt.js";import{defaultFingerprint as b}from"./packem_shared/defaultFingerprint-CI2Sdd2s.js";export{a as LocalStorageUrlStorage,p as MemoryUrlStorage,d as UploadControl,u as buildUrl,A as createChunkedRestAdapter,y as createMultipartAdapter,M as createTusAdapter,H as createUploader,b as defaultFingerprint,l as defaultUrlStorage,c as deleteRequest,x as extractFileMetaFromHeaders,s as fetchFile,i as fetchHead,g as fetchJson,h as parseApiError,n as patchChunk,U as putFile,t as storageQueryKeys};
1
+ import{default as t}from"./packem_shared/storageQueryKeys-cD4rL4b1.js";import{LocalStorageUrlStorage as a,MemoryUrlStorage as p,defaultUrlStorage as l}from"./packem_shared/MemoryUrlStorage-DEJTeeWV.js";import{UploadControl as d}from"./packem_shared/UploadControl-Dhcv4C_4.js";import{buildUrl as u,deleteRequest as c,extractFileMetaFromHeaders as x,fetchFile as s,fetchHead as i,fetchJson as g,parseApiError as h,patchChunk as n,putFile as U}from"./packem_shared/parseApiError-BiXX3oHJ.js";import{createChunkedRestAdapter as A}from"./packem_shared/createChunkedRestAdapter-Cb6z5AWj.js";import{createMultipartAdapter as y}from"./packem_shared/createMultipartAdapter-BBMVAwLI.js";import{createTusAdapter as M}from"./packem_shared/createTusAdapter-LN-3AmiS.js";import{createUploader as H}from"./packem_shared/createUploader-Bd0VM6Ma.js";import{defaultFingerprint as b}from"./packem_shared/defaultFingerprint-CI2Sdd2s.js";export{a as LocalStorageUrlStorage,p as MemoryUrlStorage,d as UploadControl,u as buildUrl,A as createChunkedRestAdapter,y as createMultipartAdapter,M as createTusAdapter,H as createUploader,b as defaultFingerprint,l as defaultUrlStorage,c as deleteRequest,x as extractFileMetaFromHeaders,s as fetchFile,i as fetchHead,g as fetchJson,h as parseApiError,n as patchChunk,U as putFile,t as storageQueryKeys};
@@ -1 +1 @@
1
- var o=Object.defineProperty;var a=(e,t)=>o(e,"name",{value:t,configurable:!0});var l=Object.defineProperty,n=a((e,t)=>l(e,"name",{value:t,configurable:!0}),"i");class c{static{a(this,"MemoryUrlStorage")}static{n(this,"MemoryUrlStorage")}#t=new Map;async addEntry(t){this.#t.set(t.fingerprint,t)}async findEntry(t){return this.#t.get(t)}async listEntries(){return[...this.#t.values()]}async removeEntry(t){this.#t.delete(t)}}const h="visulima-upload::";class g{static{a(this,"LocalStorageUrlStorage")}static{n(this,"LocalStorageUrlStorage")}#t;#e;constructor(t,r=h){const s=t??(typeof globalThis<"u"?globalThis.localStorage:void 0);if(!s)throw new Error("LocalStorageUrlStorage: no localStorage-like object available");this.#e=s,this.#t=r}async addEntry(t){this.#e.setItem(this.#r(t.fingerprint),JSON.stringify(t))}async findEntry(t){const r=this.#e.getItem(this.#r(t));if(r!==null)try{return JSON.parse(r)}catch{this.#e.removeItem(this.#r(t));return}}async listEntries(){const t=[];for(let r=0;r<this.#e.length;r+=1){const s=this.#e.key(r);if(s===null||!s.startsWith(this.#t))continue;const i=this.#e.getItem(s);if(i!==null)try{t.push(JSON.parse(i))}catch{}}return t}async removeEntry(t){this.#e.removeItem(this.#r(t))}#r(t){return`${this.#t}${t}`}}const y=n(()=>{const e=typeof globalThis<"u"?globalThis.localStorage:void 0;if(e)try{return new g(e)}catch{}return new c},"defaultUrlStorage");export{g as LocalStorageUrlStorage,c as MemoryUrlStorage,y as defaultUrlStorage};
1
+ var o=Object.defineProperty;var a=(e,t)=>o(e,"name",{value:t,configurable:!0});var l=Object.defineProperty,i=a((e,t)=>l(e,"name",{value:t,configurable:!0}),"i");class c{static{a(this,"MemoryUrlStorage")}static{i(this,"MemoryUrlStorage")}#t=new Map;async addEntry(t){this.#t.set(t.fingerprint,t)}async findEntry(t){return this.#t.get(t)}async listEntries(){return[...this.#t.values()]}async removeEntry(t){this.#t.delete(t)}}const h="visulima-upload::";class g{static{a(this,"LocalStorageUrlStorage")}static{i(this,"LocalStorageUrlStorage")}#t;#e;constructor(t,r=h){const s=t??(typeof globalThis>"u"?void 0:globalThis.localStorage);if(!s)throw new Error("LocalStorageUrlStorage: no localStorage-like object available");this.#e=s,this.#t=r}async addEntry(t){this.#e.setItem(this.#r(t.fingerprint),JSON.stringify(t))}async findEntry(t){const r=this.#e.getItem(this.#r(t));if(r!==null)try{return JSON.parse(r)}catch{this.#e.removeItem(this.#r(t));return}}async listEntries(){const t=[];for(let r=0;r<this.#e.length;r+=1){const s=this.#e.key(r);if(!s?.startsWith(this.#t))continue;const n=this.#e.getItem(s);if(n!==null)try{t.push(JSON.parse(n))}catch{}}return t}async removeEntry(t){this.#e.removeItem(this.#r(t))}#r(t){return`${this.#t}${t}`}}const u=i(()=>{const e=typeof globalThis>"u"?void 0:globalThis.localStorage;if(e)try{return new g(e)}catch{}return new c},"defaultUrlStorage");export{g as LocalStorageUrlStorage,c as MemoryUrlStorage,u as defaultUrlStorage};
@@ -0,0 +1 @@
1
+ var h=Object.defineProperty;var s=(r,t)=>h(r,"name",{value:t,configurable:!0});var p=Object.defineProperty,a=s((r,t)=>p(r,"name",{value:t,configurable:!0}),"r");class e{static{s(this,"UploadControl")}static{a(this,"UploadControl")}static from(t){const o=typeof t=="string"?JSON.parse(t):t;if(o.v!==1)throw new Error(`UploadControl: unsupported snapshot version ${String(o.v)}`);for(const i of["endpoint","fingerprint","uploadUrl"])if(typeof o[i]!="string"||o[i].length===0)throw new Error(`UploadControl: snapshot is missing required string field "${i}"`);if(o.protocol!=="tus"&&o.protocol!=="chunked-rest")throw new Error(`UploadControl: snapshot has invalid protocol ${String(o.protocol)}`);const n=new e;return n.#h(o),n}#t;#o;#r;#n=0;#i;#e;#s;abort(){this.#t?.abort()}get endpoint(){return this.#o}get fingerprint(){return this.#r}get offset(){return this.#n}pause(){this.#t?.pause()}get protocol(){return this.#i}async resume(){this.#t&&await this.#t.resume()}get snapshot(){return this.#e}toJSON(){if(this.#i===void 0||this.#o===void 0||this.#r===void 0||this.#s===void 0)throw new Error("UploadControl.toJSON: control is not yet attached to an upload");return{endpoint:this.#o,fingerprint:this.#r,offset:this.#n,protocol:this.#i,uploadUrl:this.#s,v:1}}get uploadUrl(){return this.#s}_attach(t,o){this.#t=t,this.#i=o.protocol,this.#o=o.endpoint,this.#r=o.fingerprint,this.#s=o.uploadUrl}_detach(){this.#t=void 0}_updateOffset(t){this.#n=t}#h(t){this.#e=t,this.#i=t.protocol,this.#o=t.endpoint,this.#r=t.fingerprint,this.#s=t.uploadUrl,this.#n=t.offset??0}}export{e as UploadControl};
@@ -1 +1 @@
1
- var n=Object.defineProperty;var r=(t,e)=>n(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as b}from"./createMultipartAdapter-B17aIZJS.js";var c=Object.defineProperty,a=r((t,e)=>c(t,"name",{value:e,configurable:!0}),"e");const d=a(t=>{const{endpoint:e,metadata:o}=t,l=b({endpoint:e,metadata:o});return{abortAll:a(()=>{l.abort()},"abortAll")}},"createAbortAll");export{d as createAbortAll};
1
+ var n=Object.defineProperty;var r=(t,e)=>n(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as b}from"./createMultipartAdapter-BBMVAwLI.js";var c=Object.defineProperty,a=r((t,e)=>c(t,"name",{value:e,configurable:!0}),"e");const d=a(t=>{const{endpoint:e,metadata:o}=t,l=b({endpoint:e,metadata:o});return{abortAll:a(()=>{l.abort()},"abortAll")}},"createAbortAll");export{d as createAbortAll};
@@ -1 +1 @@
1
- var n=Object.defineProperty;var r=(t,e)=>n(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as b}from"./createMultipartAdapter-B17aIZJS.js";var c=Object.defineProperty,a=r((t,e)=>c(t,"name",{value:e,configurable:!0}),"e");const d=a(t=>{const{endpoint:e,metadata:o}=t,l=b({endpoint:e,metadata:o});return{abortAll:a(()=>{l.abort()},"abortAll")}},"createAbortAll");export{d as createAbortAll};
1
+ var n=Object.defineProperty;var r=(t,e)=>n(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as b}from"./createMultipartAdapter-BBMVAwLI.js";var c=Object.defineProperty,a=r((t,e)=>c(t,"name",{value:e,configurable:!0}),"e");const d=a(t=>{const{endpoint:e,metadata:o}=t,l=b({endpoint:e,metadata:o});return{abortAll:a(()=>{l.abort()},"abortAll")}},"createAbortAll");export{d as createAbortAll};
@@ -1 +1 @@
1
- var b=Object.defineProperty;var e=(t,a)=>b(t,"name",{value:a,configurable:!0});import{createMultipartAdapter as p}from"./createMultipartAdapter-B17aIZJS.js";var d=Object.defineProperty,r=e((t,a)=>d(t,"name",{value:a,configurable:!0}),"a");const m=r(t=>{const{endpoint:a,metadata:o}=t,c=p({endpoint:a,metadata:o});return{abortBatch:r(n=>{c.abortBatch(n)},"abortBatch")}},"createAbortBatch");export{m as createAbortBatch};
1
+ var b=Object.defineProperty;var e=(t,a)=>b(t,"name",{value:a,configurable:!0});import{createMultipartAdapter as p}from"./createMultipartAdapter-BBMVAwLI.js";var d=Object.defineProperty,r=e((t,a)=>d(t,"name",{value:a,configurable:!0}),"a");const m=r(t=>{const{endpoint:a,metadata:o}=t,c=p({endpoint:a,metadata:o});return{abortBatch:r(n=>{c.abortBatch(n)},"abortBatch")}},"createAbortBatch");export{m as createAbortBatch};
@@ -1 +1 @@
1
- var b=Object.defineProperty;var e=(t,a)=>b(t,"name",{value:a,configurable:!0});import{createMultipartAdapter as p}from"./createMultipartAdapter-B17aIZJS.js";var d=Object.defineProperty,r=e((t,a)=>d(t,"name",{value:a,configurable:!0}),"a");const m=r(t=>{const{endpoint:a,metadata:o}=t,c=p({endpoint:a,metadata:o});return{abortBatch:r(n=>{c.abortBatch(n)},"abortBatch")}},"createAbortBatch");export{m as createAbortBatch};
1
+ var b=Object.defineProperty;var e=(t,a)=>b(t,"name",{value:a,configurable:!0});import{createMultipartAdapter as p}from"./createMultipartAdapter-BBMVAwLI.js";var d=Object.defineProperty,r=e((t,a)=>d(t,"name",{value:a,configurable:!0}),"a");const m=r(t=>{const{endpoint:a,metadata:o}=t,c=p({endpoint:a,metadata:o});return{abortBatch:r(n=>{c.abortBatch(n)},"abortBatch")}},"createAbortBatch");export{m as createAbortBatch};
@@ -1 +1 @@
1
- var b=Object.defineProperty;var r=(t,e)=>b(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as c}from"./createMultipartAdapter-B17aIZJS.js";var i=Object.defineProperty,a=r((t,e)=>i(t,"name",{value:e,configurable:!0}),"r");const u=a(t=>{const{endpoint:e,metadata:o}=t,m=c({endpoint:e,metadata:o});return{abortItem:a(n=>{m.abortItem(n)},"abortItem")}},"createAbortItem");export{u as createAbortItem};
1
+ var b=Object.defineProperty;var r=(t,e)=>b(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as c}from"./createMultipartAdapter-BBMVAwLI.js";var i=Object.defineProperty,a=r((t,e)=>i(t,"name",{value:e,configurable:!0}),"r");const u=a(t=>{const{endpoint:e,metadata:o}=t,m=c({endpoint:e,metadata:o});return{abortItem:a(n=>{m.abortItem(n)},"abortItem")}},"createAbortItem");export{u as createAbortItem};
@@ -1 +1 @@
1
- var b=Object.defineProperty;var r=(t,e)=>b(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as c}from"./createMultipartAdapter-B17aIZJS.js";var i=Object.defineProperty,a=r((t,e)=>i(t,"name",{value:e,configurable:!0}),"r");const u=a(t=>{const{endpoint:e,metadata:o}=t,m=c({endpoint:e,metadata:o});return{abortItem:a(n=>{m.abortItem(n)},"abortItem")}},"createAbortItem");export{u as createAbortItem};
1
+ var b=Object.defineProperty;var r=(t,e)=>b(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as c}from"./createMultipartAdapter-BBMVAwLI.js";var i=Object.defineProperty,a=r((t,e)=>i(t,"name",{value:e,configurable:!0}),"r");const u=a(t=>{const{endpoint:e,metadata:o}=t,m=c({endpoint:e,metadata:o});return{abortItem:a(n=>{m.abortItem(n)},"abortItem")}},"createAbortItem");export{u as createAbortItem};
@@ -1 +1 @@
1
- var d=Object.defineProperty;var n=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as c,onDestroy as A}from"svelte";import{createMultipartAdapter as f}from"./createMultipartAdapter-B17aIZJS.js";var m=Object.defineProperty,i=n((e,t)=>m(e,"name",{value:t,configurable:!0}),"e");const M=i(e=>{const{endpoint:t,metadata:l,onAbort:p}=e;c(()=>{const r=f({endpoint:t,metadata:l}),o=i(a=>{"file"in a&&p(a)},"handler");r.uploader.on("ITEM_ABORT",o),A(()=>{r.uploader.off("ITEM_ABORT",o)})})},"createAllAbortListener");export{M as createAllAbortListener};
1
+ var d=Object.defineProperty;var n=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as c,onDestroy as A}from"svelte";import{createMultipartAdapter as f}from"./createMultipartAdapter-BBMVAwLI.js";var m=Object.defineProperty,i=n((e,t)=>m(e,"name",{value:t,configurable:!0}),"e");const M=i(e=>{const{endpoint:t,metadata:l,onAbort:p}=e;c(()=>{const r=f({endpoint:t,metadata:l}),o=i(a=>{"file"in a&&p(a)},"handler");r.uploader.on("ITEM_ABORT",o),A(()=>{r.uploader.off("ITEM_ABORT",o)})})},"createAllAbortListener");export{M as createAllAbortListener};
@@ -1 +1 @@
1
- var d=Object.defineProperty;var n=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as c,onCleanup as u}from"solid-js";import{createMultipartAdapter as A}from"./createMultipartAdapter-B17aIZJS.js";var f=Object.defineProperty,i=n((e,t)=>f(e,"name",{value:t,configurable:!0}),"e");const M=i(e=>{const{endpoint:t,metadata:l,onAbort:p}=e;c(()=>{const r=A({endpoint:t,metadata:l}),o=i(a=>{"file"in a&&p(a)},"handler");r.uploader.on("ITEM_ABORT",o),u(()=>{r.uploader.off("ITEM_ABORT",o)})})},"createAllAbortListener");export{M as createAllAbortListener};
1
+ var d=Object.defineProperty;var n=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as c,onCleanup as u}from"solid-js";import{createMultipartAdapter as A}from"./createMultipartAdapter-BBMVAwLI.js";var f=Object.defineProperty,i=n((e,t)=>f(e,"name",{value:t,configurable:!0}),"e");const M=i(e=>{const{endpoint:t,metadata:l,onAbort:p}=e;c(()=>{const r=A({endpoint:t,metadata:l}),o=i(a=>{"file"in a&&p(a)},"handler");r.uploader.on("ITEM_ABORT",o),u(()=>{r.uploader.off("ITEM_ABORT",o)})})},"createAllAbortListener");export{M as createAllAbortListener};
@@ -1 +1 @@
1
- var i=Object.defineProperty;var r=(e,t)=>i(e,"name",{value:t,configurable:!0});import{onMount as p,onCleanup as C}from"solid-js";import{createMultipartAdapter as m}from"./createMultipartAdapter-B17aIZJS.js";var u=Object.defineProperty,c=r((e,t)=>u(e,"name",{value:t,configurable:!0}),"a");const A=c(e=>{const{endpoint:t,metadata:d,onBatchCancelled:l}=e;p(()=>{const a=m({endpoint:t,metadata:d}),n=c(o=>{"itemIds"in o&&l(o)},"handler");a.uploader.on("BATCH_CANCELLED",n),C(()=>{a.uploader.off("BATCH_CANCELLED",n)})})},"createBatchCancelledListener");export{A as createBatchCancelledListener};
1
+ var i=Object.defineProperty;var r=(e,t)=>i(e,"name",{value:t,configurable:!0});import{onMount as p,onCleanup as C}from"solid-js";import{createMultipartAdapter as m}from"./createMultipartAdapter-BBMVAwLI.js";var u=Object.defineProperty,c=r((e,t)=>u(e,"name",{value:t,configurable:!0}),"a");const A=c(e=>{const{endpoint:t,metadata:d,onBatchCancelled:l}=e;p(()=>{const a=m({endpoint:t,metadata:d}),n=c(o=>{"itemIds"in o&&l(o)},"handler");a.uploader.on("BATCH_CANCELLED",n),C(()=>{a.uploader.off("BATCH_CANCELLED",n)})})},"createBatchCancelledListener");export{A as createBatchCancelledListener};
@@ -1 +1 @@
1
- var l=Object.defineProperty;var r=(e,t)=>l(e,"name",{value:t,configurable:!0});import{onMount as p,onDestroy as C}from"svelte";import{createMultipartAdapter as m}from"./createMultipartAdapter-B17aIZJS.js";var s=Object.defineProperty,c=r((e,t)=>s(e,"name",{value:t,configurable:!0}),"a");const A=c(e=>{const{endpoint:t,metadata:d,onBatchCancelled:i}=e;p(()=>{const a=m({endpoint:t,metadata:d}),n=c(o=>{"itemIds"in o&&i(o)},"handler");a.uploader.on("BATCH_CANCELLED",n),C(()=>{a.uploader.off("BATCH_CANCELLED",n)})})},"createBatchCancelledListener");export{A as createBatchCancelledListener};
1
+ var l=Object.defineProperty;var r=(e,t)=>l(e,"name",{value:t,configurable:!0});import{onMount as p,onDestroy as C}from"svelte";import{createMultipartAdapter as m}from"./createMultipartAdapter-BBMVAwLI.js";var s=Object.defineProperty,c=r((e,t)=>s(e,"name",{value:t,configurable:!0}),"a");const A=c(e=>{const{endpoint:t,metadata:d,onBatchCancelled:i}=e;p(()=>{const a=m({endpoint:t,metadata:d}),n=c(o=>{"itemIds"in o&&i(o)},"handler");a.uploader.on("BATCH_CANCELLED",n),C(()=>{a.uploader.off("BATCH_CANCELLED",n)})})},"createBatchCancelledListener");export{A as createBatchCancelledListener};
@@ -1 +1 @@
1
- var d=Object.defineProperty;var n=(r,e)=>d(r,"name",{value:e,configurable:!0});import{onMount as m,onDestroy as s}from"svelte";import{createMultipartAdapter as u}from"./createMultipartAdapter-B17aIZJS.js";var f=Object.defineProperty,c=n((r,e)=>f(r,"name",{value:e,configurable:!0}),"o");const E=c(r=>{const{endpoint:e,metadata:i,onBatchError:p}=r;m(()=>{const t=u({endpoint:e,metadata:i}),o=c(a=>{"itemIds"in a&&p(a)},"handler");t.uploader.on("BATCH_ERROR",o),s(()=>{t.uploader.off("BATCH_ERROR",o)})})},"createBatchErrorListener");export{E as createBatchErrorListener};
1
+ var d=Object.defineProperty;var n=(r,e)=>d(r,"name",{value:e,configurable:!0});import{onMount as m,onDestroy as s}from"svelte";import{createMultipartAdapter as u}from"./createMultipartAdapter-BBMVAwLI.js";var f=Object.defineProperty,c=n((r,e)=>f(r,"name",{value:e,configurable:!0}),"o");const E=c(r=>{const{endpoint:e,metadata:i,onBatchError:p}=r;m(()=>{const t=u({endpoint:e,metadata:i}),o=c(a=>{"itemIds"in a&&p(a)},"handler");t.uploader.on("BATCH_ERROR",o),s(()=>{t.uploader.off("BATCH_ERROR",o)})})},"createBatchErrorListener");export{E as createBatchErrorListener};
@@ -1 +1 @@
1
- var d=Object.defineProperty;var n=(r,e)=>d(r,"name",{value:e,configurable:!0});import{onMount as m,onCleanup as u}from"solid-js";import{createMultipartAdapter as l}from"./createMultipartAdapter-B17aIZJS.js";var f=Object.defineProperty,c=n((r,e)=>f(r,"name",{value:e,configurable:!0}),"o");const E=c(r=>{const{endpoint:e,metadata:i,onBatchError:p}=r;m(()=>{const t=l({endpoint:e,metadata:i}),a=c(o=>{"itemIds"in o&&p(o)},"handler");t.uploader.on("BATCH_ERROR",a),u(()=>{t.uploader.off("BATCH_ERROR",a)})})},"createBatchErrorListener");export{E as createBatchErrorListener};
1
+ var d=Object.defineProperty;var n=(r,e)=>d(r,"name",{value:e,configurable:!0});import{onMount as m,onCleanup as u}from"solid-js";import{createMultipartAdapter as l}from"./createMultipartAdapter-BBMVAwLI.js";var f=Object.defineProperty,c=n((r,e)=>f(r,"name",{value:e,configurable:!0}),"o");const E=c(r=>{const{endpoint:e,metadata:i,onBatchError:p}=r;m(()=>{const t=l({endpoint:e,metadata:i}),a=c(o=>{"itemIds"in o&&p(o)},"handler");t.uploader.on("BATCH_ERROR",a),u(()=>{t.uploader.off("BATCH_ERROR",a)})})},"createBatchErrorListener");export{E as createBatchErrorListener};
@@ -1 +1 @@
1
- var d=Object.defineProperty;var o=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as l,onCleanup as m}from"solid-js";import{createMultipartAdapter as u}from"./createMultipartAdapter-B17aIZJS.js";var f=Object.defineProperty,i=o((e,t)=>f(e,"name",{value:t,configurable:!0}),"a");const F=i(e=>{const{endpoint:t,metadata:c,onBatchFinalize:p}=e;l(()=>{const a=u({endpoint:t,metadata:c}),n=i(r=>{"itemIds"in r&&p(r)},"handler");a.uploader.on("BATCH_FINALIZE",n),m(()=>{a.uploader.off("BATCH_FINALIZE",n)})})},"createBatchFinalizeListener");export{F as createBatchFinalizeListener};
1
+ var d=Object.defineProperty;var o=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as l,onCleanup as m}from"solid-js";import{createMultipartAdapter as u}from"./createMultipartAdapter-BBMVAwLI.js";var f=Object.defineProperty,i=o((e,t)=>f(e,"name",{value:t,configurable:!0}),"a");const F=i(e=>{const{endpoint:t,metadata:c,onBatchFinalize:p}=e;l(()=>{const a=u({endpoint:t,metadata:c}),n=i(r=>{"itemIds"in r&&p(r)},"handler");a.uploader.on("BATCH_FINALIZE",n),m(()=>{a.uploader.off("BATCH_FINALIZE",n)})})},"createBatchFinalizeListener");export{F as createBatchFinalizeListener};
@@ -1 +1 @@
1
- var d=Object.defineProperty;var n=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as l,onDestroy as m}from"svelte";import{createMultipartAdapter as s}from"./createMultipartAdapter-B17aIZJS.js";var u=Object.defineProperty,i=n((e,t)=>u(e,"name",{value:t,configurable:!0}),"a");const F=i(e=>{const{endpoint:t,metadata:c,onBatchFinalize:p}=e;l(()=>{const a=s({endpoint:t,metadata:c}),r=i(o=>{"itemIds"in o&&p(o)},"handler");a.uploader.on("BATCH_FINALIZE",r),m(()=>{a.uploader.off("BATCH_FINALIZE",r)})})},"createBatchFinalizeListener");export{F as createBatchFinalizeListener};
1
+ var d=Object.defineProperty;var n=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as l,onDestroy as m}from"svelte";import{createMultipartAdapter as s}from"./createMultipartAdapter-BBMVAwLI.js";var u=Object.defineProperty,i=n((e,t)=>u(e,"name",{value:t,configurable:!0}),"a");const F=i(e=>{const{endpoint:t,metadata:c,onBatchFinalize:p}=e;l(()=>{const a=s({endpoint:t,metadata:c}),r=i(o=>{"itemIds"in o&&p(o)},"handler");a.uploader.on("BATCH_FINALIZE",r),m(()=>{a.uploader.off("BATCH_FINALIZE",r)})})},"createBatchFinalizeListener");export{F as createBatchFinalizeListener};
@@ -1 +1 @@
1
- var s=Object.defineProperty;var n=(e,t)=>s(e,"name",{value:t,configurable:!0});import{onMount as d,onDestroy as m}from"svelte";import{createMultipartAdapter as h}from"./createMultipartAdapter-B17aIZJS.js";var u=Object.defineProperty,i=n((e,t)=>u(e,"name",{value:t,configurable:!0}),"o");const F=i(e=>{const{endpoint:t,metadata:c,onBatchFinish:p}=e;d(()=>{const a=h({endpoint:t,metadata:c}),r=i(o=>{"itemIds"in o&&p(o)},"handler");a.uploader.on("BATCH_FINISH",r),m(()=>{a.uploader.off("BATCH_FINISH",r)})})},"createBatchFinishListener");export{F as createBatchFinishListener};
1
+ var s=Object.defineProperty;var n=(e,t)=>s(e,"name",{value:t,configurable:!0});import{onMount as d,onDestroy as m}from"svelte";import{createMultipartAdapter as h}from"./createMultipartAdapter-BBMVAwLI.js";var u=Object.defineProperty,i=n((e,t)=>u(e,"name",{value:t,configurable:!0}),"o");const F=i(e=>{const{endpoint:t,metadata:c,onBatchFinish:p}=e;d(()=>{const a=h({endpoint:t,metadata:c}),r=i(o=>{"itemIds"in o&&p(o)},"handler");a.uploader.on("BATCH_FINISH",r),m(()=>{a.uploader.off("BATCH_FINISH",r)})})},"createBatchFinishListener");export{F as createBatchFinishListener};
@@ -1 +1 @@
1
- var d=Object.defineProperty;var o=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as s,onCleanup as m}from"solid-js";import{createMultipartAdapter as u}from"./createMultipartAdapter-B17aIZJS.js";var h=Object.defineProperty,i=o((e,t)=>h(e,"name",{value:t,configurable:!0}),"a");const F=i(e=>{const{endpoint:t,metadata:p,onBatchFinish:c}=e;s(()=>{const a=u({endpoint:t,metadata:p}),n=i(r=>{"itemIds"in r&&c(r)},"handler");a.uploader.on("BATCH_FINISH",n),m(()=>{a.uploader.off("BATCH_FINISH",n)})})},"createBatchFinishListener");export{F as createBatchFinishListener};
1
+ var d=Object.defineProperty;var o=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as s,onCleanup as m}from"solid-js";import{createMultipartAdapter as u}from"./createMultipartAdapter-BBMVAwLI.js";var h=Object.defineProperty,i=o((e,t)=>h(e,"name",{value:t,configurable:!0}),"a");const F=i(e=>{const{endpoint:t,metadata:p,onBatchFinish:c}=e;s(()=>{const a=u({endpoint:t,metadata:p}),n=i(r=>{"itemIds"in r&&c(r)},"handler");a.uploader.on("BATCH_FINISH",n),m(()=>{a.uploader.off("BATCH_FINISH",n)})})},"createBatchFinishListener");export{F as createBatchFinishListener};
@@ -1 +1 @@
1
- var c=Object.defineProperty;var n=(e,r)=>c(e,"name",{value:r,configurable:!0});import{onMount as d,onCleanup as m}from"solid-js";import{createMultipartAdapter as u}from"./createMultipartAdapter-B17aIZJS.js";var l=Object.defineProperty,s=n((e,r)=>l(e,"name",{value:r,configurable:!0}),"o");const g=s(e=>{const{endpoint:r,metadata:i,onBatchProgress:p}=e;d(()=>{const t=u({endpoint:r,metadata:i}),a=s(o=>{"itemIds"in o&&p(o)},"handler");t.uploader.on("BATCH_PROGRESS",a),m(()=>{t.uploader.off("BATCH_PROGRESS",a)})})},"createBatchProgressListener");export{g as createBatchProgressListener};
1
+ var c=Object.defineProperty;var n=(e,r)=>c(e,"name",{value:r,configurable:!0});import{onMount as d,onCleanup as m}from"solid-js";import{createMultipartAdapter as u}from"./createMultipartAdapter-BBMVAwLI.js";var l=Object.defineProperty,s=n((e,r)=>l(e,"name",{value:r,configurable:!0}),"o");const g=s(e=>{const{endpoint:r,metadata:i,onBatchProgress:p}=e;d(()=>{const t=u({endpoint:r,metadata:i}),a=s(o=>{"itemIds"in o&&p(o)},"handler");t.uploader.on("BATCH_PROGRESS",a),m(()=>{t.uploader.off("BATCH_PROGRESS",a)})})},"createBatchProgressListener");export{g as createBatchProgressListener};
@@ -1 +1 @@
1
- var p=Object.defineProperty;var n=(e,r)=>p(e,"name",{value:r,configurable:!0});import{onMount as d,onDestroy as m}from"svelte";import{createMultipartAdapter as u}from"./createMultipartAdapter-B17aIZJS.js";var f=Object.defineProperty,s=n((e,r)=>f(e,"name",{value:r,configurable:!0}),"o");const g=s(e=>{const{endpoint:r,metadata:i,onBatchProgress:c}=e;d(()=>{const t=u({endpoint:r,metadata:i}),o=s(a=>{"itemIds"in a&&c(a)},"handler");t.uploader.on("BATCH_PROGRESS",o),m(()=>{t.uploader.off("BATCH_PROGRESS",o)})})},"createBatchProgressListener");export{g as createBatchProgressListener};
1
+ var p=Object.defineProperty;var n=(e,r)=>p(e,"name",{value:r,configurable:!0});import{onMount as d,onDestroy as m}from"svelte";import{createMultipartAdapter as u}from"./createMultipartAdapter-BBMVAwLI.js";var f=Object.defineProperty,s=n((e,r)=>f(e,"name",{value:r,configurable:!0}),"o");const g=s(e=>{const{endpoint:r,metadata:i,onBatchProgress:c}=e;d(()=>{const t=u({endpoint:r,metadata:i}),o=s(a=>{"itemIds"in a&&c(a)},"handler");t.uploader.on("BATCH_PROGRESS",o),m(()=>{t.uploader.off("BATCH_PROGRESS",o)})})},"createBatchProgressListener");export{g as createBatchProgressListener};
@@ -1 +1 @@
1
- var p=Object.defineProperty;var r=(t,e)=>p(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as d}from"./createMultipartAdapter-B17aIZJS.js";var i=Object.defineProperty,a=r((t,e)=>i(t,"name",{value:e,configurable:!0}),"r");const h=a(t=>{const{endpoint:e,metadata:c}=t,n=d({endpoint:e,metadata:c});return{retryBatch:a(o=>{n.uploader.retryBatch(o)},"retryBatch")}},"createBatchRetry");export{h as createBatchRetry};
1
+ var p=Object.defineProperty;var r=(t,e)=>p(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as d}from"./createMultipartAdapter-BBMVAwLI.js";var i=Object.defineProperty,a=r((t,e)=>i(t,"name",{value:e,configurable:!0}),"r");const h=a(t=>{const{endpoint:e,metadata:c}=t,n=d({endpoint:e,metadata:c});return{retryBatch:a(o=>{n.uploader.retryBatch(o)},"retryBatch")}},"createBatchRetry");export{h as createBatchRetry};
@@ -1 +1 @@
1
- var p=Object.defineProperty;var r=(t,e)=>p(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as d}from"./createMultipartAdapter-B17aIZJS.js";var i=Object.defineProperty,a=r((t,e)=>i(t,"name",{value:e,configurable:!0}),"r");const h=a(t=>{const{endpoint:e,metadata:c}=t,n=d({endpoint:e,metadata:c});return{retryBatch:a(o=>{n.uploader.retryBatch(o)},"retryBatch")}},"createBatchRetry");export{h as createBatchRetry};
1
+ var p=Object.defineProperty;var r=(t,e)=>p(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as d}from"./createMultipartAdapter-BBMVAwLI.js";var i=Object.defineProperty,a=r((t,e)=>i(t,"name",{value:e,configurable:!0}),"r");const h=a(t=>{const{endpoint:e,metadata:c}=t,n=d({endpoint:e,metadata:c});return{retryBatch:a(o=>{n.uploader.retryBatch(o)},"retryBatch")}},"createBatchRetry");export{h as createBatchRetry};
@@ -1 +1 @@
1
- var d=Object.defineProperty;var n=(t,e)=>d(t,"name",{value:e,configurable:!0});import{onMount as m,onDestroy as s}from"svelte";import{createMultipartAdapter as u}from"./createMultipartAdapter-B17aIZJS.js";var f=Object.defineProperty,c=n((t,e)=>f(t,"name",{value:e,configurable:!0}),"e");const B=c(t=>{const{endpoint:e,metadata:i,onBatchStart:p}=t;m(()=>{const a=u({endpoint:e,metadata:i}),r=c(o=>{"itemIds"in o&&p(o)},"handler");a.uploader.on("BATCH_START",r),s(()=>{a.uploader.off("BATCH_START",r)})})},"createBatchStartListener");export{B as createBatchStartListener};
1
+ var d=Object.defineProperty;var n=(t,e)=>d(t,"name",{value:e,configurable:!0});import{onMount as m,onDestroy as s}from"svelte";import{createMultipartAdapter as u}from"./createMultipartAdapter-BBMVAwLI.js";var f=Object.defineProperty,c=n((t,e)=>f(t,"name",{value:e,configurable:!0}),"e");const B=c(t=>{const{endpoint:e,metadata:i,onBatchStart:p}=t;m(()=>{const a=u({endpoint:e,metadata:i}),r=c(o=>{"itemIds"in o&&p(o)},"handler");a.uploader.on("BATCH_START",r),s(()=>{a.uploader.off("BATCH_START",r)})})},"createBatchStartListener");export{B as createBatchStartListener};
@@ -1 +1 @@
1
- var d=Object.defineProperty;var n=(t,e)=>d(t,"name",{value:e,configurable:!0});import{onMount as m,onCleanup as u}from"solid-js";import{createMultipartAdapter as l}from"./createMultipartAdapter-B17aIZJS.js";var f=Object.defineProperty,c=n((t,e)=>f(t,"name",{value:e,configurable:!0}),"e");const B=c(t=>{const{endpoint:e,metadata:i,onBatchStart:p}=t;m(()=>{const a=l({endpoint:e,metadata:i}),r=c(o=>{"itemIds"in o&&p(o)},"handler");a.uploader.on("BATCH_START",r),u(()=>{a.uploader.off("BATCH_START",r)})})},"createBatchStartListener");export{B as createBatchStartListener};
1
+ var d=Object.defineProperty;var n=(t,e)=>d(t,"name",{value:e,configurable:!0});import{onMount as m,onCleanup as u}from"solid-js";import{createMultipartAdapter as l}from"./createMultipartAdapter-BBMVAwLI.js";var f=Object.defineProperty,c=n((t,e)=>f(t,"name",{value:e,configurable:!0}),"e");const B=c(t=>{const{endpoint:e,metadata:i,onBatchStart:p}=t;m(()=>{const a=l({endpoint:e,metadata:i}),r=c(o=>{"itemIds"in o&&p(o)},"handler");a.uploader.on("BATCH_START",r),u(()=>{a.uploader.off("BATCH_START",r)})})},"createBatchStartListener");export{B as createBatchStartListener};
@@ -1 +1 @@
1
- var z=Object.defineProperty;var I=(s,d)=>z(s,"name",{value:d,configurable:!0});import{createSignal as r,onMount as M,onCleanup as j}from"solid-js";import{createMultipartAdapter as x}from"./createMultipartAdapter-B17aIZJS.js";var D=Object.defineProperty,i=I((s,d)=>D(s,"name",{value:d,configurable:!0}),"s");const J=i(s=>{const{endpoint:d,metadata:E,onError:_,onProgress:b,onStart:v,onSuccess:y}=s,[N,C]=r([]),[O,c]=r(0),[P,l]=r(!1),[L,h]=r(void 0),[F,p]=r(0),[U,f]=r(0),[m,A]=r(void 0),u=x({endpoint:d,metadata:E});return M(()=>{const{uploader:t}=u,R=i(a=>{if("itemIds"in a){const e=a;A(e.id),l(!0),c(0),h(void 0),p(0),f(0),C(t.getBatchItems(e.id)),v?.(e.id)}},"onBatchStart"),g=i(a=>{if("itemIds"in a){const e=a;e.id===m()&&(c(e.progress),p(e.completedCount),f(e.errorCount),C(t.getBatchItems(e.id)),b?.(e.progress,e.id))}},"onBatchProgress"),T=i(a=>{if("itemIds"in a){const e=a;if(e.id===m()){const B=t.getBatchItems(e.id).filter(o=>o.status==="completed").map(o=>{let n={};try{o.uploadResponse?.data&&typeof o.uploadResponse.data=="object"?n=o.uploadResponse.data:o.uploadResponse?.response&&(n=JSON.parse(o.uploadResponse.response))}catch{}return{bytesWritten:n.bytesWritten,contentType:n.contentType??o.file.type,createdAt:n.createdAt,filename:n.originalName??o.file.name,id:n.id??o.id,metadata:n.metadata,name:n.name,originalName:n.originalName??o.file.name,size:n.size??o.file.size,status:n.status??"completed",url:o.url}});c(100),l(!1),y?.(B,e.id)}}},"onBatchFinish"),S=i(a=>{if("itemIds"in a){const e=a;if(e.id===m()){const B=new Error(`Batch upload failed: ${String(e.errorCount)} file(s) failed`);h(B),l(!1),f(e.errorCount),p(e.completedCount),_?.(B,e.id)}}},"onBatchError"),H=i(a=>{"itemIds"in a&&a.id===m()&&(l(!1),c(0))},"onBatchCancelled");t.on("BATCH_START",R),t.on("BATCH_PROGRESS",g),t.on("BATCH_FINISH",T),t.on("BATCH_ERROR",S),t.on("BATCH_CANCELLED",H),j(()=>{t.off("BATCH_START",R),t.off("BATCH_PROGRESS",g),t.off("BATCH_FINISH",T),t.off("BATCH_ERROR",S),t.off("BATCH_CANCELLED",H)})}),{abortBatch:i(t=>{u.abortBatch(t)},"abortBatch"),completedCount:F,error:L,errorCount:U,isUploading:P,items:N,progress:O,reset:i(()=>{u.clear(),c(0),l(!1),h(void 0),C([]),p(0),f(0),A(void 0)},"reset"),uploadBatch:i(t=>t.length===0?[]:u.uploadBatch(t),"uploadBatch")}},"createBatchUpload");export{J as createBatchUpload};
1
+ var z=Object.defineProperty;var I=(s,d)=>z(s,"name",{value:d,configurable:!0});import{createSignal as r,onMount as M,onCleanup as j}from"solid-js";import{createMultipartAdapter as x}from"./createMultipartAdapter-BBMVAwLI.js";var D=Object.defineProperty,i=I((s,d)=>D(s,"name",{value:d,configurable:!0}),"s");const J=i(s=>{const{endpoint:d,metadata:E,onError:_,onProgress:b,onStart:v,onSuccess:y}=s,[N,C]=r([]),[O,c]=r(0),[P,l]=r(!1),[L,h]=r(void 0),[F,p]=r(0),[U,f]=r(0),[m,A]=r(void 0),u=x({endpoint:d,metadata:E});return M(()=>{const{uploader:t}=u,R=i(a=>{if("itemIds"in a){const e=a;A(e.id),l(!0),c(0),h(void 0),p(0),f(0),C(t.getBatchItems(e.id)),v?.(e.id)}},"onBatchStart"),g=i(a=>{if("itemIds"in a){const e=a;e.id===m()&&(c(e.progress),p(e.completedCount),f(e.errorCount),C(t.getBatchItems(e.id)),b?.(e.progress,e.id))}},"onBatchProgress"),T=i(a=>{if("itemIds"in a){const e=a;if(e.id===m()){const B=t.getBatchItems(e.id).filter(o=>o.status==="completed").map(o=>{let n={};try{o.uploadResponse?.data&&typeof o.uploadResponse.data=="object"?n=o.uploadResponse.data:o.uploadResponse?.response&&(n=JSON.parse(o.uploadResponse.response))}catch{}return{bytesWritten:n.bytesWritten,contentType:n.contentType??o.file.type,createdAt:n.createdAt,filename:n.originalName??o.file.name,id:n.id??o.id,metadata:n.metadata,name:n.name,originalName:n.originalName??o.file.name,size:n.size??o.file.size,status:n.status??"completed",url:o.url}});c(100),l(!1),y?.(B,e.id)}}},"onBatchFinish"),S=i(a=>{if("itemIds"in a){const e=a;if(e.id===m()){const B=new Error(`Batch upload failed: ${String(e.errorCount)} file(s) failed`);h(B),l(!1),f(e.errorCount),p(e.completedCount),_?.(B,e.id)}}},"onBatchError"),H=i(a=>{"itemIds"in a&&a.id===m()&&(l(!1),c(0))},"onBatchCancelled");t.on("BATCH_START",R),t.on("BATCH_PROGRESS",g),t.on("BATCH_FINISH",T),t.on("BATCH_ERROR",S),t.on("BATCH_CANCELLED",H),j(()=>{t.off("BATCH_START",R),t.off("BATCH_PROGRESS",g),t.off("BATCH_FINISH",T),t.off("BATCH_ERROR",S),t.off("BATCH_CANCELLED",H)})}),{abortBatch:i(t=>{u.abortBatch(t)},"abortBatch"),completedCount:F,error:L,errorCount:U,isUploading:P,items:N,progress:O,reset:i(()=>{u.clear(),c(0),l(!1),h(void 0),C([]),p(0),f(0),A(void 0)},"reset"),uploadBatch:i(t=>t.length===0?[]:u.uploadBatch(t),"uploadBatch")}},"createBatchUpload");export{J as createBatchUpload};
@@ -1 +1 @@
1
- var v=Object.defineProperty;var I=(l,p)=>v(l,"name",{value:p,configurable:!0});import{onMount as O,onDestroy as P}from"svelte";import{writable as n,get as A}from"svelte/store";import{createMultipartAdapter as L}from"./createMultipartAdapter-B17aIZJS.js";var U=Object.defineProperty,a=I((l,p)=>U(l,"name",{value:p,configurable:!0}),"s");const w=a(l=>{const{endpoint:p,metadata:E,onError:_,onProgress:b,onStart:y,onSuccess:N}=l,u=n([]),i=n(0),d=n(!1),B=n(),f=n(0),m=n(0),c=n(),C=L({endpoint:p,metadata:E});return O(()=>{const{uploader:t}=C,R=a(o=>{if("itemIds"in o){const e=o;c.set(e.id),d.set(!0),i.set(0),B.set(void 0),f.set(0),m.set(0),u.set(t.getBatchItems(e.id)),y?.(e.id)}},"onBatchStart"),g=a(o=>{if("itemIds"in o){const e=o;e.id===A(c)&&(i.set(e.progress),f.set(e.completedCount),m.set(e.errorCount),u.set(t.getBatchItems(e.id)),b?.(e.progress,e.id))}},"onBatchProgress"),T=a(o=>{if("itemIds"in o){const e=o;if(e.id===A(c)){const h=t.getBatchItems(e.id).filter(s=>s.status==="completed").map(s=>{let r={};try{s.uploadResponse?.data&&typeof s.uploadResponse.data=="object"?r=s.uploadResponse.data:s.uploadResponse?.response&&(r=JSON.parse(s.uploadResponse.response))}catch{}return{bytesWritten:r.bytesWritten,contentType:r.contentType??s.file.type,createdAt:r.createdAt,filename:r.originalName??s.file.name,id:r.id??s.id,metadata:r.metadata,name:r.name,originalName:r.originalName??s.file.name,size:r.size??s.file.size,status:r.status??"completed",url:s.url}});i.set(100),d.set(!1),N?.(h,e.id)}}},"onBatchFinish"),S=a(o=>{if("itemIds"in o){const e=o;if(e.id===A(c)){const h=new Error(`Batch upload failed: ${String(e.errorCount)} file(s) failed`);B.set(h),d.set(!1),m.set(e.errorCount),f.set(e.completedCount),_?.(h,e.id)}}},"onBatchError"),H=a(o=>{"itemIds"in o&&o.id===A(c)&&(d.set(!1),i.set(0))},"onBatchCancelled");t.on("BATCH_START",R),t.on("BATCH_PROGRESS",g),t.on("BATCH_FINISH",T),t.on("BATCH_ERROR",S),t.on("BATCH_CANCELLED",H),P(()=>{t.off("BATCH_START",R),t.off("BATCH_PROGRESS",g),t.off("BATCH_FINISH",T),t.off("BATCH_ERROR",S),t.off("BATCH_CANCELLED",H)})}),{abortBatch:a(t=>{C.abortBatch(t)},"abortBatch"),completedCount:f,error:B,errorCount:m,isUploading:d,items:u,progress:i,reset:a(()=>{C.clear(),i.set(0),d.set(!1),B.set(void 0),u.set([]),f.set(0),m.set(0),c.set(void 0)},"reset"),uploadBatch:a(t=>t.length===0?[]:C.uploadBatch(t),"uploadBatch")}},"createBatchUpload");export{w as createBatchUpload};
1
+ var v=Object.defineProperty;var I=(l,p)=>v(l,"name",{value:p,configurable:!0});import{onMount as O,onDestroy as P}from"svelte";import{writable as n,get as A}from"svelte/store";import{createMultipartAdapter as L}from"./createMultipartAdapter-BBMVAwLI.js";var U=Object.defineProperty,a=I((l,p)=>U(l,"name",{value:p,configurable:!0}),"s");const w=a(l=>{const{endpoint:p,metadata:E,onError:_,onProgress:b,onStart:y,onSuccess:N}=l,u=n([]),i=n(0),d=n(!1),B=n(),f=n(0),m=n(0),c=n(),C=L({endpoint:p,metadata:E});return O(()=>{const{uploader:t}=C,R=a(o=>{if("itemIds"in o){const e=o;c.set(e.id),d.set(!0),i.set(0),B.set(void 0),f.set(0),m.set(0),u.set(t.getBatchItems(e.id)),y?.(e.id)}},"onBatchStart"),g=a(o=>{if("itemIds"in o){const e=o;e.id===A(c)&&(i.set(e.progress),f.set(e.completedCount),m.set(e.errorCount),u.set(t.getBatchItems(e.id)),b?.(e.progress,e.id))}},"onBatchProgress"),T=a(o=>{if("itemIds"in o){const e=o;if(e.id===A(c)){const h=t.getBatchItems(e.id).filter(s=>s.status==="completed").map(s=>{let r={};try{s.uploadResponse?.data&&typeof s.uploadResponse.data=="object"?r=s.uploadResponse.data:s.uploadResponse?.response&&(r=JSON.parse(s.uploadResponse.response))}catch{}return{bytesWritten:r.bytesWritten,contentType:r.contentType??s.file.type,createdAt:r.createdAt,filename:r.originalName??s.file.name,id:r.id??s.id,metadata:r.metadata,name:r.name,originalName:r.originalName??s.file.name,size:r.size??s.file.size,status:r.status??"completed",url:s.url}});i.set(100),d.set(!1),N?.(h,e.id)}}},"onBatchFinish"),S=a(o=>{if("itemIds"in o){const e=o;if(e.id===A(c)){const h=new Error(`Batch upload failed: ${String(e.errorCount)} file(s) failed`);B.set(h),d.set(!1),m.set(e.errorCount),f.set(e.completedCount),_?.(h,e.id)}}},"onBatchError"),H=a(o=>{"itemIds"in o&&o.id===A(c)&&(d.set(!1),i.set(0))},"onBatchCancelled");t.on("BATCH_START",R),t.on("BATCH_PROGRESS",g),t.on("BATCH_FINISH",T),t.on("BATCH_ERROR",S),t.on("BATCH_CANCELLED",H),P(()=>{t.off("BATCH_START",R),t.off("BATCH_PROGRESS",g),t.off("BATCH_FINISH",T),t.off("BATCH_ERROR",S),t.off("BATCH_CANCELLED",H)})}),{abortBatch:a(t=>{C.abortBatch(t)},"abortBatch"),completedCount:f,error:B,errorCount:m,isUploading:d,items:u,progress:i,reset:a(()=>{C.clear(),i.set(0),d.set(!1),B.set(void 0),u.set([]),f.set(0),m.set(0),c.set(void 0)},"reset"),uploadBatch:a(t=>t.length===0?[]:C.uploadBatch(t),"uploadBatch")}},"createBatchUpload");export{w as createBatchUpload};
@@ -0,0 +1 @@
1
+ var j=Object.defineProperty;var D=($,w)=>j($,"name",{value:w,configurable:!0});import{defaultFingerprint as H}from"./defaultFingerprint-CI2Sdd2s.js";var J=Object.defineProperty,o=D(($,w)=>J($,"name",{value:w,configurable:!0}),"n");const L=5*1024*1024,B=o($=>{const{chunkSize:w=L,control:k,endpoint:l,fingerprint:N=H,maxRetries:z=3,metadata:A={},retry:F=!0,urlStorage:E}=$;let r={aborted:!1,paused:!1,totalSize:0,uploadedChunks:new Set};const X=o(async(t,a,e)=>{if(!E)return;const n={createdAt:Date.now(),endpoint:l,fingerprint:t,lastModified:e.lastModified,protocol:"chunked-rest",size:e.size,uploadUrl:a};try{await E.addEntry(n)}catch{}},"persistUploadEntry"),I=o(async t=>{if(!(!E||!t))try{await E.removeEntry(t)}catch{}},"removeUploadEntry");let M,U,C,O;const P=o(async(t,a)=>{if(a?.aborted)throw new Error("Aborted");const e=100,n=Date.now();for(;Date.now()-n<t;){if(a?.aborted)throw new Error("Aborted");const d=t-(Date.now()-n),c=Math.min(e,d);await new Promise(p=>{setTimeout(()=>{p()},c)})}},"abortableDelay"),S=o(async(t,a,e=z)=>{try{const n=await fetch(t,a);if(!n.ok&&e>0&&F){const d=1e3*2**(z-e);return await P(d,a.signal??void 0),S(t,a,e-1)}return n}catch(n){if(a.signal?.aborted||n instanceof Error&&n.message==="Aborted")throw n;if(e>0&&F){const d=1e3*2**(z-e);return await P(d,a.signal??void 0),S(t,a,e-1)}throw n}},"fetchWithRetry"),W=o(async t=>{const a={"Content-Type":t.type||"application/octet-stream","X-Chunked-Upload":"true","X-Total-Size":String(t.size)};Object.keys(A).length>0&&(a["X-File-Metadata"]=JSON.stringify(A)),t.name&&(a["Content-Disposition"]=`attachment; filename="${t.name}"`);const e=await S(l,{body:new Uint8Array(0),headers:a,method:"POST"});if(!e.ok)throw new Error(`Failed to create upload session: ${String(e.status)} ${e.statusText}`);const n=e.headers.get("X-Upload-ID")??e.headers.get("Location")?.split("/").pop();if(!n)throw new Error("Failed to get upload ID from server");return n},"createUpload"),R=o(async t=>{const a=l.endsWith("/")?`${l}${t}`:`${l}/${t}`;let e;try{e=await fetch(a,{method:"HEAD"})}catch{return}if(!(e.status===404||e.status===410||e.status===403)){if(!e.ok)throw new Error(`Failed to probe upload: ${String(e.status)} ${e.statusText}`);return Number.parseInt(e.headers.get("X-Upload-Offset")??"0",10)}},"probeExistingUpload"),v=o(async t=>{const a=l.endsWith("/")?`${l}${t}`:`${l}/${t}`,e=await S(a,{method:"HEAD"});if(!e.ok)throw new Error(`Failed to get upload status: ${String(e.status)} ${e.statusText}`);const n=Number.parseInt(e.headers.get("X-Upload-Offset")??"0",10),d=e.headers.get("X-Received-Chunks");let c=[];if(d)try{const p=JSON.parse(d);Array.isArray(p)&&(c=p)}catch{}return{chunks:c,offset:n}},"getUploadStatus"),_=o(async(t,a,e,n,d)=>{const c=t.slice(e,n),p=n-e;if(r.uploadedChunks.has(e))return;const h=l.endsWith("/")?`${l}${a}`:`${l}/${a}`,m=await S(h,{body:c,headers:{"Content-Length":String(p),"Content-Type":"application/octet-stream","X-Chunk-Offset":String(e)},method:"PATCH",signal:d});if(!m.ok)throw new Error(`Failed to upload chunk: ${String(m.status)} ${m.statusText}`);r.uploadedChunks.add(e);const s=Number.parseInt(m.headers.get("X-Upload-Offset")??String(n),10),u=Math.round(s/t.size*100);k?._updateOffset(s),U?.(u,s)},"uploadChunk"),x=o(async(t,a,e)=>{const n=Math.ceil(t.size/w),{chunks:d}=await v(a);for(const y of d)r.uploadedChunks.add(y.offset);const c=[];for(let y=0;y<n;y+=1){const b=y*w,T=Math.min(b+w,t.size);r.uploadedChunks.has(b)||c.push({endOffset:T,startOffset:b})}const p=4;let h=0;const m=o(async()=>{for(;h<c.length;){for(;r.paused&&!r.aborted;)await new Promise(T=>{setTimeout(()=>{T()},100)});if(r.aborted)throw new Error("Upload aborted");const y=h;h+=1;const b=c[y];if(!b)break;await _(t,a,b.startOffset,b.endOffset,e)}},"worker"),s=Math.min(p,c.length);await Promise.all(Array.from({length:s},()=>m()));const u=await v(a);if(u.offset<t.size)throw new Error(`Upload incomplete. Expected ${String(t.size)} bytes, got ${String(u.offset)}`);if(r.uploadedChunks.size<=0)throw new Error("No chunks were uploaded");const f=l.endsWith("/")?`${l}${a}`:`${l}/${a}`,g=await S(f,{method:"GET"});if(!g.ok)throw new Error(`Failed to get upload result: ${String(g.status)} ${g.statusText}`);const i=await g.json();return{bytesWritten:i.bytesWritten??Math.max(t.size,0),contentType:i.contentType??t.type,createdAt:i.createdAt,filename:i.originalName??t.name,id:i.id??a,metadata:i.metadata,name:i.name,originalName:i.originalName??t.name,size:i.size??t.size,status:i.status??"completed",url:i.url}},"performUpload");return{abort:o(()=>{r.aborted=!0,r.paused=!1,r.abortController?.abort()},"abort"),clear:o(()=>{r={abortController:void 0,aborted:!1,file:void 0,fileId:void 0,paused:!1,totalSize:0,uploadedChunks:new Set}},"clear"),getOffset:o(async()=>{if(!r.fileId)return 0;try{return(await v(r.fileId)).offset}catch{let t=0;for(const a of r.uploadedChunks){const e=Math.min(a+w,r.totalSize);t+=e-a}return t}},"getOffset"),isPaused:o(()=>r.paused,"isPaused"),pause:o(()=>{r.paused=!0},"pause"),resume:o(async()=>{if(!r.fileId||!r.file)throw new Error("No upload to resume");r.paused=!1;const t=new AbortController;r.abortController=t;try{const a=await x(r.file,r.fileId,t.signal);C?.(a)}catch(a){const e=a instanceof Error?a:new Error(String(a));throw O?.(e),e}},"resume"),setOnError:o(t=>{O=t},"setOnError"),setOnFinish:o(t=>{C=t},"setOnFinish"),setOnProgress:o(t=>{U=t},"setOnProgress"),setOnStart:o(t=>{M=t},"setOnStart"),upload:o(async t=>{let a=!1;const e=C,n=O;let d;const c=o(()=>{d&&(clearTimeout(d),d=void 0),C=e,O=n},"cleanupTimeout"),p=o(s=>{a||(a=!0,c(),e?.(s))},"internalFinishCallback"),h=o(s=>{a||(a=!0,c(),n?.(s))},"internalErrorCallback");C=p,O=h,r={aborted:!1,file:t,paused:!1,totalSize:t.size,uploadedChunks:new Set},M?.();const m=(async()=>{const s=new AbortController;r.abortController=s;const u=await N({endpoint:l,file:t,protocol:"chunked-rest"});r.fingerprint=u;let f;const g=k?.snapshot;if(g?.protocol==="chunked-rest"&&g.fingerprint===u&&(f=g.uploadUrl),f===void 0&&E)try{const i=await E.findEntry(u);i?.protocol==="chunked-rest"&&(f=i.uploadUrl)}catch{}if(f!==void 0){const i=await R(f);i===void 0?(await I(u),f=void 0):i>0&&(k?._updateOffset(i),U?.(Math.round(i/t.size*100),i))}return f===void 0&&(f=await W(t),await X(u,f,t)),r.fileId=f,k?._attach({abort:o(()=>{s.abort()},"abort"),pause:o(()=>{r.paused=!0},"pause"),resume:o(()=>(r.paused=!1,Promise.resolve()),"resume")},{endpoint:l,fingerprint:u,protocol:"chunked-rest",uploadUrl:f}),x(t,f,s.signal)})();d=setTimeout(()=>{a||(r.aborted=!0,c(),h(new Error("Upload timeout")))},3e5);try{const s=await m;return await I(r.fingerprint),k?._detach(),p(s),s}catch(s){const u=s instanceof Error?s:new Error(String(s));throw k?._detach(),h(u),u}},"upload")}},"createChunkedRestAdapter");export{B as createChunkedRestAdapter};
@@ -1 +1 @@
1
- var U=Object.defineProperty;var g=(l,c)=>U(l,"name",{value:c,configurable:!0});import{onMount as x,onDestroy as z}from"svelte";import{writable as i}from"svelte/store";import{createChunkedRestAdapter as F}from"./createChunkedRestAdapter-YzmsiWvW.js";var I=Object.defineProperty,u=g((l,c)=>I(l,"name",{value:c,configurable:!0}),"n");const q=u(l=>{const{chunkSize:c,control:h,endpoint:v,fingerprint:O,maxRetries:S,metadata:y,onError:p,onPause:E,onProgress:P,onResume:b,onStart:w,onSuccess:R,retry:k,urlStorage:C}=l,f=i(0),r=i(!1),s=i(!1),o=i(),m=i(),d=i(0),t=F({chunkSize:c,control:h,endpoint:v,fingerprint:O,maxRetries:S,metadata:y,retry:k,urlStorage:C});return x(()=>{t.setOnStart(()=>{r.set(!0),s.set(!1),f.set(0),o.set(void 0),d.set(0),w?.()}),t.setOnProgress((e,n)=>{f.set(e),d.set(n),P?.(e,n)}),t.setOnFinish(e=>{f.set(100),m.set(e),r.set(!1),s.set(!1),R?.(e)}),t.setOnError(e=>{o.set(e),r.set(!1),p?.(e)});const a=setInterval(()=>{t.getOffset().then(e=>(d.set(e),e)).catch(()=>{}),s.set(t.isPaused())},100);z(()=>{clearInterval(a),t.setOnStart(void 0),t.setOnProgress(void 0),t.setOnFinish(void 0),t.setOnError(void 0)})}),{abort:u(()=>{t.abort(),r.set(!1),s.set(!1)},"abort"),error:o,isPaused:s,isUploading:r,offset:d,pause:u(()=>{t.pause(),s.set(!0),E?.()},"pause"),progress:f,reset:u(()=>{t.clear(),f.set(0),r.set(!1),s.set(!1),o.set(void 0),m.set(void 0),d.set(0)},"reset"),result:m,resume:u(async()=>{s.set(!1),r.set(!0),b?.();try{await t.resume()}catch(a){const e=a instanceof Error?a:new Error(String(a));throw o.set(e),r.set(!1),p?.(e),e}},"resume"),upload:u(async a=>{try{return await t.upload(a)}catch(e){const n=e instanceof Error?e:new Error(String(e));throw o.set(n),p?.(n),n}},"upload")}},"createChunkedRestUpload");export{q as createChunkedRestUpload};
1
+ var U=Object.defineProperty;var g=(l,c)=>U(l,"name",{value:c,configurable:!0});import{onMount as x,onDestroy as z}from"svelte";import{writable as i}from"svelte/store";import{createChunkedRestAdapter as F}from"./createChunkedRestAdapter-Cb6z5AWj.js";var I=Object.defineProperty,u=g((l,c)=>I(l,"name",{value:c,configurable:!0}),"n");const q=u(l=>{const{chunkSize:c,control:h,endpoint:v,fingerprint:O,maxRetries:S,metadata:y,onError:p,onPause:E,onProgress:P,onResume:b,onStart:w,onSuccess:R,retry:k,urlStorage:C}=l,f=i(0),r=i(!1),s=i(!1),o=i(),m=i(),d=i(0),t=F({chunkSize:c,control:h,endpoint:v,fingerprint:O,maxRetries:S,metadata:y,retry:k,urlStorage:C});return x(()=>{t.setOnStart(()=>{r.set(!0),s.set(!1),f.set(0),o.set(void 0),d.set(0),w?.()}),t.setOnProgress((e,n)=>{f.set(e),d.set(n),P?.(e,n)}),t.setOnFinish(e=>{f.set(100),m.set(e),r.set(!1),s.set(!1),R?.(e)}),t.setOnError(e=>{o.set(e),r.set(!1),p?.(e)});const a=setInterval(()=>{t.getOffset().then(e=>(d.set(e),e)).catch(()=>{}),s.set(t.isPaused())},100);z(()=>{clearInterval(a),t.setOnStart(void 0),t.setOnProgress(void 0),t.setOnFinish(void 0),t.setOnError(void 0)})}),{abort:u(()=>{t.abort(),r.set(!1),s.set(!1)},"abort"),error:o,isPaused:s,isUploading:r,offset:d,pause:u(()=>{t.pause(),s.set(!0),E?.()},"pause"),progress:f,reset:u(()=>{t.clear(),f.set(0),r.set(!1),s.set(!1),o.set(void 0),m.set(void 0),d.set(0)},"reset"),result:m,resume:u(async()=>{s.set(!1),r.set(!0),b?.();try{await t.resume()}catch(a){const e=a instanceof Error?a:new Error(String(a));throw o.set(e),r.set(!1),p?.(e),e}},"resume"),upload:u(async a=>{try{return await t.upload(a)}catch(e){const n=e instanceof Error?e:new Error(String(e));throw o.set(n),p?.(n),n}},"upload")}},"createChunkedRestUpload");export{q as createChunkedRestUpload};
@@ -1 +1 @@
1
- var j=Object.defineProperty;var v=(u,l)=>j(u,"name",{value:l,configurable:!0});import{createSignal as n,onMount as M,onCleanup as q}from"solid-js";import{createChunkedRestAdapter as B}from"./createChunkedRestAdapter-YzmsiWvW.js";var D=Object.defineProperty,i=v((u,l)=>D(u,"name",{value:l,configurable:!0}),"n");const K=i(u=>{const{chunkSize:l,control:h,endpoint:m,fingerprint:S,maxRetries:O,metadata:y,onError:p,onPause:E,onProgress:P,onResume:w,onStart:R,onSuccess:b,retry:k,urlStorage:C}=u,[x,d]=n(0),[U,t]=n(!1),[z,a]=n(!1),[F,c]=n(void 0),[I,g]=n(void 0),[A,f]=n(0),r=B({chunkSize:l,control:h,endpoint:m,fingerprint:S,maxRetries:O,metadata:y,retry:k,urlStorage:C});return M(()=>{r.setOnStart(()=>{t(!0),a(!1),d(0),c(void 0),f(0),R?.()}),r.setOnProgress((e,o)=>{d(e),f(o),P?.(e,o)}),r.setOnFinish(e=>{d(100),g(e),t(!1),a(!1),b?.(e)}),r.setOnError(e=>{c(e),t(!1),p?.(e)});const s=setInterval(()=>{r.getOffset().then(e=>f(e)).catch(()=>{}),a(r.isPaused())},100);q(()=>{clearInterval(s),r.setOnStart(void 0),r.setOnProgress(void 0),r.setOnFinish(void 0),r.setOnError(void 0)})}),{abort:i(()=>{r.abort(),t(!1),a(!1)},"abort"),error:F,isPaused:z,isUploading:U,offset:A,pause:i(()=>{r.pause(),a(!0),E?.()},"pause"),progress:x,reset:i(()=>{r.clear(),d(0),t(!1),a(!1),c(void 0),g(void 0),f(0)},"reset"),result:I,resume:i(async()=>{a(!1),t(!0),w?.();try{await r.resume()}catch(s){const e=s instanceof Error?s:new Error(String(s));throw c(e),t(!1),p?.(e),e}},"resume"),upload:i(async s=>{try{return await r.upload(s)}catch(e){const o=e instanceof Error?e:new Error(String(e));throw c(o),p?.(o),o}},"upload")}},"createChunkedRestUpload");export{K as createChunkedRestUpload};
1
+ var j=Object.defineProperty;var v=(u,l)=>j(u,"name",{value:l,configurable:!0});import{createSignal as n,onMount as M,onCleanup as q}from"solid-js";import{createChunkedRestAdapter as B}from"./createChunkedRestAdapter-Cb6z5AWj.js";var D=Object.defineProperty,i=v((u,l)=>D(u,"name",{value:l,configurable:!0}),"n");const K=i(u=>{const{chunkSize:l,control:h,endpoint:m,fingerprint:S,maxRetries:O,metadata:y,onError:p,onPause:E,onProgress:P,onResume:w,onStart:R,onSuccess:b,retry:k,urlStorage:C}=u,[x,d]=n(0),[U,t]=n(!1),[z,a]=n(!1),[F,c]=n(void 0),[I,g]=n(void 0),[A,f]=n(0),r=B({chunkSize:l,control:h,endpoint:m,fingerprint:S,maxRetries:O,metadata:y,retry:k,urlStorage:C});return M(()=>{r.setOnStart(()=>{t(!0),a(!1),d(0),c(void 0),f(0),R?.()}),r.setOnProgress((e,o)=>{d(e),f(o),P?.(e,o)}),r.setOnFinish(e=>{d(100),g(e),t(!1),a(!1),b?.(e)}),r.setOnError(e=>{c(e),t(!1),p?.(e)});const s=setInterval(()=>{r.getOffset().then(e=>f(e)).catch(()=>{}),a(r.isPaused())},100);q(()=>{clearInterval(s),r.setOnStart(void 0),r.setOnProgress(void 0),r.setOnFinish(void 0),r.setOnError(void 0)})}),{abort:i(()=>{r.abort(),t(!1),a(!1)},"abort"),error:F,isPaused:z,isUploading:U,offset:A,pause:i(()=>{r.pause(),a(!0),E?.()},"pause"),progress:x,reset:i(()=>{r.clear(),d(0),t(!1),a(!1),c(void 0),g(void 0),f(0)},"reset"),result:I,resume:i(async()=>{a(!1),t(!0),w?.();try{await r.resume()}catch(s){const e=s instanceof Error?s:new Error(String(s));throw c(e),t(!1),p?.(e),e}},"resume"),upload:i(async s=>{try{return await r.upload(s)}catch(e){const o=e instanceof Error?e:new Error(String(e));throw c(o),p?.(o),o}},"upload")}},"createChunkedRestUpload");export{K as createChunkedRestUpload};
@@ -0,0 +1 @@
1
+ var E=Object.defineProperty;var f=(o,t)=>E(o,"name",{value:t,configurable:!0});import{createUploader as h}from"./createUploader-Bd0VM6Ma.js";var T=Object.defineProperty,r=f((o,t)=>T(o,"name",{value:t,configurable:!0}),"r");const N=r(o=>{const t=h({endpoint:o.endpoint,maxRetries:o.maxRetries,metadata:o.metadata,retry:o.retry});return{abort:r(()=>{t.abort()},"abort"),abortBatch:r(n=>{t.abortBatch(n)},"abortBatch"),abortItem:r(n=>{t.abortItem(n)},"abortItem"),clear:r(()=>{t.clear()},"clear"),upload:r(async n=>new Promise((b,c)=>{let i=!1,l,p;const R=r(e=>{let a={};try{e.uploadResponse?.data&&typeof e.uploadResponse.data=="object"?a=e.uploadResponse.data:e.uploadResponse?.response&&(a=JSON.parse(e.uploadResponse.response))}catch{}return a},"parseFileMeta"),I=r((e,a)=>({bytesWritten:a.bytesWritten,contentType:a.contentType??e.file.type,createdAt:a.createdAt,filename:a.originalName??e.file.name,id:a.id??e.id,metadata:a.metadata,name:a.name,originalName:a.originalName??e.file.name,size:a.size??e.file.size,status:a.status??"completed",url:e.url}),"buildUploadResult"),u=r(e=>{if("file"in e&&!i&&e.id===p){const a=e,d=R(a),y=I(a,d);i=!0,s(),b(y)}},"onItemFinish"),m=r(e=>{if("file"in e&&!i&&e.id===p){const a=e,d=new Error(a.error??"Upload failed");i=!0,s(),c(d)}},"onError"),s=r(()=>{l&&(clearTimeout(l),l=void 0),t.off("ITEM_FINISH",u),t.off("ITEM_ERROR",m)},"cleanup");t.on("ITEM_FINISH",u),t.on("ITEM_ERROR",m),p=t.add(n),l=setTimeout(()=>{i||(i=!0,s(),c(new Error("Upload timeout")))},3e5)}),"upload"),uploadBatch:r(n=>t.addBatch(n),"uploadBatch"),uploader:t}},"createMultipartAdapter");export{N as createMultipartAdapter};
@@ -1 +1 @@
1
- var N=Object.defineProperty;var g=(d,p)=>N(d,"name",{value:p,configurable:!0});import{onMount as O,onDestroy as U}from"svelte";import{writable as l,get as E}from"svelte/store";import{createMultipartAdapter as w}from"./createMultipartAdapter-B17aIZJS.js";var A=Object.defineProperty,s=g((d,p)=>A(d,"name",{value:p,configurable:!0}),"a");const x=s(d=>{const{endpoint:p,metadata:v,onError:I,onProgress:_,onStart:b,onSuccess:h}=d,f=l(0),c=l(!1),m=l(),u=l(),r=l(),M=l(),R=w({endpoint:p,metadata:v});return O(()=>{const{uploader:a}=R,n=s(o=>{if("file"in o&&o.id===E(r)){const e=Math.min(100,Math.max(0,o.completed));f.set(e),_?.(e)}},"onItemProgress"),i=s(o=>{if("file"in o){const e=o;r.set(e.id),M.set(e.file),c.set(!0),f.set(0),m.set(void 0),b?.()}},"onItemStart"),T=s(o=>{if("file"in o&&o.id===E(r)){const e=o;let t={};try{e.uploadResponse?.data&&typeof e.uploadResponse.data=="object"?t=e.uploadResponse.data:e.uploadResponse?.response&&(t=JSON.parse(e.uploadResponse.response))}catch{}const y={bytesWritten:t.bytesWritten,contentType:t.contentType??e.file.type,createdAt:t.createdAt,filename:t.originalName??e.file.name,id:t.id??e.id,metadata:t.metadata,name:t.name,originalName:t.originalName??e.file.name,size:t.size??e.file.size,status:t.status??"completed",url:e.url};f.set(100),u.set(y),c.set(!1),h?.(y),r.set(void 0),M.set(void 0)}},"onItemFinish"),S=s(o=>{if("file"in o&&o.id===E(r)){const e=o,t=new Error(e.error??"Upload failed");m.set(t),c.set(!1),I?.(t),r.set(void 0)}},"onUploadError");a.on("ITEM_START",i),a.on("ITEM_PROGRESS",n),a.on("ITEM_FINISH",T),a.on("ITEM_ERROR",S),U(()=>{a.off("ITEM_START",i),a.off("ITEM_PROGRESS",n),a.off("ITEM_FINISH",T),a.off("ITEM_ERROR",S)})}),{error:m,isUploading:c,progress:f,reset:s(()=>{R.clear(),f.set(0),c.set(!1),m.set(void 0),u.set(void 0),r.set(void 0)},"reset"),result:u,upload:s(async a=>{try{return await R.upload(a)}catch(n){const i=n instanceof Error?n:new Error(String(n));throw m.set(i),I?.(i),i}},"upload")}},"createMultipartUpload");export{x as createMultipartUpload};
1
+ var N=Object.defineProperty;var g=(d,p)=>N(d,"name",{value:p,configurable:!0});import{onMount as O,onDestroy as U}from"svelte";import{writable as l,get as E}from"svelte/store";import{createMultipartAdapter as w}from"./createMultipartAdapter-BBMVAwLI.js";var A=Object.defineProperty,s=g((d,p)=>A(d,"name",{value:p,configurable:!0}),"a");const x=s(d=>{const{endpoint:p,metadata:v,onError:I,onProgress:_,onStart:b,onSuccess:h}=d,f=l(0),c=l(!1),m=l(),u=l(),r=l(),M=l(),R=w({endpoint:p,metadata:v});return O(()=>{const{uploader:a}=R,n=s(o=>{if("file"in o&&o.id===E(r)){const e=Math.min(100,Math.max(0,o.completed));f.set(e),_?.(e)}},"onItemProgress"),i=s(o=>{if("file"in o){const e=o;r.set(e.id),M.set(e.file),c.set(!0),f.set(0),m.set(void 0),b?.()}},"onItemStart"),T=s(o=>{if("file"in o&&o.id===E(r)){const e=o;let t={};try{e.uploadResponse?.data&&typeof e.uploadResponse.data=="object"?t=e.uploadResponse.data:e.uploadResponse?.response&&(t=JSON.parse(e.uploadResponse.response))}catch{}const y={bytesWritten:t.bytesWritten,contentType:t.contentType??e.file.type,createdAt:t.createdAt,filename:t.originalName??e.file.name,id:t.id??e.id,metadata:t.metadata,name:t.name,originalName:t.originalName??e.file.name,size:t.size??e.file.size,status:t.status??"completed",url:e.url};f.set(100),u.set(y),c.set(!1),h?.(y),r.set(void 0),M.set(void 0)}},"onItemFinish"),S=s(o=>{if("file"in o&&o.id===E(r)){const e=o,t=new Error(e.error??"Upload failed");m.set(t),c.set(!1),I?.(t),r.set(void 0)}},"onUploadError");a.on("ITEM_START",i),a.on("ITEM_PROGRESS",n),a.on("ITEM_FINISH",T),a.on("ITEM_ERROR",S),U(()=>{a.off("ITEM_START",i),a.off("ITEM_PROGRESS",n),a.off("ITEM_FINISH",T),a.off("ITEM_ERROR",S)})}),{error:m,isUploading:c,progress:f,reset:s(()=>{R.clear(),f.set(0),c.set(!1),m.set(void 0),u.set(void 0),r.set(void 0)},"reset"),result:u,upload:s(async a=>{try{return await R.upload(a)}catch(n){const i=n instanceof Error?n:new Error(String(n));throw m.set(i),I?.(i),i}},"upload")}},"createMultipartUpload");export{x as createMultipartUpload};
@@ -1 +1 @@
1
- var P=Object.defineProperty;var v=(s,d)=>P(s,"name",{value:d,configurable:!0});import{createSignal as l,onMount as U,onCleanup as w}from"solid-js";import{createMultipartAdapter as F}from"./createMultipartAdapter-B17aIZJS.js";var z=Object.defineProperty,r=v((s,d)=>z(s,"name",{value:d,configurable:!0}),"n");const H=r(s=>{const{endpoint:d,metadata:g,onError:R,onProgress:y,onStart:_,onSuccess:b}=s,[h,p]=l(0),[A,f]=l(!1),[N,c]=l(void 0),[O,I]=l(void 0),[m,u]=l(void 0),E=F({endpoint:d,metadata:g});return U(()=>{const{uploader:o}=E,n=r(a=>{if("file"in a&&a.id===m()){const e=Math.min(100,Math.max(0,a.completed));p(e),y?.(e)}},"onItemProgress"),i=r(a=>{"file"in a&&(u(a.id),f(!0),p(0),c(void 0),_?.())},"onItemStart"),M=r(a=>{if("file"in a&&a.id===m()){const e=a;let t={};try{e.uploadResponse?.data&&typeof e.uploadResponse.data=="object"?t=e.uploadResponse.data:e.uploadResponse?.response&&(t=JSON.parse(e.uploadResponse.response))}catch{}const T={bytesWritten:t.bytesWritten,contentType:t.contentType??e.file.type,createdAt:t.createdAt,filename:t.originalName??e.file.name,id:t.id??e.id,metadata:t.metadata,name:t.name,originalName:t.originalName??e.file.name,size:t.size??e.file.size,status:t.status??"completed",url:e.url};p(100),I(T),f(!1),b?.(T),u(void 0)}},"onItemFinish"),S=r(a=>{if("file"in a&&a.id===m()){const e=a,t=new Error(e.error??"Upload failed");c(t),f(!1),R?.(t),u(void 0)}},"onUploadError");o.on("ITEM_START",i),o.on("ITEM_PROGRESS",n),o.on("ITEM_FINISH",M),o.on("ITEM_ERROR",S),w(()=>{o.off("ITEM_START",i),o.off("ITEM_PROGRESS",n),o.off("ITEM_FINISH",M),o.off("ITEM_ERROR",S)})}),{error:N,isUploading:A,progress:h,reset:r(()=>{E.clear(),p(0),f(!1),c(void 0),I(void 0),u(void 0)},"reset"),result:O,upload:r(async o=>{try{return await E.upload(o)}catch(n){const i=n instanceof Error?n:new Error(String(n));throw c(i),R?.(i),i}},"upload")}},"createMultipartUpload");export{H as createMultipartUpload};
1
+ var P=Object.defineProperty;var v=(s,d)=>P(s,"name",{value:d,configurable:!0});import{createSignal as l,onMount as U,onCleanup as w}from"solid-js";import{createMultipartAdapter as F}from"./createMultipartAdapter-BBMVAwLI.js";var z=Object.defineProperty,r=v((s,d)=>z(s,"name",{value:d,configurable:!0}),"n");const H=r(s=>{const{endpoint:d,metadata:g,onError:R,onProgress:y,onStart:_,onSuccess:b}=s,[h,p]=l(0),[A,f]=l(!1),[N,c]=l(void 0),[O,I]=l(void 0),[m,u]=l(void 0),E=F({endpoint:d,metadata:g});return U(()=>{const{uploader:o}=E,n=r(a=>{if("file"in a&&a.id===m()){const e=Math.min(100,Math.max(0,a.completed));p(e),y?.(e)}},"onItemProgress"),i=r(a=>{"file"in a&&(u(a.id),f(!0),p(0),c(void 0),_?.())},"onItemStart"),M=r(a=>{if("file"in a&&a.id===m()){const e=a;let t={};try{e.uploadResponse?.data&&typeof e.uploadResponse.data=="object"?t=e.uploadResponse.data:e.uploadResponse?.response&&(t=JSON.parse(e.uploadResponse.response))}catch{}const T={bytesWritten:t.bytesWritten,contentType:t.contentType??e.file.type,createdAt:t.createdAt,filename:t.originalName??e.file.name,id:t.id??e.id,metadata:t.metadata,name:t.name,originalName:t.originalName??e.file.name,size:t.size??e.file.size,status:t.status??"completed",url:e.url};p(100),I(T),f(!1),b?.(T),u(void 0)}},"onItemFinish"),S=r(a=>{if("file"in a&&a.id===m()){const e=a,t=new Error(e.error??"Upload failed");c(t),f(!1),R?.(t),u(void 0)}},"onUploadError");o.on("ITEM_START",i),o.on("ITEM_PROGRESS",n),o.on("ITEM_FINISH",M),o.on("ITEM_ERROR",S),w(()=>{o.off("ITEM_START",i),o.off("ITEM_PROGRESS",n),o.off("ITEM_FINISH",M),o.off("ITEM_ERROR",S)})}),{error:N,isUploading:A,progress:h,reset:r(()=>{E.clear(),p(0),f(!1),c(void 0),I(void 0),u(void 0)},"reset"),result:O,upload:r(async o=>{try{return await E.upload(o)}catch(n){const i=n instanceof Error?n:new Error(String(n));throw c(i),R?.(i),i}},"upload")}},"createMultipartUpload");export{H as createMultipartUpload};
@@ -1 +1 @@
1
- var p=Object.defineProperty;var r=(e,t)=>p(e,"name",{value:t,configurable:!0});import{createMultipartAdapter as c}from"./createMultipartAdapter-B17aIZJS.js";var d=Object.defineProperty,a=r((e,t)=>d(e,"name",{value:t,configurable:!0}),"r");const y=a(e=>{const{endpoint:t,metadata:n}=e,o=c({endpoint:t,metadata:n});return{retryItem:a(m=>{o.uploader.retryItem(m)},"retryItem")}},"createRetry");export{y as createRetry};
1
+ var p=Object.defineProperty;var r=(e,t)=>p(e,"name",{value:t,configurable:!0});import{createMultipartAdapter as c}from"./createMultipartAdapter-BBMVAwLI.js";var d=Object.defineProperty,a=r((e,t)=>d(e,"name",{value:t,configurable:!0}),"r");const y=a(e=>{const{endpoint:t,metadata:n}=e,o=c({endpoint:t,metadata:n});return{retryItem:a(m=>{o.uploader.retryItem(m)},"retryItem")}},"createRetry");export{y as createRetry};
@@ -1 +1 @@
1
- var p=Object.defineProperty;var r=(e,t)=>p(e,"name",{value:t,configurable:!0});import{createMultipartAdapter as c}from"./createMultipartAdapter-B17aIZJS.js";var d=Object.defineProperty,a=r((e,t)=>d(e,"name",{value:t,configurable:!0}),"r");const y=a(e=>{const{endpoint:t,metadata:n}=e,o=c({endpoint:t,metadata:n});return{retryItem:a(m=>{o.uploader.retryItem(m)},"retryItem")}},"createRetry");export{y as createRetry};
1
+ var p=Object.defineProperty;var r=(e,t)=>p(e,"name",{value:t,configurable:!0});import{createMultipartAdapter as c}from"./createMultipartAdapter-BBMVAwLI.js";var d=Object.defineProperty,a=r((e,t)=>d(e,"name",{value:t,configurable:!0}),"r");const y=a(e=>{const{endpoint:t,metadata:n}=e,o=c({endpoint:t,metadata:n});return{retryItem:a(m=>{o.uploader.retryItem(m)},"retryItem")}},"createRetry");export{y as createRetry};
@@ -1 +1 @@
1
- var u=Object.defineProperty;var a=(e,r)=>u(e,"name",{value:r,configurable:!0});import{onMount as c,onDestroy as f}from"svelte";import{createMultipartAdapter as l}from"./createMultipartAdapter-B17aIZJS.js";var m=Object.defineProperty,i=a((e,r)=>m(e,"name",{value:r,configurable:!0}),"r");const R=i(e=>{const{endpoint:r,metadata:p,onRetry:d}=e;c(()=>{const o=l({endpoint:r,metadata:p}),n=i(t=>{"file"in t&&t.retryCount&&t.retryCount>0&&d(t)},"handler");o.uploader.on("ITEM_START",n),f(()=>{o.uploader.off("ITEM_START",n)})})},"createRetryListener");export{R as createRetryListener};
1
+ var u=Object.defineProperty;var a=(e,r)=>u(e,"name",{value:r,configurable:!0});import{onMount as c,onDestroy as f}from"svelte";import{createMultipartAdapter as l}from"./createMultipartAdapter-BBMVAwLI.js";var m=Object.defineProperty,i=a((e,r)=>m(e,"name",{value:r,configurable:!0}),"r");const R=i(e=>{const{endpoint:r,metadata:p,onRetry:d}=e;c(()=>{const o=l({endpoint:r,metadata:p}),n=i(t=>{"file"in t&&t.retryCount&&t.retryCount>0&&d(t)},"handler");o.uploader.on("ITEM_START",n),f(()=>{o.uploader.off("ITEM_START",n)})})},"createRetryListener");export{R as createRetryListener};
@@ -1 +1 @@
1
- var u=Object.defineProperty;var a=(e,r)=>u(e,"name",{value:r,configurable:!0});import{onMount as c,onCleanup as l}from"solid-js";import{createMultipartAdapter as f}from"./createMultipartAdapter-B17aIZJS.js";var m=Object.defineProperty,i=a((e,r)=>m(e,"name",{value:r,configurable:!0}),"r");const R=i(e=>{const{endpoint:r,metadata:p,onRetry:d}=e;c(()=>{const n=f({endpoint:r,metadata:p}),o=i(t=>{"file"in t&&t.retryCount&&t.retryCount>0&&d(t)},"handler");n.uploader.on("ITEM_START",o),l(()=>{n.uploader.off("ITEM_START",o)})})},"createRetryListener");export{R as createRetryListener};
1
+ var u=Object.defineProperty;var a=(e,r)=>u(e,"name",{value:r,configurable:!0});import{onMount as c,onCleanup as l}from"solid-js";import{createMultipartAdapter as f}from"./createMultipartAdapter-BBMVAwLI.js";var m=Object.defineProperty,i=a((e,r)=>m(e,"name",{value:r,configurable:!0}),"r");const R=i(e=>{const{endpoint:r,metadata:p,onRetry:d}=e;c(()=>{const n=f({endpoint:r,metadata:p}),o=i(t=>{"file"in t&&t.retryCount&&t.retryCount>0&&d(t)},"handler");n.uploader.on("ITEM_START",o),l(()=>{n.uploader.off("ITEM_START",o)})})},"createRetryListener");export{R as createRetryListener};
@@ -0,0 +1 @@
1
+ var _=Object.defineProperty;var x=(h,f)=>_(h,"name",{value:f,configurable:!0});import{defaultFingerprint as j}from"./defaultFingerprint-CI2Sdd2s.js";var B=Object.defineProperty,a=x((h,f)=>B(h,"name",{value:f,configurable:!0}),"o");const C="1.0.0",W=1024*1024,J=a(h=>{const f=new TextEncoder().encode(h);let p="";for(const d of f)p+=String.fromCodePoint(d);return btoa(p)},"encodeBase64Utf8"),K=a(h=>{const f=atob(h),p=new Uint8Array(f.length);for(let d=0;d<f.length;d+=1)p[d]=f.codePointAt(d)??0;return new TextDecoder().decode(p)},"decodeBase64Utf8"),V=a(h=>Object.entries(h).map(([f,p])=>{const d=J(p);return`${f} ${d}`}).join(","),"encodeMetadata"),q=a(h=>{if(!h)return{};const f={};return h.split(",").forEach(p=>{const[d,...A]=p.trim().split(" "),O=A.join(" ");if(d&&O)try{f[d]=K(O)}catch{}}),f},"decodeMetadata"),X=a(h=>{const{chunkSize:f=W,control:p,endpoint:d,fingerprint:A=j,maxRetries:O=3,metadata:$={},retry:R=!0,urlStorage:U}=h;let i,P,S,v,z;const k=a(async(t,n)=>{let e;try{e=await fetch(t,{headers:{"Tus-Resumable":C},method:"HEAD",signal:n})}catch{return}if(e.status===404||e.status===410||e.status===403)return;if(!e.ok)throw new Error(`Failed to probe upload: ${String(e.status)} ${e.statusText}`);const o=e.headers.get("Upload-Offset"),s=o?Number.parseInt(o,10):0;return Number.isFinite(s)?s:0},"probeExistingUpload"),L=a(async(t,n,e)=>{if(!U)return;const o={createdAt:Date.now(),endpoint:d,fingerprint:t,lastModified:e.lastModified,protocol:"tus",size:e.size,uploadUrl:n};try{await U.addEntry(o)}catch{}},"persistUploadEntry"),N=a(async t=>{if(!(!U||!t))try{await U.removeEntry(t)}catch{}},"removeUploadEntry"),H=a(async t=>{const n={filename:t.name,filetype:t.type,...$},e=await fetch(d,{headers:{"Tus-Resumable":C,"Upload-Length":t.size.toString(),"Upload-Metadata":V(n)},method:"POST"});if(e.status!==201&&e.status!==200)throw new Error(`Failed to create upload: ${String(e.status)} ${e.statusText}`);const o=e.headers.get("Location");if(!o)throw new Error("No Location header in response");let s;if(o.startsWith("http"))s=o;else try{s=new URL(o,d).href}catch{const u="window"in globalThis?globalThis.location.origin:"http://localhost";s=new URL(o,u+d).href}const l=e.headers.get("Upload-Offset");return{initialOffset:l?Number.parseInt(l,10):0,uploadUrl:s}},"createUpload"),F=a(async(t,n)=>{const e=await fetch(t,{headers:{"Tus-Resumable":C},method:"HEAD",signal:n});if(!e.ok){if(e.status===404||e.status===410||e.status===403)return 0;throw new Error(`Failed to get upload offset: ${String(e.status)} ${e.statusText}`)}const o=e.headers.get("Upload-Offset"),s=o?Number.parseInt(o,10):0;return Number.isFinite(s)?s:0},"getUploadOffset"),D=a(async(t,n,e,o)=>{const s=Math.min(e+f,t.size),l=t.slice(e,s),u=await fetch(n,{body:l,headers:{"Content-Length":l.size.toString(),"Content-Type":"application/offset+octet-stream","Tus-Resumable":C,"Upload-Offset":e.toString()},method:"PATCH",signal:o});if(u.status!==204){if(u.status===409)return await F(n);throw u.status===404||u.status===410?new Error("Upload expired or not found"):u.status===415?new Error("Content-Type must be application/offset+octet-stream"):new Error(`Failed to upload chunk: ${String(u.status)} ${u.statusText}`)}const b=u.headers.get("Upload-Offset");if(!b)throw new Error("Missing Upload-Offset header in PATCH response");const y=Number.parseInt(b,10);if(!Number.isFinite(y))throw new Error("Invalid Upload-Offset header in PATCH response");return y},"uploadChunk"),I=a(async(t,n,e=0)=>{const o=i;if(!o)throw new Error("Upload state not initialized");const{abortController:s}=o;let l=e;try{for(;l<t.size;){if(s.signal.aborted)throw new Error("Upload aborted");if(o.isPaused&&await new Promise(c=>{const m=a(()=>{s.signal.aborted?c():o.isPaused?setTimeout(m,100):c()},"checkPause");m()}),s.signal.aborted)throw new Error("Upload aborted");try{l=await D(t,n,l,s.signal),o.offset=l,p?._updateOffset(l);const c=Math.round(l/t.size*100);P?.(c,l)}catch(c){if(s.signal.aborted)throw new Error("Upload aborted");if(R&&o.retryCount<O){if(o.retryCount+=1,await new Promise(m=>setTimeout(m,1e3*o.retryCount)),s.signal.aborted)throw new Error("Upload aborted");l=await F(n,s.signal);continue}throw c}o.retryCount=0}if(s.signal.aborted)throw new Error("Upload aborted");const u=await fetch(n,{headers:{"Tus-Resumable":C},method:"HEAD",signal:s.signal}),b=u.headers.get("Location")??n,y=u.headers.get("Upload-Metadata"),E=q(y??void 0);let r={};try{r={contentType:u.headers.get("Content-Type")??E.filetype??t.type,id:n.split("/").pop()??"",metadata:E,originalName:E.filename??t.name,size:t.size,status:"completed"}}catch{}return{bytesWritten:l,contentType:r.contentType??t.type,createdAt:r.createdAt,filename:r.originalName??t.name,id:r.id??n.split("/").pop()??"",metadata:r.metadata??E,name:r.name,offset:l,originalName:r.originalName??t.name,size:r.size??t.size,status:r.status??"completed",url:b}}finally{i===o&&(i=void 0)}},"performUpload");return{abort:a(()=>{i&&i.abortController.abort()},"abort"),clear:a(()=>{i&&i.abortController.abort()},"clear"),getOffset:a(()=>i?.offset??0,"getOffset"),isPaused:a(()=>i?.isPaused??!1,"isPaused"),pause:a(()=>{i&&(i.isPaused=!0)},"pause"),resume:a(async()=>{if(!i?.uploadUrl)throw new Error("No upload to resume");i.isPaused=!1},"resume"),setOnError:a(t=>{z=t},"setOnError"),setOnFinish:a(t=>{v=t},"setOnFinish"),setOnProgress:a(t=>{P=t},"setOnProgress"),setOnStart:a(t=>{S=t},"setOnStart"),upload:a(async t=>{let n=!1;const e=v,o=z;let s;const l=a(()=>{s&&(clearTimeout(s),s=void 0),v=e,z=o},"cleanupTimeout"),u=a(r=>{n||(n=!0,l(),e?.(r))},"internalFinishCallback"),b=a(r=>{n||(n=!0,l(),o?.(r),i?.uploadUrl||(i=void 0))},"internalErrorCallback");v=u,z=b,i={abortController:new AbortController,file:t,fingerprint:void 0,isPaused:!1,offset:0,retryCount:0,uploadUrl:void 0};let y;const E=(async()=>{S?.();const r=i,c=await A({endpoint:d,file:t,protocol:"tus"});y=c,r.fingerprint=c;let m=await a(async()=>{const w=p?.snapshot;let g=w?.protocol==="tus"&&w.fingerprint===c?w.uploadUrl:void 0;if(g===void 0&&U)try{const M=await U.findEntry(c);M?.protocol==="tus"&&(g=M.uploadUrl)}catch{}if(g===void 0)return;const T=await k(g,r.abortController.signal);if(T===void 0){await N(c);return}return r.uploadUrl=g,r.offset=T,T>0&&P?.(Math.round(T/t.size*100),T),g},"resolveResumeUrl")();if(m===void 0){const{initialOffset:w,uploadUrl:g}=await H(t);m=g,r.uploadUrl=m,r.offset=w,await L(c,m,t),w>0&&P?.(Math.round(w/t.size*100),w)}return p?._attach({abort:a(()=>{r.abortController.abort()},"abort"),pause:a(()=>{r.isPaused=!0},"pause"),resume:a(()=>(r.isPaused=!1,Promise.resolve()),"resume")},{endpoint:d,fingerprint:c,protocol:"tus",uploadUrl:m}),p?._updateOffset(r.offset),I(t,m,r.offset)})();s=setTimeout(()=>{n||(n=!0,l(),i&&i.abortController.abort(),i&&!i.uploadUrl&&(i=void 0))},3e5);try{const r=await E;return await N(y),p?._detach(),u(r),r}catch(r){const c=r instanceof Error?r:new Error(String(r));throw p?._detach(),b(c),c}},"upload")}},"createTusAdapter");export{X as createTusAdapter};
@@ -1 +1 @@
1
- var C=Object.defineProperty;var v=(i,u)=>C(i,"name",{value:u,configurable:!0});import{createSignal as o,onMount as j,onCleanup as M}from"solid-js";import{createTusAdapter as q}from"./createTusAdapter-6FZAUcvj.js";var B=Object.defineProperty,n=v((i,u)=>B(i,"name",{value:u,configurable:!0}),"n");const J=n(i=>{const{chunkSize:u,control:m,endpoint:S,fingerprint:O,maxRetries:h,metadata:y,onError:p,onPause:E,onProgress:P,onResume:w,onStart:b,onSuccess:x,retry:R,urlStorage:T}=i,[U,f]=o(0),[k,t]=o(!1),[F,a]=o(!1),[I,l]=o(void 0),[z,g]=o(void 0),[A,d]=o(0),r=q({chunkSize:u,control:m,endpoint:S,fingerprint:O,maxRetries:h,metadata:y,retry:R,urlStorage:T});return j(()=>{r.setOnStart(()=>{t(!0),a(!1),f(0),l(void 0),d(0),b?.()}),r.setOnProgress((e,c)=>{f(e),d(c),P?.(e)}),r.setOnFinish(e=>{f(100),g(e),t(!1),a(!1),x?.(e)}),r.setOnError(e=>{l(e),t(!1),p?.(e)});const s=setInterval(()=>{d(r.getOffset()),a(r.isPaused())},100);M(()=>{clearInterval(s),r.setOnStart(void 0),r.setOnProgress(void 0),r.setOnFinish(void 0),r.setOnError(void 0)})}),{abort:n(()=>{r.abort(),t(!1),a(!1)},"abort"),error:I,isPaused:F,isUploading:k,offset:A,pause:n(()=>{r.pause(),a(!0),E?.()},"pause"),progress:U,reset:n(()=>{r.clear(),f(0),t(!1),a(!1),l(void 0),g(void 0),d(0)},"reset"),result:z,resume:n(async()=>{a(!1),t(!0),w?.();try{await r.resume()}catch(s){const e=s instanceof Error?s:new Error(String(s));throw l(e),t(!1),p?.(e),e}},"resume"),upload:n(async s=>{try{return await r.upload(s)}catch(e){const c=e instanceof Error?e:new Error(String(e));throw l(c),p?.(c),c}},"upload")}},"createTusUpload");export{J as createTusUpload};
1
+ var C=Object.defineProperty;var v=(i,u)=>C(i,"name",{value:u,configurable:!0});import{createSignal as o,onMount as j,onCleanup as M}from"solid-js";import{createTusAdapter as q}from"./createTusAdapter-LN-3AmiS.js";var B=Object.defineProperty,n=v((i,u)=>B(i,"name",{value:u,configurable:!0}),"n");const J=n(i=>{const{chunkSize:u,control:m,endpoint:S,fingerprint:O,maxRetries:h,metadata:y,onError:p,onPause:E,onProgress:P,onResume:w,onStart:b,onSuccess:x,retry:R,urlStorage:T}=i,[U,f]=o(0),[k,t]=o(!1),[F,s]=o(!1),[I,l]=o(void 0),[z,g]=o(void 0),[A,d]=o(0),r=q({chunkSize:u,control:m,endpoint:S,fingerprint:O,maxRetries:h,metadata:y,retry:R,urlStorage:T});return j(()=>{r.setOnStart(()=>{t(!0),s(!1),f(0),l(void 0),d(0),b?.()}),r.setOnProgress((e,c)=>{f(e),d(c),P?.(e)}),r.setOnFinish(e=>{f(100),g(e),t(!1),s(!1),x?.(e)}),r.setOnError(e=>{l(e),t(!1),p?.(e)});const a=setInterval(()=>{d(r.getOffset()),s(r.isPaused())},100);M(()=>{clearInterval(a),r.setOnStart(void 0),r.setOnProgress(void 0),r.setOnFinish(void 0),r.setOnError(void 0)})}),{abort:n(()=>{r.abort(),t(!1),s(!1)},"abort"),error:I,isPaused:F,isUploading:k,offset:A,pause:n(()=>{r.pause(),s(!0),E?.()},"pause"),progress:U,reset:n(()=>{r.clear(),f(0),t(!1),s(!1),l(void 0),g(void 0),d(0)},"reset"),result:z,resume:n(async()=>{s(!1),t(!0),w?.();try{await r.resume()}catch(a){const e=a instanceof Error?a:new Error(String(a));throw l(e),t(!1),p?.(e),e}},"resume"),upload:n(async a=>{try{return await r.upload(a)}catch(e){const c=e instanceof Error?e:new Error(String(e));throw l(c),p?.(c),c}},"upload")}},"createTusUpload");export{J as createTusUpload};
@@ -1 +1 @@
1
- var F=Object.defineProperty;var g=(u,l)=>F(u,"name",{value:l,configurable:!0});import{onMount as T,onDestroy as k}from"svelte";import{writable as n}from"svelte/store";import{createTusAdapter as z}from"./createTusAdapter-6FZAUcvj.js";var I=Object.defineProperty,i=g((u,l)=>I(u,"name",{value:l,configurable:!0}),"n");const q=i(u=>{const{chunkSize:l,control:v,endpoint:O,fingerprint:S,maxRetries:h,metadata:y,onError:p,onPause:w,onProgress:E,onResume:P,onStart:b,onSuccess:R,retry:U,urlStorage:x}=u,c=n(0),r=n(!1),s=n(!1),a=n(),m=n(),f=n(0),t=z({chunkSize:l,control:v,endpoint:O,fingerprint:S,maxRetries:h,metadata:y,retry:U,urlStorage:x});return T(()=>{t.setOnStart(()=>{r.set(!0),s.set(!1),c.set(0),a.set(void 0),f.set(0),b?.()}),t.setOnProgress((e,d)=>{c.set(e),f.set(d),E?.(e)}),t.setOnFinish(e=>{c.set(100),m.set(e),r.set(!1),s.set(!1),R?.(e)}),t.setOnError(e=>{a.set(e),r.set(!1),p?.(e)});const o=setInterval(()=>{f.set(t.getOffset()),s.set(t.isPaused())},100);k(()=>{clearInterval(o),t.setOnStart(void 0),t.setOnProgress(void 0),t.setOnFinish(void 0),t.setOnError(void 0)})}),{abort:i(()=>{t.abort(),r.set(!1),s.set(!1)},"abort"),error:a,isPaused:s,isUploading:r,offset:f,pause:i(()=>{t.pause(),s.set(!0),w?.()},"pause"),progress:c,reset:i(()=>{t.clear(),c.set(0),r.set(!1),s.set(!1),a.set(void 0),m.set(void 0),f.set(0)},"reset"),result:m,resume:i(async()=>{s.set(!1),r.set(!0),P?.();try{await t.resume()}catch(o){const e=o instanceof Error?o:new Error(String(o));throw a.set(e),r.set(!1),p?.(e),e}},"resume"),upload:i(async o=>{try{return await t.upload(o)}catch(e){const d=e instanceof Error?e:new Error(String(e));throw a.set(d),p?.(d),d}},"upload")}},"createTusUpload");export{q as createTusUpload};
1
+ var F=Object.defineProperty;var g=(u,l)=>F(u,"name",{value:l,configurable:!0});import{onMount as T,onDestroy as k}from"svelte";import{writable as n}from"svelte/store";import{createTusAdapter as z}from"./createTusAdapter-LN-3AmiS.js";var I=Object.defineProperty,i=g((u,l)=>I(u,"name",{value:l,configurable:!0}),"n");const q=i(u=>{const{chunkSize:l,control:v,endpoint:O,fingerprint:S,maxRetries:h,metadata:y,onError:p,onPause:w,onProgress:E,onResume:P,onStart:b,onSuccess:R,retry:U,urlStorage:x}=u,c=n(0),r=n(!1),s=n(!1),a=n(),m=n(),f=n(0),t=z({chunkSize:l,control:v,endpoint:O,fingerprint:S,maxRetries:h,metadata:y,retry:U,urlStorage:x});return T(()=>{t.setOnStart(()=>{r.set(!0),s.set(!1),c.set(0),a.set(void 0),f.set(0),b?.()}),t.setOnProgress((e,d)=>{c.set(e),f.set(d),E?.(e)}),t.setOnFinish(e=>{c.set(100),m.set(e),r.set(!1),s.set(!1),R?.(e)}),t.setOnError(e=>{a.set(e),r.set(!1),p?.(e)});const o=setInterval(()=>{f.set(t.getOffset()),s.set(t.isPaused())},100);k(()=>{clearInterval(o),t.setOnStart(void 0),t.setOnProgress(void 0),t.setOnFinish(void 0),t.setOnError(void 0)})}),{abort:i(()=>{t.abort(),r.set(!1),s.set(!1)},"abort"),error:a,isPaused:s,isUploading:r,offset:f,pause:i(()=>{t.pause(),s.set(!0),w?.()},"pause"),progress:c,reset:i(()=>{t.clear(),c.set(0),r.set(!1),s.set(!1),a.set(void 0),m.set(void 0),f.set(0)},"reset"),result:m,resume:i(async()=>{s.set(!1),r.set(!0),P?.();try{await t.resume()}catch(o){const e=o instanceof Error?o:new Error(String(o));throw a.set(e),r.set(!1),p?.(e),e}},"resume"),upload:i(async o=>{try{return await t.upload(o)}catch(e){const d=e instanceof Error?e:new Error(String(e));throw a.set(d),p?.(d),d}},"upload")}},"createTusUpload");export{q as createTusUpload};
@@ -1 +1 @@
1
- var $=Object.defineProperty;var x=(f,p)=>$(f,"name",{value:p,configurable:!0});import{derived as a}from"svelte/store";import{createChunkedRestUpload as ee}from"./createChunkedRestUpload-Cu19LRnt.js";import{createMultipartUpload as re}from"./createMultipartUpload-CFsUjhvG.js";import{createTusUpload as se}from"./createTusUpload-C_EE1exZ.js";var te=Object.defineProperty,r=x((f,p)=>te(f,"name",{value:p,configurable:!0}),"r");const ue=10*1024*1024,ae=r(f=>{const{chunkSize:p,endpointChunkedRest:d,endpointMultipart:h,endpointTus:l,maxRetries:v,metadata:k,method:w,onError:m,onPause:M,onProgress:g,onResume:T,onStart:P,onSuccess:S,retry:y,tusThreshold:z=ue}=f;let b;if(w===void 0){const e=[d,h,l].filter(Boolean);if(e.length===1)d?b="chunked-rest":l?b="tus":b="multipart";else if(e.length>1)b="auto";else throw new Error("At least one endpoint must be provided: endpointChunkedRest, endpointMultipart, or endpointTus")}else b=w;let U;d&&(U={chunkSize:p,endpoint:d,maxRetries:v,metadata:k,onError:m,onPause:M,onProgress:g,onResume:T,onStart:P,onSuccess:S,retry:y});let R;h&&(R={endpoint:h,metadata:k,onError:m,onProgress:g,onStart:P,onSuccess:S});let E;l&&(E={chunkSize:p,endpoint:l,maxRetries:v,metadata:k,onError:m,onPause:M,onProgress:g,onResume:T,onStart:P,onSuccess:S,retry:y});const i=U?ee(U):void 0,n=R?re(R):void 0,o=E?se(E):void 0,C=r(e=>{if(b!=="auto")return b;if(e.size>z){if(l)return"tus";if(d)return"chunked-rest"}if(d)return"chunked-rest";if(h)return"multipart";throw new Error("No available endpoint for upload")},"determineMethod"),B=r(async e=>{const s=C(e);if(s==="tus"){if(!o)throw new Error("TUS endpoint not configured");return o.upload(e)}if(s==="chunked-rest"){if(!i)throw new Error("Chunked REST endpoint not configured");return i.upload(e)}if(!n)throw new Error("Multipart endpoint not configured");return n.upload(e)},"upload"),O=r(()=>{o?.abort(),i?.abort(),n?.reset()},"abort"),j=r(()=>{o?.reset(),i?.reset(),n?.reset()},"reset"),c=a([o?.isUploading??{subscribe:r(()=>()=>{},"subscribe")},o?.result??{subscribe:r(()=>()=>{},"subscribe")},i?.isUploading??{subscribe:r(()=>()=>{},"subscribe")},i?.result??{subscribe:r(()=>()=>{},"subscribe")},n?.isUploading??{subscribe:r(()=>()=>{},"subscribe")},n?.result??{subscribe:r(()=>()=>{},"subscribe")}],([e,s,t,u,X,Y])=>b!=="auto"?b:o&&(e||s)?"tus":i&&(t||u)?"chunked-rest":n&&(X||Y)?"multipart":d?"chunked-rest":l?"tus":"multipart"),A=r((e,s,t,u)=>e==="tus"?s:e==="chunked-rest"?t:u,"pickError"),I=a([c,o?.error??{subscribe:r(()=>()=>{},"subscribe")},i?.error??{subscribe:r(()=>()=>{},"subscribe")},n?.error??{subscribe:r(()=>()=>{},"subscribe")}],([e,s,t,u])=>A(e,s,t,u)),N=r((e,s,t)=>{if(e==="tus")return s;if(e==="chunked-rest")return t},"pickIsPaused"),q=a([c,o?.isPaused??{subscribe:r(()=>()=>{},"subscribe")},i?.isPaused??{subscribe:r(()=>()=>{},"subscribe")}],([e,s,t])=>N(e,s,t)),D=r((e,s,t,u)=>e==="tus"?s:e==="chunked-rest"?t:u,"pickBoolean"),F=a([c,o?.isUploading??{subscribe:r(()=>()=>{},"subscribe")},i?.isUploading??{subscribe:r(()=>()=>{},"subscribe")},n?.isUploading??{subscribe:r(()=>()=>{},"subscribe")}],([e,s,t,u])=>D(e,s,t,u)),G=r((e,s,t)=>{if(e==="tus")return s;if(e==="chunked-rest")return t},"pickOffset"),H=a([c,o?.offset??{subscribe:r(()=>()=>{},"subscribe")},i?.offset??{subscribe:r(()=>()=>{},"subscribe")}],([e,s,t])=>G(e,s,t)),J=r((e,s,t,u)=>e==="tus"?s:e==="chunked-rest"?t:u,"pickProgress"),K=a([c,o?.progress??{subscribe:r(()=>()=>{},"subscribe")},i?.progress??{subscribe:r(()=>()=>{},"subscribe")},n?.progress??{subscribe:r(()=>()=>{},"subscribe")}],([e,s,t,u])=>J(e,s,t,u)),L=r((e,s,t,u)=>e==="tus"?s:e==="chunked-rest"?t:u,"pickResult"),Q=a([c,o?.result??{subscribe:r(()=>()=>{},"subscribe")},i?.result??{subscribe:r(()=>()=>{},"subscribe")},n?.result??{subscribe:r(()=>()=>{},"subscribe")}],([e,s,t,u])=>L(e,s,t,u)),V=r(e=>{if(e==="tus")return o?.pause;if(e==="chunked-rest")return i?.pause},"pickPause"),W=a([c],([e])=>V(e)),Z=r(e=>{if(e==="tus")return o?.resume;if(e==="chunked-rest")return i?.resume},"pickResume"),_=a([c],([e])=>Z(e));return{abort:O,currentMethod:c,error:I,isPaused:q,isUploading:F,offset:H,pause:W,progress:K,reset:j,result:Q,resume:_,upload:B}},"createUpload");export{ae as createUpload};
1
+ var $=Object.defineProperty;var x=(f,p)=>$(f,"name",{value:p,configurable:!0});import{derived as a}from"svelte/store";import{createChunkedRestUpload as ee}from"./createChunkedRestUpload-BjdI7x-K.js";import{createMultipartUpload as re}from"./createMultipartUpload-DWPWN7m5.js";import{createTusUpload as se}from"./createTusUpload-DomlnZ3W.js";var te=Object.defineProperty,r=x((f,p)=>te(f,"name",{value:p,configurable:!0}),"r");const ue=10*1024*1024,ae=r(f=>{const{chunkSize:p,endpointChunkedRest:d,endpointMultipart:h,endpointTus:l,maxRetries:v,metadata:k,method:w,onError:m,onPause:M,onProgress:g,onResume:T,onStart:P,onSuccess:S,retry:y,tusThreshold:z=ue}=f;let b;if(w===void 0){const e=[d,h,l].filter(Boolean);if(e.length===1)d?b="chunked-rest":l?b="tus":b="multipart";else if(e.length>1)b="auto";else throw new Error("At least one endpoint must be provided: endpointChunkedRest, endpointMultipart, or endpointTus")}else b=w;let U;d&&(U={chunkSize:p,endpoint:d,maxRetries:v,metadata:k,onError:m,onPause:M,onProgress:g,onResume:T,onStart:P,onSuccess:S,retry:y});let R;h&&(R={endpoint:h,metadata:k,onError:m,onProgress:g,onStart:P,onSuccess:S});let E;l&&(E={chunkSize:p,endpoint:l,maxRetries:v,metadata:k,onError:m,onPause:M,onProgress:g,onResume:T,onStart:P,onSuccess:S,retry:y});const i=U?ee(U):void 0,n=R?re(R):void 0,o=E?se(E):void 0,C=r(e=>{if(b!=="auto")return b;if(e.size>z){if(l)return"tus";if(d)return"chunked-rest"}if(d)return"chunked-rest";if(h)return"multipart";throw new Error("No available endpoint for upload")},"determineMethod"),B=r(async e=>{const s=C(e);if(s==="tus"){if(!o)throw new Error("TUS endpoint not configured");return o.upload(e)}if(s==="chunked-rest"){if(!i)throw new Error("Chunked REST endpoint not configured");return i.upload(e)}if(!n)throw new Error("Multipart endpoint not configured");return n.upload(e)},"upload"),O=r(()=>{o?.abort(),i?.abort(),n?.reset()},"abort"),j=r(()=>{o?.reset(),i?.reset(),n?.reset()},"reset"),c=a([o?.isUploading??{subscribe:r(()=>()=>{},"subscribe")},o?.result??{subscribe:r(()=>()=>{},"subscribe")},i?.isUploading??{subscribe:r(()=>()=>{},"subscribe")},i?.result??{subscribe:r(()=>()=>{},"subscribe")},n?.isUploading??{subscribe:r(()=>()=>{},"subscribe")},n?.result??{subscribe:r(()=>()=>{},"subscribe")}],([e,s,t,u,X,Y])=>b!=="auto"?b:o&&(e||s)?"tus":i&&(t||u)?"chunked-rest":n&&(X||Y)?"multipart":d?"chunked-rest":l?"tus":"multipart"),A=r((e,s,t,u)=>e==="tus"?s:e==="chunked-rest"?t:u,"pickError"),I=a([c,o?.error??{subscribe:r(()=>()=>{},"subscribe")},i?.error??{subscribe:r(()=>()=>{},"subscribe")},n?.error??{subscribe:r(()=>()=>{},"subscribe")}],([e,s,t,u])=>A(e,s,t,u)),N=r((e,s,t)=>{if(e==="tus")return s;if(e==="chunked-rest")return t},"pickIsPaused"),q=a([c,o?.isPaused??{subscribe:r(()=>()=>{},"subscribe")},i?.isPaused??{subscribe:r(()=>()=>{},"subscribe")}],([e,s,t])=>N(e,s,t)),D=r((e,s,t,u)=>e==="tus"?s:e==="chunked-rest"?t:u,"pickBoolean"),F=a([c,o?.isUploading??{subscribe:r(()=>()=>{},"subscribe")},i?.isUploading??{subscribe:r(()=>()=>{},"subscribe")},n?.isUploading??{subscribe:r(()=>()=>{},"subscribe")}],([e,s,t,u])=>D(e,s,t,u)),G=r((e,s,t)=>{if(e==="tus")return s;if(e==="chunked-rest")return t},"pickOffset"),H=a([c,o?.offset??{subscribe:r(()=>()=>{},"subscribe")},i?.offset??{subscribe:r(()=>()=>{},"subscribe")}],([e,s,t])=>G(e,s,t)),J=r((e,s,t,u)=>e==="tus"?s:e==="chunked-rest"?t:u,"pickProgress"),K=a([c,o?.progress??{subscribe:r(()=>()=>{},"subscribe")},i?.progress??{subscribe:r(()=>()=>{},"subscribe")},n?.progress??{subscribe:r(()=>()=>{},"subscribe")}],([e,s,t,u])=>J(e,s,t,u)),L=r((e,s,t,u)=>e==="tus"?s:e==="chunked-rest"?t:u,"pickResult"),Q=a([c,o?.result??{subscribe:r(()=>()=>{},"subscribe")},i?.result??{subscribe:r(()=>()=>{},"subscribe")},n?.result??{subscribe:r(()=>()=>{},"subscribe")}],([e,s,t,u])=>L(e,s,t,u)),V=r(e=>{if(e==="tus")return o?.pause;if(e==="chunked-rest")return i?.pause},"pickPause"),W=a([c],([e])=>V(e)),Z=r(e=>{if(e==="tus")return o?.resume;if(e==="chunked-rest")return i?.resume},"pickResume"),_=a([c],([e])=>Z(e));return{abort:O,currentMethod:c,error:I,isPaused:q,isUploading:F,offset:H,pause:W,progress:K,reset:j,result:Q,resume:_,upload:B}},"createUpload");export{ae as createUpload};
@@ -1 +1 @@
1
- var J=Object.defineProperty;var T=(p,a)=>J(p,"name",{value:a,configurable:!0});import{createMemo as s}from"solid-js";import{createChunkedRestUpload as L}from"./createChunkedRestUpload-D4WS_E_m.js";import{createMultipartUpload as N}from"./createMultipartUpload-BPcFYSwI.js";import{createTusUpload as _}from"./createTusUpload-DrZu_r2C.js";var q=Object.defineProperty,o=T((p,a)=>q(p,"name",{value:a,configurable:!0}),"n");const K=10*1024*1024,Z=o(p=>{const{chunkSize:a,endpointChunkedRest:i,endpointMultipart:c,endpointTus:d,maxRetries:v,metadata:f,method:P,onError:h,onPause:U,onProgress:g,onResume:S,onStart:m,onSuccess:k,retry:R,tusThreshold:y=K}=p,l=s(()=>{if(P!==void 0)return P;const e=[i,c,d].filter(Boolean);if(e.length===1)return i?"chunked-rest":d?"tus":"multipart";if(e.length>1)return"auto";throw new Error("At least one endpoint must be provided: endpointChunkedRest, endpointMultipart, or endpointTus")}),E=i?{chunkSize:a,endpoint:i,maxRetries:v,metadata:f,onError:h,onPause:U,onProgress:g,onResume:S,onStart:m,onSuccess:k,retry:R}:void 0,w=c?{endpoint:c,metadata:f,onError:h,onProgress:g,onStart:m,onSuccess:k}:void 0,b=d?{chunkSize:a,endpoint:d,maxRetries:v,metadata:f,onError:h,onPause:U,onProgress:g,onResume:S,onStart:m,onSuccess:k,retry:R}:void 0,r=E?L(E):void 0,n=w?N(w):void 0,t=b?_(b):void 0,x=o(e=>{if(l()!=="auto")return l();if(e.size>y){if(d)return"tus";if(i)return"chunked-rest"}if(i)return"chunked-rest";if(c)return"multipart";throw new Error("No available endpoint for upload")},"determineMethod"),z=o(async e=>{const M=x(e);if(M==="tus"){if(!t)throw new Error("TUS endpoint not configured");return t.upload(e)}if(M==="chunked-rest"){if(!r)throw new Error("Chunked REST endpoint not configured");return r.upload(e)}if(!n)throw new Error("Multipart endpoint not configured");return n.upload(e)},"upload"),C=o(()=>{t?.abort(),r?.abort(),n?.reset()},"abort"),I=o(()=>{t?.reset(),r?.reset(),n?.reset()},"reset"),u=s(()=>l()!=="auto"?l():t&&(t.isUploading()||t.result())?"tus":r&&(r.isUploading()||r.result())?"chunked-rest":n&&(n.isUploading()||n.result())?"multipart":i?"chunked-rest":d?"tus":"multipart"),O=o(()=>{const e=u();return e==="tus"?t?.error()??void 0:e==="chunked-rest"?r?.error()??void 0:n?.error()??void 0},"getError"),j=o(()=>{const e=u();if(e==="tus")return t?.isPaused();if(e==="chunked-rest")return r?.isPaused()},"getIsPaused"),A=o(()=>{const e=u();return e==="tus"?t?.isUploading()??!1:e==="chunked-rest"?r?.isUploading()??!1:n?.isUploading()??!1},"getIsUploading"),B=o(()=>{const e=u();if(e==="tus")return t?.offset();if(e==="chunked-rest")return r?.offset()},"getOffset"),D=o(()=>{const e=u();if(e==="tus")return t?.pause;if(e==="chunked-rest")return r?.pause},"getPause"),F=o(()=>{const e=u();return e==="tus"?t?.progress()??0:e==="chunked-rest"?r?.progress()??0:n?.progress()??0},"getProgress"),G=o(()=>{const e=u();return e==="tus"?t?.result()??void 0:e==="chunked-rest"?r?.result()??void 0:n?.result()??void 0},"getResult"),H=o(()=>{const e=u();if(e==="tus")return t?.resume;if(e==="chunked-rest")return r?.resume},"getResume");return{abort:C,currentMethod:u,error:s(O),isPaused:s(j),isUploading:s(A),offset:s(B),pause:s(D),progress:s(F),reset:I,result:s(G),resume:s(H),upload:z}},"createUpload");export{Z as createUpload};
1
+ var J=Object.defineProperty;var T=(p,a)=>J(p,"name",{value:a,configurable:!0});import{createMemo as s}from"solid-js";import{createChunkedRestUpload as L}from"./createChunkedRestUpload-CB7uSKyw.js";import{createMultipartUpload as N}from"./createMultipartUpload-DsHzkIPS.js";import{createTusUpload as _}from"./createTusUpload-CapBF42H.js";var q=Object.defineProperty,o=T((p,a)=>q(p,"name",{value:a,configurable:!0}),"n");const K=10*1024*1024,Z=o(p=>{const{chunkSize:a,endpointChunkedRest:i,endpointMultipart:c,endpointTus:d,maxRetries:v,metadata:f,method:P,onError:h,onPause:U,onProgress:g,onResume:S,onStart:m,onSuccess:k,retry:R,tusThreshold:y=K}=p,l=s(()=>{if(P!==void 0)return P;const e=[i,c,d].filter(Boolean);if(e.length===1)return i?"chunked-rest":d?"tus":"multipart";if(e.length>1)return"auto";throw new Error("At least one endpoint must be provided: endpointChunkedRest, endpointMultipart, or endpointTus")}),E=i?{chunkSize:a,endpoint:i,maxRetries:v,metadata:f,onError:h,onPause:U,onProgress:g,onResume:S,onStart:m,onSuccess:k,retry:R}:void 0,w=c?{endpoint:c,metadata:f,onError:h,onProgress:g,onStart:m,onSuccess:k}:void 0,b=d?{chunkSize:a,endpoint:d,maxRetries:v,metadata:f,onError:h,onPause:U,onProgress:g,onResume:S,onStart:m,onSuccess:k,retry:R}:void 0,r=E?L(E):void 0,n=w?N(w):void 0,t=b?_(b):void 0,x=o(e=>{if(l()!=="auto")return l();if(e.size>y){if(d)return"tus";if(i)return"chunked-rest"}if(i)return"chunked-rest";if(c)return"multipart";throw new Error("No available endpoint for upload")},"determineMethod"),z=o(async e=>{const M=x(e);if(M==="tus"){if(!t)throw new Error("TUS endpoint not configured");return t.upload(e)}if(M==="chunked-rest"){if(!r)throw new Error("Chunked REST endpoint not configured");return r.upload(e)}if(!n)throw new Error("Multipart endpoint not configured");return n.upload(e)},"upload"),C=o(()=>{t?.abort(),r?.abort(),n?.reset()},"abort"),I=o(()=>{t?.reset(),r?.reset(),n?.reset()},"reset"),u=s(()=>l()!=="auto"?l():t&&(t.isUploading()||t.result())?"tus":r&&(r.isUploading()||r.result())?"chunked-rest":n&&(n.isUploading()||n.result())?"multipart":i?"chunked-rest":d?"tus":"multipart"),O=o(()=>{const e=u();return e==="tus"?t?.error()??void 0:e==="chunked-rest"?r?.error()??void 0:n?.error()??void 0},"getError"),j=o(()=>{const e=u();if(e==="tus")return t?.isPaused();if(e==="chunked-rest")return r?.isPaused()},"getIsPaused"),A=o(()=>{const e=u();return e==="tus"?t?.isUploading()??!1:e==="chunked-rest"?r?.isUploading()??!1:n?.isUploading()??!1},"getIsUploading"),B=o(()=>{const e=u();if(e==="tus")return t?.offset();if(e==="chunked-rest")return r?.offset()},"getOffset"),D=o(()=>{const e=u();if(e==="tus")return t?.pause;if(e==="chunked-rest")return r?.pause},"getPause"),F=o(()=>{const e=u();return e==="tus"?t?.progress()??0:e==="chunked-rest"?r?.progress()??0:n?.progress()??0},"getProgress"),G=o(()=>{const e=u();return e==="tus"?t?.result()??void 0:e==="chunked-rest"?r?.result()??void 0:n?.result()??void 0},"getResult"),H=o(()=>{const e=u();if(e==="tus")return t?.resume;if(e==="chunked-rest")return r?.resume},"getResume");return{abort:C,currentMethod:u,error:s(O),isPaused:s(j),isUploading:s(A),offset:s(B),pause:s(D),progress:s(F),reset:I,result:s(G),resume:s(H),upload:z}},"createUpload");export{Z as createUpload};
@@ -0,0 +1 @@
1
+ var p=Object.defineProperty;var d=(i,t)=>p(i,"name",{value:t,configurable:!0});var m=Object.defineProperty,l=d((i,t)=>m(i,"name",{value:t,configurable:!0}),"d");class h{static{d(this,"Uploader")}constructor(t){this.options=t}options;static{l(this,"Uploader")}static createFormData(t,e){const r=new FormData;return r.append("file",t),e&&Object.keys(e).length>0&&r.append("metadata",JSON.stringify(e)),r}static parseResponse(t,e){try{return JSON.parse(t)}catch{if((e instanceof XMLHttpRequest?e.getResponseHeader("Content-Type"):e.headers.get("Content-Type"))?.includes("application/json"))try{return JSON.parse(t)}catch{}return{}}}items=new Map;batches=new Map;eventHandlers=new Map;activeUploads=new Map;itemIdCounter=0;batchIdCounter=0;on(t,e){this.eventHandlers.has(t)||this.eventHandlers.set(t,new Set),this.eventHandlers.get(t)?.add(e)}off(t,e){this.eventHandlers.get(t)?.delete(e)}add(t,e){const r=this.generateItemId(),s={batchId:e,completed:0,file:t,id:r,loaded:0,retryCount:0,size:t.size,status:"pending"};return this.items.set(r,s),this.uploadFile(s).catch(a=>{console.error(`[Uploader] Upload failed for item ${r}:`,a)}),r}addBatch(t){if(t.length===0)return[];const e=this.generateBatchId(),r=[],s={completedCount:0,errorCount:0,id:e,itemIds:[],progress:0,status:"pending",totalCount:t.length};this.batches.set(e,s);for(const a of t){const o=this.add(a,e);r.push(o),s.itemIds.push(o)}return this.batches.set(e,s),s.status="uploading",this.emitBatch("BATCH_START",s),r}getItem(t){return this.items.get(t)}abortItem(t){const e=this.activeUploads.get(t);e&&(e.abort(),this.activeUploads.delete(t));const r=this.items.get(t);if(r&&r.status!=="completed"&&r.status!=="error"&&(r.status="aborted",this.items.set(t,r),this.emit("ITEM_ABORT",r),r.batchId)){const s=this.batches.get(r.batchId);s&&(s.status="cancelled",this.batches.set(r.batchId,s),this.emitBatch("BATCH_CANCELLED",s))}}abortBatch(t){const e=this.batches.get(t);if(!e)return;for(const a of e.itemIds)this.abortItem(a);const r=e.itemIds.map(a=>this.items.get(a)).filter(Boolean),s=r.some(a=>a.status==="completed");e.completedCount=r.filter(a=>a.status==="completed").length,e.errorCount=r.filter(a=>a.status==="error").length,s?(e.status="error",this.batches.set(t,e),this.emitBatch("BATCH_ERROR",e)):(e.status="cancelled",this.batches.set(t,e),this.emitBatch("BATCH_CANCELLED",e))}abort(){const t=[...this.activeUploads.keys()];for(const e of t)this.abortItem(e);this.activeUploads.clear()}clear(){this.abort(),this.items.clear()}getItems(){return[...this.items.values()]}getBatchItems(t){const e=this.batches.get(t);return e?e.itemIds.map(r=>this.items.get(r)).filter(Boolean):[]}getBatch(t){return this.batches.get(t)}getBatches(){return[...this.batches.values()]}retryItem(t){const e=this.items.get(t);e&&e.status==="error"&&(e.retryCount=(e.retryCount??0)+1,e.status="pending",e.error=void 0,e.completed=0,e.loaded=0,this.items.set(t,e),this.uploadFile(e).catch(r=>{console.error(`[Uploader] Retry failed for item ${t}:`,r)}))}retryBatch(t){const e=this.batches.get(t);if(!e)return;const r=e.itemIds.map(s=>this.items.get(s)).filter(s=>s?.status==="error");for(const s of r)this.retryItem(s.id);e.status="uploading",e.completedCount=0,e.errorCount=0,e.progress=0,this.batches.set(t,e),this.emitBatch("BATCH_START",e)}generateItemId(){return this.itemIdCounter+=1,`item-${String(Date.now())}-${String(this.itemIdCounter)}`}generateBatchId(){return this.batchIdCounter+=1,`batch-${String(Date.now())}-${String(this.batchIdCounter)}`}calculateBatchProgress(t){const e=t.itemIds.map(a=>this.items.get(a)).filter(Boolean);if(e.length===0)return 0;const r=e.reduce((a,o)=>a+o.size,0),s=e.reduce((a,o)=>a+o.loaded,0);return r>0?Math.round(s/r*100):0}updateBatchProgress(t){const e=this.batches.get(t);if(!e)return;const r=e.itemIds.map(s=>this.items.get(s)).filter(Boolean);e.completedCount=r.filter(s=>s.status==="completed").length,e.errorCount=r.filter(s=>s.status==="error").length,e.progress=this.calculateBatchProgress(e),e.completedCount+e.errorCount===e.totalCount?e.errorCount>0&&e.completedCount>0||e.errorCount===e.totalCount?e.status="error":e.status="completed":(e.completedCount>0||e.errorCount>0)&&(e.status="uploading"),this.batches.set(t,e),this.emitBatch("BATCH_PROGRESS",e),e.completedCount+e.errorCount===e.totalCount&&(e.status==="completed"?this.emitBatch("BATCH_FINISH",e):e.status==="error"&&this.emitBatch("BATCH_ERROR",e),setTimeout(()=>{this.emitBatch("BATCH_FINALIZE",e)},0))}emitBatch(t,e){const r=this.eventHandlers.get(t);r&&r.forEach(s=>{try{s(e)}catch(a){console.error(`[Uploader] Error in ${t} handler:`,a)}})}emit(t,e){const r=this.eventHandlers.get(t);r&&r.forEach(s=>{try{s(e)}catch(a){console.error(`[Uploader] Error in ${t} handler:`,a)}})}async uploadFile(t){return new Promise((e,r)=>{const s=new XMLHttpRequest,a=h.createFormData(t.file,this.options.metadata);this.activeUploads.set(t.id,s),t.status="uploading",this.items.set(t.id,t),this.emit("ITEM_START",t),s.upload.addEventListener("progress",o=>{if(o.lengthComputable){const{loaded:n}=o,{total:c}=o,u=Math.round(n/c*100);t.loaded=n,t.completed=u,t.size=c,this.items.set(t.id,t),this.emit("ITEM_PROGRESS",t),t.batchId&&this.updateBatchProgress(t.batchId)}}),s.addEventListener("load",()=>{if(this.activeUploads.delete(t.id),s.status>=200&&s.status<300){const o=s.responseText||s.response,n=h.parseResponse(o,s);t.status="completed",t.uploadResponse={data:n,response:o},t.url=s.getResponseHeader("Location")??void 0,this.items.set(t.id,t),this.emit("ITEM_FINISH",t),t.batchId&&this.updateBatchProgress(t.batchId),e()}else{const o=new Error(`Upload failed: ${String(s.status)} ${s.statusText}`);t.status="error",t.error=o.message,this.items.set(t.id,t),this.emit("ITEM_ERROR",t),t.batchId&&this.updateBatchProgress(t.batchId),r(o)}}),s.addEventListener("error",()=>{this.activeUploads.delete(t.id);const o=new Error("Network error during upload");t.status="error",t.error=o.message,this.items.set(t.id,t),this.emit("ITEM_ERROR",t),t.batchId&&this.updateBatchProgress(t.batchId),r(o)}),s.addEventListener("abort",()=>{if(this.activeUploads.delete(t.id),t.status="aborted",this.items.set(t.id,t),this.emit("ITEM_ABORT",t),t.batchId){const o=this.batches.get(t.batchId);o&&(o.status="cancelled",this.batches.set(t.batchId,o),this.emitBatch("BATCH_CANCELLED",o))}r(new Error("Upload aborted"))}),s.open("POST",this.options.endpoint,!0),this.options.metadata&&s.setRequestHeader("X-File-Metadata",JSON.stringify(this.options.metadata)),s.send(a)})}}const I=l(i=>new h(i),"createUploader");export{h as Uploader,I as createUploader};