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

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 (30) hide show
  1. package/CHANGELOG.md +15 -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/{createChunkedRestAdapter-YzmsiWvW.js → createChunkedRestAdapter-DwdZ3iXf.js} +1 -1
  6. package/dist/packem_shared/{createChunkedRestUpload-D4WS_E_m.js → createChunkedRestUpload-DZbjiORY.js} +1 -1
  7. package/dist/packem_shared/{createChunkedRestUpload-Cu19LRnt.js → createChunkedRestUpload-WgfiLIto.js} +1 -1
  8. package/dist/packem_shared/createTusAdapter-DMWzJjQ2.js +1 -0
  9. package/dist/packem_shared/{createTusUpload-DrZu_r2C.js → createTusUpload-Con3Nqu0.js} +1 -1
  10. package/dist/packem_shared/{createTusUpload-C_EE1exZ.js → createTusUpload-l00I3jXp.js} +1 -1
  11. package/dist/packem_shared/{createUpload-F7cp3uwR.js → createUpload-D3_GPTNX.js} +1 -1
  12. package/dist/packem_shared/{createUpload-ABEJ1whY.js → createUpload-RIaQluah.js} +1 -1
  13. package/dist/packem_shared/{uploader.d-npepq2LE.d.ts → uploader.d-B1FMsMcN.d.ts} +49 -49
  14. package/dist/packem_shared/{useChunkedRestUpload-C_I_pDEa.js → useChunkedRestUpload-BwOE2zhr.js} +1 -1
  15. package/dist/packem_shared/{useChunkedRestUpload-T5jeupI6.js → useChunkedRestUpload-DNGNQIIx.js} +1 -1
  16. package/dist/packem_shared/{useTusUpload-SYnJmg1s.js → useTusUpload-Bz4XE_4p.js} +1 -1
  17. package/dist/packem_shared/useTusUpload-Dsq9GGEt.js +1 -0
  18. package/dist/packem_shared/{useUpload-BDMiZyCV.js → useUpload-B6rd2qkI.js} +1 -1
  19. package/dist/packem_shared/{useUpload-D-2542dH.js → useUpload-BhLsUgVG.js} +1 -1
  20. package/dist/react/index.d.ts +3 -3
  21. package/dist/react/index.js +1 -1
  22. package/dist/solid/index.d.ts +3 -3
  23. package/dist/solid/index.js +1 -1
  24. package/dist/svelte/index.d.ts +3 -3
  25. package/dist/svelte/index.js +1 -1
  26. package/dist/vue/index.d.ts +3 -3
  27. package/dist/vue/index.js +1 -1
  28. package/package.json +1 -1
  29. package/dist/packem_shared/createTusAdapter-6FZAUcvj.js +0 -1
  30. package/dist/packem_shared/useTusUpload-DJedNEXm.js +0 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,18 @@
