@visulima/storage-client 1.0.0-alpha.15 → 1.0.0-alpha.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/dist/index.d.ts +6 -6
- package/dist/index.js +1 -1
- package/dist/packem_shared/{MemoryUrlStorage-DN4oF-4W.js → MemoryUrlStorage-DEJTeeWV.js} +1 -1
- package/dist/packem_shared/UploadControl-Dhcv4C_4.js +1 -0
- package/dist/packem_shared/{createAbortAll-BVH_Wo6s.js → createAbortAll-BgWB0M8L.js} +1 -1
- package/dist/packem_shared/{createAbortAll-DMUWUL4C.js → createAbortAll-DmafEVPg.js} +1 -1
- package/dist/packem_shared/{createAbortBatch-C3t-Ho9c.js → createAbortBatch-CW04KjG_.js} +1 -1
- package/dist/packem_shared/{createAbortBatch-bMvSBu1k.js → createAbortBatch-DFng-YoT.js} +1 -1
- package/dist/packem_shared/{createAbortItem-Bmhqhi8L.js → createAbortItem-BgAr8QH1.js} +1 -1
- package/dist/packem_shared/{createAbortItem-BsqmmxdZ.js → createAbortItem-DtAxoZ3-.js} +1 -1
- package/dist/packem_shared/{createAllAbortListener-BChF9YcG.js → createAllAbortListener-DAtFajN3.js} +1 -1
- package/dist/packem_shared/{createAllAbortListener-BF9VhxQA.js → createAllAbortListener-_BNDgw-O.js} +1 -1
- package/dist/packem_shared/{createBatchCancelledListener-FsVlTbYv.js → createBatchCancelledListener-BDRU6frX.js} +1 -1
- package/dist/packem_shared/{createBatchCancelledListener-DIHrRDNj.js → createBatchCancelledListener-BI-2bwOX.js} +1 -1
- package/dist/packem_shared/{createBatchErrorListener-BNXfdSlM.js → createBatchErrorListener-6OzlaJOF.js} +1 -1
- package/dist/packem_shared/{createBatchErrorListener-CxEJhGOX.js → createBatchErrorListener-B16MwTl_.js} +1 -1
- package/dist/packem_shared/{createBatchFinalizeListener-DOK5uoog.js → createBatchFinalizeListener-Cik2xAKG.js} +1 -1
- package/dist/packem_shared/{createBatchFinalizeListener-pjqAl9iM.js → createBatchFinalizeListener-D9x4qR1M.js} +1 -1
- package/dist/packem_shared/{createBatchFinishListener-DuMOo7Kn.js → createBatchFinishListener-D-wyxJzA.js} +1 -1
- package/dist/packem_shared/{createBatchFinishListener-BbMzJGlN.js → createBatchFinishListener-NOqsTPQB.js} +1 -1
- package/dist/packem_shared/{createBatchProgressListener-D28nm9Xe.js → createBatchProgressListener-C7eAxTuy.js} +1 -1
- package/dist/packem_shared/{createBatchProgressListener-CUpa_7Nv.js → createBatchProgressListener-De-zprpA.js} +1 -1
- package/dist/packem_shared/{createBatchRetry-Bnaf10e9.js → createBatchRetry-CCEJUN-z.js} +1 -1
- package/dist/packem_shared/{createBatchRetry-DWOdovQt.js → createBatchRetry-Dygo1h6p.js} +1 -1
- package/dist/packem_shared/{createBatchStartListener-DejGDAMY.js → createBatchStartListener-B8eHIkCa.js} +1 -1
- package/dist/packem_shared/{createBatchStartListener-BwVzPsCB.js → createBatchStartListener-CFJxY_3I.js} +1 -1
- package/dist/packem_shared/{createBatchUpload-Dm5vSg1j.js → createBatchUpload-CY4M6LlW.js} +1 -1
- package/dist/packem_shared/{createBatchUpload-Z-8vD9Ql.js → createBatchUpload-CjgaDKt-.js} +1 -1
- package/dist/packem_shared/createChunkedRestAdapter-Cb6z5AWj.js +1 -0
- package/dist/packem_shared/{createChunkedRestUpload-Cu19LRnt.js → createChunkedRestUpload-BjdI7x-K.js} +1 -1
- package/dist/packem_shared/{createChunkedRestUpload-D4WS_E_m.js → createChunkedRestUpload-CB7uSKyw.js} +1 -1
- package/dist/packem_shared/createMultipartAdapter-BBMVAwLI.js +1 -0
- package/dist/packem_shared/{createMultipartUpload-CFsUjhvG.js → createMultipartUpload-DWPWN7m5.js} +1 -1
- package/dist/packem_shared/{createMultipartUpload-BPcFYSwI.js → createMultipartUpload-DsHzkIPS.js} +1 -1
- package/dist/packem_shared/{createRetry-BInLl1TV.js → createRetry-BE2SICVx.js} +1 -1
- package/dist/packem_shared/{createRetry-D0eddvNY.js → createRetry-BMHTKXO4.js} +1 -1
- package/dist/packem_shared/{createRetryListener-59bXI4qF.js → createRetryListener-C53r0Uni.js} +1 -1
- package/dist/packem_shared/{createRetryListener-hZUkGq7P.js → createRetryListener-CJaNMHEg.js} +1 -1
- package/dist/packem_shared/createTusAdapter-LN-3AmiS.js +1 -0
- package/dist/packem_shared/{createTusUpload-DrZu_r2C.js → createTusUpload-CapBF42H.js} +1 -1
- package/dist/packem_shared/{createTusUpload-C_EE1exZ.js → createTusUpload-DomlnZ3W.js} +1 -1
- package/dist/packem_shared/{createUpload-F7cp3uwR.js → createUpload-BQ3fCiKy.js} +1 -1
- package/dist/packem_shared/{createUpload-ABEJ1whY.js → createUpload-D3Elf41m.js} +1 -1
- package/dist/packem_shared/createUploader-Bd0VM6Ma.js +1 -0
- package/dist/packem_shared/{uploader.d-npepq2LE.d.ts → uploader.d-B1FMsMcN.d.ts} +49 -49
- package/dist/packem_shared/{useAbortAll-DNzPcfOt.js → useAbortAll-2RYK9Ie0.js} +1 -1
- package/dist/packem_shared/{useAbortAll-Xks2z0Rf.js → useAbortAll-nUlyX6tB.js} +1 -1
- package/dist/packem_shared/{useAbortBatch-Jb37hbXq.js → useAbortBatch-CIh7xqNm.js} +1 -1
- package/dist/packem_shared/{useAbortBatch-y-KZjKTY.js → useAbortBatch-dLfXkXev.js} +1 -1
- package/dist/packem_shared/{useAbortItem-BhdhRgs8.js → useAbortItem-DljU_vFw.js} +1 -1
- package/dist/packem_shared/{useAbortItem-DTFUUKVu.js → useAbortItem-Z69dqEo-.js} +1 -1
- package/dist/packem_shared/{useAllAbortListener-BBw02ZoD.js → useAllAbortListener-Bhs8RZud.js} +1 -1
- package/dist/packem_shared/{useAllAbortListener-Crsmf1kC.js → useAllAbortListener-COgCiPgE.js} +1 -1
- package/dist/packem_shared/{useBatchCancelledListener-C3IW43nC.js → useBatchCancelledListener-BBlQjTTx.js} +1 -1
- package/dist/packem_shared/{useBatchCancelledListener-CVJULtua.js → useBatchCancelledListener-Bg0QgiCq.js} +1 -1
- package/dist/packem_shared/{useBatchErrorListener-Ck1BwfZA.js → useBatchErrorListener-CAz6qXiT.js} +1 -1
- package/dist/packem_shared/{useBatchErrorListener-BAVIRlQE.js → useBatchErrorListener-C__Q5h-V.js} +1 -1
- package/dist/packem_shared/{useBatchFinalizeListener-D7TRElSE.js → useBatchFinalizeListener-B11L-t4E.js} +1 -1
- package/dist/packem_shared/{useBatchFinalizeListener-nA7Qs-Ya.js → useBatchFinalizeListener-DwS8a-Cq.js} +1 -1
- package/dist/packem_shared/{useBatchFinishListener-VdCzyg4J.js → useBatchFinishListener-BdErzI6J.js} +1 -1
- package/dist/packem_shared/{useBatchFinishListener-C6zS5OI6.js → useBatchFinishListener-BkvLv0gD.js} +1 -1
- package/dist/packem_shared/{useBatchProgressListener-B08x2n9U.js → useBatchProgressListener-By7MexHJ.js} +1 -1
- package/dist/packem_shared/{useBatchProgressListener-CdcDM2sa.js → useBatchProgressListener-D5ePjx6c.js} +1 -1
- package/dist/packem_shared/{useBatchRetry-DahiIOXJ.js → useBatchRetry-5KG1NhQY.js} +1 -1
- package/dist/packem_shared/{useBatchRetry-B3FQ1DdH.js → useBatchRetry-Ba0F__lE.js} +1 -1
- package/dist/packem_shared/{useBatchStartListener-DndF1z5v.js → useBatchStartListener-B8ZVjkes.js} +1 -1
- package/dist/packem_shared/{useBatchStartListener-ByQlcF8F.js → useBatchStartListener-BkDX60uf.js} +1 -1
- package/dist/packem_shared/{useBatchUpload-IZkU_Gop.js → useBatchUpload-BEa01Ea3.js} +1 -1
- package/dist/packem_shared/{useBatchUpload-BJBdu6vh.js → useBatchUpload-DzvnTCng.js} +1 -1
- package/dist/packem_shared/{useChunkedRestUpload-T5jeupI6.js → useChunkedRestUpload-CJrOxVqG.js} +1 -1
- package/dist/packem_shared/{useChunkedRestUpload-C_I_pDEa.js → useChunkedRestUpload-UaJs-RNd.js} +1 -1
- package/dist/packem_shared/{useMultipartUpload-CbRSpnTb.js → useMultipartUpload-DEHG_GPg.js} +1 -1
- package/dist/packem_shared/{useMultipartUpload-CJMa-_Yo.js → useMultipartUpload-DuwpdpA4.js} +1 -1
- package/dist/packem_shared/{useRetry-trYC3K_p.js → useRetry-BXj83ucD.js} +1 -1
- package/dist/packem_shared/{useRetry-DHjDuH0H.js → useRetry-BjVBPZqC.js} +1 -1
- package/dist/packem_shared/{useRetryListener-DC8G9lmY.js → useRetryListener-CjkeiRcg.js} +1 -1
- package/dist/packem_shared/{useRetryListener-CAIyK1_Q.js → useRetryListener-JjAqRGCu.js} +1 -1
- package/dist/packem_shared/useTusUpload-BLPk4PJY.js +1 -0
- package/dist/packem_shared/{useTusUpload-SYnJmg1s.js → useTusUpload-DTOgR4ps.js} +1 -1
- package/dist/packem_shared/{useUpload-D-2542dH.js → useUpload-Blfq2NpI.js} +1 -1
- package/dist/packem_shared/{useUpload-BDMiZyCV.js → useUpload-Dx_rSwSy.js} +1 -1
- package/dist/react/index.d.ts +3 -3
- package/dist/react/index.js +1 -1
- package/dist/solid/index.d.ts +3 -3
- package/dist/solid/index.js +1 -1
- package/dist/svelte/index.d.ts +3 -3
- package/dist/svelte/index.js +1 -1
- package/dist/vue/index.d.ts +3 -3
- package/dist/vue/index.js +1 -1
- package/package.json +1 -1
- package/dist/packem_shared/UploadControl-CKU7Tv3Q.js +0 -1
- package/dist/packem_shared/createChunkedRestAdapter-YzmsiWvW.js +0 -1
- package/dist/packem_shared/createMultipartAdapter-B17aIZJS.js +0 -1
- package/dist/packem_shared/createTusAdapter-6FZAUcvj.js +0 -1
- package/dist/packem_shared/createUploader-KOsp3cZt.js +0 -1
- package/dist/packem_shared/useTusUpload-DJedNEXm.js +0 -1
package/dist/svelte/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createAbortAll as t}from"../packem_shared/createAbortAll-
|
|
1
|
+
import{createAbortAll as t}from"../packem_shared/createAbortAll-BgWB0M8L.js";import{createAbortBatch as a}from"../packem_shared/createAbortBatch-DFng-YoT.js";import{createAbortItem as p}from"../packem_shared/createAbortItem-BgAr8QH1.js";import{createAllAbortListener as f}from"../packem_shared/createAllAbortListener-DAtFajN3.js";import{createBatchCancelledListener as l}from"../packem_shared/createBatchCancelledListener-BI-2bwOX.js";import{createBatchDeleteFiles as s}from"../packem_shared/createBatchDeleteFiles-B8bHItyS.js";import{createBatchErrorListener as h}from"../packem_shared/createBatchErrorListener-6OzlaJOF.js";import{createBatchFinalizeListener as d}from"../packem_shared/createBatchFinalizeListener-D9x4qR1M.js";import{createBatchFinishListener as L}from"../packem_shared/createBatchFinishListener-D-wyxJzA.js";import{createBatchProgressListener as A}from"../packem_shared/createBatchProgressListener-De-zprpA.js";import{createBatchRetry as b}from"../packem_shared/createBatchRetry-Dygo1h6p.js";import{createBatchStartListener as R}from"../packem_shared/createBatchStartListener-B8eHIkCa.js";import{createBatchUpload as C}from"../packem_shared/createBatchUpload-CjgaDKt-.js";import{createChunkedRestUpload as M}from"../packem_shared/createChunkedRestUpload-BjdI7x-K.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-DWPWN7m5.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-BMHTKXO4.js";import{createRetryListener as _}from"../packem_shared/createRetryListener-C53r0Uni.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-DomlnZ3W.js";import{createUpload as pe}from"../packem_shared/createUpload-BQ3fCiKy.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};
|
package/dist/vue/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { k as UploadItem, B as BatchState,
|
|
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?:
|
|
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?:
|
|
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-
|
|
1
|
+
import{useAbortAll as o}from"../packem_shared/useAbortAll-2RYK9Ie0.js";import{useAbortBatch as s}from"../packem_shared/useAbortBatch-CIh7xqNm.js";import{useAbortItem as u}from"../packem_shared/useAbortItem-Z69dqEo-.js";import{useAllAbortListener as f}from"../packem_shared/useAllAbortListener-Bhs8RZud.js";import{useBatchCancelledListener as a}from"../packem_shared/useBatchCancelledListener-BBlQjTTx.js";import{useBatchDeleteFiles as i}from"../packem_shared/useBatchDeleteFiles-DmKXrcBR.js";import{useBatchErrorListener as h}from"../packem_shared/useBatchErrorListener-CAz6qXiT.js";import{useBatchFinalizeListener as F}from"../packem_shared/useBatchFinalizeListener-B11L-t4E.js";import{useBatchFinishListener as B}from"../packem_shared/useBatchFinishListener-BdErzI6J.js";import{useBatchProgressListener as A}from"../packem_shared/useBatchProgressListener-By7MexHJ.js";import{useBatchRetry as b}from"../packem_shared/useBatchRetry-5KG1NhQY.js";import{useBatchStartListener as R}from"../packem_shared/useBatchStartListener-B8ZVjkes.js";import{useBatchUpload as C}from"../packem_shared/useBatchUpload-BEa01Ea3.js";import{useChunkedRestUpload as M}from"../packem_shared/useChunkedRestUpload-CJrOxVqG.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-DEHG_GPg.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-BjVBPZqC.js";import{useRetryListener as _}from"../packem_shared/useRetryListener-JjAqRGCu.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-DTOgR4ps.js";import{useUpload as ue}from"../packem_shared/useUpload-Blfq2NpI.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 +0,0 @@
|
|
|
1
|
-
var n=Object.defineProperty;var o=(r,t)=>n(r,"name",{value:t,configurable:!0});var h=Object.defineProperty,a=o((r,t)=>h(r,"name",{value:t,configurable:!0}),"i");class e{static{o(this,"UploadControl")}static{a(this,"UploadControl")}static from(t){const i=typeof t=="string"?JSON.parse(t):t;if(i.v!==1)throw new Error(`UploadControl: unsupported snapshot version ${String(i.v)}`);const s=new e;return s.#h(i),s}#t;#i;#r;#e=0;#o;#n;#s;abort(){this.#t?.abort()}get endpoint(){return this.#i}get fingerprint(){return this.#r}get offset(){return this.#e}pause(){this.#t?.pause()}get protocol(){return this.#o}async resume(){this.#t&&await this.#t.resume()}get snapshot(){return this.#n}toJSON(){if(this.#o===void 0||this.#i===void 0||this.#r===void 0||this.#s===void 0)throw new Error("UploadControl.toJSON: control is not yet attached to an upload");return{endpoint:this.#i,fingerprint:this.#r,offset:this.#e,protocol:this.#o,uploadUrl:this.#s,v:1}}get uploadUrl(){return this.#s}_attach(t,i){this.#t=t,this.#o=i.protocol,this.#i=i.endpoint,this.#r=i.fingerprint,this.#s=i.uploadUrl}_detach(){this.#t=void 0}_updateOffset(t){this.#e=t}#h(t){this.#n=t,this.#o=t.protocol,this.#i=t.endpoint,this.#r=t.fingerprint,this.#s=t.uploadUrl,this.#e=t.offset??0}}export{e as UploadControl};
|
|
@@ -1 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
1
|
-
var y=Object.defineProperty;var m=(n,t)=>y(n,"name",{value:t,configurable:!0});import{createUploader as E}from"./createUploader-KOsp3cZt.js";var h=Object.defineProperty,r=m((n,t)=>h(n,"name",{value:t,configurable:!0}),"r");const B=r(n=>{const t=E({endpoint:n.endpoint,maxRetries:n.maxRetries,metadata:n.metadata,retry:n.retry});return{abort:r(()=>{t.abort()},"abort"),abortBatch:r(o=>{t.abortBatch(o)},"abortBatch"),abortItem:r(o=>{t.abortItem(o)},"abortItem"),clear:r(()=>{t.clear()},"clear"),upload:r(async o=>new Promise((f,p)=>{let i=!1,l;const b=r(e=>{let a={};try{e.uploadResponse?.data&&typeof e.uploadResponse.data=="object"?a=e.uploadResponse.data:e.uploadResponse?.response&&(a=JSON.parse(e.uploadResponse.response))}catch{}return a},"parseFileMeta"),R=r((e,a)=>({bytesWritten:a.bytesWritten,contentType:a.contentType??e.file.type,createdAt:a.createdAt,filename:a.originalName??e.file.name,id:a.id??e.id,metadata:a.metadata,name:a.name,originalName:a.originalName??e.file.name,size:a.size??e.file.size,status:a.status??"completed",url:e.url}),"buildUploadResult"),c=r(e=>{if("file"in e&&!i&&e.file.name===o.name){const a=e,s=b(a),I=R(a,s);i=!0,d(),f(I)}},"onItemFinish"),u=r(e=>{if("file"in e&&!i&&e.file.name===o.name){const a=e,s=new Error(a.error??"Upload failed");i=!0,d(),p(s)}},"onError"),d=r(()=>{l&&(clearTimeout(l),l=void 0),t.off("ITEM_FINISH",c),t.off("ITEM_ERROR",u)},"cleanup");t.on("ITEM_FINISH",c),t.on("ITEM_ERROR",u),t.add(o),l=setTimeout(()=>{i||(i=!0,d(),p(new Error("Upload timeout")))},3e5)}),"upload"),uploadBatch:r(o=>t.addBatch(o),"uploadBatch"),uploader:t}},"createMultipartAdapter");export{B as createMultipartAdapter};
|
|
@@ -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 p=Object.defineProperty;var d=(i,t)=>p(i,"name",{value:t,configurable:!0});var m=Object.defineProperty,l=d((i,t)=>m(i,"name",{value:t,configurable:!0}),"d");class h{static{d(this,"Uploader")}constructor(t){this.options=t}options;static{l(this,"Uploader")}static createFormData(t,e){const r=new FormData;return r.append("file",t),e&&Object.keys(e).length>0&&r.append("metadata",JSON.stringify(e)),r}static parseResponse(t,e){try{return JSON.parse(t)}catch{if((e instanceof XMLHttpRequest?e.getResponseHeader("Content-Type"):e.headers.get("Content-Type"))?.includes("application/json"))try{return JSON.parse(t)}catch{}return{}}}items=new Map;batches=new Map;eventHandlers=new Map;activeUploads=new Map;itemIdCounter=0;batchIdCounter=0;on(t,e){this.eventHandlers.has(t)||this.eventHandlers.set(t,new Set),this.eventHandlers.get(t)?.add(e)}off(t,e){this.eventHandlers.get(t)?.delete(e)}add(t,e){const r=this.generateItemId(),s={batchId:e,completed:0,file:t,id:r,loaded:0,retryCount:0,size:t.size,status:"pending"};return this.items.set(r,s),this.uploadFile(s).catch(o=>{console.error(`[Uploader] Upload failed for item ${r}:`,o)}),r}addBatch(t){if(t.length===0)return[];const e=this.generateBatchId(),r=[],s={completedCount:0,errorCount:0,id:e,itemIds:[],progress:0,status:"pending",totalCount:t.length};this.batches.set(e,s);for(const o of t){const a=this.add(o,e);r.push(a),s.itemIds.push(a)}return this.batches.set(e,s),s.status="uploading",this.emitBatch("BATCH_START",s),r}getItem(t){return this.items.get(t)}abortItem(t){const e=this.activeUploads.get(t);e&&(e.abort(),this.activeUploads.delete(t));const r=this.items.get(t);if(r&&(r.status="aborted",this.items.set(t,r),this.emit("ITEM_ABORT",r),r.batchId)){const s=this.batches.get(r.batchId);s&&(s.status="cancelled",this.batches.set(r.batchId,s),this.emitBatch("BATCH_CANCELLED",s))}}abortBatch(t){const e=this.batches.get(t);if(e){for(const r of e.itemIds)this.abortItem(r);e.status="cancelled",this.batches.set(t,e),this.emitBatch("BATCH_CANCELLED",e)}}abort(){this.activeUploads.forEach((t,e)=>{t.abort(),this.abortItem(e)}),this.activeUploads.clear()}clear(){this.abort(),this.items.clear()}getItems(){return[...this.items.values()]}getBatchItems(t){const e=this.batches.get(t);return e?e.itemIds.map(r=>this.items.get(r)).filter(Boolean):[]}getBatch(t){return this.batches.get(t)}getBatches(){return[...this.batches.values()]}retryItem(t){const e=this.items.get(t);e&&e.status==="error"&&(e.retryCount=(e.retryCount??0)+1,e.status="pending",e.error=void 0,e.completed=0,e.loaded=0,this.items.set(t,e),this.uploadFile(e).catch(r=>{console.error(`[Uploader] Retry failed for item ${t}:`,r)}))}retryBatch(t){const e=this.batches.get(t);if(!e)return;const r=e.itemIds.map(s=>this.items.get(s)).filter(s=>s?.status==="error");for(const s of r)this.retryItem(s.id);e.status="uploading",e.completedCount=0,e.errorCount=0,e.progress=0,this.batches.set(t,e),this.emitBatch("BATCH_START",e)}generateItemId(){return this.itemIdCounter+=1,`item-${String(Date.now())}-${String(this.itemIdCounter)}`}generateBatchId(){return this.batchIdCounter+=1,`batch-${String(Date.now())}-${String(this.batchIdCounter)}`}calculateBatchProgress(t){const e=t.itemIds.map(o=>this.items.get(o)).filter(Boolean);if(e.length===0)return 0;const r=e.reduce((o,a)=>o+a.size,0),s=e.reduce((o,a)=>o+a.loaded,0);return r>0?Math.round(s/r*100):0}updateBatchProgress(t){const e=this.batches.get(t);if(!e)return;const r=e.itemIds.map(s=>this.items.get(s)).filter(Boolean);e.completedCount=r.filter(s=>s.status==="completed").length,e.errorCount=r.filter(s=>s.status==="error").length,e.progress=this.calculateBatchProgress(e),e.completedCount+e.errorCount===e.totalCount?e.errorCount>0&&e.completedCount>0||e.errorCount===e.totalCount?e.status="error":e.status="completed":(e.completedCount>0||e.errorCount>0)&&(e.status="uploading"),this.batches.set(t,e),this.emitBatch("BATCH_PROGRESS",e),e.completedCount+e.errorCount===e.totalCount&&(e.status==="completed"?this.emitBatch("BATCH_FINISH",e):e.status==="error"&&this.emitBatch("BATCH_ERROR",e),setTimeout(()=>{this.emitBatch("BATCH_FINALIZE",e)},0))}emitBatch(t,e){const r=this.eventHandlers.get(t);r&&r.forEach(s=>{try{s(e)}catch(o){console.error(`[Uploader] Error in ${t} handler:`,o)}})}emit(t,e){const r=this.eventHandlers.get(t);r&&r.forEach(s=>{try{s(e)}catch(o){console.error(`[Uploader] Error in ${t} handler:`,o)}})}async uploadFile(t){return new Promise((e,r)=>{const s=new XMLHttpRequest,o=h.createFormData(t.file,this.options.metadata);this.activeUploads.set(t.id,s),t.status="uploading",this.items.set(t.id,t),this.emit("ITEM_START",t),s.upload.addEventListener("progress",a=>{if(a.lengthComputable){const{loaded:n}=a,{total:c}=a,u=Math.round(n/c*100);t.loaded=n,t.completed=u,t.size=c,this.items.set(t.id,t),this.emit("ITEM_PROGRESS",t),t.batchId&&this.updateBatchProgress(t.batchId)}}),s.addEventListener("load",()=>{if(this.activeUploads.delete(t.id),s.status>=200&&s.status<300){const a=s.responseText||s.response,n=h.parseResponse(a,s);t.status="completed",t.uploadResponse={data:n,response:a},t.url=s.getResponseHeader("Location")??void 0,this.items.set(t.id,t),this.emit("ITEM_FINISH",t),t.batchId&&this.updateBatchProgress(t.batchId),e()}else{const a=new Error(`Upload failed: ${String(s.status)} ${s.statusText}`);t.status="error",t.error=a.message,this.items.set(t.id,t),this.emit("ITEM_ERROR",t),t.batchId&&this.updateBatchProgress(t.batchId),r(a)}}),s.addEventListener("error",()=>{this.activeUploads.delete(t.id);const a=new Error("Network error during upload");t.status="error",t.error=a.message,this.items.set(t.id,t),this.emit("ITEM_ERROR",t),t.batchId&&this.updateBatchProgress(t.batchId),r(a)}),s.addEventListener("abort",()=>{if(this.activeUploads.delete(t.id),t.status="aborted",this.items.set(t.id,t),this.emit("ITEM_ABORT",t),t.batchId){const a=this.batches.get(t.batchId);a&&(a.status="cancelled",this.batches.set(t.batchId,a),this.emitBatch("BATCH_CANCELLED",a))}r(new Error("Upload aborted"))}),s.open("POST",this.options.endpoint,!0),this.options.metadata&&s.setRequestHeader("X-File-Metadata",JSON.stringify(this.options.metadata)),s.send(o)})}}const I=l(i=>new h(i),"createUploader");export{h as Uploader,I as createUploader};
|
|
@@ -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};
|