@visulima/storage-client 1.0.0-alpha.1 → 1.0.0-alpha.11
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 +125 -2
- package/LICENSE.md +1 -1
- package/README.md +271 -14
- package/dist/index.js +1 -1
- package/dist/packem_shared/{createAbortAll-B5vFFliA.js → createAbortAll-CIaZJY9f.js} +1 -1
- package/dist/packem_shared/{createAbortAll-D-x-LWNg.js → createAbortAll-D3DlfIUX.js} +1 -1
- package/dist/packem_shared/{createAbortBatch-CYtSbWfz.js → createAbortBatch-CYc_weio.js} +1 -1
- package/dist/packem_shared/{createAbortBatch-zA0PTnOB.js → createAbortBatch-r3kaxuh8.js} +1 -1
- package/dist/packem_shared/{createAbortItem-0f0bigbq.js → createAbortItem-CDuIUi-c.js} +1 -1
- package/dist/packem_shared/{createAbortItem-CIRlRD4X.js → createAbortItem-Dvd4L_J4.js} +1 -1
- package/dist/packem_shared/{createAllAbortListener-CYLEWan0.js → createAllAbortListener-BehqWMv-.js} +1 -1
- package/dist/packem_shared/{createAllAbortListener-CDrnG87k.js → createAllAbortListener-DWB1otpM.js} +1 -1
- package/dist/packem_shared/{createBatchCancelledListener-l9c0mi15.js → createBatchCancelledListener-BXElG-Zl.js} +1 -1
- package/dist/packem_shared/{createBatchCancelledListener-Deq8lrIn.js → createBatchCancelledListener-c6KcP08b.js} +1 -1
- package/dist/packem_shared/{createBatchErrorListener-CGJPEngL.js → createBatchErrorListener-DFJkCUjM.js} +1 -1
- package/dist/packem_shared/{createBatchErrorListener-CJQFdXW2.js → createBatchErrorListener-Qe8LXCAz.js} +1 -1
- package/dist/packem_shared/{createBatchFinalizeListener-B2rEps7g.js → createBatchFinalizeListener-C-VHli8S.js} +1 -1
- package/dist/packem_shared/{createBatchFinalizeListener-Og0rELSL.js → createBatchFinalizeListener-Dd2Fiw8Z.js} +1 -1
- package/dist/packem_shared/{createBatchFinishListener-D9AOd6Cl.js → createBatchFinishListener-DZHov2gR.js} +1 -1
- package/dist/packem_shared/{createBatchFinishListener-BeE6-b6E.js → createBatchFinishListener-m7KNLv_1.js} +1 -1
- package/dist/packem_shared/{createBatchProgressListener-1KpCpw7e.js → createBatchProgressListener-C6EL7w7m.js} +1 -1
- package/dist/packem_shared/{createBatchProgressListener-BWW_tnse.js → createBatchProgressListener-DXfegOiX.js} +1 -1
- package/dist/packem_shared/{createBatchRetry-6E_Ivzh4.js → createBatchRetry-BnTMC2im.js} +1 -1
- package/dist/packem_shared/{createBatchRetry-D_F4v9oA.js → createBatchRetry-DssYfupW.js} +1 -1
- package/dist/packem_shared/{createBatchStartListener-DBHjoANG.js → createBatchStartListener-D9gG-BHX.js} +1 -1
- package/dist/packem_shared/{createBatchStartListener-CkcMX3tq.js → createBatchStartListener-e0RcceTB.js} +1 -1
- package/dist/packem_shared/{createBatchUpload-8yahZiID.js → createBatchUpload-BAhrDNle.js} +1 -1
- package/dist/packem_shared/{createBatchUpload-DWcVWF9h.js → createBatchUpload-DCzjYF4B.js} +1 -1
- package/dist/packem_shared/{createGetFileList-DGZQymc5.js → createGetFileList-DZHiTR4D.js} +1 -1
- package/dist/packem_shared/{createHeadFile-DYb9FeQ1.js → createHeadFile-DHJXsk3i.js} +1 -1
- package/dist/packem_shared/{createHeadFile-CGD6bHDS.js → createHeadFile-DR8CwK_B.js} +1 -1
- package/dist/packem_shared/{createMultipartAdapter-CoJpvX9z.js → createMultipartAdapter-BNppwu8z.js} +1 -1
- package/dist/packem_shared/{createMultipartUpload-CTats5BN.js → createMultipartUpload-BMu5EO-f.js} +1 -1
- package/dist/packem_shared/{createMultipartUpload-DF3XyOX3.js → createMultipartUpload-D5jXlOpN.js} +1 -1
- package/dist/packem_shared/{createPutFile-DJraow7z.js → createPutFile-C95UgrTJ.js} +1 -1
- package/dist/packem_shared/{createRetry-DPaN9i_a.js → createRetry-2YY79v45.js} +1 -1
- package/dist/packem_shared/{createRetry-D_fXIQUj.js → createRetry-DOYZZbrG.js} +1 -1
- package/dist/packem_shared/{createRetryListener-DonB2P-g.js → createRetryListener-CW4sOuow.js} +1 -1
- package/dist/packem_shared/{createRetryListener-bMqMm13Y.js → createRetryListener-ISvMl_3n.js} +1 -1
- package/dist/packem_shared/{createTransformFile-C2fVfiwL.js → createTransformFile-BlttN909.js} +1 -1
- package/dist/packem_shared/{createTusAdapter-DM31lujI.js → createTusAdapter-CIQM8UR2.js} +1 -1
- package/dist/packem_shared/{createTusUpload-ClmXqmcz.js → createTusUpload-60ceH2dH.js} +1 -1
- package/dist/packem_shared/{createTusUpload-BoM0S0Or.js → createTusUpload-DiGPefD0.js} +1 -1
- package/dist/packem_shared/{createUpload-LRQ4N_cF.js → createUpload-hMh93Gt9.js} +1 -1
- package/dist/packem_shared/{createUpload-CuZqq0nu.js → createUpload-zv3qcpf1.js} +1 -1
- package/dist/packem_shared/createUploader-DzBPRYBP.js +1 -0
- package/dist/packem_shared/{useAbortAll-DrHBz3kQ.js → useAbortAll-BQ8eXNKW.js} +1 -1
- package/dist/packem_shared/{useAbortAll-DeTTc8gX.js → useAbortAll-Dwl12wn5.js} +1 -1
- package/dist/packem_shared/{useAbortBatch-gVI48Gqa.js → useAbortBatch-CZpDT_VG.js} +1 -1
- package/dist/packem_shared/{useAbortBatch-BoXLZH9d.js → useAbortBatch-CyHnX3HT.js} +1 -1
- package/dist/packem_shared/{useAbortItem-Blw0eI13.js → useAbortItem-D-5h_Oyx.js} +1 -1
- package/dist/packem_shared/{useAbortItem-DOVDiZFG.js → useAbortItem-D_F-QSoR.js} +1 -1
- package/dist/packem_shared/{useAllAbortListener-CadZ6Ohd.js → useAllAbortListener-BTmWEsU9.js} +1 -1
- package/dist/packem_shared/{useAllAbortListener-DiliYPra.js → useAllAbortListener-XvIsxprv.js} +1 -1
- package/dist/packem_shared/{useBatchCancelledListener-CD0CULd_.js → useBatchCancelledListener-C0LDRfcv.js} +1 -1
- package/dist/packem_shared/{useBatchCancelledListener-CADhAnT8.js → useBatchCancelledListener-CYR2wnxk.js} +1 -1
- package/dist/packem_shared/{useBatchErrorListener-C3KwlH_D.js → useBatchErrorListener-B_6NFnd9.js} +1 -1
- package/dist/packem_shared/{useBatchErrorListener-D-M1xGbQ.js → useBatchErrorListener-Czidx586.js} +1 -1
- package/dist/packem_shared/{useBatchFinalizeListener-CuVe9PGl.js → useBatchFinalizeListener-CHCTeAHu.js} +1 -1
- package/dist/packem_shared/{useBatchFinalizeListener-BjnW3Lst.js → useBatchFinalizeListener-DPMYtpeD.js} +1 -1
- package/dist/packem_shared/{useBatchFinishListener-DedP4Rm_.js → useBatchFinishListener-BU_oqITL.js} +1 -1
- package/dist/packem_shared/{useBatchFinishListener-4RjAPVhl.js → useBatchFinishListener-C757MrUE.js} +1 -1
- package/dist/packem_shared/{useBatchProgressListener-CBAjGzmu.js → useBatchProgressListener-DLvO3sOl.js} +1 -1
- package/dist/packem_shared/{useBatchProgressListener-CoYeF3Zj.js → useBatchProgressListener-VgV-UnUC.js} +1 -1
- package/dist/packem_shared/{useBatchRetry-C53msBuL.js → useBatchRetry-DPDRWaAZ.js} +1 -1
- package/dist/packem_shared/{useBatchRetry-CAqFm7V8.js → useBatchRetry-DgtOIHZS.js} +1 -1
- package/dist/packem_shared/{useBatchStartListener-BAOxxo1Y.js → useBatchStartListener-BtJWkFZl.js} +1 -1
- package/dist/packem_shared/{useBatchStartListener-DwAzFph7.js → useBatchStartListener-VhNPXaew.js} +1 -1
- package/dist/packem_shared/{useBatchUpload-xPQlYOIK.js → useBatchUpload-DQPzqa6X.js} +1 -1
- package/dist/packem_shared/{useBatchUpload-DLQNW410.js → useBatchUpload-OtoOJPyD.js} +1 -1
- package/dist/packem_shared/useChunkedRestUpload-ByEGSmgy.js +1 -0
- package/dist/packem_shared/{useMultipartUpload-CIp4NLzf.js → useMultipartUpload-CIZ1b2I0.js} +1 -1
- package/dist/packem_shared/{useMultipartUpload-B9Vi7f5z.js → useMultipartUpload-DmdEn3r3.js} +1 -1
- package/dist/packem_shared/{useRetry-Dsq4jvkt.js → useRetry-BKB7OLhh.js} +1 -1
- package/dist/packem_shared/{useRetry-mkTUERYR.js → useRetry-CrCiJNIu.js} +1 -1
- package/dist/packem_shared/{useRetryListener-B45dL00Q.js → useRetryListener-CnCl5adt.js} +1 -1
- package/dist/packem_shared/{useRetryListener-BEONt1sx.js → useRetryListener-DJuOCZP7.js} +1 -1
- package/dist/packem_shared/{useTransformFile-sIkJLAwo.js → useTransformFile-weII4bx_.js} +1 -1
- package/dist/packem_shared/{useTusUpload-Cn1UeWo4.js → useTusUpload-BkaFKsSN.js} +1 -1
- package/dist/packem_shared/useTusUpload-CNRlzFRm.js +1 -0
- package/dist/packem_shared/{useUpload-B_RxNnHC.js → useUpload-DHgLmMri.js} +1 -1
- package/dist/packem_shared/{useUpload-CjLWLpyn.js → useUpload-hVpmaxT3.js} +1 -1
- package/dist/react/index.js +1 -1
- package/dist/solid/index.js +1 -1
- package/dist/svelte/index.js +1 -1
- package/dist/vue/index.js +1 -1
- package/package.json +4 -4
- package/dist/packem_shared/createUploader-B_IjjBxw.js +0 -1
- package/dist/packem_shared/useChunkedRestUpload-cKHvYQN3.js +0 -1
- package/dist/packem_shared/useTusUpload-CDRjQl0e.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,133 @@
|
|
|
1
|
-
## @visulima/storage-client 1.0.0-alpha.1 (
|
|
1
|
+
## @visulima/storage-client [1.0.0-alpha.11](https://github.com/visulima/visulima/compare/@visulima/storage-client@1.0.0-alpha.10...@visulima/storage-client@1.0.0-alpha.11) (2026-04-15)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* **storage-client:** exclude tests from tsconfig include ([438ab1d](https://github.com/visulima/visulima/commit/438ab1d8da0407e9dfa8010a7ce3446a9c402ba1))
|
|
6
|
+
|
|
7
|
+
### Code Refactoring
|
|
8
|
+
|
|
9
|
+
* **storage:** format code with prettier ([21477ce](https://github.com/visulima/visulima/commit/21477ce4354f83f68fbcbd11e07621e3329357e2))
|
|
10
|
+
|
|
11
|
+
## @visulima/storage-client [1.0.0-alpha.10](https://github.com/visulima/visulima/compare/@visulima/storage-client@1.0.0-alpha.9...@visulima/storage-client@1.0.0-alpha.10) (2026-04-08)
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* remove deprecated baseUrl and downlevelIteration from tsconfigs ([a708366](https://github.com/visulima/visulima/commit/a708366b5c3bc73cfde480a712ed397bd921fb93))
|
|
16
|
+
|
|
17
|
+
### Miscellaneous Chores
|
|
18
|
+
|
|
19
|
+
* **storage-client:** add tsconfig.eslint.json for type-aware linting ([1186874](https://github.com/visulima/visulima/commit/1186874ad63ee5425715cc4d3b6478f0ea0a40a9))
|
|
20
|
+
* **storage-client:** apply prettier formatting ([276d731](https://github.com/visulima/visulima/commit/276d731dc9a4acc60522c65dc8cf4ec6095beaa5))
|
|
21
|
+
* **storage-client:** migrate .prettierrc.cjs to prettier.config.js ([e4e463b](https://github.com/visulima/visulima/commit/e4e463b3a2246062891db1a4bcbc967781e0e14f))
|
|
22
|
+
* **storage:** remove empty dependency objects from package.json ([ddfeb08](https://github.com/visulima/visulima/commit/ddfeb08fd392ad2553a1ce833dd331540ecc8b09))
|
|
23
|
+
|
|
24
|
+
## @visulima/storage-client [1.0.0-alpha.9](https://github.com/visulima/visulima/compare/@visulima/storage-client@1.0.0-alpha.8...@visulima/storage-client@1.0.0-alpha.9) (2026-03-26)
|
|
2
25
|
|
|
3
26
|
### Features
|
|
4
27
|
|
|
5
|
-
*
|
|
28
|
+
* **web:** auto-generate packages page from workspace metadata ([623e520](https://github.com/visulima/visulima/commit/623e5207693a7fe720f5f2f179593a3654c880e3))
|
|
29
|
+
|
|
30
|
+
## @visulima/storage-client [1.0.0-alpha.8](https://github.com/visulima/visulima/compare/@visulima/storage-client@1.0.0-alpha.7...@visulima/storage-client@1.0.0-alpha.8) (2026-03-26)
|
|
31
|
+
|
|
32
|
+
### Bug Fixes
|
|
33
|
+
|
|
34
|
+
* **docs:** correct code examples found during verification ([8e4f8c4](https://github.com/visulima/visulima/commit/8e4f8c4b0b1664c232fe5ae721b771c72d29a152))
|
|
35
|
+
* **storage-client:** guard setInterval against unmounted component and migrate deps to pnpm catalogs ([a6618bc](https://github.com/visulima/visulima/commit/a6618bc7b3f866592a73ba79bf310ffe272f253a))
|
|
36
|
+
* **storage-client:** resolve TanStack Query v5.94+ source-only packages in tests ([1c1b39f](https://github.com/visulima/visulima/commit/1c1b39fd4b259768ffd5b18eb676a146ce5bfb40))
|
|
37
|
+
* updated deps and migrated web app build deps to pnpm catalog ([dd4f515](https://github.com/visulima/visulima/commit/dd4f5153a07d0e46de0b3fc091878d66bb70f2d3))
|
|
38
|
+
* **web:** improve build setup with incremental stats caching and prod install ([fe33e75](https://github.com/visulima/visulima/commit/fe33e75827586779b4b3a0c6d57b39f889ee6207))
|
|
39
|
+
|
|
40
|
+
### Documentation
|
|
41
|
+
|
|
42
|
+
* add missing documentation pages for email, string, and storage-client ([623f8af](https://github.com/visulima/visulima/commit/623f8afd2ea03dd2805fb2d7a9d10083571224bb))
|
|
43
|
+
|
|
44
|
+
### Miscellaneous Chores
|
|
45
|
+
|
|
46
|
+
* **storage-client:** update dependencies ([7976708](https://github.com/visulima/visulima/commit/7976708758d06d3424a0a659b7f074cd25f9b1b9))
|
|
47
|
+
* visulima website ([#591](https://github.com/visulima/visulima/issues/591)) ([59ab2e2](https://github.com/visulima/visulima/commit/59ab2e2befb03e51cd2088956f83d9b87de6d033))
|
|
48
|
+
|
|
49
|
+
### Code Refactoring
|
|
50
|
+
|
|
51
|
+
* **storage-client:** replace vite-tsconfig-paths with native Vite 8 resolve.tsconfigPaths ([7d528f1](https://github.com/visulima/visulima/commit/7d528f1a6d3b1b9ec93c891e89af7bdbf78d090c))
|
|
52
|
+
|
|
53
|
+
## @visulima/storage-client [1.0.0-alpha.7](https://github.com/visulima/visulima/compare/@visulima/storage-client@1.0.0-alpha.6...@visulima/storage-client@1.0.0-alpha.7) (2026-03-06)
|
|
54
|
+
|
|
55
|
+
### Bug Fixes
|
|
56
|
+
|
|
57
|
+
* **storage-client:** update packem to 2.0.0-alpha.54 ([98984dd](https://github.com/visulima/visulima/commit/98984dd6f3c9d7b007a4ae723d80f27cd1cce1cc))
|
|
58
|
+
|
|
59
|
+
### Miscellaneous Chores
|
|
60
|
+
|
|
61
|
+
* **storage-client:** update dependencies ([df3b47d](https://github.com/visulima/visulima/commit/df3b47dc7d961dd242b460384cbb26f91048548f))
|
|
62
|
+
* year update ([47f4105](https://github.com/visulima/visulima/commit/47f410596ce7190cfea36a073db32e0cec50bbcd))
|
|
63
|
+
|
|
64
|
+
## @visulima/storage-client [1.0.0-alpha.6](https://github.com/visulima/visulima/compare/@visulima/storage-client@1.0.0-alpha.5...@visulima/storage-client@1.0.0-alpha.6) (2026-02-16)
|
|
65
|
+
|
|
66
|
+
### Bug Fixes
|
|
67
|
+
|
|
68
|
+
* **storage-client:** prevent state updates after component unmount in useTusUpload ([e40716e](https://github.com/visulima/visulima/commit/e40716e3389c63c609b9f0464e1fad6959d69e20))
|
|
69
|
+
|
|
70
|
+
### Miscellaneous Chores
|
|
71
|
+
|
|
72
|
+
* **storage:** update dependencies ([f591768](https://github.com/visulima/visulima/commit/f591768de337c1b201191e4b78dd7e3fb79ca42b))
|
|
73
|
+
* update lock file maintenance ([d83e716](https://github.com/visulima/visulima/commit/d83e71697b75d24704185b66bb521a934d2db02d))
|
|
74
|
+
|
|
75
|
+
## @visulima/storage-client [1.0.0-alpha.5](https://github.com/visulima/visulima/compare/@visulima/storage-client@1.0.0-alpha.4...@visulima/storage-client@1.0.0-alpha.5) (2026-01-17)
|
|
76
|
+
|
|
77
|
+
### Bug Fixes
|
|
78
|
+
|
|
79
|
+
* added removed Svelte ([d78857a](https://github.com/visulima/visulima/commit/d78857a4b62020a38db38db568ebe54fc9bf7b05))
|
|
80
|
+
|
|
81
|
+
### Miscellaneous Chores
|
|
82
|
+
|
|
83
|
+
* **storage-client:** update dependencies ([733b7b3](https://github.com/visulima/visulima/commit/733b7b3f929114e769436633ceb9b4923a289257))
|
|
84
|
+
|
|
85
|
+
## @visulima/storage-client [1.0.0-alpha.4](https://github.com/visulima/visulima/compare/@visulima/storage-client@1.0.0-alpha.3...@visulima/storage-client@1.0.0-alpha.4) (2025-12-27)
|
|
86
|
+
|
|
87
|
+
### Bug Fixes
|
|
88
|
+
|
|
89
|
+
* **storage-client:** update @testing-library/svelte to version 5.3.1 and improve README for Svelte support ([43e8ea5](https://github.com/visulima/visulima/commit/43e8ea5b01399d5dd0f98882629bceedd411e710))
|
|
90
|
+
* **storage-client:** update package files ([ba9d079](https://github.com/visulima/visulima/commit/ba9d079a5b25169e88836fd23af13796250452b1))
|
|
91
|
+
|
|
92
|
+
### Miscellaneous Chores
|
|
93
|
+
|
|
94
|
+
* **dependencies:** update file-type to version 21.2.0, hono to version 4.11.3, and improve README for storage-client with detailed usage examples ([90bebfa](https://github.com/visulima/visulima/commit/90bebfa9b732afd8d80c133ca0636192b8496801))
|
|
95
|
+
* fixed project.json names and schema path ([964722f](https://github.com/visulima/visulima/commit/964722f691db205c7edb9aa6db29e849a647500b))
|
|
96
|
+
|
|
97
|
+
## @visulima/storage-client [1.0.0-alpha.3](https://github.com/visulima/visulima/compare/@visulima/storage-client@1.0.0-alpha.2...@visulima/storage-client@1.0.0-alpha.3) (2025-12-11)
|
|
98
|
+
|
|
99
|
+
### Bug Fixes
|
|
100
|
+
|
|
101
|
+
* update package OG images across multiple packages ([f08e4dd](https://github.com/visulima/visulima/commit/f08e4dd2b105ccb29c8412020a9c2be36d6c1e9e))
|
|
102
|
+
|
|
103
|
+
## @visulima/storage-client [1.0.0-alpha.2](https://github.com/visulima/visulima/compare/@visulima/storage-client@1.0.0-alpha.1...@visulima/storage-client@1.0.0-alpha.2) (2025-12-06)
|
|
104
|
+
|
|
105
|
+
### Bug Fixes
|
|
106
|
+
|
|
107
|
+
* add new package image, fixed readme rendering on npm, fixed building of packages ([b790ba2](https://github.com/visulima/visulima/commit/b790ba253ea07fef83528fd822a678facf021b5f))
|
|
108
|
+
|
|
109
|
+
### Miscellaneous Chores
|
|
110
|
+
|
|
111
|
+
* **release:** @visulima/storage-client@1.0.0-alpha.1 [skip ci]\n\n## @visulima/storage-client 1.0.0-alpha.1 (2025-12-05) ([9145099](https://github.com/visulima/visulima/commit/9145099002a34b52837b39172507108ebe7a8756))
|
|
112
|
+
* **release:** @visulima/storage-client@1.0.0-alpha.1 [skip ci]\n\n## @visulima/storage-client 1.0.0-alpha.1 (2025-12-05) ([719c655](https://github.com/visulima/visulima/commit/719c655552f3543f7cf787f676043efec314692a))
|
|
113
|
+
* update @anolilab/semantic-release-pnpm and @anolilab/semantic-release-preset to versions 3.2.2 and 12.1.2 across multiple package.json files for improved compatibility ([3921626](https://github.com/visulima/visulima/commit/3921626141fe5da398749bf0ba675f1596f18afb))
|
|
114
|
+
* update CHANGELOG.md to remove duplicate entries and streamline release notes for @visulima/storage-client ([3358ac0](https://github.com/visulima/visulima/commit/3358ac0199534efdebf5b86faa1852bd064f362f))
|
|
115
|
+
|
|
116
|
+
## @visulima/storage-client 1.0.0-alpha.1 (2025-12-05)
|
|
117
|
+
|
|
118
|
+
### ⚠ BREAKING CHANGES
|
|
119
|
+
|
|
120
|
+
* change min node version to 22.13
|
|
121
|
+
|
|
122
|
+
### Bug Fixes
|
|
123
|
+
|
|
124
|
+
* update Node.js engine version requirement to >=22.13 in multiple package.json files for improved compatibility ([b828e9a](https://github.com/visulima/visulima/commit/b828e9aeaebfc798eecddccd90e6ec7560c6d36a))
|
|
6
125
|
|
|
7
126
|
### Miscellaneous Chores
|
|
8
127
|
|
|
128
|
+
* moved all packages into groups ([0615e9d](https://github.com/visulima/visulima/commit/0615e9d14a8a886e11da529ce150cf31ca973c10))
|
|
129
|
+
* **release:** @visulima/storage-client@1.0.0-alpha.1 [skip ci]\n\n## @visulima/storage-client 1.0.0-alpha.1 (2025-12-04) ([d2baf1c](https://github.com/visulima/visulima/commit/d2baf1cb65b9c3bc2b892c91eb25f2097a8b52b9))
|
|
130
|
+
* **release:** @visulima/storage-client@1.0.0-alpha.1 [skip ci]\n\n## @visulima/storage-client 1.0.0-alpha.1 (2025-12-05) ([719c655](https://github.com/visulima/visulima/commit/719c655552f3543f7cf787f676043efec314692a))
|
|
131
|
+
* update dependencies across multiple packages to improve compatibility and performance, including upgrading `@anolilab/semantic-release-pnpm` and `@anolilab/semantic-release-preset` to versions 3.2.0 and 12.1.0 respectively, and updating `react`, `react-dom`, and `next` versions to 19.2.1 and 16.0.7 in various package.json files ([aee8fcd](https://github.com/visulima/visulima/commit/aee8fcd796ae9b8d055903260e7150996ea9f53d))
|
|
9
132
|
* update @visulima/packem version to 2.0.0-alpha.40 across multiple packages ([e5be373](https://github.com/visulima/visulima/commit/e5be373fef8f8dda20c1dee7a1ac30d9b7a7712e))
|
|
10
133
|
* update package dependencies and versions across multiple packages ([9a9ac80](https://github.com/visulima/visulima/commit/9a9ac8046f7138cf37bec9e2041bc2125e97f212))
|
package/LICENSE.md
CHANGED
package/README.md
CHANGED
|
@@ -1,15 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
<!-- START_PACKAGE_OG_IMAGE_PLACEHOLDER -->
|
|
2
|
+
|
|
3
|
+
<a href="https://www.anolilab.com/open-source" align="center">
|
|
4
|
+
|
|
5
|
+
<img src="__assets__/package-og.svg" alt="storage-client" />
|
|
6
|
+
|
|
7
|
+
</a>
|
|
8
|
+
|
|
9
|
+
<h3 align="center">The upload client library. Simple and easy file uploads for React | Vue | Solid | Svelte.</h3>
|
|
10
|
+
|
|
11
|
+
<!-- END_PACKAGE_OG_IMAGE_PLACEHOLDER -->
|
|
7
12
|
|
|
8
13
|
<br />
|
|
9
14
|
|
|
10
15
|
<div align="center">
|
|
11
16
|
|
|
12
|
-
[![typescript-image]
|
|
17
|
+
[![typescript-image][typescript-badge]][typescript-url]
|
|
18
|
+
[![mit licence][license-badge]][license]
|
|
19
|
+
[![npm downloads][npm-downloads-badge]][npm-downloads]
|
|
20
|
+
[![Chat][chat-badge]][chat]
|
|
21
|
+
[![PRs Welcome][prs-welcome-badge]][prs-welcome]
|
|
13
22
|
|
|
14
23
|
</div>
|
|
15
24
|
|
|
@@ -39,10 +48,248 @@ yarn add @visulima/storage-client
|
|
|
39
48
|
pnpm add @visulima/storage-client
|
|
40
49
|
```
|
|
41
50
|
|
|
51
|
+
## Description
|
|
52
|
+
|
|
53
|
+
The Visulima Storage Client is a powerful, framework-agnostic library for handling file uploads in modern web applications. It provides a unified API across React, Vue, Nuxt, Solid, and Svelte with support for multiple upload methods, progress tracking, retry mechanisms, and batch operations.
|
|
54
|
+
|
|
55
|
+
## Features
|
|
56
|
+
|
|
57
|
+
- **Framework Support** - First-class support for React, Vue/Nuxt, Solid, and Svelte
|
|
58
|
+
- **Multiple Upload Methods** - Multipart (form-based), TUS (resumable), and chunked REST uploads
|
|
59
|
+
- **Auto-detection** - Automatically selects the best upload method based on file size and available endpoints
|
|
60
|
+
- **Progress Tracking** - Real-time upload progress with percentage and byte-level tracking
|
|
61
|
+
- **Batch Operations** - Upload multiple files simultaneously with batch progress tracking
|
|
62
|
+
- **Retry Mechanism** - Built-in retry with exponential backoff for failed uploads
|
|
63
|
+
- **File Management** - Get, list, delete files with full metadata support
|
|
64
|
+
- **TypeScript Ready** - Full TypeScript support with comprehensive type definitions
|
|
65
|
+
- **TanStack Query Integration** - Built on TanStack Query for powerful caching and state management
|
|
66
|
+
- **Drag & Drop Support** - Built-in file input hooks with drag & drop functionality
|
|
67
|
+
- **Paste Upload** - Support for pasting images from clipboard
|
|
68
|
+
- **Transform Support** - Transform files and metadata on upload
|
|
69
|
+
- **Abort Control** - Cancel uploads at any time with abort functionality
|
|
70
|
+
|
|
71
|
+
## Prerequisites
|
|
72
|
+
|
|
73
|
+
The storage client requires TanStack Query (formerly React Query) for state management. You'll need to install the appropriate version for your framework:
|
|
74
|
+
|
|
75
|
+
- **React**: `@tanstack/react-query` >= 5.90.10
|
|
76
|
+
- **Vue**: `@tanstack/vue-query` >= 5.91.2
|
|
77
|
+
- **Solid**: `@tanstack/solid-query` >= 5.90.13
|
|
78
|
+
- **Svelte**: `@tanstack/svelte-query` >= 6.0.8
|
|
79
|
+
|
|
42
80
|
## Usage
|
|
43
81
|
|
|
82
|
+
### React
|
|
83
|
+
|
|
84
|
+
```tsx
|
|
85
|
+
import { useUpload } from "@visulima/storage-client/react";
|
|
86
|
+
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
|
87
|
+
|
|
88
|
+
const queryClient = new QueryClient();
|
|
89
|
+
|
|
90
|
+
function App() {
|
|
91
|
+
return (
|
|
92
|
+
<QueryClientProvider client={queryClient}>
|
|
93
|
+
<UploadComponent />
|
|
94
|
+
</QueryClientProvider>
|
|
95
|
+
);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
function UploadComponent() {
|
|
99
|
+
const { upload, progress, isUploading, error, result } = useUpload({
|
|
100
|
+
endpointMultipart: "/api/upload/multipart",
|
|
101
|
+
onSuccess: (result) => console.log("Upload successful:", result),
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
const handleFileChange = async (e: React.ChangeEvent<HTMLInputElement>) => {
|
|
105
|
+
const file = e.target.files?.[0];
|
|
106
|
+
if (file) {
|
|
107
|
+
await upload(file);
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
return (
|
|
112
|
+
<div>
|
|
113
|
+
<input type="file" onChange={handleFileChange} />
|
|
114
|
+
{isUploading && <div>Progress: {progress}%</div>}
|
|
115
|
+
{error && <div>Error: {error.message}</div>}
|
|
116
|
+
{result && <div>File ID: {result.id}</div>}
|
|
117
|
+
</div>
|
|
118
|
+
);
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Vue / Nuxt
|
|
123
|
+
|
|
124
|
+
```vue
|
|
125
|
+
<template>
|
|
126
|
+
<div>
|
|
127
|
+
<input type="file" @change="handleFileChange" />
|
|
128
|
+
<div v-if="isUploading">Progress: {{ progress }}%</div>
|
|
129
|
+
<div v-if="error">Error: {{ error.message }}</div>
|
|
130
|
+
<div v-if="result">File ID: {{ result.id }}</div>
|
|
131
|
+
</div>
|
|
132
|
+
</template>
|
|
133
|
+
|
|
134
|
+
<script setup lang="ts">
|
|
135
|
+
import { useUpload } from "@visulima/storage-client/vue";
|
|
136
|
+
|
|
137
|
+
const { upload, progress, isUploading, error, result } = useUpload({
|
|
138
|
+
endpointMultipart: "/api/upload/multipart",
|
|
139
|
+
});
|
|
140
|
+
|
|
141
|
+
const handleFileChange = async (e: Event) => {
|
|
142
|
+
const target = e.target as HTMLInputElement;
|
|
143
|
+
const file = target.files?.[0];
|
|
144
|
+
if (file) {
|
|
145
|
+
await upload(file);
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
</script>
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### Solid
|
|
152
|
+
|
|
153
|
+
```tsx
|
|
154
|
+
import { createUpload } from "@visulima/storage-client/solid";
|
|
155
|
+
import { QueryClient, QueryClientProvider } from "@tanstack/solid-query";
|
|
156
|
+
|
|
157
|
+
const queryClient = new QueryClient();
|
|
158
|
+
|
|
159
|
+
function App() {
|
|
160
|
+
return (
|
|
161
|
+
<QueryClientProvider client={queryClient}>
|
|
162
|
+
<UploadComponent />
|
|
163
|
+
</QueryClientProvider>
|
|
164
|
+
);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
function UploadComponent() {
|
|
168
|
+
const { upload, progress, isUploading, error, result } = createUpload({
|
|
169
|
+
endpointMultipart: "/api/upload/multipart",
|
|
170
|
+
});
|
|
171
|
+
|
|
172
|
+
const handleFileChange = async (e: Event) => {
|
|
173
|
+
const target = e.target as HTMLInputElement;
|
|
174
|
+
const file = target.files?.[0];
|
|
175
|
+
if (file) {
|
|
176
|
+
await upload(file);
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
return (
|
|
181
|
+
<div>
|
|
182
|
+
<input type="file" onChange={handleFileChange} />
|
|
183
|
+
{isUploading() && <div>Progress: {progress()}%</div>}
|
|
184
|
+
{error() && <div>Error: {error()?.message}</div>}
|
|
185
|
+
{result() && <div>File ID: {result()?.id}</div>}
|
|
186
|
+
</div>
|
|
187
|
+
);
|
|
188
|
+
}
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### Svelte
|
|
192
|
+
|
|
193
|
+
```svelte
|
|
194
|
+
<script lang="ts">
|
|
195
|
+
import { createUpload } from "@visulima/storage-client/svelte";
|
|
196
|
+
import { QueryClient, QueryClientProvider } from "@tanstack/svelte-query";
|
|
197
|
+
|
|
198
|
+
const queryClient = new QueryClient();
|
|
199
|
+
|
|
200
|
+
const { upload, progress, isUploading, error, result } = createUpload({
|
|
201
|
+
endpointMultipart: "/api/upload/multipart",
|
|
202
|
+
});
|
|
203
|
+
|
|
204
|
+
async function handleFileChange(e: Event) {
|
|
205
|
+
const target = e.target as HTMLInputElement;
|
|
206
|
+
const file = target.files?.[0];
|
|
207
|
+
if (file) {
|
|
208
|
+
await upload(file);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
</script>
|
|
212
|
+
|
|
213
|
+
<QueryClientProvider client={queryClient}>
|
|
214
|
+
<div>
|
|
215
|
+
<input type="file" on:change={handleFileChange} />
|
|
216
|
+
{#if $isUploading}
|
|
217
|
+
<div>Progress: {$progress}%</div>
|
|
218
|
+
{/if}
|
|
219
|
+
{#if $error}
|
|
220
|
+
<div>Error: {$error.message}</div>
|
|
221
|
+
{/if}
|
|
222
|
+
{#if $result}
|
|
223
|
+
<div>File ID: {$result.id}</div>
|
|
224
|
+
{/if}
|
|
225
|
+
</div>
|
|
226
|
+
</QueryClientProvider>
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
## Upload Methods
|
|
230
|
+
|
|
231
|
+
### Multipart Upload
|
|
232
|
+
|
|
233
|
+
Traditional `multipart/form-data` uploads, perfect for small to medium files and web forms.
|
|
234
|
+
|
|
235
|
+
```tsx
|
|
236
|
+
import { useMultipartUpload } from "@visulima/storage-client/react";
|
|
237
|
+
|
|
238
|
+
const { upload, progress, isUploading } = useMultipartUpload({
|
|
239
|
+
endpoint: "/api/upload/multipart",
|
|
240
|
+
});
|
|
241
|
+
|
|
242
|
+
await upload(file);
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
### TUS Upload
|
|
246
|
+
|
|
247
|
+
Resumable uploads using the TUS protocol, ideal for large files and unreliable networks.
|
|
248
|
+
|
|
249
|
+
```tsx
|
|
250
|
+
import { useTusUpload } from "@visulima/storage-client/react";
|
|
251
|
+
|
|
252
|
+
const { upload, pause, resume, progress } = useTusUpload({
|
|
253
|
+
endpoint: "/api/upload/tus",
|
|
254
|
+
});
|
|
255
|
+
|
|
256
|
+
await upload(file);
|
|
257
|
+
// Can pause and resume later
|
|
258
|
+
pause();
|
|
259
|
+
resume();
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### Chunked REST Upload
|
|
263
|
+
|
|
264
|
+
Client-side chunked uploads for large files without requiring TUS server support.
|
|
265
|
+
|
|
266
|
+
```tsx
|
|
267
|
+
import { useChunkedRestUpload } from "@visulima/storage-client/react";
|
|
268
|
+
|
|
269
|
+
const { upload, progress } = useChunkedRestUpload({
|
|
270
|
+
endpoint: "/api/upload/chunked-rest",
|
|
271
|
+
chunkSize: 5 * 1024 * 1024, // 5MB chunks
|
|
272
|
+
});
|
|
273
|
+
|
|
274
|
+
await upload(file);
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
## Documentation
|
|
278
|
+
|
|
279
|
+
For complete documentation and examples, visit:
|
|
280
|
+
|
|
281
|
+
- [Installation Guide](https://visulima.com/docs/package/storage-client/installation)
|
|
282
|
+
- [React Guide](https://visulima.com/docs/package/storage-client/react)
|
|
283
|
+
- [Vue / Nuxt Guide](https://visulima.com/docs/package/storage-client/vue)
|
|
284
|
+
- [Solid Guide](https://visulima.com/docs/package/storage-client/solid)
|
|
285
|
+
- [Svelte Guide](https://visulima.com/docs/package/storage-client/svelte)
|
|
286
|
+
- [Next.js Guide](https://visulima.com/docs/package/storage-client/nextjs)
|
|
287
|
+
- [TanStack Start Guide](https://visulima.com/docs/package/storage-client/tanstack-start)
|
|
288
|
+
|
|
44
289
|
## Related
|
|
45
290
|
|
|
291
|
+
- [@visulima/storage-server](../storage-server) - Server-side storage implementation
|
|
292
|
+
|
|
46
293
|
## Supported Node.js Versions
|
|
47
294
|
|
|
48
295
|
Libraries in this ecosystem make the best effort to track [Node.js’ release schedule](https://github.com/nodejs/release#release-schedule).
|
|
@@ -59,13 +306,23 @@ If you would like to help take a look at the [list of issues](https://github.com
|
|
|
59
306
|
- [Daniel Bannert](https://github.com/prisis)
|
|
60
307
|
- [All Contributors](https://github.com/visulima/visulima/graphs/contributors)
|
|
61
308
|
|
|
309
|
+
## Made with ❤️ at Anolilab
|
|
310
|
+
|
|
311
|
+
This is an open source project and will always remain free to use. If you think it's cool, please star it 🌟. [Anolilab](https://www.anolilab.com/open-source) is a Development and AI Studio. Contact us at [hello@anolilab.com](mailto:hello@anolilab.com) if you need any help with these technologies or just want to say hi!
|
|
312
|
+
|
|
62
313
|
## License
|
|
63
314
|
|
|
64
|
-
The visulima storage-client is open-sourced software licensed under the [MIT][license
|
|
315
|
+
The visulima storage-client is open-sourced software licensed under the [MIT][license]
|
|
316
|
+
|
|
317
|
+
<!-- badges -->
|
|
65
318
|
|
|
66
|
-
[
|
|
67
|
-
[
|
|
68
|
-
[
|
|
69
|
-
[
|
|
70
|
-
[
|
|
71
|
-
[
|
|
319
|
+
[license-badge]: https://img.shields.io/npm/l/@visulima/storage-client?style=for-the-badge
|
|
320
|
+
[license]: https://github.com/visulima/visulima/blob/main/LICENSE
|
|
321
|
+
[npm-downloads-badge]: https://img.shields.io/npm/dm/@visulima/storage-client?style=for-the-badge
|
|
322
|
+
[npm-downloads]: https://www.npmjs.com/package/@visulima/storage-client
|
|
323
|
+
[prs-welcome-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=for-the-badge
|
|
324
|
+
[prs-welcome]: https://github.com/visulima/visulima/blob/main/.github/CONTRIBUTING.md
|
|
325
|
+
[chat-badge]: https://img.shields.io/discord/932323359193186354.svg?style=for-the-badge
|
|
326
|
+
[chat]: https://discord.gg/TtFJY8xkFK
|
|
327
|
+
[typescript-badge]: https://img.shields.io/badge/Typescript-294E80.svg?style=for-the-badge&logo=typescript
|
|
328
|
+
[typescript-url]: https://www.typescriptlang.org/
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{default as t}from"./packem_shared/storageQueryKeys-cD4rL4b1.js";import{
|
|
1
|
+
import{default as t}from"./packem_shared/storageQueryKeys-cD4rL4b1.js";import{buildUrl as o,deleteRequest as p,extractFileMetaFromHeaders as d,fetchFile as f,fetchHead as c,fetchJson as l,parseApiError as s,patchChunk as u,putFile as m}from"./packem_shared/parseApiError-CUagSahh.js";import{createChunkedRestAdapter as h}from"./packem_shared/createChunkedRestAdapter-Df1E_Adn.js";import{createMultipartAdapter as A}from"./packem_shared/createMultipartAdapter-BNppwu8z.js";import{createTusAdapter as n}from"./packem_shared/createTusAdapter-CIQM8UR2.js";import{createUploader as y}from"./packem_shared/createUploader-DzBPRYBP.js";export{o as buildUrl,h as createChunkedRestAdapter,A as createMultipartAdapter,n as createTusAdapter,y as createUploader,p as deleteRequest,d as extractFileMetaFromHeaders,f as fetchFile,c as fetchHead,l as fetchJson,s as parseApiError,u as patchChunk,m as putFile,t as storageQueryKeys};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var n=Object.defineProperty;var r=(t,e)=>n(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as b}from"./createMultipartAdapter-
|
|
1
|
+
var n=Object.defineProperty;var r=(t,e)=>n(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as b}from"./createMultipartAdapter-BNppwu8z.js";var c=Object.defineProperty,a=r((t,e)=>c(t,"name",{value:e,configurable:!0}),"e");const d=a(t=>{const{endpoint:e,metadata:o}=t,l=b({endpoint:e,metadata:o});return{abortAll:a(()=>{l.abort()},"abortAll")}},"createAbortAll");export{d as createAbortAll};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var n=Object.defineProperty;var r=(t,e)=>n(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as b}from"./createMultipartAdapter-
|
|
1
|
+
var n=Object.defineProperty;var r=(t,e)=>n(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as b}from"./createMultipartAdapter-BNppwu8z.js";var c=Object.defineProperty,a=r((t,e)=>c(t,"name",{value:e,configurable:!0}),"e");const d=a(t=>{const{endpoint:e,metadata:o}=t,l=b({endpoint:e,metadata:o});return{abortAll:a(()=>{l.abort()},"abortAll")}},"createAbortAll");export{d as createAbortAll};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var b=Object.defineProperty;var e=(t,a)=>b(t,"name",{value:a,configurable:!0});import{createMultipartAdapter as p}from"./createMultipartAdapter-
|
|
1
|
+
var b=Object.defineProperty;var e=(t,a)=>b(t,"name",{value:a,configurable:!0});import{createMultipartAdapter as p}from"./createMultipartAdapter-BNppwu8z.js";var d=Object.defineProperty,r=e((t,a)=>d(t,"name",{value:a,configurable:!0}),"a");const m=r(t=>{const{endpoint:a,metadata:o}=t,c=p({endpoint:a,metadata:o});return{abortBatch:r(n=>{c.abortBatch(n)},"abortBatch")}},"createAbortBatch");export{m as createAbortBatch};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var b=Object.defineProperty;var e=(t,a)=>b(t,"name",{value:a,configurable:!0});import{createMultipartAdapter as p}from"./createMultipartAdapter-
|
|
1
|
+
var b=Object.defineProperty;var e=(t,a)=>b(t,"name",{value:a,configurable:!0});import{createMultipartAdapter as p}from"./createMultipartAdapter-BNppwu8z.js";var d=Object.defineProperty,r=e((t,a)=>d(t,"name",{value:a,configurable:!0}),"a");const m=r(t=>{const{endpoint:a,metadata:o}=t,c=p({endpoint:a,metadata:o});return{abortBatch:r(n=>{c.abortBatch(n)},"abortBatch")}},"createAbortBatch");export{m as createAbortBatch};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var b=Object.defineProperty;var r=(t,e)=>b(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as c}from"./createMultipartAdapter-
|
|
1
|
+
var b=Object.defineProperty;var r=(t,e)=>b(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as c}from"./createMultipartAdapter-BNppwu8z.js";var i=Object.defineProperty,a=r((t,e)=>i(t,"name",{value:e,configurable:!0}),"r");const u=a(t=>{const{endpoint:e,metadata:o}=t,m=c({endpoint:e,metadata:o});return{abortItem:a(n=>{m.abortItem(n)},"abortItem")}},"createAbortItem");export{u as createAbortItem};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var b=Object.defineProperty;var r=(t,e)=>b(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as c}from"./createMultipartAdapter-
|
|
1
|
+
var b=Object.defineProperty;var r=(t,e)=>b(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as c}from"./createMultipartAdapter-BNppwu8z.js";var i=Object.defineProperty,a=r((t,e)=>i(t,"name",{value:e,configurable:!0}),"r");const u=a(t=>{const{endpoint:e,metadata:o}=t,m=c({endpoint:e,metadata:o});return{abortItem:a(n=>{m.abortItem(n)},"abortItem")}},"createAbortItem");export{u as createAbortItem};
|
package/dist/packem_shared/{createAllAbortListener-CYLEWan0.js → createAllAbortListener-BehqWMv-.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
var d=Object.defineProperty;var n=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as c,onCleanup as u}from"solid-js";import{createMultipartAdapter as A}from"./createMultipartAdapter-
|
|
1
|
+
var d=Object.defineProperty;var n=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as c,onCleanup as u}from"solid-js";import{createMultipartAdapter as A}from"./createMultipartAdapter-BNppwu8z.js";var f=Object.defineProperty,i=n((e,t)=>f(e,"name",{value:t,configurable:!0}),"e");const M=i(e=>{const{endpoint:t,metadata:l,onAbort:p}=e;c(()=>{const r=A({endpoint:t,metadata:l}),o=i(a=>{"file"in a&&p(a)},"handler");r.uploader.on("ITEM_ABORT",o),u(()=>{r.uploader.off("ITEM_ABORT",o)})})},"createAllAbortListener");export{M as createAllAbortListener};
|
package/dist/packem_shared/{createAllAbortListener-CDrnG87k.js → createAllAbortListener-DWB1otpM.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
var d=Object.defineProperty;var n=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as c,onDestroy as A}from"svelte";import{createMultipartAdapter as f}from"./createMultipartAdapter-
|
|
1
|
+
var d=Object.defineProperty;var n=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as c,onDestroy as A}from"svelte";import{createMultipartAdapter as f}from"./createMultipartAdapter-BNppwu8z.js";var m=Object.defineProperty,i=n((e,t)=>m(e,"name",{value:t,configurable:!0}),"e");const M=i(e=>{const{endpoint:t,metadata:l,onAbort:p}=e;c(()=>{const r=f({endpoint:t,metadata:l}),o=i(a=>{"file"in a&&p(a)},"handler");r.uploader.on("ITEM_ABORT",o),A(()=>{r.uploader.off("ITEM_ABORT",o)})})},"createAllAbortListener");export{M as createAllAbortListener};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var i=Object.defineProperty;var r=(e,t)=>i(e,"name",{value:t,configurable:!0});import{onMount as p,onCleanup as C}from"solid-js";import{createMultipartAdapter as m}from"./createMultipartAdapter-
|
|
1
|
+
var i=Object.defineProperty;var r=(e,t)=>i(e,"name",{value:t,configurable:!0});import{onMount as p,onCleanup as C}from"solid-js";import{createMultipartAdapter as m}from"./createMultipartAdapter-BNppwu8z.js";var u=Object.defineProperty,c=r((e,t)=>u(e,"name",{value:t,configurable:!0}),"a");const A=c(e=>{const{endpoint:t,metadata:d,onBatchCancelled:l}=e;p(()=>{const a=m({endpoint:t,metadata:d}),n=c(o=>{"itemIds"in o&&l(o)},"handler");a.uploader.on("BATCH_CANCELLED",n),C(()=>{a.uploader.off("BATCH_CANCELLED",n)})})},"createBatchCancelledListener");export{A as createBatchCancelledListener};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var l=Object.defineProperty;var r=(e,t)=>l(e,"name",{value:t,configurable:!0});import{onMount as p,onDestroy as C}from"svelte";import{createMultipartAdapter as m}from"./createMultipartAdapter-
|
|
1
|
+
var l=Object.defineProperty;var r=(e,t)=>l(e,"name",{value:t,configurable:!0});import{onMount as p,onDestroy as C}from"svelte";import{createMultipartAdapter as m}from"./createMultipartAdapter-BNppwu8z.js";var s=Object.defineProperty,c=r((e,t)=>s(e,"name",{value:t,configurable:!0}),"a");const A=c(e=>{const{endpoint:t,metadata:d,onBatchCancelled:i}=e;p(()=>{const a=m({endpoint:t,metadata:d}),n=c(o=>{"itemIds"in o&&i(o)},"handler");a.uploader.on("BATCH_CANCELLED",n),C(()=>{a.uploader.off("BATCH_CANCELLED",n)})})},"createBatchCancelledListener");export{A as createBatchCancelledListener};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var d=Object.defineProperty;var n=(r,e)=>d(r,"name",{value:e,configurable:!0});import{onMount as m,onDestroy as s}from"svelte";import{createMultipartAdapter as u}from"./createMultipartAdapter-
|
|
1
|
+
var d=Object.defineProperty;var n=(r,e)=>d(r,"name",{value:e,configurable:!0});import{onMount as m,onDestroy as s}from"svelte";import{createMultipartAdapter as u}from"./createMultipartAdapter-BNppwu8z.js";var f=Object.defineProperty,c=n((r,e)=>f(r,"name",{value:e,configurable:!0}),"o");const E=c(r=>{const{endpoint:e,metadata:i,onBatchError:p}=r;m(()=>{const t=u({endpoint:e,metadata:i}),o=c(a=>{"itemIds"in a&&p(a)},"handler");t.uploader.on("BATCH_ERROR",o),s(()=>{t.uploader.off("BATCH_ERROR",o)})})},"createBatchErrorListener");export{E as createBatchErrorListener};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var d=Object.defineProperty;var n=(r,e)=>d(r,"name",{value:e,configurable:!0});import{onMount as m,onCleanup as u}from"solid-js";import{createMultipartAdapter as l}from"./createMultipartAdapter-
|
|
1
|
+
var d=Object.defineProperty;var n=(r,e)=>d(r,"name",{value:e,configurable:!0});import{onMount as m,onCleanup as u}from"solid-js";import{createMultipartAdapter as l}from"./createMultipartAdapter-BNppwu8z.js";var f=Object.defineProperty,c=n((r,e)=>f(r,"name",{value:e,configurable:!0}),"o");const E=c(r=>{const{endpoint:e,metadata:i,onBatchError:p}=r;m(()=>{const t=l({endpoint:e,metadata:i}),a=c(o=>{"itemIds"in o&&p(o)},"handler");t.uploader.on("BATCH_ERROR",a),u(()=>{t.uploader.off("BATCH_ERROR",a)})})},"createBatchErrorListener");export{E as createBatchErrorListener};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var d=Object.defineProperty;var n=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as l,onDestroy as m}from"svelte";import{createMultipartAdapter as s}from"./createMultipartAdapter-
|
|
1
|
+
var d=Object.defineProperty;var n=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as l,onDestroy as m}from"svelte";import{createMultipartAdapter as s}from"./createMultipartAdapter-BNppwu8z.js";var u=Object.defineProperty,i=n((e,t)=>u(e,"name",{value:t,configurable:!0}),"a");const F=i(e=>{const{endpoint:t,metadata:c,onBatchFinalize:p}=e;l(()=>{const a=s({endpoint:t,metadata:c}),r=i(o=>{"itemIds"in o&&p(o)},"handler");a.uploader.on("BATCH_FINALIZE",r),m(()=>{a.uploader.off("BATCH_FINALIZE",r)})})},"createBatchFinalizeListener");export{F as createBatchFinalizeListener};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var d=Object.defineProperty;var o=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as l,onCleanup as m}from"solid-js";import{createMultipartAdapter as u}from"./createMultipartAdapter-
|
|
1
|
+
var d=Object.defineProperty;var o=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as l,onCleanup as m}from"solid-js";import{createMultipartAdapter as u}from"./createMultipartAdapter-BNppwu8z.js";var f=Object.defineProperty,i=o((e,t)=>f(e,"name",{value:t,configurable:!0}),"a");const F=i(e=>{const{endpoint:t,metadata:c,onBatchFinalize:p}=e;l(()=>{const a=u({endpoint:t,metadata:c}),n=i(r=>{"itemIds"in r&&p(r)},"handler");a.uploader.on("BATCH_FINALIZE",n),m(()=>{a.uploader.off("BATCH_FINALIZE",n)})})},"createBatchFinalizeListener");export{F as createBatchFinalizeListener};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var s=Object.defineProperty;var n=(e,t)=>s(e,"name",{value:t,configurable:!0});import{onMount as d,onDestroy as m}from"svelte";import{createMultipartAdapter as h}from"./createMultipartAdapter-
|
|
1
|
+
var s=Object.defineProperty;var n=(e,t)=>s(e,"name",{value:t,configurable:!0});import{onMount as d,onDestroy as m}from"svelte";import{createMultipartAdapter as h}from"./createMultipartAdapter-BNppwu8z.js";var u=Object.defineProperty,i=n((e,t)=>u(e,"name",{value:t,configurable:!0}),"o");const F=i(e=>{const{endpoint:t,metadata:c,onBatchFinish:p}=e;d(()=>{const a=h({endpoint:t,metadata:c}),r=i(o=>{"itemIds"in o&&p(o)},"handler");a.uploader.on("BATCH_FINISH",r),m(()=>{a.uploader.off("BATCH_FINISH",r)})})},"createBatchFinishListener");export{F as createBatchFinishListener};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var d=Object.defineProperty;var o=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as s,onCleanup as m}from"solid-js";import{createMultipartAdapter as u}from"./createMultipartAdapter-
|
|
1
|
+
var d=Object.defineProperty;var o=(e,t)=>d(e,"name",{value:t,configurable:!0});import{onMount as s,onCleanup as m}from"solid-js";import{createMultipartAdapter as u}from"./createMultipartAdapter-BNppwu8z.js";var h=Object.defineProperty,i=o((e,t)=>h(e,"name",{value:t,configurable:!0}),"a");const F=i(e=>{const{endpoint:t,metadata:p,onBatchFinish:c}=e;s(()=>{const a=u({endpoint:t,metadata:p}),n=i(r=>{"itemIds"in r&&c(r)},"handler");a.uploader.on("BATCH_FINISH",n),m(()=>{a.uploader.off("BATCH_FINISH",n)})})},"createBatchFinishListener");export{F as createBatchFinishListener};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var c=Object.defineProperty;var n=(e,r)=>c(e,"name",{value:r,configurable:!0});import{onMount as d,onCleanup as m}from"solid-js";import{createMultipartAdapter as u}from"./createMultipartAdapter-
|
|
1
|
+
var c=Object.defineProperty;var n=(e,r)=>c(e,"name",{value:r,configurable:!0});import{onMount as d,onCleanup as m}from"solid-js";import{createMultipartAdapter as u}from"./createMultipartAdapter-BNppwu8z.js";var l=Object.defineProperty,s=n((e,r)=>l(e,"name",{value:r,configurable:!0}),"o");const g=s(e=>{const{endpoint:r,metadata:i,onBatchProgress:p}=e;d(()=>{const t=u({endpoint:r,metadata:i}),a=s(o=>{"itemIds"in o&&p(o)},"handler");t.uploader.on("BATCH_PROGRESS",a),m(()=>{t.uploader.off("BATCH_PROGRESS",a)})})},"createBatchProgressListener");export{g as createBatchProgressListener};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var p=Object.defineProperty;var n=(e,r)=>p(e,"name",{value:r,configurable:!0});import{onMount as d,onDestroy as m}from"svelte";import{createMultipartAdapter as u}from"./createMultipartAdapter-
|
|
1
|
+
var p=Object.defineProperty;var n=(e,r)=>p(e,"name",{value:r,configurable:!0});import{onMount as d,onDestroy as m}from"svelte";import{createMultipartAdapter as u}from"./createMultipartAdapter-BNppwu8z.js";var f=Object.defineProperty,s=n((e,r)=>f(e,"name",{value:r,configurable:!0}),"o");const g=s(e=>{const{endpoint:r,metadata:i,onBatchProgress:c}=e;d(()=>{const t=u({endpoint:r,metadata:i}),o=s(a=>{"itemIds"in a&&c(a)},"handler");t.uploader.on("BATCH_PROGRESS",o),m(()=>{t.uploader.off("BATCH_PROGRESS",o)})})},"createBatchProgressListener");export{g as createBatchProgressListener};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var p=Object.defineProperty;var r=(t,e)=>p(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as d}from"./createMultipartAdapter-
|
|
1
|
+
var p=Object.defineProperty;var r=(t,e)=>p(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as d}from"./createMultipartAdapter-BNppwu8z.js";var i=Object.defineProperty,a=r((t,e)=>i(t,"name",{value:e,configurable:!0}),"r");const h=a(t=>{const{endpoint:e,metadata:c}=t,n=d({endpoint:e,metadata:c});return{retryBatch:a(o=>{n.uploader.retryBatch(o)},"retryBatch")}},"createBatchRetry");export{h as createBatchRetry};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var p=Object.defineProperty;var r=(t,e)=>p(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as d}from"./createMultipartAdapter-
|
|
1
|
+
var p=Object.defineProperty;var r=(t,e)=>p(t,"name",{value:e,configurable:!0});import{createMultipartAdapter as d}from"./createMultipartAdapter-BNppwu8z.js";var i=Object.defineProperty,a=r((t,e)=>i(t,"name",{value:e,configurable:!0}),"r");const h=a(t=>{const{endpoint:e,metadata:c}=t,n=d({endpoint:e,metadata:c});return{retryBatch:a(o=>{n.uploader.retryBatch(o)},"retryBatch")}},"createBatchRetry");export{h as createBatchRetry};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var d=Object.defineProperty;var n=(t,e)=>d(t,"name",{value:e,configurable:!0});import{onMount as m,onDestroy as s}from"svelte";import{createMultipartAdapter as u}from"./createMultipartAdapter-
|
|
1
|
+
var d=Object.defineProperty;var n=(t,e)=>d(t,"name",{value:e,configurable:!0});import{onMount as m,onDestroy as s}from"svelte";import{createMultipartAdapter as u}from"./createMultipartAdapter-BNppwu8z.js";var f=Object.defineProperty,c=n((t,e)=>f(t,"name",{value:e,configurable:!0}),"e");const B=c(t=>{const{endpoint:e,metadata:i,onBatchStart:p}=t;m(()=>{const a=u({endpoint:e,metadata:i}),r=c(o=>{"itemIds"in o&&p(o)},"handler");a.uploader.on("BATCH_START",r),s(()=>{a.uploader.off("BATCH_START",r)})})},"createBatchStartListener");export{B as createBatchStartListener};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var d=Object.defineProperty;var n=(t,e)=>d(t,"name",{value:e,configurable:!0});import{onMount as m,onCleanup as u}from"solid-js";import{createMultipartAdapter as l}from"./createMultipartAdapter-
|
|
1
|
+
var d=Object.defineProperty;var n=(t,e)=>d(t,"name",{value:e,configurable:!0});import{onMount as m,onCleanup as u}from"solid-js";import{createMultipartAdapter as l}from"./createMultipartAdapter-BNppwu8z.js";var f=Object.defineProperty,c=n((t,e)=>f(t,"name",{value:e,configurable:!0}),"e");const B=c(t=>{const{endpoint:e,metadata:i,onBatchStart:p}=t;m(()=>{const a=l({endpoint:e,metadata:i}),r=c(o=>{"itemIds"in o&&p(o)},"handler");a.uploader.on("BATCH_START",r),u(()=>{a.uploader.off("BATCH_START",r)})})},"createBatchStartListener");export{B as createBatchStartListener};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var N=Object.defineProperty;var S=(l,p)=>N(l,"name",{value:p,configurable:!0});import{onMount as O,onDestroy as P}from"svelte";import{writable as n,get as A}from"svelte/store";import{createMultipartAdapter as L}from"./createMultipartAdapter-
|
|
1
|
+
var N=Object.defineProperty;var S=(l,p)=>N(l,"name",{value:p,configurable:!0});import{onMount as O,onDestroy as P}from"svelte";import{writable as n,get as A}from"svelte/store";import{createMultipartAdapter as L}from"./createMultipartAdapter-BNppwu8z.js";var U=Object.defineProperty,a=S((l,p)=>U(l,"name",{value:p,configurable:!0}),"r");const w=a(l=>{const{endpoint:p,metadata:E,onError:_,onProgress:b,onStart:y,onSuccess:v}=l,u=n([]),i=n(0),d=n(!1),B=n(void 0),f=n(0),m=n(0),c=n(void 0),C=L({endpoint:p,metadata:E});return O(()=>{const{uploader:t}=C,R=a(o=>{if("itemIds"in o){const e=o;c.set(e.id),d.set(!0),i.set(0),B.set(void 0),f.set(0),m.set(0),u.set(t.getBatchItems(e.id)),y?.(e.id)}},"onBatchStart"),T=a(o=>{if("itemIds"in o){const e=o;e.id===A(c)&&(i.set(e.progress),f.set(e.completedCount),m.set(e.errorCount),u.set(t.getBatchItems(e.id)),b?.(e.progress,e.id))}},"onBatchProgress"),g=a(o=>{if("itemIds"in o){const e=o;if(e.id===A(c)){const h=t.getBatchItems(e.id).filter(s=>s.status==="completed").map(s=>{let r={};try{s.uploadResponse?.data&&typeof s.uploadResponse.data=="object"?r=s.uploadResponse.data:s.uploadResponse?.response&&(r=JSON.parse(s.uploadResponse.response))}catch{}return{bytesWritten:r.bytesWritten,contentType:r.contentType??s.file.type,createdAt:r.createdAt,filename:r.originalName??s.file.name,id:r.id??s.id,metadata:r.metadata,name:r.name,originalName:r.originalName??s.file.name,size:r.size??s.file.size,status:r.status??"completed",url:s.url}});i.set(100),d.set(!1),v?.(h,e.id)}}},"onBatchFinish"),H=a(o=>{if("itemIds"in o){const e=o;if(e.id===A(c)){const h=new Error(`Batch upload failed: ${e.errorCount} file(s) failed`);B.set(h),d.set(!1),m.set(e.errorCount),f.set(e.completedCount),_?.(h,e.id)}}},"onBatchError"),I=a(o=>{"itemIds"in o&&o.id===A(c)&&(d.set(!1),i.set(0))},"onBatchCancelled");t.on("BATCH_START",R),t.on("BATCH_PROGRESS",T),t.on("BATCH_FINISH",g),t.on("BATCH_ERROR",H),t.on("BATCH_CANCELLED",I),P(()=>{t.off("BATCH_START",R),t.off("BATCH_PROGRESS",T),t.off("BATCH_FINISH",g),t.off("BATCH_ERROR",H),t.off("BATCH_CANCELLED",I)})}),{abortBatch:a(t=>{C.abortBatch(t)},"abortBatch"),completedCount:f,error:B,errorCount:m,isUploading:d,items:u,progress:i,reset:a(()=>{C.clear(),i.set(0),d.set(!1),B.set(void 0),u.set([]),f.set(0),m.set(0),c.set(void 0)},"reset"),uploadBatch:a(t=>t.length===0?[]:C.uploadBatch(t),"uploadBatch")}},"createBatchUpload");export{w as createBatchUpload};
|