1
+ ## @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)
2
+
3
+ ### Bug Fixes
4
+
5
+ * **tests:** revert unsafe vitest autofixes from the lint sweep ([378f27c](https://github.com/visulima/visulima/commit/378f27caa370f1d3188aef2ed36d46839abc88c4))
6
+
7
+ ### Miscellaneous Chores
8
+
9
+ * apply eslint + prettier autofixes across packages ([c1bb784](https://github.com/visulima/visulima/commit/c1bb7848a0d93d0dfe2960c77e3cda22239c79a0))
10
+
11
+ ### Tests
12
+
13
+ * improve coverage across packages ([91bd6d3](https://github.com/visulima/visulima/commit/91bd6d3b61736e3c8bd1fc59b0b5955f76a5d323))
14
+ * **storage-client:** clear eslint errors in test suite ([#669](https://github.com/visulima/visulima/issues/669)) ([2a3928d](https://github.com/visulima/visulima/commit/2a3928d7a6fbe1dd7213e57f941ff3b1d6c745ec))
15
+
1
16
  ## @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
17
 
3
18
  ### 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-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-DwdZ3iXf.js";import{createMultipartAdapter as y}from"./packem_shared/createMultipartAdapter-B17aIZJS.js";import{createTusAdapter as M}from"./packem_shared/createTusAdapter-DMWzJjQ2.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 +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};
@@ -1 +1 @@
1
- var W=Object.defineProperty;var x=(E,w)=>W(E,"name",{value:w,configurable:!0});import{defaultFingerprint as R}from"./defaultFingerprint-CI2Sdd2s.js";var _=Object.defineProperty,n=x((E,w)=>_(E,"name",{value:w,configurable:!0}),"a");const j=5*1024*1024,L=n(E=>{const{chunkSize:w=j,control:g,endpoint:l,fingerprint:D=R,maxRetries:C=3,metadata:U={},retry:T=!0,urlStorage:y}=E;let r={aborted:!1,paused:!1,totalSize:0,uploadedChunks:new Set};const M=n(async(t,a,e)=>{if(!y)return;const s={createdAt:Date.now(),endpoint:l,fingerprint:t,lastModified:e.lastModified,protocol:"chunked-rest",size:e.size,uploadUrl:a};try{await y.addEntry(s)}catch{}},"persistUploadEntry"),v=n(async t=>{if(!(!y||!t))try{await y.removeEntry(t)}catch{}},"removeUploadEntry");let A,z,S,$;const F=n(async(t,a)=>{if(a?.aborted)throw new Error("Aborted");const e=100,s=Date.now();for(;Date.now()-s<t;){if(a?.aborted)throw new Error("Aborted");const i=t-(Date.now()-s),c=Math.min(e,i);await new Promise(p=>{setTimeout(()=>{p()},c)})}},"abortableDelay"),b=n(async(t,a,e=C)=>{try{const s=await fetch(t,a);if(!s.ok&&e>0&&T){const i=1e3*2**(C-e);return await F(i,a.signal),b(t,a,e-1)}return s}catch(s){if(a.signal?.aborted||s instanceof Error&&s.message==="Aborted")throw s;if(e>0&&T){const i=1e3*2**(C-e);return await F(i,a.signal),b(t,a,e-1)}throw s}},"fetchWithRetry"),N=n(async t=>{const a={"Content-Type":t.type||"application/octet-stream","X-Chunked-Upload":"true","X-Total-Size":String(t.size)};Object.keys(U).length>0&&(a["X-File-Metadata"]=JSON.stringify(U)),t.name&&(a["Content-Disposition"]=`attachment; filename="${t.name}"`);const e=await b(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 s=e.headers.get("X-Upload-ID")??e.headers.get("Location")?.split("/").pop();if(!s)throw new Error("Failed to get upload ID from server");return s},"createUpload"),P=n(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"),O=n(async t=>{const a=l.endsWith("/")?`${l}${t}`:`${l}/${t}`,e=await b(a,{method:"HEAD"});if(!e.ok)throw new Error(`Failed to get upload status: ${String(e.status)} ${e.statusText}`);const s=Number.parseInt(e.headers.get("X-Upload-Offset")??"0",10),i=e.headers.get("X-Received-Chunks");let c=[];if(i)try{const p=JSON.parse(i);Array.isArray(p)&&(c=p)}catch{}return{chunks:c,offset:s}},"getUploadStatus"),X=n(async(t,a,e,s,i)=>{const c=t.slice(e,s),p=s-e;if(r.uploadedChunks.has(e))return;const m=l.endsWith("/")?`${l}${a}`:`${l}/${a}`,f=await b(m,{body:c,headers:{"Content-Length":String(p),"Content-Type":"application/octet-stream","X-Chunk-Offset":String(e)},method:"PATCH",signal:i});if(!f.ok)throw new Error(`Failed to upload chunk: ${String(f.status)} ${f.statusText}`);r.uploadedChunks.add(e);const o=Number.parseInt(f.headers.get("X-Upload-Offset")??String(s),10),d=Math.round(o/t.size*100);g?._updateOffset(o),z?.(d,o)},"uploadChunk"),I=n(async(t,a,e)=>{const s=Math.ceil(t.size/w),{chunks:i}=await O(a);for(const d of i)r.uploadedChunks.add(d.offset);const c=[];for(let d=0;d<s;d+=1){const u=d*w,k=Math.min(u+w,t.size);if(!r.uploadedChunks.has(u)){for(;r.paused&&!r.aborted;)await new Promise(h=>{setTimeout(()=>{h()},100)});if(r.aborted)throw new Error("Upload aborted");c.push(X(t,a,u,k,e))}}await Promise.all(c);const p=await O(a);if(p.offset<t.size)throw new Error(`Upload incomplete. Expected ${String(t.size)} bytes, got ${String(p.offset)}`);if(r.uploadedChunks.size<=0)throw new Error("No chunks were uploaded");const m=l.endsWith("/")?`${l}${a}`:`${l}/${a}`,f=await b(m,{method:"GET"});if(!f.ok)throw new Error(`Failed to get upload result: ${String(f.status)} ${f.statusText}`);const o=await f.json();return{bytesWritten:o.bytesWritten??Math.max(t.size,0),contentType:o.contentType??t.type,createdAt:o.createdAt,filename:o.originalName??t.name,id:o.id??a,metadata:o.metadata,name:o.name,originalName:o.originalName??t.name,size:o.size??t.size,status:o.status??"completed",url:o.url}},"performUpload");return{abort:n(()=>{r.aborted=!0,r.paused=!1,r.abortController?.abort()},"abort"),clear:n(()=>{r={abortController:void 0,aborted:!1,file:void 0,fileId:void 0,paused:!1,totalSize:0,uploadedChunks:new Set}},"clear"),getOffset:n(async()=>{if(!r.fileId)return 0;try{return(await O(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:n(()=>r.paused,"isPaused"),pause:n(()=>{r.paused=!0},"pause"),resume:n(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 I(r.file,r.fileId,t.signal);S?.(a)}catch(a){const e=a instanceof Error?a:new Error(String(a));throw $?.(e),e}},"resume"),setOnError:n(t=>{$=t},"setOnError"),setOnFinish:n(t=>{S=t},"setOnFinish"),setOnProgress:n(t=>{z=t},"setOnProgress"),setOnStart:n(t=>{A=t},"setOnStart"),upload:n(async t=>{let a=!1;const e=S,s=$;let i;const c=n(()=>{i&&(clearTimeout(i),i=void 0),S=e,$=s},"cleanupTimeout"),p=n(o=>{a||(a=!0,c(),e?.(o))},"internalFinishCallback"),m=n(o=>{a||(a=!0,c(),s?.(o))},"internalErrorCallback");S=p,$=m,r={aborted:!1,file:t,paused:!1,totalSize:t.size,uploadedChunks:new Set},A?.();const f=(async()=>{const o=new AbortController;r.abortController=o;const d=await D({endpoint:l,file:t,protocol:"chunked-rest"});r.fingerprint=d;let u;const k=g?.snapshot;if(k&&k.protocol==="chunked-rest"&&k.fingerprint===d&&(u=k.uploadUrl),u===void 0&&y)try{const h=await y.findEntry(d);h&&h.protocol==="chunked-rest"&&(u=h.uploadUrl)}catch{}if(u!==void 0){const h=await P(u);h===void 0?(await v(d),u=void 0):h>0&&(g?._updateOffset(h),z?.(Math.round(h/t.size*100),h))}return u===void 0&&(u=await N(t),await M(d,u,t)),r.fileId=u,g?._attach({abort:n(()=>o.abort(),"abort"),pause:n(()=>{r.paused=!0},"pause"),resume:n(async()=>{r.paused=!1},"resume")},{endpoint:l,fingerprint:d,protocol:"chunked-rest",uploadUrl:u}),I(t,u,o.signal)})();i=setTimeout(()=>{a||(r.aborted=!0,c(),m(new Error("Upload timeout")))},3e5);try{const o=await f;return await v(r.fingerprint),g?._detach(),p(o),o}catch(o){const d=o instanceof Error?o:new Error(String(o));throw g?._detach(),m(d),d}},"upload")}},"createChunkedRestAdapter");export{L as createChunkedRestAdapter};
1
+ var W=Object.defineProperty;var P=(k,w)=>W(k,"name",{value:w,configurable:!0});import{defaultFingerprint as R}from"./defaultFingerprint-CI2Sdd2s.js";var _=Object.defineProperty,n=P((k,w)=>_(k,"name",{value:w,configurable:!0}),"a");const j=5*1024*1024,L=n(k=>{const{chunkSize:w=j,control:g,endpoint:l,fingerprint:x=R,maxRetries:$=3,metadata:U={},retry:T=!0,urlStorage:y}=k;let r={aborted:!1,paused:!1,totalSize:0,uploadedChunks:new Set};const D=n(async(t,a,e)=>{if(!y)return;const s={createdAt:Date.now(),endpoint:l,fingerprint:t,lastModified:e.lastModified,protocol:"chunked-rest",size:e.size,uploadUrl:a};try{await y.addEntry(s)}catch{}},"persistUploadEntry"),v=n(async t=>{if(!(!y||!t))try{await y.removeEntry(t)}catch{}},"removeUploadEntry");let A,z,E,C;const F=n(async(t,a)=>{if(a?.aborted)throw new Error("Aborted");const e=100,s=Date.now();for(;Date.now()-s<t;){if(a?.aborted)throw new Error("Aborted");const i=t-(Date.now()-s),c=Math.min(e,i);await new Promise(p=>{setTimeout(()=>{p()},c)})}},"abortableDelay"),b=n(async(t,a,e=$)=>{try{const s=await fetch(t,a);if(!s.ok&&e>0&&T){const i=1e3*2**($-e);return await F(i,a.signal),b(t,a,e-1)}return s}catch(s){if(a.signal?.aborted||s instanceof Error&&s.message==="Aborted")throw s;if(e>0&&T){const i=1e3*2**($-e);return await F(i,a.signal),b(t,a,e-1)}throw s}},"fetchWithRetry"),M=n(async t=>{const a={"Content-Type":t.type||"application/octet-stream","X-Chunked-Upload":"true","X-Total-Size":String(t.size)};Object.keys(U).length>0&&(a["X-File-Metadata"]=JSON.stringify(U)),t.name&&(a["Content-Disposition"]=`attachment; filename="${t.name}"`);const e=await b(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 s=e.headers.get("X-Upload-ID")??e.headers.get("Location")?.split("/").pop();if(!s)throw new Error("Failed to get upload ID from server");return s},"createUpload"),N=n(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"),O=n(async t=>{const a=l.endsWith("/")?`${l}${t}`:`${l}/${t}`,e=await b(a,{method:"HEAD"});if(!e.ok)throw new Error(`Failed to get upload status: ${String(e.status)} ${e.statusText}`);const s=Number.parseInt(e.headers.get("X-Upload-Offset")??"0",10),i=e.headers.get("X-Received-Chunks");let c=[];if(i)try{const p=JSON.parse(i);Array.isArray(p)&&(c=p)}catch{}return{chunks:c,offset:s}},"getUploadStatus"),X=n(async(t,a,e,s,i)=>{const c=t.slice(e,s),p=s-e;if(r.uploadedChunks.has(e))return;const m=l.endsWith("/")?`${l}${a}`:`${l}/${a}`,f=await b(m,{body:c,headers:{"Content-Length":String(p),"Content-Type":"application/octet-stream","X-Chunk-Offset":String(e)},method:"PATCH",signal:i});if(!f.ok)throw new Error(`Failed to upload chunk: ${String(f.status)} ${f.statusText}`);r.uploadedChunks.add(e);const o=Number.parseInt(f.headers.get("X-Upload-Offset")??String(s),10),d=Math.round(o/t.size*100);g?._updateOffset(o),z?.(d,o)},"uploadChunk"),I=n(async(t,a,e)=>{const s=Math.ceil(t.size/w),{chunks:i}=await O(a);for(const d of i)r.uploadedChunks.add(d.offset);const c=[];for(let d=0;d<s;d+=1){const u=d*w,S=Math.min(u+w,t.size);if(!r.uploadedChunks.has(u)){for(;r.paused&&!r.aborted;)await new Promise(h=>{setTimeout(()=>{h()},100)});if(r.aborted)throw new Error("Upload aborted");c.push(X(t,a,u,S,e))}}await Promise.all(c);const p=await O(a);if(p.offset<t.size)throw new Error(`Upload incomplete. Expected ${String(t.size)} bytes, got ${String(p.offset)}`);if(r.uploadedChunks.size<=0)throw new Error("No chunks were uploaded");const m=l.endsWith("/")?`${l}${a}`:`${l}/${a}`,f=await b(m,{method:"GET"});if(!f.ok)throw new Error(`Failed to get upload result: ${String(f.status)} ${f.statusText}`);const o=await f.json();return{bytesWritten:o.bytesWritten??Math.max(t.size,0),contentType:o.contentType??t.type,createdAt:o.createdAt,filename:o.originalName??t.name,id:o.id??a,metadata:o.metadata,name:o.name,originalName:o.originalName??t.name,size:o.size??t.size,status:o.status??"completed",url:o.url}},"performUpload");return{abort:n(()=>{r.aborted=!0,r.paused=!1,r.abortController?.abort()},"abort"),clear:n(()=>{r={abortController:void 0,aborted:!1,file:void 0,fileId:void 0,paused:!1,totalSize:0,uploadedChunks:new Set}},"clear"),getOffset:n(async()=>{if(!r.fileId)return 0;try{return(await O(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:n(()=>r.paused,"isPaused"),pause:n(()=>{r.paused=!0},"pause"),resume:n(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 I(r.file,r.fileId,t.signal);E?.(a)}catch(a){const e=a instanceof Error?a:new Error(String(a));throw C?.(e),e}},"resume"),setOnError:n(t=>{C=t},"setOnError"),setOnFinish:n(t=>{E=t},"setOnFinish"),setOnProgress:n(t=>{z=t},"setOnProgress"),setOnStart:n(t=>{A=t},"setOnStart"),upload:n(async t=>{let a=!1;const e=E,s=C;let i;const c=n(()=>{i&&(clearTimeout(i),i=void 0),E=e,C=s},"cleanupTimeout"),p=n(o=>{a||(a=!0,c(),e?.(o))},"internalFinishCallback"),m=n(o=>{a||(a=!0,c(),s?.(o))},"internalErrorCallback");E=p,C=m,r={aborted:!1,file:t,paused:!1,totalSize:t.size,uploadedChunks:new Set},A?.();const f=(async()=>{const o=new AbortController;r.abortController=o;const d=await x({endpoint:l,file:t,protocol:"chunked-rest"});r.fingerprint=d;let u;const S=g?.snapshot;if(S?.protocol==="chunked-rest"&&S.fingerprint===d&&(u=S.uploadUrl),u===void 0&&y)try{const h=await y.findEntry(d);h?.protocol==="chunked-rest"&&(u=h.uploadUrl)}catch{}if(u!==void 0){const h=await N(u);h===void 0?(await v(d),u=void 0):h>0&&(g?._updateOffset(h),z?.(Math.round(h/t.size*100),h))}return u===void 0&&(u=await M(t),await D(d,u,t)),r.fileId=u,g?._attach({abort:n(()=>{o.abort()},"abort"),pause:n(()=>{r.paused=!0},"pause"),resume:n(()=>(r.paused=!1,Promise.resolve()),"resume")},{endpoint:l,fingerprint:d,protocol:"chunked-rest",uploadUrl:u}),I(t,u,o.signal)})();i=setTimeout(()=>{a||(r.aborted=!0,c(),m(new Error("Upload timeout")))},3e5);try{const o=await f;return await v(r.fingerprint),g?._detach(),p(o),o}catch(o){const d=o instanceof Error?o:new Error(String(o));throw g?._detach(),m(d),d}},"upload")}},"createChunkedRestAdapter");export{L as createChunkedRestAdapter};
@@ -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-DwdZ3iXf.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 +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-DwdZ3iXf.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};
@@ -0,0 +1 @@
1
+ var I=Object.defineProperty;var $=(h,f)=>I(h,"name",{value:f,configurable:!0});import{defaultFingerprint as j}from"./defaultFingerprint-CI2Sdd2s.js";var B=Object.defineProperty,a=$((h,f)=>B(h,"name",{value:f,configurable:!0}),"o");const T="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,...S]=p.trim().split(" "),C=S.join(" ");if(d&&C)try{f[d]=K(C)}catch{}}),f},"decodeMetadata"),X=a(h=>{const{chunkSize:f=W,control:p,endpoint:d,fingerprint:S=j,maxRetries:C=3,metadata:F={},retry:R=!0,urlStorage:y}=h;let n,O,A,P,v;const k=a(async(t,s)=>{let e;try{e=await fetch(t,{headers:{"Tus-Resumable":T},method:"HEAD",signal:s})}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");return o?Number.parseInt(o,10):0},"probeExistingUpload"),L=a(async(t,s,e)=>{if(!y)return;const o={createdAt:Date.now(),endpoint:d,fingerprint:t,lastModified:e.lastModified,protocol:"tus",size:e.size,uploadUrl:s};try{await y.addEntry(o)}catch{}},"persistUploadEntry"),M=a(async t=>{if(!(!y||!t))try{await y.removeEntry(t)}catch{}},"removeUploadEntry"),D=a(async t=>{const s={filename:t.name,filetype:t.type,...F},e=await fetch(d,{headers:{"Tus-Resumable":T,"Upload-Length":t.size.toString(),"Upload-Metadata":V(s)},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 i;if(o.startsWith("http"))i=o;else try{i=new URL(o,d).href}catch{const u="window"in globalThis?globalThis.location.origin:"http://localhost";i=new URL(o,u+d).href}const l=e.headers.get("Upload-Offset");return{initialOffset:l?Number.parseInt(l,10):0,uploadUrl:i}},"createUpload"),x=a(async(t,s)=>{const e=await fetch(t,{headers:{"Tus-Resumable":T},method:"HEAD",signal:s});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");return o?Number.parseInt(o,10):0},"getUploadOffset"),H=a(async(t,s,e,o)=>{const i=Math.min(e+f,t.size),l=t.slice(e,i),u=await fetch(s,{body:l,headers:{"Content-Length":l.size.toString(),"Content-Type":"application/offset+octet-stream","Tus-Resumable":T,"Upload-Offset":e.toString()},method:"PATCH",signal:o});if(u.status!==204){if(u.status===409)return await x(s);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");return Number.parseInt(b,10)},"uploadChunk"),_=a(async(t,s,e=0)=>{const o=n;if(!o)throw new Error("Upload state not initialized");const{abortController:i}=o;let l=e;try{for(;l<t.size;){if(i.signal.aborted)throw new Error("Upload aborted");if(o.isPaused&&await new Promise(c=>{const m=a(()=>{i.signal.aborted?c():o.isPaused?setTimeout(m,100):c()},"checkPause");m()}),i.signal.aborted)throw new Error("Upload aborted");try{l=await H(t,s,l,i.signal),o.offset=l,p?._updateOffset(l);const c=Math.round(l/t.size*100);O?.(c,l)}catch(c){if(i.signal.aborted)throw new Error("Upload aborted");if(R&&o.retryCount<C){if(o.retryCount+=1,await new Promise(m=>setTimeout(m,1e3*o.retryCount)),i.signal.aborted)throw new Error("Upload aborted");l=await x(s,i.signal);continue}throw c}o.retryCount=0}if(i.signal.aborted)throw new Error("Upload aborted");const u=await fetch(s,{headers:{"Tus-Resumable":T},method:"HEAD",signal:i.signal}),b=u.headers.get("Location")??s,z=u.headers.get("Upload-Metadata"),U=q(z??void 0);let r={};try{r={contentType:u.headers.get("Content-Type")??U.filetype??t.type,id:s.split("/").pop()??"",metadata:U,originalName:U.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??s.split("/").pop()??"",metadata:r.metadata??U,name:r.name,offset:l,originalName:r.originalName??t.name,size:r.size??t.size,status:r.status??"completed",url:b}}finally{n===o&&(n=void 0)}},"performUpload");return{abort:a(()=>{n&&n.abortController.abort()},"abort"),clear:a(()=>{n&&n.abortController.abort()},"clear"),getOffset:a(()=>n?.offset??0,"getOffset"),isPaused:a(()=>n?.isPaused??!1,"isPaused"),pause:a(()=>{n&&(n.isPaused=!0)},"pause"),resume:a(async()=>{if(!n?.uploadUrl)throw new Error("No upload to resume");n.isPaused=!1},"resume"),setOnError:a(t=>{v=t},"setOnError"),setOnFinish:a(t=>{P=t},"setOnFinish"),setOnProgress:a(t=>{O=t},"setOnProgress"),setOnStart:a(t=>{A=t},"setOnStart"),upload:a(async t=>{let s=!1;const e=P,o=v;let i;const l=a(()=>{i&&(clearTimeout(i),i=void 0),P=e,v=o},"cleanupTimeout"),u=a(r=>{s||(s=!0,l(),e?.(r))},"internalFinishCallback"),b=a(r=>{s||(s=!0,l(),o?.(r),n?.uploadUrl||(n=void 0))},"internalErrorCallback");P=u,v=b,n={abortController:new AbortController,file:t,fingerprint:void 0,isPaused:!1,offset:0,retryCount:0,uploadUrl:void 0};let z;const U=(async()=>{A?.();const r=n,c=await S({endpoint:d,file:t,protocol:"tus"});z=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&&y)try{const N=await y.findEntry(c);N?.protocol==="tus"&&(g=N.uploadUrl)}catch{}if(g===void 0)return;const E=await k(g,r.abortController.signal);if(E===void 0){await M(c);return}return r.uploadUrl=g,r.offset=E,E>0&&O?.(Math.round(E/t.size*100),E),g},"resolveResumeUrl")();if(m===void 0){const{initialOffset:w,uploadUrl:g}=await D(t);m=g,r.uploadUrl=m,r.offset=w,await L(c,m,t),w>0&&O?.(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),_(t,m,r.offset)})();i=setTimeout(()=>{s||(s=!0,l(),n&&n.abortController.abort(),n&&!n.uploadUrl&&(n=void 0))},3e5);try{const r=await U;return await M(z),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-DMWzJjQ2.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-DMWzJjQ2.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-WgfiLIto.js";import{createMultipartUpload as re}from"./createMultipartUpload-CFsUjhvG.js";import{createTusUpload as se}from"./createTusUpload-l00I3jXp.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-DZbjiORY.js";import{createMultipartUpload as N}from"./createMultipartUpload-BPcFYSwI.js";import{createTusUpload as _}from"./createTusUpload-Con3Nqu0.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,43 +1,4 @@
1
1
  /**
2
- * Upload method type for useUpload hook
3
- */
4
- type UploadMethod = "auto" | "chunked-rest" | "multipart" | "tus";
5
- /**
6
- * File metadata returned from the server (matches OpenAPI FileMeta schema)
7
- */
8
- interface FileMeta {
9
- /** Bytes written to storage */
10
- bytesWritten?: number;
11
- /** Content type of the uploaded file */
12
- contentType?: string;
13
- /** File creation timestamp */
14
- createdAt?: string;
15
- /** Unique identifier for the uploaded file */
16
- id: string;
17
- /** Additional metadata associated with the file */
18
- metadata?: Record<string, unknown>;
19
- /** Storage name of the file */
20
- name?: string;
21
- /** Original filename of the uploaded file */
22
- originalName?: string;
23
- /** Size of the uploaded file in bytes */
24
- size?: number;
25
- /** Upload status: 'completed', 'part', 'deleted', or 'created' */
26
- status?: "completed" | "part" | "deleted" | "created";
27
- }
28
- /**
29
- * Result returned after a successful file upload
30
- * Extends FileMeta with additional client-side fields
31
- */
32
- interface UploadResult extends FileMeta {
33
- /** Original filename of the uploaded file (alias for originalName) */
34
- filename?: string;
35
- /** Current upload offset in bytes (TUS only) */
36
- offset?: number;
37
- /** URL to access the uploaded file */
38
- url?: string;
39
- }
40
- /**
41
2
  * Identifier for the upload protocol the fingerprint scopes to.
42
3
  * Two uploads of the same file to the same endpoint must hash to
43
4
  * different values if they use different protocols, so each adapter
@@ -49,7 +10,7 @@ interface FingerprintInput {
49
10
  file: File;
50
11
  protocol: FingerprintProtocol;
51
12
  }
52
- type FingerprintFn = (input: FingerprintInput) => Promise<string> | string;
13
+ type FingerprintFunction = (input: FingerprintInput) => Promise<string> | string;
53
14
  /**
54
15
  * Default fingerprint format — matches tus-js-client's `${name}-${size}-${type}-${lastModified}`
55
16
  * shape, prefixed with the protocol + endpoint so the same file uploaded to two different
@@ -58,7 +19,7 @@ type FingerprintFn = (input: FingerprintInput) => Promise<string> | string;
58
19
  * User-controlled string fields (endpoint, file.name, file.type) are percent-encoded so a `::`
59
20
  * embedded in any of them cannot collide with the `::` delimiter.
60
21
  */
61
- declare const defaultFingerprint: FingerprintFn;
22
+ declare const defaultFingerprint: FingerprintFunction;
62
23
  declare const SNAPSHOT_VERSION = 1;
63
24
  /**
64
25
  * Serializable description of an in-flight upload. Pass `toJSON()` through any
@@ -104,13 +65,13 @@ interface UploadControlAttachMeta {
104
65
  * Unified pause/resume/abort handle for an upload.
105
66
  *
106
67
  * Lifecycle:
107
- * 1. Construct empty (`new UploadControl()`) and pass into `adapter.upload(file, { control })`.
108
- * 2. The adapter calls `_attach()` once the upload identifier is known.
109
- * 3. Callers drive the upload via `pause/resume/abort`.
110
- * 4. `toJSON()` returns a serializable snapshot.
111
- * 5. In a future process, `UploadControl.from(snapshot)` returns a control
112
- * pre-loaded with the snapshot — pass it to `adapter.upload(file, { control })`
113
- * and the adapter resumes the in-flight upload instead of starting a new one.
68
+ * 1. Construct empty (`new UploadControl()`) and pass into `adapter.upload(file, { control })`.
69
+ * 2. The adapter calls `_attach()` once the upload identifier is known.
70
+ * 3. Callers drive the upload via `pause/resume/abort`.
71
+ * 4. `toJSON()` returns a serializable snapshot.
72
+ * 5. In a future process, `UploadControl.from(snapshot)` returns a control
73
+ * pre-loaded with the snapshot — pass it to `adapter.upload(file, { control })`
74
+ * and the adapter resumes the in-flight upload instead of starting a new one.
114
75
  */
115
76
  declare class UploadControl {
116
77
  #private;
@@ -196,6 +157,45 @@ declare class LocalStorageUrlStorage implements UrlStorage {
196
157
  */
197
158
  declare const defaultUrlStorage: () => UrlStorage;
198
159
  /**
160
+ * Upload method type for useUpload hook
161
+ */
162
+ type UploadMethod = "auto" | "chunked-rest" | "multipart" | "tus";
163
+ /**
164
+ * File metadata returned from the server (matches OpenAPI FileMeta schema)
165
+ */
166
+ interface FileMeta {
167
+ /** Bytes written to storage */
168
+ bytesWritten?: number;
169
+ /** Content type of the uploaded file */
170
+ contentType?: string;
171
+ /** File creation timestamp */
172
+ createdAt?: string;
173
+ /** Unique identifier for the uploaded file */
174
+ id: string;
175
+ /** Additional metadata associated with the file */
176
+ metadata?: Record<string, unknown>;
177
+ /** Storage name of the file */
178
+ name?: string;
179
+ /** Original filename of the uploaded file */
180
+ originalName?: string;
181
+ /** Size of the uploaded file in bytes */
182
+ size?: number;
183
+ /** Upload status: 'completed', 'part', 'deleted', or 'created' */
184
+ status?: "completed" | "part" | "deleted" | "created";
185
+ }
186
+ /**
187
+ * Result returned after a successful file upload
188
+ * Extends FileMeta with additional client-side fields
189
+ */
190
+ interface UploadResult extends FileMeta {
191
+ /** Original filename of the uploaded file (alias for originalName) */
192
+ filename?: string;
193
+ /** Current upload offset in bytes (TUS only) */
194
+ offset?: number;
195
+ /** URL to access the uploaded file */
196
+ url?: string;
197
+ }
198
+ /**
199
199
  * Upload item state
200
200
  */
201
201
  interface UploadItem {
@@ -378,4 +378,4 @@ declare class Uploader {
378
378
  * Creates a new uploader instance.
379
379
  */
380
380
  declare const createUploader: (options: UploaderOptions) => Uploader;
381
- export { BatchState as B, FingerprintFn as F, LocalStorageUrlStorage as L, MemoryUrlStorage as M, UploadResult as U, UploadControl as a, UrlStorage as b, Uploader as c, FileMeta as d, UploaderOptions as e, FingerprintInput as f, FingerprintProtocol as g, UploadControlAttachMeta as h, UploadControlBinding as i, UploadControlSnapshot as j, UploadItem as k, UploaderEventHandler as l, UploaderEventType as m, UrlStorageEntry as n, createUploader as o, defaultFingerprint as p, defaultUrlStorage as q, UploadMethod as r };
381
+ export { BatchState as B, FingerprintFunction as F, LocalStorageUrlStorage as L, MemoryUrlStorage as M, UploadControl as U, UrlStorage as a, UploadResult as b, Uploader as c, FileMeta as d, UploaderOptions as e, FingerprintInput as f, FingerprintProtocol as g, UploadControlAttachMeta as h, UploadControlBinding as i, UploadControlSnapshot as j, UploadItem as k, UploaderEventHandler as l, UploaderEventType as m, UrlStorageEntry as n, createUploader as o, defaultFingerprint as p, defaultUrlStorage as q, UploadMethod as r };
@@ -1 +1 @@
1
- var _=Object.defineProperty;var z=(i,a)=>_(i,"name",{value:a,configurable:!0});import{useState as u,useMemo as J,useRef as K,useEffect as C,useCallback as l}from"react";import{createChunkedRestAdapter as L}from"./createChunkedRestAdapter-YzmsiWvW.js";var N=Object.defineProperty,Q=z((i,a)=>N(i,"name",{value:a,configurable:!0}),"F");const Y=Q(i=>{const{chunkSize:a,control:E,endpoint:w,fingerprint:O,maxRetries:R,metadata:b,onError:g,onPause:p,onProgress:S,onResume:m,onStart:h,onSuccess:v,retry:y,urlStorage:k}=i,[F,d]=u(0),[T,s]=u(!1),[j,o]=u(!1),[A,P]=u(void 0),[I,x]=u(void 0),[M,f]=u(0),e=J(()=>L({chunkSize:a,control:E,endpoint:w,fingerprint:O,maxRetries:R,metadata:b,retry:y,urlStorage:k}),[a,E,w,O,R,b,y,k]),n=K({onError:g,onPause:p,onProgress:S,onResume:m,onStart:h,onSuccess:v});C(()=>{n.current={onError:g,onPause:p,onProgress:S,onResume:m,onStart:h,onSuccess:v}},[g,S,p,m,h,v]),C(()=>{e.setOnStart(()=>{s(!0),o(!1),d(0),P(void 0),f(0),n.current.onStart?.()}),e.setOnProgress((r,U)=>{d(r),f(U),n.current.onProgress?.(r,U)}),e.setOnFinish(r=>{d(100),x(r),s(!1),o(!1),n.current.onSuccess?.(r)}),e.setOnError(r=>{P(r),s(!1),n.current.onError?.(r)});let t=!0;const c=setInterval(()=>{!t||!("window"in globalThis)||(e.getOffset().then(r=>(!t||!("window"in globalThis)||f(r),r)).catch(()=>{}),o(e.isPaused()))},100);return()=>{t=!1,clearInterval(c),e.setOnStart(void 0),e.setOnProgress(void 0),e.setOnFinish(void 0),e.setOnError(void 0)}},[e]);const q=l(async t=>{try{return await e.upload(t)}catch(c){throw c instanceof Error?c:new Error(String(c))}},[e]),B=l(()=>{e.pause(),o(!0),n.current.onPause?.()},[e]),D=l(async()=>{o(!1),s(!0),n.current.onResume?.();try{await e.resume()}catch(t){throw s(!1),t instanceof Error?t:new Error(String(t))}},[e]),G=l(()=>{e.abort(),s(!1),o(!1)},[e]),H=l(()=>{e.clear(),d(0),s(!1),o(!1),P(void 0),x(void 0),f(0)},[e]);return{abort:G,error:A,isPaused:j,isUploading:T,offset:M,pause:B,progress:F,reset:H,result:I,resume:D,upload:q}},"useChunkedRestUpload");export{Y as useChunkedRestUpload};
1
+ var _=Object.defineProperty;var z=(i,a)=>_(i,"name",{value:a,configurable:!0});import{useState as u,useMemo as J,useRef as K,useEffect as C,useCallback as l}from"react";import{createChunkedRestAdapter as L}from"./createChunkedRestAdapter-DwdZ3iXf.js";var N=Object.defineProperty,Q=z((i,a)=>N(i,"name",{value:a,configurable:!0}),"F");const Y=Q(i=>{const{chunkSize:a,control:E,endpoint:w,fingerprint:O,maxRetries:R,metadata:b,onError:g,onPause:p,onProgress:S,onResume:m,onStart:h,onSuccess:v,retry:y,urlStorage:k}=i,[F,d]=u(0),[T,s]=u(!1),[j,o]=u(!1),[A,P]=u(void 0),[I,x]=u(void 0),[M,f]=u(0),e=J(()=>L({chunkSize:a,control:E,endpoint:w,fingerprint:O,maxRetries:R,metadata:b,retry:y,urlStorage:k}),[a,E,w,O,R,b,y,k]),n=K({onError:g,onPause:p,onProgress:S,onResume:m,onStart:h,onSuccess:v});C(()=>{n.current={onError:g,onPause:p,onProgress:S,onResume:m,onStart:h,onSuccess:v}},[g,S,p,m,h,v]),C(()=>{e.setOnStart(()=>{s(!0),o(!1),d(0),P(void 0),f(0),n.current.onStart?.()}),e.setOnProgress((r,U)=>{d(r),f(U),n.current.onProgress?.(r,U)}),e.setOnFinish(r=>{d(100),x(r),s(!1),o(!1),n.current.onSuccess?.(r)}),e.setOnError(r=>{P(r),s(!1),n.current.onError?.(r)});let t=!0;const c=setInterval(()=>{!t||!("window"in globalThis)||(e.getOffset().then(r=>(!t||!("window"in globalThis)||f(r),r)).catch(()=>{}),o(e.isPaused()))},100);return()=>{t=!1,clearInterval(c),e.setOnStart(void 0),e.setOnProgress(void 0),e.setOnFinish(void 0),e.setOnError(void 0)}},[e]);const q=l(async t=>{try{return await e.upload(t)}catch(c){throw c instanceof Error?c:new Error(String(c))}},[e]),B=l(()=>{e.pause(),o(!0),n.current.onPause?.()},[e]),D=l(async()=>{o(!1),s(!0),n.current.onResume?.();try{await e.resume()}catch(t){throw s(!1),t instanceof Error?t:new Error(String(t))}},[e]),G=l(()=>{e.abort(),s(!1),o(!1)},[e]),H=l(()=>{e.clear(),d(0),s(!1),o(!1),P(void 0),x(void 0),f(0)},[e]);return{abort:G,error:A,isPaused:j,isUploading:T,offset:M,pause:B,progress:F,reset:H,result:I,resume:D,upload:q}},"useChunkedRestUpload");export{Y as useChunkedRestUpload};
@@ -1 +1 @@
1
- var C=Object.defineProperty;var m=(v,i)=>C(v,"name",{value:i,configurable:!0});import{ref as n,onMounted as x,onBeforeUnmount as z}from"vue";import{createChunkedRestAdapter as F}from"./createChunkedRestAdapter-YzmsiWvW.js";var I=Object.defineProperty,l=m((v,i)=>I(v,"name",{value:i,configurable:!0}),"s");const M=l(v=>{const{chunkSize:i,control:g,endpoint:h,fingerprint:O,maxRetries:S,metadata:y,onError:f,onPause:E,onProgress:P,onResume:R,onStart:b,onSuccess:k,retry:w,urlStorage:U}=v,d=n(0),a=n(!1),t=n(!1),o=n(void 0),p=n(void 0),c=n(0),r=F({chunkSize:i,control:g,endpoint:h,fingerprint:O,maxRetries:S,metadata:y,retry:w,urlStorage:U});return x(()=>{r.setOnStart(()=>{a.value=!0,t.value=!1,d.value=0,o.value=void 0,c.value=0,b?.()}),r.setOnProgress((e,u)=>{d.value=e,c.value=u,P?.(e,u)}),r.setOnFinish(e=>{d.value=100,p.value=e,a.value=!1,t.value=!1,k?.(e)}),r.setOnError(e=>{o.value=e,a.value=!1,f?.(e)});const s=setInterval(()=>{r.getOffset().then(e=>(c.value=e,e)).catch(()=>{}),t.value=r.isPaused()},100);z(()=>{clearInterval(s),r.setOnStart(void 0),r.setOnProgress(void 0),r.setOnFinish(void 0),r.setOnError(void 0)})}),{abort:l(()=>{r.abort(),a.value=!1,t.value=!1},"abort"),error:o,isPaused:t,isUploading:a,offset:c,pause:l(()=>{r.pause(),t.value=!0,E?.()},"pause"),progress:d,reset:l(()=>{r.clear(),d.value=0,a.value=!1,t.value=!1,o.value=void 0,p.value=void 0,c.value=0},"reset"),result:p,resume:l(async()=>{t.value=!1,a.value=!0,R?.();try{await r.resume()}catch(s){const e=s instanceof Error?s:new Error(String(s));throw o.value=e,a.value=!1,f?.(e),e}},"resume"),upload:l(async s=>{try{return await r.upload(s)}catch(e){const u=e instanceof Error?e:new Error(String(e));throw o.value=u,f?.(u),u}},"upload")}},"useChunkedRestUpload");export{M as useChunkedRestUpload};
1
+ var C=Object.defineProperty;var m=(v,i)=>C(v,"name",{value:i,configurable:!0});import{ref as n,onMounted as x,onBeforeUnmount as z}from"vue";import{createChunkedRestAdapter as F}from"./createChunkedRestAdapter-DwdZ3iXf.js";var I=Object.defineProperty,l=m((v,i)=>I(v,"name",{value:i,configurable:!0}),"s");const M=l(v=>{const{chunkSize:i,control:g,endpoint:h,fingerprint:O,maxRetries:S,metadata:y,onError:f,onPause:E,onProgress:P,onResume:R,onStart:b,onSuccess:k,retry:w,urlStorage:U}=v,d=n(0),a=n(!1),t=n(!1),o=n(void 0),p=n(void 0),c=n(0),r=F({chunkSize:i,control:g,endpoint:h,fingerprint:O,maxRetries:S,metadata:y,retry:w,urlStorage:U});return x(()=>{r.setOnStart(()=>{a.value=!0,t.value=!1,d.value=0,o.value=void 0,c.value=0,b?.()}),r.setOnProgress((e,u)=>{d.value=e,c.value=u,P?.(e,u)}),r.setOnFinish(e=>{d.value=100,p.value=e,a.value=!1,t.value=!1,k?.(e)}),r.setOnError(e=>{o.value=e,a.value=!1,f?.(e)});const s=setInterval(()=>{r.getOffset().then(e=>(c.value=e,e)).catch(()=>{}),t.value=r.isPaused()},100);z(()=>{clearInterval(s),r.setOnStart(void 0),r.setOnProgress(void 0),r.setOnFinish(void 0),r.setOnError(void 0)})}),{abort:l(()=>{r.abort(),a.value=!1,t.value=!1},"abort"),error:o,isPaused:t,isUploading:a,offset:c,pause:l(()=>{r.pause(),t.value=!0,E?.()},"pause"),progress:d,reset:l(()=>{r.clear(),d.value=0,a.value=!1,t.value=!1,o.value=void 0,p.value=void 0,c.value=0},"reset"),result:p,resume:l(async()=>{t.value=!1,a.value=!0,R?.();try{await r.resume()}catch(s){const e=s instanceof Error?s:new Error(String(s));throw o.value=e,a.value=!1,f?.(e),e}},"resume"),upload:l(async s=>{try{return await r.upload(s)}catch(e){const u=e instanceof Error?e:new Error(String(e));throw o.value=u,f?.(u),u}},"upload")}},"useChunkedRestUpload");export{M as useChunkedRestUpload};
@@ -1 +1 @@
1
- var F=Object.defineProperty;var m=(n,v)=>F(n,"name",{value:v,configurable:!0});import{ref as u,onMounted as T,onBeforeUnmount as k}from"vue";import{createTusAdapter as z}from"./createTusAdapter-6FZAUcvj.js";var I=Object.defineProperty,l=m((n,v)=>I(n,"name",{value:v,configurable:!0}),"s");const M=l(n=>{const{chunkSize:v,control:g,endpoint:O,fingerprint:S,maxRetries:h,metadata:y,onError:d,onPause:E,onProgress:P,onResume:w,onStart:b,onSuccess:U,retry:R,urlStorage:x}=n,i=u(0),a=u(!1),t=u(!1),o=u(void 0),p=u(void 0),f=u(0),r=z({chunkSize:v,control:g,endpoint:O,fingerprint:S,maxRetries:h,metadata:y,retry:R,urlStorage:x});return T(()=>{r.setOnStart(()=>{a.value=!0,t.value=!1,i.value=0,o.value=void 0,f.value=0,b?.()}),r.setOnProgress((e,c)=>{i.value=e,f.value=c,P?.(e)}),r.setOnFinish(e=>{i.value=100,p.value=e,a.value=!1,t.value=!1,U?.(e)}),r.setOnError(e=>{o.value=e,a.value=!1,d?.(e)});const s=setInterval(()=>{f.value=r.getOffset(),t.value=r.isPaused()},100);k(()=>{clearInterval(s),r.setOnStart(void 0),r.setOnProgress(void 0),r.setOnFinish(void 0),r.setOnError(void 0)})}),{abort:l(()=>{r.abort(),a.value=!1,t.value=!1},"abort"),error:o,isPaused:t,isUploading:a,offset:f,pause:l(()=>{r.pause(),t.value=!0,E?.()},"pause"),progress:i,reset:l(()=>{r.clear(),i.value=0,a.value=!1,t.value=!1,o.value=void 0,p.value=void 0,f.value=0},"reset"),result:p,resume:l(async()=>{t.value=!1,a.value=!0,w?.();try{await r.resume()}catch(s){const e=s instanceof Error?s:new Error(String(s));throw o.value=e,a.value=!1,d?.(e),e}},"resume"),upload:l(async s=>{try{return await r.upload(s)}catch(e){const c=e instanceof Error?e:new Error(String(e));throw o.value=c,d?.(c),c}},"upload")}},"useTusUpload");export{M as useTusUpload};
1
+ var F=Object.defineProperty;var m=(n,v)=>F(n,"name",{value:v,configurable:!0});import{ref as u,onMounted as T,onBeforeUnmount as k}from"vue";import{createTusAdapter as z}from"./createTusAdapter-DMWzJjQ2.js";var I=Object.defineProperty,l=m((n,v)=>I(n,"name",{value:v,configurable:!0}),"s");const M=l(n=>{const{chunkSize:v,control:g,endpoint:O,fingerprint:S,maxRetries:h,metadata:y,onError:d,onPause:E,onProgress:P,onResume:w,onStart:b,onSuccess:U,retry:R,urlStorage:x}=n,i=u(0),a=u(!1),t=u(!1),o=u(void 0),p=u(void 0),f=u(0),r=z({chunkSize:v,control:g,endpoint:O,fingerprint:S,maxRetries:h,metadata:y,retry:R,urlStorage:x});return T(()=>{r.setOnStart(()=>{a.value=!0,t.value=!1,i.value=0,o.value=void 0,f.value=0,b?.()}),r.setOnProgress((e,c)=>{i.value=e,f.value=c,P?.(e)}),r.setOnFinish(e=>{i.value=100,p.value=e,a.value=!1,t.value=!1,U?.(e)}),r.setOnError(e=>{o.value=e,a.value=!1,d?.(e)});const s=setInterval(()=>{f.value=r.getOffset(),t.value=r.isPaused()},100);k(()=>{clearInterval(s),r.setOnStart(void 0),r.setOnProgress(void 0),r.setOnFinish(void 0),r.setOnError(void 0)})}),{abort:l(()=>{r.abort(),a.value=!1,t.value=!1},"abort"),error:o,isPaused:t,isUploading:a,offset:f,pause:l(()=>{r.pause(),t.value=!0,E?.()},"pause"),progress:i,reset:l(()=>{r.clear(),i.value=0,a.value=!1,t.value=!1,o.value=void 0,p.value=void 0,f.value=0},"reset"),result:p,resume:l(async()=>{t.value=!1,a.value=!0,w?.();try{await r.resume()}catch(s){const e=s instanceof Error?s:new Error(String(s));throw o.value=e,a.value=!1,d?.(e),e}},"resume"),upload:l(async s=>{try{return await r.upload(s)}catch(e){const c=e instanceof Error?e:new Error(String(e));throw o.value=c,d?.(c),c}},"upload")}},"useTusUpload");export{M as useTusUpload};
@@ -0,0 +1 @@
1
+ var _=Object.defineProperty;var z=(i,u)=>_(i,"name",{value:u,configurable:!0});import{useState as c,useMemo as K,useRef as w,useEffect as F,useCallback as f}from"react";import{createTusAdapter as L}from"./createTusAdapter-DMWzJjQ2.js";var Q=Object.defineProperty,V=z((i,u)=>Q(i,"name",{value:u,configurable:!0}),"k");const Z=V(i=>{const{chunkSize:u,control:y,endpoint:R,fingerprint:b,maxRetries:T,metadata:k,onError:g,onPause:S,onProgress:m,onResume:p,onStart:E,onSuccess:P,retry:x,urlStorage:I}=i,[j,d]=c(0),[A,s]=c(!1),[M,a]=c(!1),[q,l]=c(void 0),[B,U]=c(void 0),[C,v]=c(0),r=K(()=>L({chunkSize:u,control:y,endpoint:R,fingerprint:b,maxRetries:T,metadata:k,retry:x,urlStorage:I}),[u,y,R,b,T,k,x,I]),t=w({onError:g,onPause:S,onProgress:m,onResume:p,onStart:E,onSuccess:P}),o=w(void 0),O=w(!0);F(()=>{t.current={onError:g,onPause:S,onProgress:m,onResume:p,onStart:E,onSuccess:P}},[g,m,S,p,E,P]),F(()=>(O.current=!0,r.setOnStart(()=>{s(!0),a(!1),d(0),l(void 0),v(0),t.current.onStart?.()}),r.setOnProgress((e,n)=>{d(e),v(n),t.current.onProgress?.(e)}),r.setOnFinish(e=>{d(100),U(e),s(!1),a(!1),t.current.onSuccess?.(e)}),r.setOnError(e=>{l(e),s(!1),t.current.onError?.(e)}),o.current=setInterval(()=>{O.current&&o.current&&"window"in globalThis&&(v(r.getOffset()),a(r.isPaused()))},100),()=>{O.current=!1,o.current&&(clearInterval(o.current),o.current=void 0),r.setOnStart(void 0),r.setOnProgress(void 0),r.setOnFinish(void 0),r.setOnError(void 0)}),[r]);const D=f(async e=>{try{return await r.upload(e)}catch(n){const h=n instanceof Error?n:new Error(String(n));throw l(h),t.current.onError?.(h),h}},[r]),G=f(()=>{r.pause(),a(!0),t.current.onPause?.()},[r]),H=f(async()=>{a(!1),s(!0),t.current.onResume?.();try{await r.resume()}catch(e){const n=e instanceof Error?e:new Error(String(e));throw l(n),s(!1),t.current.onError?.(n),n}},[r]),J=f(()=>{o.current&&(clearInterval(o.current),o.current=void 0),r.abort(),s(!1),a(!1)},[r]),N=f(()=>{r.clear(),d(0),s(!1),a(!1),l(void 0),U(void 0),v(0)},[r]);return{abort:J,error:q,isPaused:M,isUploading:A,offset:C,pause:G,progress:j,reset:N,result:B,resume:H,upload:D}},"useTusUpload");export{Z as useTusUpload};
@@ -1 +1 @@
1
- var K=Object.defineProperty;var x=(m,a)=>K(m,"name",{value:a,configurable:!0});import{useMemo as k,useCallback as R}from"react";import{useChunkedRestUpload as L}from"./useChunkedRestUpload-C_I_pDEa.js";import{useMultipartUpload as _}from"./useMultipartUpload-CJMa-_Yo.js";import{useTusUpload as q}from"./useTusUpload-DJedNEXm.js";var G=Object.defineProperty,i=x((m,a)=>G(m,"name",{value:a,configurable:!0}),"s");const Q=10*1024*1024,$=i(m=>{const{chunkSize:a,endpointChunkedRest:s,endpointMultipart:d,endpointTus:n,maxRetries:v,metadata:p,method:E,onError:l,onPause:P,onProgress:f,onResume:U,onStart:c,onSuccess:g,retry:S,tusThreshold:w=Q}=m,h=k(()=>{if(E!==void 0)return E;const u=[s,d,n].filter(Boolean);if(u.length===1)return s?"chunked-rest":n?"tus":"multipart";if(u.length>1)return"auto";throw new Error("At least one endpoint must be provided: endpointChunkedRest, endpointMultipart, or endpointTus")},[E,s,d,n]),b=k(()=>{if(s)return{chunkSize:a,endpoint:s,maxRetries:v,metadata:p,onError:l,onPause:P,onProgress:f,onResume:U,onStart:c,onSuccess:g,retry:S}},[s,a,p,c,g,l,f,P,U,S,v]),T=k(()=>{if(d)return{endpoint:d,metadata:p,onError:l,onProgress:f,onStart:c,onSuccess:g}},[d,p,c,g,l,f]),y=k(()=>{if(n)return{chunkSize:a,endpoint:n,maxRetries:v,metadata:p,onError:l,onPause:P,onProgress:f,onResume:U,onStart:c,onSuccess:g,retry:S}},[n,a,p,c,g,l,f,P,U,S,v]),e=b?L(b):void 0,o=T?_(T):void 0,r=y?q(y):void 0,C=R(u=>{if(h!=="auto")return h;if(u.size>w){if(n)return"tus";if(s)return"chunked-rest"}if(s)return"chunked-rest";if(d)return"multipart";throw new Error("No available endpoint for upload")},[h,w,s,d,n]),z=R(async u=>{const M=C(u);if(M==="tus"){if(!r)throw new Error("TUS endpoint not configured");return r.upload(u)}if(M==="chunked-rest"){if(!e)throw new Error("Chunked REST endpoint not configured");return e.upload(u)}if(!o)throw new Error("Multipart endpoint not configured");return o.upload(u)},[C,r,e,o]),I=R(()=>{r?.abort(),e?.abort(),o?.reset()},[r,e,o]),O=R(()=>{r?.reset(),e?.reset(),o?.reset()},[r,e,o]),t=k(()=>h!=="auto"?h:r&&(r.isUploading||r.result)?"tus":e&&(e.isUploading||e.result)?"chunked-rest":o&&(o.isUploading||o.result)?"multipart":s?"chunked-rest":n?"tus":"multipart",[h,r,e,o,s,d,n]),A=i(()=>t==="tus"?r?.error??void 0:t==="chunked-rest"?e?.error??void 0:o?.error??void 0,"getError"),B=i(()=>{if(t==="tus")return r?.isPaused;if(t==="chunked-rest")return e?.isPaused},"getIsPaused"),N=i(()=>t==="tus"?r?.isUploading??!1:t==="chunked-rest"?e?.isUploading??!1:o?.isUploading??!1,"getIsUploading"),j=i(()=>{if(t==="tus")return r?.offset;if(t==="chunked-rest")return e?.offset},"getOffset"),D=i(()=>{if(t==="tus")return r?.pause;if(t==="chunked-rest")return e?.pause},"getPause"),F=i(()=>t==="tus"?r?.progress??0:t==="chunked-rest"?e?.progress??0:o?.progress??0,"getProgress"),H=i(()=>t==="tus"?r?.result??void 0:t==="chunked-rest"?e?.result??void 0:o?.result??void 0,"getResult"),J=i(()=>{if(t==="tus")return r?.resume;if(t==="chunked-rest")return e?.resume},"getResume");return{abort:I,currentMethod:t,error:A(),isPaused:B(),isUploading:N(),offset:j(),pause:D(),progress:F(),reset:O,result:H(),resume:J(),upload:z}},"useUpload");export{$ as useUpload};
1
+ var K=Object.defineProperty;var x=(m,a)=>K(m,"name",{value:a,configurable:!0});import{useMemo as k,useCallback as R}from"react";import{useChunkedRestUpload as L}from"./useChunkedRestUpload-BwOE2zhr.js";import{useMultipartUpload as _}from"./useMultipartUpload-CJMa-_Yo.js";import{useTusUpload as q}from"./useTusUpload-Dsq9GGEt.js";var G=Object.defineProperty,i=x((m,a)=>G(m,"name",{value:a,configurable:!0}),"s");const Q=10*1024*1024,$=i(m=>{const{chunkSize:a,endpointChunkedRest:s,endpointMultipart:d,endpointTus:n,maxRetries:v,metadata:p,method:E,onError:l,onPause:P,onProgress:f,onResume:U,onStart:c,onSuccess:g,retry:S,tusThreshold:w=Q}=m,h=k(()=>{if(E!==void 0)return E;const u=[s,d,n].filter(Boolean);if(u.length===1)return s?"chunked-rest":n?"tus":"multipart";if(u.length>1)return"auto";throw new Error("At least one endpoint must be provided: endpointChunkedRest, endpointMultipart, or endpointTus")},[E,s,d,n]),b=k(()=>{if(s)return{chunkSize:a,endpoint:s,maxRetries:v,metadata:p,onError:l,onPause:P,onProgress:f,onResume:U,onStart:c,onSuccess:g,retry:S}},[s,a,p,c,g,l,f,P,U,S,v]),T=k(()=>{if(d)return{endpoint:d,metadata:p,onError:l,onProgress:f,onStart:c,onSuccess:g}},[d,p,c,g,l,f]),y=k(()=>{if(n)return{chunkSize:a,endpoint:n,maxRetries:v,metadata:p,onError:l,onPause:P,onProgress:f,onResume:U,onStart:c,onSuccess:g,retry:S}},[n,a,p,c,g,l,f,P,U,S,v]),e=b?L(b):void 0,o=T?_(T):void 0,r=y?q(y):void 0,C=R(u=>{if(h!=="auto")return h;if(u.size>w){if(n)return"tus";if(s)return"chunked-rest"}if(s)return"chunked-rest";if(d)return"multipart";throw new Error("No available endpoint for upload")},[h,w,s,d,n]),z=R(async u=>{const M=C(u);if(M==="tus"){if(!r)throw new Error("TUS endpoint not configured");return r.upload(u)}if(M==="chunked-rest"){if(!e)throw new Error("Chunked REST endpoint not configured");return e.upload(u)}if(!o)throw new Error("Multipart endpoint not configured");return o.upload(u)},[C,r,e,o]),I=R(()=>{r?.abort(),e?.abort(),o?.reset()},[r,e,o]),O=R(()=>{r?.reset(),e?.reset(),o?.reset()},[r,e,o]),t=k(()=>h!=="auto"?h:r&&(r.isUploading||r.result)?"tus":e&&(e.isUploading||e.result)?"chunked-rest":o&&(o.isUploading||o.result)?"multipart":s?"chunked-rest":n?"tus":"multipart",[h,r,e,o,s,d,n]),A=i(()=>t==="tus"?r?.error??void 0:t==="chunked-rest"?e?.error??void 0:o?.error??void 0,"getError"),B=i(()=>{if(t==="tus")return r?.isPaused;if(t==="chunked-rest")return e?.isPaused},"getIsPaused"),N=i(()=>t==="tus"?r?.isUploading??!1:t==="chunked-rest"?e?.isUploading??!1:o?.isUploading??!1,"getIsUploading"),j=i(()=>{if(t==="tus")return r?.offset;if(t==="chunked-rest")return e?.offset},"getOffset"),D=i(()=>{if(t==="tus")return r?.pause;if(t==="chunked-rest")return e?.pause},"getPause"),F=i(()=>t==="tus"?r?.progress??0:t==="chunked-rest"?e?.progress??0:o?.progress??0,"getProgress"),H=i(()=>t==="tus"?r?.result??void 0:t==="chunked-rest"?e?.result??void 0:o?.result??void 0,"getResult"),J=i(()=>{if(t==="tus")return r?.resume;if(t==="chunked-rest")return e?.resume},"getResume");return{abort:I,currentMethod:t,error:A(),isPaused:B(),isUploading:N(),offset:j(),pause:D(),progress:F(),reset:O,result:H(),resume:J(),upload:z}},"useUpload");export{$ as useUpload};
@@ -1 +1 @@
1
- var j=Object.defineProperty;var T=(d,a)=>j(d,"name",{value:a,configurable:!0});import{computed as o}from"vue";import{useChunkedRestUpload as A}from"./useChunkedRestUpload-T5jeupI6.js";import{useMultipartUpload as B}from"./useMultipartUpload-CbRSpnTb.js";import{useTusUpload as F}from"./useTusUpload-SYnJmg1s.js";var H=Object.defineProperty,l=T((d,a)=>H(d,"name",{value:a,configurable:!0}),"i");const N=10*1024*1024,K=l(d=>{const{chunkSize:a,endpointChunkedRest:s,endpointMultipart:p,endpointTus:i,maxRetries:k,metadata:c,method:S,onError:f,onPause:U,onProgress:h,onResume:P,onStart:m,onSuccess:g,retry:w,tusThreshold:y=N}=d,v=o(()=>{if(S!==void 0)return S;const e=[s,p,i].filter(Boolean);if(e.length===1)return s?"chunked-rest":i?"tus":"multipart";if(e.length>1)return"auto";throw new Error("At least one endpoint must be provided: endpointChunkedRest, endpointMultipart, or endpointTus")}),E=s?{chunkSize:a,endpoint:s,maxRetries:k,metadata:c,onError:f,onPause:U,onProgress:h,onResume:P,onStart:m,onSuccess:g,retry:w}:void 0,R=p?{endpoint:p,metadata:c,onError:f,onProgress:h,onStart:m,onSuccess:g}:void 0,b=i?{chunkSize:a,endpoint:i,maxRetries:k,metadata:c,onError:f,onPause:U,onProgress:h,onResume:P,onStart:m,onSuccess:g,retry:w}:void 0,r=E?A(E):void 0,u=R?B(R):void 0,t=b?F(b):void 0,x=l(e=>{if(v.value!=="auto")return v.value;if(e.size>y){if(i)return"tus";if(s)return"chunked-rest"}if(s)return"chunked-rest";if(p)return"multipart";throw new Error("No available endpoint for upload")},"determineMethod"),C=l(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(!u)throw new Error("Multipart endpoint not configured");return u.upload(e)},"upload"),z=l(()=>{t?.abort(),r?.abort(),u?.reset()},"abort"),O=l(()=>{t?.reset(),r?.reset(),u?.reset()},"reset"),n=o(()=>v.value!=="auto"?v.value:t&&(t.isUploading.value||t.result.value)?"tus":r&&(r.isUploading.value||r.result.value)?"chunked-rest":u&&(u.isUploading.value||u.result.value)?"multipart":s?"chunked-rest":i?"tus":"multipart");return{abort:z,currentMethod:n,error:o(()=>{const e=n.value;return e==="tus"?t?.error.value??void 0:e==="chunked-rest"?r?.error.value??void 0:u?.error.value??void 0}),isPaused:o(()=>{const e=n.value;if(e==="tus")return t?.isPaused.value;if(e==="chunked-rest")return r?.isPaused.value}),isUploading:o(()=>{const e=n.value;return e==="tus"?t?.isUploading.value??!1:e==="chunked-rest"?r?.isUploading.value??!1:u?.isUploading.value??!1}),offset:o(()=>{const e=n.value;if(e==="tus")return t?.offset.value;if(e==="chunked-rest")return r?.offset.value}),pause:o(()=>{const e=n.value;if(e==="tus")return t?.pause;if(e==="chunked-rest")return r?.pause}),progress:o(()=>{const e=n.value;return e==="tus"?t?.progress.value??0:e==="chunked-rest"?r?.progress.value??0:u?.progress.value??0}),reset:O,result:o(()=>{const e=n.value;return e==="tus"?t?.result.value??void 0:e==="chunked-rest"?r?.result.value??void 0:u?.result.value??void 0}),resume:o(()=>{const e=n.value;if(e==="tus")return t?.resume;if(e==="chunked-rest")return r?.resume}),upload:C}},"useUpload");export{K as useUpload};
1
+ var j=Object.defineProperty;var T=(d,a)=>j(d,"name",{value:a,configurable:!0});import{computed as o}from"vue";import{useChunkedRestUpload as A}from"./useChunkedRestUpload-DNGNQIIx.js";import{useMultipartUpload as B}from"./useMultipartUpload-CbRSpnTb.js";import{useTusUpload as F}from"./useTusUpload-Bz4XE_4p.js";var H=Object.defineProperty,l=T((d,a)=>H(d,"name",{value:a,configurable:!0}),"i");const N=10*1024*1024,K=l(d=>{const{chunkSize:a,endpointChunkedRest:s,endpointMultipart:p,endpointTus:i,maxRetries:k,metadata:c,method:S,onError:f,onPause:U,onProgress:h,onResume:P,onStart:m,onSuccess:g,retry:w,tusThreshold:y=N}=d,v=o(()=>{if(S!==void 0)return S;const e=[s,p,i].filter(Boolean);if(e.length===1)return s?"chunked-rest":i?"tus":"multipart";if(e.length>1)return"auto";throw new Error("At least one endpoint must be provided: endpointChunkedRest, endpointMultipart, or endpointTus")}),E=s?{chunkSize:a,endpoint:s,maxRetries:k,metadata:c,onError:f,onPause:U,onProgress:h,onResume:P,onStart:m,onSuccess:g,retry:w}:void 0,R=p?{endpoint:p,metadata:c,onError:f,onProgress:h,onStart:m,onSuccess:g}:void 0,b=i?{chunkSize:a,endpoint:i,maxRetries:k,metadata:c,onError:f,onPause:U,onProgress:h,onResume:P,onStart:m,onSuccess:g,retry:w}:void 0,r=E?A(E):void 0,u=R?B(R):void 0,t=b?F(b):void 0,x=l(e=>{if(v.value!=="auto")return v.value;if(e.size>y){if(i)return"tus";if(s)return"chunked-rest"}if(s)return"chunked-rest";if(p)return"multipart";throw new Error("No available endpoint for upload")},"determineMethod"),C=l(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(!u)throw new Error("Multipart endpoint not configured");return u.upload(e)},"upload"),z=l(()=>{t?.abort(),r?.abort(),u?.reset()},"abort"),O=l(()=>{t?.reset(),r?.reset(),u?.reset()},"reset"),n=o(()=>v.value!=="auto"?v.value:t&&(t.isUploading.value||t.result.value)?"tus":r&&(r.isUploading.value||r.result.value)?"chunked-rest":u&&(u.isUploading.value||u.result.value)?"multipart":s?"chunked-rest":i?"tus":"multipart");return{abort:z,currentMethod:n,error:o(()=>{const e=n.value;return e==="tus"?t?.error.value??void 0:e==="chunked-rest"?r?.error.value??void 0:u?.error.value??void 0}),isPaused:o(()=>{const e=n.value;if(e==="tus")return t?.isPaused.value;if(e==="chunked-rest")return r?.isPaused.value}),isUploading:o(()=>{const e=n.value;return e==="tus"?t?.isUploading.value??!1:e==="chunked-rest"?r?.isUploading.value??!1:u?.isUploading.value??!1}),offset:o(()=>{const e=n.value;if(e==="tus")return t?.offset.value;if(e==="chunked-rest")return r?.offset.value}),pause:o(()=>{const e=n.value;if(e==="tus")return t?.pause;if(e==="chunked-rest")return r?.pause}),progress:o(()=>{const e=n.value;return e==="tus"?t?.progress.value??0:e==="chunked-rest"?r?.progress.value??0:u?.progress.value??0}),reset:O,result:o(()=>{const e=n.value;return e==="tus"?t?.result.value??void 0:e==="chunked-rest"?r?.result.value??void 0:u?.result.value??void 0}),resume:o(()=>{const e=n.value;if(e==="tus")return t?.resume;if(e==="chunked-rest")return r?.resume}),upload:C}},"useUpload");export{K as useUpload};
@@ -1,4 +1,4 @@
1
- import { k as UploadItem, B as BatchState, U as UploadResult, a as UploadControl, F as FingerprintFn, b as UrlStorage, d as FileMeta, r as UploadMethod } from "../packem_shared/uploader.d-npepq2LE.js";
1
+ import { k as UploadItem, B as BatchState, b as UploadResult, U as UploadControl, F as FingerprintFunction, a as UrlStorage, d as FileMeta, r as UploadMethod } from "../packem_shared/uploader.d-B1FMsMcN.js";
2
2
  interface UseAbortAllOptions {
3
3
  /** Upload endpoint URL (used to create uploader instance) */
4
4
  endpoint: string;
@@ -235,7 +235,7 @@ interface UseChunkedRestUploadOptions {
235
235
  /** Chunked REST upload endpoint URL */
236
236
  endpoint: string;
237
237
  /** Customise the resume fingerprint. Defaults to `defaultFingerprint`. */
238
- fingerprint?: FingerprintFn;
238
+ fingerprint?: FingerprintFunction;
239
239
  /** Maximum number of retry attempts */
240
240
  maxRetries?: number;
241
241
  /** Additional metadata to include with the upload */
@@ -734,7 +734,7 @@ interface UseTusUploadOptions {
734
734
  /** TUS upload endpoint URL */
735
735
  endpoint: string;
736
736
  /** Customise the resume fingerprint. Defaults to `defaultFingerprint`. */
737
- fingerprint?: FingerprintFn;
737
+ fingerprint?: FingerprintFunction;
738
738
  /** Maximum number of retry attempts */
739
739
  maxRetries?: number;
740
740
  /** Additional metadata to include with the upload */
@@ -1 +1 @@
1
- import{useAbortAll as o}from"../packem_shared/useAbortAll-Xks2z0Rf.js";import{useAbortBatch as s}from"../packem_shared/useAbortBatch-y-KZjKTY.js";import{useAbortItem as u}from"../packem_shared/useAbortItem-BhdhRgs8.js";import{useAllAbortListener as f}from"../packem_shared/useAllAbortListener-Crsmf1kC.js";import{useBatchCancelledListener as a}from"../packem_shared/useBatchCancelledListener-CVJULtua.js";import{useBatchDeleteFiles as i}from"../packem_shared/useBatchDeleteFiles-BSG8D3Do.js";import{useBatchErrorListener as h}from"../packem_shared/useBatchErrorListener-BAVIRlQE.js";import{useBatchFinalizeListener as F}from"../packem_shared/useBatchFinalizeListener-nA7Qs-Ya.js";import{useBatchFinishListener as B}from"../packem_shared/useBatchFinishListener-C6zS5OI6.js";import{useBatchProgressListener as A}from"../packem_shared/useBatchProgressListener-CdcDM2sa.js";import{useBatchRetry as b}from"../packem_shared/useBatchRetry-B3FQ1DdH.js";import{useBatchStartListener as R}from"../packem_shared/useBatchStartListener-ByQlcF8F.js";import{useBatchUpload as C}from"../packem_shared/useBatchUpload-BJBdu6vh.js";import{useChunkedRestUpload as M}from"../packem_shared/useChunkedRestUpload-C_I_pDEa.js";import{useDeleteFile as k}from"../packem_shared/useDeleteFile-BJnTMMUr.js";import{useFileInput as I}from"../packem_shared/useFileInput-CgqlIlGE.js";import{useGetFile as z}from"../packem_shared/useGetFile-CNOi9ZIM.js";import{useGetFileList as H}from"../packem_shared/useGetFileList-BIGh4thc.js";import{useGetFileMeta as j}from"../packem_shared/useGetFileMeta-CHee8013.js";import{useHeadFile as v}from"../packem_shared/useHeadFile-CdIM_Xi1.js";import{useMultipartUpload as J}from"../packem_shared/useMultipartUpload-CJMa-_Yo.js";import{usePasteUpload as N}from"../packem_shared/usePasteUpload-_YqkCkrL.js";import{usePatchChunk as Q}from"../packem_shared/usePatchChunk-B8ZCd9Th.js";import{usePutFile as W}from"../packem_shared/usePutFile-Db_uVkqT.js";import{useRetry as Y}from"../packem_shared/useRetry-trYC3K_p.js";import{useRetryListener as _}from"../packem_shared/useRetryListener-DC8G9lmY.js";import{useTransformFile as ee}from"../packem_shared/useTransformFile-BMqWIG7J.js";import{useTransformMetadata as oe}from"../packem_shared/useTransformMetadata-CUo8IdKP.js";import{useTusUpload as se}from"../packem_shared/useTusUpload-DJedNEXm.js";import{useUpload as ue}from"../packem_shared/useUpload-BDMiZyCV.js";export{o as useAbortAll,s as useAbortBatch,u as useAbortItem,f as useAllAbortListener,a as useBatchCancelledListener,i as useBatchDeleteFiles,h as useBatchErrorListener,F as useBatchFinalizeListener,B as useBatchFinishListener,A as useBatchProgressListener,b as useBatchRetry,R as useBatchStartListener,C as useBatchUpload,M as useChunkedRestUpload,k as useDeleteFile,I as useFileInput,z as useGetFile,H as useGetFileList,j as useGetFileMeta,v as useHeadFile,J as useMultipartUpload,N as usePasteUpload,Q as usePatchChunk,W as usePutFile,Y as useRetry,_ as useRetryListener,ee as useTransformFile,oe as useTransformMetadata,se as useTusUpload,ue as useUpload};
1
+ import{useAbortAll as o}from"../packem_shared/useAbortAll-Xks2z0Rf.js";import{useAbortBatch as s}from"../packem_shared/useAbortBatch-y-KZjKTY.js";import{useAbortItem as u}from"../packem_shared/useAbortItem-BhdhRgs8.js";import{useAllAbortListener as f}from"../packem_shared/useAllAbortListener-Crsmf1kC.js";import{useBatchCancelledListener as a}from"../packem_shared/useBatchCancelledListener-CVJULtua.js";import{useBatchDeleteFiles as i}from"../packem_shared/useBatchDeleteFiles-BSG8D3Do.js";import{useBatchErrorListener as h}from"../packem_shared/useBatchErrorListener-BAVIRlQE.js";import{useBatchFinalizeListener as F}from"../packem_shared/useBatchFinalizeListener-nA7Qs-Ya.js";import{useBatchFinishListener as B}from"../packem_shared/useBatchFinishListener-C6zS5OI6.js";import{useBatchProgressListener as A}from"../packem_shared/useBatchProgressListener-CdcDM2sa.js";import{useBatchRetry as b}from"../packem_shared/useBatchRetry-B3FQ1DdH.js";import{useBatchStartListener as R}from"../packem_shared/useBatchStartListener-ByQlcF8F.js";import{useBatchUpload as C}from"../packem_shared/useBatchUpload-BJBdu6vh.js";import{useChunkedRestUpload as M}from"../packem_shared/useChunkedRestUpload-BwOE2zhr.js";import{useDeleteFile as k}from"../packem_shared/useDeleteFile-BJnTMMUr.js";import{useFileInput as I}from"../packem_shared/useFileInput-CgqlIlGE.js";import{useGetFile as z}from"../packem_shared/useGetFile-CNOi9ZIM.js";import{useGetFileList as H}from"../packem_shared/useGetFileList-BIGh4thc.js";import{useGetFileMeta as j}from"../packem_shared/useGetFileMeta-CHee8013.js";import{useHeadFile as v}from"../packem_shared/useHeadFile-CdIM_Xi1.js";import{useMultipartUpload as J}from"../packem_shared/useMultipartUpload-CJMa-_Yo.js";import{usePasteUpload as N}from"../packem_shared/usePasteUpload-_YqkCkrL.js";import{usePatchChunk as Q}from"../packem_shared/usePatchChunk-B8ZCd9Th.js";import{usePutFile as W}from"../packem_shared/usePutFile-Db_uVkqT.js";import{useRetry as Y}from"../packem_shared/useRetry-trYC3K_p.js";import{useRetryListener as _}from"../packem_shared/useRetryListener-DC8G9lmY.js";import{useTransformFile as ee}from"../packem_shared/useTransformFile-BMqWIG7J.js";import{useTransformMetadata as oe}from"../packem_shared/useTransformMetadata-CUo8IdKP.js";import{useTusUpload as se}from"../packem_shared/useTusUpload-Dsq9GGEt.js";import{useUpload as ue}from"../packem_shared/useUpload-B6rd2qkI.js";export{o as useAbortAll,s as useAbortBatch,u as useAbortItem,f as useAllAbortListener,a as useBatchCancelledListener,i as useBatchDeleteFiles,h as useBatchErrorListener,F as useBatchFinalizeListener,B as useBatchFinishListener,A as useBatchProgressListener,b as useBatchRetry,R as useBatchStartListener,C as useBatchUpload,M as useChunkedRestUpload,k as useDeleteFile,I as useFileInput,z as useGetFile,H as useGetFileList,j as useGetFileMeta,v as useHeadFile,J as useMultipartUpload,N as usePasteUpload,Q as usePatchChunk,W as usePutFile,Y as useRetry,_ as useRetryListener,ee as useTransformFile,oe as useTransformMetadata,se as useTusUpload,ue as useUpload};
@@ -1,4 +1,4 @@
1
- import { k as UploadItem, B as BatchState, U as UploadResult, a as UploadControl, F as FingerprintFn, b as UrlStorage, d as FileMeta, r as UploadMethod } from "../packem_shared/uploader.d-npepq2LE.js";
1
+ import { k as UploadItem, B as BatchState, b as UploadResult, U as UploadControl, F as FingerprintFunction, a as UrlStorage, d as FileMeta, r as UploadMethod } from "../packem_shared/uploader.d-B1FMsMcN.js";
2
2
  import { Accessor } from 'solid-js';
3
3
  import { QueryClient } from '@tanstack/solid-query';
4
4
  interface CreateAbortAllOptions {
@@ -151,7 +151,7 @@ interface CreateChunkedRestUploadOptions {
151
151
  /** Chunked REST upload endpoint URL */
152
152
  endpoint: string;
153
153
  /** Customise the resume fingerprint. */
154
- fingerprint?: FingerprintFn;
154
+ fingerprint?: FingerprintFunction;
155
155
  /** Maximum number of retry attempts */
156
156
  maxRetries?: number;
157
157
  /** Additional metadata to include with the upload */
@@ -581,7 +581,7 @@ interface CreateTusUploadOptions {
581
581
  /** TUS upload endpoint URL */
582
582
  endpoint: string;
583
583
  /** Customise the resume fingerprint. */
584
- fingerprint?: FingerprintFn;
584
+ fingerprint?: FingerprintFunction;
585
585
  /** Maximum number of retry attempts */
586
586
  maxRetries?: number;
587
587
  /** Additional metadata to include with the upload */
@@ -1 +1 @@
1
- import{createAbortAll as t}from"../packem_shared/createAbortAll-DMUWUL4C.js";import{createAbortBatch as a}from"../packem_shared/createAbortBatch-bMvSBu1k.js";import{createAbortItem as p}from"../packem_shared/createAbortItem-BsqmmxdZ.js";import{createAllAbortListener as f}from"../packem_shared/createAllAbortListener-BF9VhxQA.js";import{createBatchCancelledListener as l}from"../packem_shared/createBatchCancelledListener-FsVlTbYv.js";import{createBatchDeleteFiles as s}from"../packem_shared/createBatchDeleteFiles-CN07ubNE.js";import{createBatchErrorListener as h}from"../packem_shared/createBatchErrorListener-CxEJhGOX.js";import{createBatchFinalizeListener as d}from"../packem_shared/createBatchFinalizeListener-DOK5uoog.js";import{createBatchFinishListener as L}from"../packem_shared/createBatchFinishListener-BbMzJGlN.js";import{createBatchProgressListener as A}from"../packem_shared/createBatchProgressListener-D28nm9Xe.js";import{createBatchRetry as b}from"../packem_shared/createBatchRetry-Bnaf10e9.js";import{createBatchStartListener as R}from"../packem_shared/createBatchStartListener-BwVzPsCB.js";import{createBatchUpload as C}from"../packem_shared/createBatchUpload-Dm5vSg1j.js";import{createChunkedRestUpload as M}from"../packem_shared/createChunkedRestUpload-D4WS_E_m.js";import{createDeleteFile as k}from"../packem_shared/createDeleteFile-D07PU21a.js";import{createFileInput as I}from"../packem_shared/createFileInput-DyGrmzbc.js";import{createGetFile as z}from"../packem_shared/createGetFile-cUIB1L1M.js";import{createGetFileList as H}from"../packem_shared/createGetFileList-C3lYvKGY.js";import{createGetFileMeta as j}from"../packem_shared/createGetFileMeta-DZ46CHse.js";import{createHeadFile as v}from"../packem_shared/createHeadFile-Ch80NkDO.js";import{createMultipartUpload as J}from"../packem_shared/createMultipartUpload-BPcFYSwI.js";import{createPasteUpload as N}from"../packem_shared/createPasteUpload-DemCREgp.js";import{createPatchChunk as Q}from"../packem_shared/createPatchChunk-D-N2cYZ7.js";import{createPutFile as W}from"../packem_shared/createPutFile-CamOtR__.js";import{createRetry as Y}from"../packem_shared/createRetry-BInLl1TV.js";import{createRetryListener as _}from"../packem_shared/createRetryListener-hZUkGq7P.js";import{createTransformFile as ee}from"../packem_shared/createTransformFile-BcoA39lM.js";import{createTransformMetadata as te}from"../packem_shared/createTransformMetadata-CqyCBOXk.js";import{createTusUpload as ae}from"../packem_shared/createTusUpload-DrZu_r2C.js";import{createUpload as pe}from"../packem_shared/createUpload-ABEJ1whY.js";export{t as createAbortAll,a as createAbortBatch,p as createAbortItem,f as createAllAbortListener,l as createBatchCancelledListener,s as createBatchDeleteFiles,h as createBatchErrorListener,d as createBatchFinalizeListener,L as createBatchFinishListener,A as createBatchProgressListener,b as createBatchRetry,R as createBatchStartListener,C as createBatchUpload,M as createChunkedRestUpload,k as createDeleteFile,I as createFileInput,z as createGetFile,H as createGetFileList,j as createGetFileMeta,v as createHeadFile,J as createMultipartUpload,N as createPasteUpload,Q as createPatchChunk,W as createPutFile,Y as createRetry,_ as createRetryListener,ee as createTransformFile,te as createTransformMetadata,ae as createTusUpload,pe as createUpload};
1
+ import{createAbortAll as t}from"../packem_shared/createAbortAll-BVH_Wo6s.js";import{createAbortBatch as a}from"../packem_shared/createAbortBatch-C3t-Ho9c.js";import{createAbortItem as p}from"../packem_shared/createAbortItem-Bmhqhi8L.js";import{createAllAbortListener as f}from"../packem_shared/createAllAbortListener-BF9VhxQA.js";import{createBatchCancelledListener as l}from"../packem_shared/createBatchCancelledListener-FsVlTbYv.js";import{createBatchDeleteFiles as s}from"../packem_shared/createBatchDeleteFiles-CN07ubNE.js";import{createBatchErrorListener as h}from"../packem_shared/createBatchErrorListener-CxEJhGOX.js";import{createBatchFinalizeListener as d}from"../packem_shared/createBatchFinalizeListener-DOK5uoog.js";import{createBatchFinishListener as L}from"../packem_shared/createBatchFinishListener-BbMzJGlN.js";import{createBatchProgressListener as A}from"../packem_shared/createBatchProgressListener-D28nm9Xe.js";import{createBatchRetry as b}from"../packem_shared/createBatchRetry-Bnaf10e9.js";import{createBatchStartListener as R}from"../packem_shared/createBatchStartListener-BwVzPsCB.js";import{createBatchUpload as C}from"../packem_shared/createBatchUpload-Dm5vSg1j.js";import{createChunkedRestUpload as M}from"../packem_shared/createChunkedRestUpload-DZbjiORY.js";import{createDeleteFile as k}from"../packem_shared/createDeleteFile-D07PU21a.js";import{createFileInput as I}from"../packem_shared/createFileInput-DyGrmzbc.js";import{createGetFile as z}from"../packem_shared/createGetFile-cUIB1L1M.js";import{createGetFileList as H}from"../packem_shared/createGetFileList-C3lYvKGY.js";import{createGetFileMeta as j}from"../packem_shared/createGetFileMeta-DZ46CHse.js";import{createHeadFile as v}from"../packem_shared/createHeadFile-Ch80NkDO.js";import{createMultipartUpload as J}from"../packem_shared/createMultipartUpload-BPcFYSwI.js";import{createPasteUpload as N}from"../packem_shared/createPasteUpload-DemCREgp.js";import{createPatchChunk as Q}from"../packem_shared/createPatchChunk-D-N2cYZ7.js";import{createPutFile as W}from"../packem_shared/createPutFile-CamOtR__.js";import{createRetry as Y}from"../packem_shared/createRetry-BInLl1TV.js";import{createRetryListener as _}from"../packem_shared/createRetryListener-hZUkGq7P.js";import{createTransformFile as ee}from"../packem_shared/createTransformFile-BcoA39lM.js";import{createTransformMetadata as te}from"../packem_shared/createTransformMetadata-CqyCBOXk.js";import{createTusUpload as ae}from"../packem_shared/createTusUpload-Con3Nqu0.js";import{createUpload as pe}from"../packem_shared/createUpload-RIaQluah.js";export{t as createAbortAll,a as createAbortBatch,p as createAbortItem,f as createAllAbortListener,l as createBatchCancelledListener,s as createBatchDeleteFiles,h as createBatchErrorListener,d as createBatchFinalizeListener,L as createBatchFinishListener,A as createBatchProgressListener,b as createBatchRetry,R as createBatchStartListener,C as createBatchUpload,M as createChunkedRestUpload,k as createDeleteFile,I as createFileInput,z as createGetFile,H as createGetFileList,j as createGetFileMeta,v as createHeadFile,J as createMultipartUpload,N as createPasteUpload,Q as createPatchChunk,W as createPutFile,Y as createRetry,_ as createRetryListener,ee as createTransformFile,te as createTransformMetadata,ae as createTusUpload,pe as createUpload};
@@ -1,4 +1,4 @@
1
- import { k as UploadItem, B as BatchState, U as UploadResult, a as UploadControl, F as FingerprintFn, b as UrlStorage, d as FileMeta, r as UploadMethod } from "../packem_shared/uploader.d-npepq2LE.js";
1
+ import { k as UploadItem, B as BatchState, b as UploadResult, U as UploadControl, F as FingerprintFunction, a as UrlStorage, d as FileMeta, r as UploadMethod } from "../packem_shared/uploader.d-B1FMsMcN.js";
2
2
  import { Readable } from 'svelte/store';
3
3
  interface CreateAbortAllOptions {
4
4
  endpoint: string;
@@ -130,7 +130,7 @@ interface CreateChunkedRestUploadOptions {
130
130
  /** Chunked REST upload endpoint URL */
131
131
  endpoint: string;
132
132
  /** Customise the resume fingerprint. */
133
- fingerprint?: FingerprintFn;
133
+ fingerprint?: FingerprintFunction;
134
134
  /** Maximum number of retry attempts */
135
135
  maxRetries?: number;
136
136
  /** Additional metadata to include with the upload */
@@ -562,7 +562,7 @@ interface CreateTusUploadOptions {
562
562
  /** TUS upload endpoint URL */
563
563
  endpoint: string;
564
564
  /** Customise the resume fingerprint. */
565
- fingerprint?: FingerprintFn;
565
+ fingerprint?: FingerprintFunction;
566
566
  /** Maximum number of retry attempts */
567
567
  maxRetries?: number;
568
568
  /** Additional metadata to include with the upload */
@@ -1 +1 @@
1
- import{createAbortAll as t}from"../packem_shared/createAbortAll-BVH_Wo6s.js";import{createAbortBatch as a}from"../packem_shared/createAbortBatch-C3t-Ho9c.js";import{createAbortItem as p}from"../packem_shared/createAbortItem-Bmhqhi8L.js";import{createAllAbortListener as f}from"../packem_shared/createAllAbortListener-BChF9YcG.js";import{createBatchCancelledListener as l}from"../packem_shared/createBatchCancelledListener-DIHrRDNj.js";import{createBatchDeleteFiles as s}from"../packem_shared/createBatchDeleteFiles-B8bHItyS.js";import{createBatchErrorListener as h}from"../packem_shared/createBatchErrorListener-BNXfdSlM.js";import{createBatchFinalizeListener as d}from"../packem_shared/createBatchFinalizeListener-pjqAl9iM.js";import{createBatchFinishListener as L}from"../packem_shared/createBatchFinishListener-DuMOo7Kn.js";import{createBatchProgressListener as A}from"../packem_shared/createBatchProgressListener-CUpa_7Nv.js";import{createBatchRetry as b}from"../packem_shared/createBatchRetry-DWOdovQt.js";import{createBatchStartListener as R}from"../packem_shared/createBatchStartListener-DejGDAMY.js";import{createBatchUpload as C}from"../packem_shared/createBatchUpload-Z-8vD9Ql.js";import{createChunkedRestUpload as M}from"../packem_shared/createChunkedRestUpload-Cu19LRnt.js";import{createDeleteFile as k}from"../packem_shared/createDeleteFile-mGIgeCQK.js";import{createFileInput as I}from"../packem_shared/createFileInput-CERPgCpc.js";import{createGetFile as z}from"../packem_shared/createGetFile-dT-EuNKP.js";import{createGetFileList as H}from"../packem_shared/createGetFileList-C_n3HgHG.js";import{createGetFileMeta as j}from"../packem_shared/createGetFileMeta-CSYB0Oj1.js";import{createHeadFile as v}from"../packem_shared/createHeadFile--rl2Ezgb.js";import{createMultipartUpload as J}from"../packem_shared/createMultipartUpload-CFsUjhvG.js";import{createPasteUpload as N}from"../packem_shared/createPasteUpload-BS7pMOvb.js";import{createPatchChunk as Q}from"../packem_shared/createPatchChunk-7y5S60GE.js";import{createPutFile as W}from"../packem_shared/createPutFile-BJcLUSQi.js";import{createRetry as Y}from"../packem_shared/createRetry-D0eddvNY.js";import{createRetryListener as _}from"../packem_shared/createRetryListener-59bXI4qF.js";import{createTransformFile as ee}from"../packem_shared/createTransformFile-BaofH3n5.js";import{createTransformMetadata as te}from"../packem_shared/createTransformMetadata-C9lWyhne.js";import{createTusUpload as ae}from"../packem_shared/createTusUpload-C_EE1exZ.js";import{createUpload as pe}from"../packem_shared/createUpload-F7cp3uwR.js";export{t as createAbortAll,a as createAbortBatch,p as createAbortItem,f as createAllAbortListener,l as createBatchCancelledListener,s as createBatchDeleteFiles,h as createBatchErrorListener,d as createBatchFinalizeListener,L as createBatchFinishListener,A as createBatchProgressListener,b as createBatchRetry,R as createBatchStartListener,C as createBatchUpload,M as createChunkedRestUpload,k as createDeleteFile,I as createFileInput,z as createGetFile,H as createGetFileList,j as createGetFileMeta,v as createHeadFile,J as createMultipartUpload,N as createPasteUpload,Q as createPatchChunk,W as createPutFile,Y as createRetry,_ as createRetryListener,ee as createTransformFile,te as createTransformMetadata,ae as createTusUpload,pe as createUpload};
1
+ import{createAbortAll as t}from"../packem_shared/createAbortAll-DMUWUL4C.js";import{createAbortBatch as a}from"../packem_shared/createAbortBatch-bMvSBu1k.js";import{createAbortItem as p}from"../packem_shared/createAbortItem-BsqmmxdZ.js";import{createAllAbortListener as f}from"../packem_shared/createAllAbortListener-BChF9YcG.js";import{createBatchCancelledListener as l}from"../packem_shared/createBatchCancelledListener-DIHrRDNj.js";import{createBatchDeleteFiles as s}from"../packem_shared/createBatchDeleteFiles-B8bHItyS.js";import{createBatchErrorListener as h}from"../packem_shared/createBatchErrorListener-BNXfdSlM.js";import{createBatchFinalizeListener as d}from"../packem_shared/createBatchFinalizeListener-pjqAl9iM.js";import{createBatchFinishListener as L}from"../packem_shared/createBatchFinishListener-DuMOo7Kn.js";import{createBatchProgressListener as A}from"../packem_shared/createBatchProgressListener-CUpa_7Nv.js";import{createBatchRetry as b}from"../packem_shared/createBatchRetry-DWOdovQt.js";import{createBatchStartListener as R}from"../packem_shared/createBatchStartListener-DejGDAMY.js";import{createBatchUpload as C}from"../packem_shared/createBatchUpload-Z-8vD9Ql.js";import{createChunkedRestUpload as M}from"../packem_shared/createChunkedRestUpload-WgfiLIto.js";import{createDeleteFile as k}from"../packem_shared/createDeleteFile-mGIgeCQK.js";import{createFileInput as I}from"../packem_shared/createFileInput-CERPgCpc.js";import{createGetFile as z}from"../packem_shared/createGetFile-dT-EuNKP.js";import{createGetFileList as H}from"../packem_shared/createGetFileList-C_n3HgHG.js";import{createGetFileMeta as j}from"../packem_shared/createGetFileMeta-CSYB0Oj1.js";import{createHeadFile as v}from"../packem_shared/createHeadFile--rl2Ezgb.js";import{createMultipartUpload as J}from"../packem_shared/createMultipartUpload-CFsUjhvG.js";import{createPasteUpload as N}from"../packem_shared/createPasteUpload-BS7pMOvb.js";import{createPatchChunk as Q}from"../packem_shared/createPatchChunk-7y5S60GE.js";import{createPutFile as W}from"../packem_shared/createPutFile-BJcLUSQi.js";import{createRetry as Y}from"../packem_shared/createRetry-D0eddvNY.js";import{createRetryListener as _}from"../packem_shared/createRetryListener-59bXI4qF.js";import{createTransformFile as ee}from"../packem_shared/createTransformFile-BaofH3n5.js";import{createTransformMetadata as te}from"../packem_shared/createTransformMetadata-C9lWyhne.js";import{createTusUpload as ae}from"../packem_shared/createTusUpload-l00I3jXp.js";import{createUpload as pe}from"../packem_shared/createUpload-D3_GPTNX.js";export{t as createAbortAll,a as createAbortBatch,p as createAbortItem,f as createAllAbortListener,l as createBatchCancelledListener,s as createBatchDeleteFiles,h as createBatchErrorListener,d as createBatchFinalizeListener,L as createBatchFinishListener,A as createBatchProgressListener,b as createBatchRetry,R as createBatchStartListener,C as createBatchUpload,M as createChunkedRestUpload,k as createDeleteFile,I as createFileInput,z as createGetFile,H as createGetFileList,j as createGetFileMeta,v as createHeadFile,J as createMultipartUpload,N as createPasteUpload,Q as createPatchChunk,W as createPutFile,Y as createRetry,_ as createRetryListener,ee as createTransformFile,te as createTransformMetadata,ae as createTusUpload,pe as createUpload};
@@ -1,4 +1,4 @@
1
- import { k as UploadItem, B as BatchState, U as UploadResult, a as UploadControl, F as FingerprintFn, b as UrlStorage, d as FileMeta, r as UploadMethod } from "../packem_shared/uploader.d-npepq2LE.js";
1
+ import { k as UploadItem, B as BatchState, b as UploadResult, U as UploadControl, F as FingerprintFunction, a as UrlStorage, d as FileMeta, r as UploadMethod } from "../packem_shared/uploader.d-B1FMsMcN.js";
2
2
  import { Ref, MaybeRefOrGetter, ComputedRef } from 'vue';
3
3
  interface UseAbortAllOptions {
4
4
  /** Upload endpoint URL (used to create uploader instance) */
@@ -232,7 +232,7 @@ interface UseChunkedRestUploadOptions {
232
232
  /** Chunked REST upload endpoint URL */
233
233
  endpoint: string;
234
234
  /** Customise the resume fingerprint. */
235
- fingerprint?: FingerprintFn;
235
+ fingerprint?: FingerprintFunction;
236
236
  /** Maximum number of retry attempts */
237
237
  maxRetries?: number;
238
238
  /** Additional metadata to include with the upload */
@@ -695,7 +695,7 @@ interface UseTusUploadOptions {
695
695
  /** TUS upload endpoint URL */
696
696
  endpoint: string;
697
697
  /** Customise the resume fingerprint. */
698
- fingerprint?: FingerprintFn;
698
+ fingerprint?: FingerprintFunction;
699
699
  /** Maximum number of retry attempts */
700
700
  maxRetries?: number;
701
701
  /** Additional metadata to include with the upload */
package/dist/vue/index.js CHANGED
@@ -1 +1 @@
1
- import{useAbortAll as o}from"../packem_shared/useAbortAll-DNzPcfOt.js";import{useAbortBatch as s}from"../packem_shared/useAbortBatch-Jb37hbXq.js";import{useAbortItem as u}from"../packem_shared/useAbortItem-DTFUUKVu.js";import{useAllAbortListener as f}from"../packem_shared/useAllAbortListener-BBw02ZoD.js";import{useBatchCancelledListener as a}from"../packem_shared/useBatchCancelledListener-C3IW43nC.js";import{useBatchDeleteFiles as i}from"../packem_shared/useBatchDeleteFiles-DmKXrcBR.js";import{useBatchErrorListener as h}from"../packem_shared/useBatchErrorListener-Ck1BwfZA.js";import{useBatchFinalizeListener as F}from"../packem_shared/useBatchFinalizeListener-D7TRElSE.js";import{useBatchFinishListener as B}from"../packem_shared/useBatchFinishListener-VdCzyg4J.js";import{useBatchProgressListener as A}from"../packem_shared/useBatchProgressListener-B08x2n9U.js";import{useBatchRetry as b}from"../packem_shared/useBatchRetry-DahiIOXJ.js";import{useBatchStartListener as R}from"../packem_shared/useBatchStartListener-DndF1z5v.js";import{useBatchUpload as C}from"../packem_shared/useBatchUpload-IZkU_Gop.js";import{useChunkedRestUpload as M}from"../packem_shared/useChunkedRestUpload-T5jeupI6.js";import{useDeleteFile as k}from"../packem_shared/useDeleteFile-Dsw372GL.js";import{useFileInput as I}from"../packem_shared/useFileInput-BUPBo2m_.js";import{useGetFile as z}from"../packem_shared/useGetFile-BkmKk12o.js";import{useGetFileList as H}from"../packem_shared/useGetFileList-CkAmk7lP.js";import{useGetFileMeta as j}from"../packem_shared/useGetFileMeta-eKrJc2p1.js";import{useHeadFile as v}from"../packem_shared/useHeadFile-D5CQQnyf.js";import{useMultipartUpload as J}from"../packem_shared/useMultipartUpload-CbRSpnTb.js";import{usePasteUpload as N}from"../packem_shared/usePasteUpload-COdUC9xU.js";import{usePatchChunk as Q}from"../packem_shared/usePatchChunk-DqZtVBBl.js";import{usePutFile as W}from"../packem_shared/usePutFile-CFaBgDX4.js";import{useRetry as Y}from"../packem_shared/useRetry-DHjDuH0H.js";import{useRetryListener as _}from"../packem_shared/useRetryListener-CAIyK1_Q.js";import{useTransformFile as ee}from"../packem_shared/useTransformFile-BCyX-R_e.js";import{useTransformMetadata as oe}from"../packem_shared/useTransformMetadata-DjcVDZOc.js";import{useTusUpload as se}from"../packem_shared/useTusUpload-SYnJmg1s.js";import{useUpload as ue}from"../packem_shared/useUpload-D-2542dH.js";export{o as useAbortAll,s as useAbortBatch,u as useAbortItem,f as useAllAbortListener,a as useBatchCancelledListener,i as useBatchDeleteFiles,h as useBatchErrorListener,F as useBatchFinalizeListener,B as useBatchFinishListener,A as useBatchProgressListener,b as useBatchRetry,R as useBatchStartListener,C as useBatchUpload,M as useChunkedRestUpload,k as useDeleteFile,I as useFileInput,z as useGetFile,H as useGetFileList,j as useGetFileMeta,v as useHeadFile,J as useMultipartUpload,N as usePasteUpload,Q as usePatchChunk,W as usePutFile,Y as useRetry,_ as useRetryListener,ee as useTransformFile,oe as useTransformMetadata,se as useTusUpload,ue as useUpload};
1
+ import{useAbortAll as o}from"../packem_shared/useAbortAll-DNzPcfOt.js";import{useAbortBatch as s}from"../packem_shared/useAbortBatch-Jb37hbXq.js";import{useAbortItem as u}from"../packem_shared/useAbortItem-DTFUUKVu.js";import{useAllAbortListener as f}from"../packem_shared/useAllAbortListener-BBw02ZoD.js";import{useBatchCancelledListener as a}from"../packem_shared/useBatchCancelledListener-C3IW43nC.js";import{useBatchDeleteFiles as i}from"../packem_shared/useBatchDeleteFiles-DmKXrcBR.js";import{useBatchErrorListener as h}from"../packem_shared/useBatchErrorListener-Ck1BwfZA.js";import{useBatchFinalizeListener as F}from"../packem_shared/useBatchFinalizeListener-D7TRElSE.js";import{useBatchFinishListener as B}from"../packem_shared/useBatchFinishListener-VdCzyg4J.js";import{useBatchProgressListener as A}from"../packem_shared/useBatchProgressListener-B08x2n9U.js";import{useBatchRetry as b}from"../packem_shared/useBatchRetry-DahiIOXJ.js";import{useBatchStartListener as R}from"../packem_shared/useBatchStartListener-DndF1z5v.js";import{useBatchUpload as C}from"../packem_shared/useBatchUpload-IZkU_Gop.js";import{useChunkedRestUpload as M}from"../packem_shared/useChunkedRestUpload-DNGNQIIx.js";import{useDeleteFile as k}from"../packem_shared/useDeleteFile-Dsw372GL.js";import{useFileInput as I}from"../packem_shared/useFileInput-BUPBo2m_.js";import{useGetFile as z}from"../packem_shared/useGetFile-BkmKk12o.js";import{useGetFileList as H}from"../packem_shared/useGetFileList-CkAmk7lP.js";import{useGetFileMeta as j}from"../packem_shared/useGetFileMeta-eKrJc2p1.js";import{useHeadFile as v}from"../packem_shared/useHeadFile-D5CQQnyf.js";import{useMultipartUpload as J}from"../packem_shared/useMultipartUpload-CbRSpnTb.js";import{usePasteUpload as N}from"../packem_shared/usePasteUpload-COdUC9xU.js";import{usePatchChunk as Q}from"../packem_shared/usePatchChunk-DqZtVBBl.js";import{usePutFile as W}from"../packem_shared/usePutFile-CFaBgDX4.js";import{useRetry as Y}from"../packem_shared/useRetry-DHjDuH0H.js";import{useRetryListener as _}from"../packem_shared/useRetryListener-CAIyK1_Q.js";import{useTransformFile as ee}from"../packem_shared/useTransformFile-BCyX-R_e.js";import{useTransformMetadata as oe}from"../packem_shared/useTransformMetadata-DjcVDZOc.js";import{useTusUpload as se}from"../packem_shared/useTusUpload-Bz4XE_4p.js";import{useUpload as ue}from"../packem_shared/useUpload-BhLsUgVG.js";export{o as useAbortAll,s as useAbortBatch,u as useAbortItem,f as useAllAbortListener,a as useBatchCancelledListener,i as useBatchDeleteFiles,h as useBatchErrorListener,F as useBatchFinalizeListener,B as useBatchFinishListener,A as useBatchProgressListener,b as useBatchRetry,R as useBatchStartListener,C as useBatchUpload,M as useChunkedRestUpload,k as useDeleteFile,I as useFileInput,z as useGetFile,H as useGetFileList,j as useGetFileMeta,v as useHeadFile,J as useMultipartUpload,N as usePasteUpload,Q as usePatchChunk,W as usePutFile,Y as useRetry,_ as useRetryListener,ee as useTransformFile,oe as useTransformMetadata,se as useTusUpload,ue as useUpload};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visulima/storage-client",
3
- "version": "1.0.0-alpha.15",
3
+ "version": "1.0.0-alpha.16",
4
4
  "description": "The upload client library. Simple and easy file uploads for React | Vue | Solid | Svelte.",
5
5
  "keywords": [
6
6
  "abort-upload",
@@ -1 +0,0 @@
1
- var _=Object.defineProperty;var x=(g,p)=>_(g,"name",{value:p,configurable:!0});import{defaultFingerprint as j}from"./defaultFingerprint-CI2Sdd2s.js";var I=Object.defineProperty,a=x((g,p)=>I(g,"name",{value:p,configurable:!0}),"o");const U="1.0.0",B=1024*1024,W=a(g=>{const p=new TextEncoder().encode(g);let h="";for(const d of p)h+=String.fromCodePoint(d);return btoa(h)},"encodeBase64Utf8"),J=a(g=>{const p=atob(g),h=new Uint8Array(p.length);for(let d=0;d<p.length;d+=1)h[d]=p.codePointAt(d)??0;return new TextDecoder().decode(h)},"decodeBase64Utf8"),q=a(g=>Object.entries(g).map(([p,h])=>{const d=W(h);return`${p} ${d}`}).join(","),"encodeMetadata"),G=a(g=>{if(!g)return{};const p={};return g.split(",").forEach(h=>{const[d,...z]=h.trim().split(" "),E=z.join(" ");if(d&&E)try{p[d]=J(E)}catch{}}),p},"decodeMetadata"),V=a(g=>{const{chunkSize:p=B,control:h,endpoint:d,fingerprint:z=j,maxRetries:E=3,metadata:N={},retry:$=!0,urlStorage:y}=g;let n,T,S,O,C;const k=a(async(t,s)=>{let e;try{e=await fetch(t,{headers:{"Tus-Resumable":U},method:"HEAD",signal:s})}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");return o?Number.parseInt(o,10):0},"probeExistingUpload"),F=a(async(t,s,e)=>{if(!y)return;const o={createdAt:Date.now(),endpoint:d,fingerprint:t,lastModified:e.lastModified,protocol:"tus",size:e.size,uploadUrl:s};try{await y.addEntry(o)}catch{}},"persistUploadEntry"),A=a(async t=>{if(!(!y||!t))try{await y.removeEntry(t)}catch{}},"removeUploadEntry"),R=a(async t=>{const s={filename:t.name,filetype:t.type,...N},e=await fetch(d,{headers:{"Tus-Resumable":U,"Upload-Length":t.size.toString(),"Upload-Metadata":q(s)},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 i;if(o.startsWith("http"))i=o;else try{i=new URL(o,d).href}catch{const c="window"in globalThis?globalThis.location.origin:"http://localhost";i=new URL(o,c+d).href}const l=e.headers.get("Upload-Offset");return{initialOffset:l?Number.parseInt(l,10):0,uploadUrl:i}},"createUpload"),M=a(async(t,s)=>{const e=await fetch(t,{headers:{"Tus-Resumable":U},method:"HEAD",signal:s});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");return o?Number.parseInt(o,10):0},"getUploadOffset"),L=a(async(t,s,e,o)=>{const i=Math.min(e+p,t.size),l=t.slice(e,i),c=await fetch(s,{body:l,headers:{"Content-Length":l.size.toString(),"Content-Type":"application/offset+octet-stream","Tus-Resumable":U,"Upload-Offset":e.toString()},method:"PATCH",signal:o});if(c.status!==204){if(c.status===409)return await M(s);throw c.status===404||c.status===410?new Error("Upload expired or not found"):c.status===415?new Error("Content-Type must be application/offset+octet-stream"):new Error(`Failed to upload chunk: ${String(c.status)} ${c.statusText}`)}const m=c.headers.get("Upload-Offset");if(!m)throw new Error("Missing Upload-Offset header in PATCH response");return Number.parseInt(m,10)},"uploadChunk"),D=a(async(t,s,e=0)=>{const o=n;if(!o)throw new Error("Upload state not initialized");const{abortController:i}=o;let l=e;try{for(;l<t.size;){if(i.signal.aborted)throw new Error("Upload aborted");if(o.isPaused&&await new Promise(f=>{const u=a(()=>{i.signal.aborted?f():o.isPaused?setTimeout(u,100):f()},"checkPause");u()}),i.signal.aborted)throw new Error("Upload aborted");try{l=await L(t,s,l,i.signal),o.offset=l,h?._updateOffset(l);const f=Math.round(l/t.size*100);T?.(f,l)}catch(f){if(i.signal.aborted)throw new Error("Upload aborted");if($&&o.retryCount<E){if(o.retryCount+=1,await new Promise(u=>setTimeout(u,1e3*o.retryCount)),i.signal.aborted)throw new Error("Upload aborted");l=await M(s,i.signal);continue}throw f}o.retryCount=0}if(i.signal.aborted)throw new Error("Upload aborted");const c=await fetch(s,{headers:{"Tus-Resumable":U},method:"HEAD",signal:i.signal}),m=c.headers.get("Location")??s,P=c.headers.get("Upload-Metadata"),b=G(P??void 0);let r={};try{r={contentType:c.headers.get("Content-Type")??b.filetype??t.type,id:s.split("/").pop()??"",metadata:b,originalName:b.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??s.split("/").pop()??"",metadata:r.metadata??b,name:r.name,offset:l,originalName:r.originalName??t.name,size:r.size??t.size,status:r.status??"completed",url:m}}finally{n===o&&(n=void 0)}},"performUpload");return{abort:a(()=>{n&&n.abortController.abort()},"abort"),clear:a(()=>{n&&n.abortController.abort()},"clear"),getOffset:a(()=>n?.offset??0,"getOffset"),isPaused:a(()=>n?.isPaused??!1,"isPaused"),pause:a(()=>{n&&(n.isPaused=!0)},"pause"),resume:a(async()=>{if(!n?.uploadUrl)throw new Error("No upload to resume");n.isPaused=!1},"resume"),setOnError:a(t=>{C=t},"setOnError"),setOnFinish:a(t=>{O=t},"setOnFinish"),setOnProgress:a(t=>{T=t},"setOnProgress"),setOnStart:a(t=>{S=t},"setOnStart"),upload:a(async t=>{let s=!1;const e=O,o=C;let i;const l=a(()=>{i&&(clearTimeout(i),i=void 0),O=e,C=o},"cleanupTimeout"),c=a(r=>{s||(s=!0,l(),e?.(r))},"internalFinishCallback"),m=a(r=>{s||(s=!0,l(),o?.(r),n?.uploadUrl||(n=void 0))},"internalErrorCallback");O=c,C=m,n={abortController:new AbortController,file:t,fingerprint:void 0,isPaused:!1,offset:0,retryCount:0,uploadUrl:void 0};let P;const b=(async()=>{S?.();const r=n,f=await z({endpoint:d,file:t,protocol:"tus"});P=f,r.fingerprint=f;let u;const v=h?.snapshot;if(v&&v.protocol==="tus"&&v.fingerprint===f&&(u=v.uploadUrl),u===void 0&&y)try{const w=await y.findEntry(f);w&&w.protocol==="tus"&&(u=w.uploadUrl)}catch{}if(u!==void 0){const w=await k(u,r.abortController.signal);w===void 0?(await A(f),u=void 0):(r.uploadUrl=u,r.offset=w,w>0&&T?.(Math.round(w/t.size*100),w))}if(u===void 0){const{initialOffset:w,uploadUrl:H}=await R(t);u=H,r.uploadUrl=u,r.offset=w,await F(f,u,t),w>0&&T?.(Math.round(w/t.size*100),w)}return h?._attach({abort:a(()=>r.abortController.abort(),"abort"),pause:a(()=>{r.isPaused=!0},"pause"),resume:a(async()=>{r.isPaused=!1},"resume")},{endpoint:d,fingerprint:f,protocol:"tus",uploadUrl:u}),h?._updateOffset(r.offset),D(t,u,r.offset)})();i=setTimeout(()=>{s||(s=!0,l(),n&&n.abortController.abort(),n&&!n.uploadUrl&&(n=void 0))},3e5);try{const r=await b;return await A(P),h?._detach(),c(r),r}catch(r){const f=r instanceof Error?r:new Error(String(r));throw h?._detach(),m(f),f}},"upload")}},"createTusAdapter");export{V as createTusAdapter};
@@ -1 +0,0 @@
1
- var _=Object.defineProperty;var z=(i,u)=>_(i,"name",{value:u,configurable:!0});import{useState as c,useMemo as K,useRef as y,useEffect as F,useCallback as f}from"react";import{createTusAdapter as L}from"./createTusAdapter-6FZAUcvj.js";var Q=Object.defineProperty,V=z((i,u)=>Q(i,"name",{value:u,configurable:!0}),"k");const Z=V(i=>{const{chunkSize:u,control:R,endpoint:w,fingerprint:b,maxRetries:k,metadata:x,onError:S,onPause:g,onProgress:m,onResume:p,onStart:E,onSuccess:P,retry:I,urlStorage:T}=i,[j,d]=c(0),[A,s]=c(!1),[M,a]=c(!1),[q,l]=c(void 0),[B,U]=c(void 0),[C,v]=c(0),r=K(()=>L({chunkSize:u,control:R,endpoint:w,fingerprint:b,maxRetries:k,metadata:x,retry:I,urlStorage:T}),[u,R,w,b,k,x,I,T]),t=y({onError:S,onPause:g,onProgress:m,onResume:p,onStart:E,onSuccess:P}),o=y(void 0),O=y(!0);F(()=>{t.current={onError:S,onPause:g,onProgress:m,onResume:p,onStart:E,onSuccess:P}},[S,m,g,p,E,P]),F(()=>(O.current=!0,r.setOnStart(()=>{s(!0),a(!1),d(0),l(void 0),v(0),t.current.onStart?.()}),r.setOnProgress((e,n)=>{d(e),v(n),t.current.onProgress?.(e)}),r.setOnFinish(e=>{d(100),U(e),s(!1),a(!1),t.current.onSuccess?.(e)}),r.setOnError(e=>{l(e),s(!1),t.current.onError?.(e)}),o.current=setInterval(()=>{O.current&&o.current&&(v(r.getOffset()),a(r.isPaused()))},100),()=>{O.current=!1,o.current&&(clearInterval(o.current),o.current=void 0),r.setOnStart(void 0),r.setOnProgress(void 0),r.setOnFinish(void 0),r.setOnError(void 0)}),[r]);const D=f(async e=>{try{return await r.upload(e)}catch(n){const h=n instanceof Error?n:new Error(String(n));throw l(h),t.current.onError?.(h),h}},[r]),G=f(()=>{r.pause(),a(!0),t.current.onPause?.()},[r]),H=f(async()=>{a(!1),s(!0),t.current.onResume?.();try{await r.resume()}catch(e){const n=e instanceof Error?e:new Error(String(e));throw l(n),s(!1),t.current.onError?.(n),n}},[r]),J=f(()=>{o.current&&(clearInterval(o.current),o.current=void 0),r.abort(),s(!1),a(!1)},[r]),N=f(()=>{r.clear(),d(0),s(!1),a(!1),l(void 0),U(void 0),v(0)},[r]);return{abort:J,error:q,isPaused:M,isUploading:A,offset:C,pause:G,progress:j,reset:N,result:B,resume:H,upload:D}},"useTusUpload");export{Z as useTusUpload};