@visulima/storage 1.0.0-alpha.2 → 1.0.0-alpha.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/CHANGELOG.md +263 -0
  2. package/LICENSE.md +1256 -512
  3. package/README.md +4 -4
  4. package/dist/adapter/nuxt/module.d.ts +41 -34
  5. package/dist/adapter/nuxt/module.js +1 -93
  6. package/dist/handler/http/fetch/index.d.ts +297 -4
  7. package/dist/handler/http/fetch/index.js +1 -4
  8. package/dist/handler/http/hono/index.d.ts +1474 -58
  9. package/dist/handler/http/hono/index.js +1 -65
  10. package/dist/handler/http/nextjs/index.d.ts +66 -58
  11. package/dist/handler/http/nextjs/index.js +1 -37
  12. package/dist/handler/http/node/index.d.ts +361 -4
  13. package/dist/handler/http/node/index.js +1 -4
  14. package/dist/handler/http/solid-start/index.d.ts +66 -57
  15. package/dist/handler/http/solid-start/index.js +1 -44
  16. package/dist/index.d.ts +376 -17
  17. package/dist/index.js +1 -13
  18. package/dist/openapi/index.d.ts +24 -5
  19. package/dist/openapi/index.js +1 -5
  20. package/dist/packem_shared/AwsLightFile-BTLiRxXj.js +1 -0
  21. package/dist/packem_shared/AwsLightMetaStorage-DHz1nf_H.js +1 -0
  22. package/dist/packem_shared/AwsLightStorage-CA9cdfJ6.js +1 -0
  23. package/dist/packem_shared/AzureFile-BKHru1zB.js +1 -0
  24. package/dist/packem_shared/AzureSMetaStorage-BqA4jUDJ.js +1 -0
  25. package/dist/packem_shared/AzureStorage-BKUjCymW.js +1 -0
  26. package/dist/packem_shared/BaseTransformer-D68eLyz1.js +1 -0
  27. package/dist/packem_shared/DiskStorage-DNjpDMX9.js +1 -0
  28. package/dist/packem_shared/DiskStorageWithChecksum-Bb6JX_tC.js +1 -0
  29. package/dist/packem_shared/ERRORS-B9jkvKwx.js +1 -0
  30. package/dist/packem_shared/File-alcSNpLq.js +1 -0
  31. package/dist/packem_shared/GCSConfig-BQ0OpVhe.js +1 -0
  32. package/dist/packem_shared/GCSFile-CHjX_fJk.js +1 -0
  33. package/dist/packem_shared/GCSMetaStorage-BRDiGnC1.js +1 -0
  34. package/dist/packem_shared/GCStorage-BPkZ9tex.js +1 -0
  35. package/dist/packem_shared/LocalMetaStorage-BWuFvWn4.js +1 -0
  36. package/dist/packem_shared/MediaTransformer-2C8MJeAg.js +1 -0
  37. package/dist/packem_shared/MetaStorage-Y4m1dWgd.js +1 -0
  38. package/dist/packem_shared/Metadata-B6Ir0KO7.js +1 -0
  39. package/dist/packem_shared/Multipart-Bd9YFFn0.js +1 -0
  40. package/dist/packem_shared/Multipart-D5bcEvga.js +1 -0
  41. package/dist/packem_shared/NetlifyBlobFile-CpzkMKng.js +1 -0
  42. package/dist/packem_shared/NetlifyBlobMetaStorage-dD0oBLom.js +1 -0
  43. package/dist/packem_shared/NetlifyBlobStorage-ByTwCN-h.js +1 -0
  44. package/dist/packem_shared/NoOpMetrics-Dky06sf1.js +1 -0
  45. package/dist/packem_shared/OpenTelemetryMetrics-9uxQMSlg.js +1 -0
  46. package/dist/packem_shared/Rest-CYEBbtCD.js +1 -0
  47. package/dist/packem_shared/Rest-DoonVU7B.js +1 -0
  48. package/dist/packem_shared/S3Client.d-CZ62Jztg.d.ts +20357 -0
  49. package/dist/packem_shared/S3File-Du6wP0Sz.js +1 -0
  50. package/dist/packem_shared/S3MetaStorage-vcriiosn.js +1 -0
  51. package/dist/packem_shared/S3Storage-Fx6-OSc-.js +1 -0
  52. package/dist/packem_shared/TUS_RESUMABLE-B7KtPVeC.js +1 -0
  53. package/dist/packem_shared/Tus-Bd_2Ki2G.js +1 -0
  54. package/dist/packem_shared/Tus-CUBCkuPE.js +1 -0
  55. package/dist/packem_shared/ValidationError-D8KKJiKA.js +1 -0
  56. package/dist/packem_shared/VercelBlobFile-CL9MjKcY.js +1 -0
  57. package/dist/packem_shared/VercelBlobMetaStorage-BsOTx-Su.js +1 -0
  58. package/dist/packem_shared/VercelBlobStorage-kNkk5Cn4.js +1 -0
  59. package/dist/packem_shared/_commonjsHelpers-D6W6KoPK.js +1 -0
  60. package/dist/packem_shared/aws-light-meta-storage-TPyQwLvk.js +4 -0
  61. package/dist/packem_shared/backblaze-DEflv87m.js +1 -0
  62. package/dist/packem_shared/base-handler-core-DaggCVsq.js +1 -0
  63. package/dist/packem_shared/base-handler-fetch-DnarP64X.js +1 -0
  64. package/dist/packem_shared/base-handler-node-BTes6sql.js +1 -0
  65. package/dist/packem_shared/cache-qV_5Umeq.js +1 -0
  66. package/dist/packem_shared/cloudflare-DLAeQvgD.js +1 -0
  67. package/dist/packem_shared/defaultCloudStorageFileNameValidation-yiM9GxHr.js +1 -0
  68. package/dist/packem_shared/digitalOcean-nhZUds87.js +1 -0
  69. package/dist/packem_shared/disk-storage-BvdK4bqF.js +5 -0
  70. package/dist/packem_shared/disk-storage-with-checksum.d-CaMptIUg.d.ts +148 -0
  71. package/dist/packem_shared/gcs-meta-storage-DZMf4IHn.js +1 -0
  72. package/dist/packem_shared/has-content-Bx2p8Okx.js +1 -0
  73. package/dist/packem_shared/headers-DC2MEOrK.js +27 -0
  74. package/dist/packem_shared/is-expired-1JuZjDtb.js +1 -0
  75. package/dist/packem_shared/isRetryableError-DQNSZiBc.js +1 -0
  76. package/dist/packem_shared/isValidMediaType-B-2UKjZx.js +1 -0
  77. package/dist/packem_shared/local-meta-storage-Bkwqi_gi.js +1 -0
  78. package/dist/packem_shared/local-meta-storage.d-CGSVabni.d.ts +20 -0
  79. package/dist/packem_shared/media-transformer.d-CLxm_69K.d.ts +331 -0
  80. package/dist/packem_shared/minio-BWwgGXeE.js +1 -0
  81. package/dist/packem_shared/multipart-base-C6OjBwMS.js +1 -0
  82. package/dist/packem_shared/part-match-DqD5U7An.js +1 -0
  83. package/dist/packem_shared/path-D7rMc9nq-B718mbm6.js +1 -0
  84. package/dist/packem_shared/response-builder-Wdo_fvcF.js +1 -0
  85. package/dist/packem_shared/rest-base-B2Dv7esY.js +1 -0
  86. package/dist/packem_shared/restOpenApiSpec-PaIVbESh.js +1 -0
  87. package/dist/packem_shared/s3-base-storage-xHZNtsGe.js +1 -0
  88. package/dist/packem_shared/s3-base-storage.d-BkRmde_Q.d.ts +251 -0
  89. package/dist/packem_shared/sharedGet-Ce7WGAsc.js +1 -0
  90. package/dist/packem_shared/storage-m_Cxgiih.js +1 -0
  91. package/dist/packem_shared/storage.d-Cxs42eEK.d.ts +939 -0
  92. package/dist/packem_shared/tigris-DZoyrMNd.js +1 -0
  93. package/dist/packem_shared/transformOpenApiSpec-C0vEbDTO.js +1 -0
  94. package/dist/packem_shared/tus-base.d-dim7udrK.d.ts +99 -0
  95. package/dist/packem_shared/tusOpenApiSpec-DF0-hlWV.js +1 -0
  96. package/dist/packem_shared/types.d-76N78ehR.d.ts +708 -0
  97. package/dist/packem_shared/types.d-LqXtPPaF.d.ts +49 -0
  98. package/dist/packem_shared/update-size-DANV7aa2.js +1 -0
  99. package/dist/packem_shared/validator-DK41xp8N.js +1 -0
  100. package/dist/packem_shared/waitForStorage-ChSBLhLc.js +1 -0
  101. package/dist/packem_shared/wasabi-Dmce4x9s.js +1 -0
  102. package/dist/packem_shared/xhrOpenApiSpec-nyoboz83.js +1 -0
  103. package/dist/storage/aws/clients/index.d.ts +166 -6
  104. package/dist/storage/aws/clients/index.js +1 -6
  105. package/dist/storage/aws/index.d.ts +320 -4
  106. package/dist/storage/aws/index.js +1 -3
  107. package/dist/storage/aws-light/index.d.ts +252 -4
  108. package/dist/storage/aws-light/index.js +1 -3
  109. package/dist/storage/azure/index.d.ts +10422 -4
  110. package/dist/storage/azure/index.js +1 -3
  111. package/dist/storage/gcs/index.d.ts +4107 -5
  112. package/dist/storage/gcs/index.js +1 -4
  113. package/dist/storage/local/index.d.ts +7 -4
  114. package/dist/storage/local/index.js +1 -3
  115. package/dist/storage/netlify-blob/index.d.ts +142 -4
  116. package/dist/storage/netlify-blob/index.js +1 -3
  117. package/dist/storage/vercel-blob/index.d.ts +129 -4
  118. package/dist/storage/vercel-blob/index.js +1 -3
  119. package/dist/transformer/audio-transformer.d.ts +127 -125
  120. package/dist/transformer/audio-transformer.js +1 -278
  121. package/dist/transformer/image-transformer.d.ts +569 -568
  122. package/dist/transformer/image-transformer.js +1 -1100
  123. package/dist/transformer/index.d.ts +62 -5
  124. package/dist/transformer/index.js +1 -4
  125. package/dist/transformer/video-transformer.d.ts +144 -142
  126. package/dist/transformer/video-transformer.js +1 -310
  127. package/package.json +45 -45
  128. package/dist/handler/base/base-handler-core.d.ts +0 -91
  129. package/dist/handler/base/base-handler-fetch.d.ts +0 -76
  130. package/dist/handler/base/base-handler-node.d.ts +0 -137
  131. package/dist/handler/multipart/multipart-base.d.ts +0 -84
  132. package/dist/handler/multipart/multipart-fetch.d.ts +0 -64
  133. package/dist/handler/multipart/multipart.d.ts +0 -49
  134. package/dist/handler/rest/rest-base.d.ts +0 -106
  135. package/dist/handler/rest/rest-fetch.d.ts +0 -88
  136. package/dist/handler/rest/rest.d.ts +0 -93
  137. package/dist/handler/tus/tus-base.d.ts +0 -152
  138. package/dist/handler/tus/tus-fetch.d.ts +0 -72
  139. package/dist/handler/tus/tus.d.ts +0 -78
  140. package/dist/handler/types.d.ts +0 -53
  141. package/dist/handler/utils/request-parser.d.ts +0 -72
  142. package/dist/handler/utils/response-builder.d.ts +0 -83
  143. package/dist/handler/utils/storage-utils.d.ts +0 -10
  144. package/dist/handler/utils/stream-utils.d.ts +0 -29
  145. package/dist/handler/utils/upload-handlers.d.ts +0 -76
  146. package/dist/metrics/index.d.ts +0 -2
  147. package/dist/metrics/no-op-metrics.d.ts +0 -15
  148. package/dist/metrics/opentelemetry-metrics.d.ts +0 -55
  149. package/dist/openapi/rest.d.ts +0 -7
  150. package/dist/openapi/shared.d.ts +0 -13
  151. package/dist/openapi/transform.d.ts +0 -3
  152. package/dist/openapi/tus.d.ts +0 -7
  153. package/dist/openapi/xhr.d.ts +0 -7
  154. package/dist/packem_shared/AwsLightFile-tTneXZgG.js +0 -11
  155. package/dist/packem_shared/AwsLightMetaStorage-BWSOtVaN.js +0 -4
  156. package/dist/packem_shared/AwsLightStorage-Cwkkc-z3.js +0 -133
  157. package/dist/packem_shared/AzureFile-CesgFzps.js +0 -8
  158. package/dist/packem_shared/AzureSMetaStorage-CFs-OYJT.js +0 -88
  159. package/dist/packem_shared/AzureStorage-9MoV2W8q.js +0 -357
  160. package/dist/packem_shared/BaseTransformer-C2gLib6v.js +0 -82
  161. package/dist/packem_shared/DiskStorage-CJtTzMQ3.js +0 -12
  162. package/dist/packem_shared/DiskStorageWithChecksum-BgrG8pvC.js +0 -238
  163. package/dist/packem_shared/ERRORS-D0apMqnc.js +0 -97
  164. package/dist/packem_shared/File-Bb3P23dr.js +0 -69
  165. package/dist/packem_shared/GCSConfig-vPP22kN6.js +0 -11
  166. package/dist/packem_shared/GCSFile-BIEunhAN.js +0 -8
  167. package/dist/packem_shared/GCSMetaStorage-sYiSjLUx.js +0 -7
  168. package/dist/packem_shared/GCStorage-DPl1_DAm.js +0 -406
  169. package/dist/packem_shared/LocalMetaStorage-CZHhKkMd.js +0 -7
  170. package/dist/packem_shared/MediaTransformer-D6658DL1.js +0 -1197
  171. package/dist/packem_shared/MetaStorage-pECeFOad.js +0 -46
  172. package/dist/packem_shared/Metadata-DRLXeJ0F.js +0 -89
  173. package/dist/packem_shared/Multipart-CNFK_Okz.js +0 -163
  174. package/dist/packem_shared/Multipart-CtUL7BQw.js +0 -128
  175. package/dist/packem_shared/NetlifyBlobFile-CXzyjqrD.js +0 -14
  176. package/dist/packem_shared/NetlifyBlobMetaStorage-DxZ5aDvD.js +0 -9
  177. package/dist/packem_shared/NetlifyBlobStorage-C6AX-X0P.js +0 -376
  178. package/dist/packem_shared/NoOpMetrics-DhAk5rXc.js +0 -10
  179. package/dist/packem_shared/OpenTelemetryMetrics-BnxhqIaH.js +0 -67
  180. package/dist/packem_shared/Rest-CAOAEkOj.js +0 -267
  181. package/dist/packem_shared/Rest-DNuLwBrK.js +0 -228
  182. package/dist/packem_shared/S3File-DZiyk9Qt.js +0 -11
  183. package/dist/packem_shared/S3MetaStorage-Dz9aDabA.js +0 -76
  184. package/dist/packem_shared/S3Storage-CgheE2yH.js +0 -316
  185. package/dist/packem_shared/TUS_RESUMABLE-GJzZ9R-f.js +0 -434
  186. package/dist/packem_shared/Tus-B8PmlMgR.js +0 -200
  187. package/dist/packem_shared/Tus-C4F1aYOl.js +0 -195
  188. package/dist/packem_shared/ValidationError-BfF1aE4h.js +0 -26
  189. package/dist/packem_shared/VercelBlobFile-BCg4aTEq.js +0 -18
  190. package/dist/packem_shared/VercelBlobMetaStorage-Bd9F-VFm.js +0 -9
  191. package/dist/packem_shared/VercelBlobStorage-BbuEYhOz.js +0 -261
  192. package/dist/packem_shared/_commonjsHelpers-B85MJLTf.js +0 -5
  193. package/dist/packem_shared/aws-light-meta-storage-DKJBgbR6.js +0 -446
  194. package/dist/packem_shared/backblaze-BlMnIcBC.js +0 -20
  195. package/dist/packem_shared/base-handler-core-BKuf4YLT.js +0 -303
  196. package/dist/packem_shared/base-handler-fetch-Cr0hLiqg.js +0 -291
  197. package/dist/packem_shared/base-handler-node-gk5aN9Cx.js +0 -730
  198. package/dist/packem_shared/cache-B88MXQ_2.js +0 -18
  199. package/dist/packem_shared/cloudflare-Bi1q8wXE.js +0 -21
  200. package/dist/packem_shared/defaultCloudStorageFileNameValidation-oVDgf-Sw.js +0 -11
  201. package/dist/packem_shared/digitalOcean-CWQRJM3L.js +0 -21
  202. package/dist/packem_shared/disk-storage-DkDoHnKB.js +0 -810
  203. package/dist/packem_shared/gcs-meta-storage-etw4wuh5.js +0 -158
  204. package/dist/packem_shared/has-content-CY66ehMK.js +0 -3
  205. package/dist/packem_shared/headers-DoS5nwM-.js +0 -3220
  206. package/dist/packem_shared/is-expired-CTThU1q5.js +0 -8
  207. package/dist/packem_shared/isRetryableError-Dycp7127.js +0 -82
  208. package/dist/packem_shared/isValidMediaType-BeDgiObq.js +0 -35
  209. package/dist/packem_shared/local-meta-storage-By-3SNBI.js +0 -649
  210. package/dist/packem_shared/minio-C2YBZQOw.js +0 -22
  211. package/dist/packem_shared/multipart-base-B3i67SSX.js +0 -102
  212. package/dist/packem_shared/part-match-BMNqHDYD.js +0 -96
  213. package/dist/packem_shared/path-CR6YkPXX-7R1-9CMk.js +0 -161
  214. package/dist/packem_shared/response-builder-BtnRiBUI.js +0 -45
  215. package/dist/packem_shared/rest-base-GRCcnan7.js +0 -457
  216. package/dist/packem_shared/restOpenApiSpec-CwcHHY2C.js +0 -800
  217. package/dist/packem_shared/s3-base-storage-xw6NJFX7.js +0 -510
  218. package/dist/packem_shared/sharedGet-Cpo7QUyu.js +0 -1019
  219. package/dist/packem_shared/storage-BwdYUHs3.js +0 -864
  220. package/dist/packem_shared/tigris-Hac8TKnX.js +0 -21
  221. package/dist/packem_shared/transformOpenApiSpec-DWM5WtnN.js +0 -975
  222. package/dist/packem_shared/tusOpenApiSpec-6ohiToBy.js +0 -740
  223. package/dist/packem_shared/update-size-CCGm6i1J.js +0 -8
  224. package/dist/packem_shared/validator-BeX_lJet.js +0 -78
  225. package/dist/packem_shared/waitForStorage-Cscw85sx.js +0 -18
  226. package/dist/packem_shared/wasabi-DIyflHSd.js +0 -21
  227. package/dist/packem_shared/xhrOpenApiSpec-DS17brnx.js +0 -264
  228. package/dist/storage/aws/clients/backblaze.d.ts +0 -12
  229. package/dist/storage/aws/clients/cloudflare.d.ts +0 -13
  230. package/dist/storage/aws/clients/digital-ocean.d.ts +0 -12
  231. package/dist/storage/aws/clients/minio.d.ts +0 -13
  232. package/dist/storage/aws/clients/tigris.d.ts +0 -12
  233. package/dist/storage/aws/clients/types.d.ts +0 -95
  234. package/dist/storage/aws/clients/wasabi.d.ts +0 -12
  235. package/dist/storage/aws/s3-base-storage.d.ts +0 -248
  236. package/dist/storage/aws/s3-client-adapter.d.ts +0 -110
  237. package/dist/storage/aws/s3-file.d.ts +0 -10
  238. package/dist/storage/aws/s3-meta-storage.d.ts +0 -15
  239. package/dist/storage/aws/s3-storage.d.ts +0 -70
  240. package/dist/storage/aws/types.d.ts +0 -119
  241. package/dist/storage/aws-light/aws-light-api-adapter.d.ts +0 -130
  242. package/dist/storage/aws-light/aws-light-file.d.ts +0 -10
  243. package/dist/storage/aws-light/aws-light-meta-storage.d.ts +0 -19
  244. package/dist/storage/aws-light/aws-light-storage.d.ts +0 -65
  245. package/dist/storage/aws-light/types.d.ts +0 -37
  246. package/dist/storage/azure/azure-file.d.ts +0 -6
  247. package/dist/storage/azure/azure-meta-storage.d.ts +0 -15
  248. package/dist/storage/azure/azure-storage.d.ts +0 -69
  249. package/dist/storage/azure/types.d.ts +0 -62
  250. package/dist/storage/gcs/fetch-error.d.ts +0 -11
  251. package/dist/storage/gcs/gcs-config.d.ts +0 -2
  252. package/dist/storage/gcs/gcs-file.d.ts +0 -6
  253. package/dist/storage/gcs/gcs-meta-storage.d.ts +0 -27
  254. package/dist/storage/gcs/gcs-storage.d.ts +0 -91
  255. package/dist/storage/gcs/types.d.ts +0 -55
  256. package/dist/storage/gcs/utils.d.ts +0 -7
  257. package/dist/storage/local/disk-storage-with-checksum.d.ts +0 -15
  258. package/dist/storage/local/disk-storage.d.ts +0 -135
  259. package/dist/storage/local/local-meta-storage.d.ts +0 -32
  260. package/dist/storage/meta-storage.d.ts +0 -30
  261. package/dist/storage/netlify-blob/netlify-blob-file.d.ts +0 -12
  262. package/dist/storage/netlify-blob/netlify-blob-meta-storage.d.ts +0 -7
  263. package/dist/storage/netlify-blob/netlify-blob-storage.d.ts +0 -93
  264. package/dist/storage/netlify-blob/types.d.ts +0 -30
  265. package/dist/storage/storage.d.ts +0 -353
  266. package/dist/storage/types.d.ts +0 -221
  267. package/dist/storage/utils/file/file.d.ts +0 -25
  268. package/dist/storage/utils/file/get-file-status.d.ts +0 -9
  269. package/dist/storage/utils/file/has-content.d.ts +0 -9
  270. package/dist/storage/utils/file/index.d.ts +0 -10
  271. package/dist/storage/utils/file/is-expired.d.ts +0 -8
  272. package/dist/storage/utils/file/metadata.d.ts +0 -18
  273. package/dist/storage/utils/file/part-match.d.ts +0 -11
  274. package/dist/storage/utils/file/types.d.ts +0 -37
  275. package/dist/storage/utils/file/update-metadata.d.ts +0 -10
  276. package/dist/storage/utils/file/update-size.d.ts +0 -10
  277. package/dist/storage/vercel-blob/types.d.ts +0 -32
  278. package/dist/storage/vercel-blob/vercel-blob-file.d.ts +0 -16
  279. package/dist/storage/vercel-blob/vercel-blob-meta-storage.d.ts +0 -7
  280. package/dist/storage/vercel-blob/vercel-blob-storage.d.ts +0 -76
  281. package/dist/transformer/base-transformer.d.ts +0 -63
  282. package/dist/transformer/media-transformer.d.ts +0 -332
  283. package/dist/transformer/types.d.ts +0 -652
  284. package/dist/transformer/utils.d.ts +0 -33
  285. package/dist/transformer/validation-error.d.ts +0 -23
  286. package/dist/utils/cache.d.ts +0 -32
  287. package/dist/utils/chunked-upload.d.ts +0 -65
  288. package/dist/utils/detect-file-type.d.ts +0 -28
  289. package/dist/utils/errors.d.ts +0 -74
  290. package/dist/utils/file-path-url-matcher.d.ts +0 -18
  291. package/dist/utils/headers.d.ts +0 -111
  292. package/dist/utils/http.d.ts +0 -92
  293. package/dist/utils/locker.d.ts +0 -26
  294. package/dist/utils/pipes/stream-checksum.d.ts +0 -47
  295. package/dist/utils/pipes/stream-length.d.ts +0 -22
  296. package/dist/utils/primitives/get-last-one.d.ts +0 -3
  297. package/dist/utils/primitives/is-record.d.ts +0 -2
  298. package/dist/utils/primitives/map-values.d.ts +0 -9
  299. package/dist/utils/primitives/pick.d.ts +0 -2
  300. package/dist/utils/primitives/to-milliseconds.d.ts +0 -12
  301. package/dist/utils/primitives/to-seconds.d.ts +0 -12
  302. package/dist/utils/range-checksum.d.ts +0 -33
  303. package/dist/utils/range-hasher.d.ts +0 -46
  304. package/dist/utils/retry.d.ts +0 -64
  305. package/dist/utils/types.d.ts +0 -108
  306. package/dist/utils/validation-error.d.ts +0 -22
  307. package/dist/utils/validator.d.ts +0 -36
@@ -1,8 +0,0 @@
1
- const updateSize = (file, size) => {
2
- if (size < file.size) {
3
- file.size = size;
4
- }
5
- return file;
6
- };
7
-
8
- export { updateSize as u };
@@ -1,78 +0,0 @@
1
- import { ErrorMap } from './ERRORS-D0apMqnc.js';
2
-
3
- class ValidationError extends Error {
4
- code;
5
- statusCode;
6
- body;
7
- headers;
8
- name = "ValidationError";
9
- /**
10
- * Creates a new ValidationError instance.
11
- * @param code Machine-readable error code
12
- * @param statusCode HTTP status code for the error
13
- * @param body Error response body (string or structured object)
14
- * @param headers HTTP headers to include in error response
15
- */
16
- constructor(code, statusCode, body, headers) {
17
- const message = typeof body === "string" ? body : body?.message || "Validation error";
18
- super(message);
19
- this.code = code;
20
- this.statusCode = statusCode;
21
- this.body = body;
22
- this.headers = headers;
23
- }
24
- }
25
-
26
- const capitalize = (s) => s && s[0].toUpperCase() + s.slice(1);
27
- const toResponse = (response) => {
28
- if (!Array.isArray(response)) {
29
- return response;
30
- }
31
- const [statusCode, body, headers] = response;
32
- return { body, headers, statusCode };
33
- };
34
- class Validator {
35
- /**
36
- * Creates a new Validator instance.
37
- * @param prefix Prefix for generated error codes (default: "ValidationError")
38
- */
39
- constructor(prefix = "ValidationError") {
40
- this.prefix = prefix;
41
- }
42
- validators = {};
43
- /**
44
- * Adds validation rules to the validator.
45
- * Each rule must include an `isValid` function.
46
- * @param config Validation configuration object
47
- * @throws TypeError if any validator is missing the isValid function
48
- */
49
- add(config) {
50
- Object.entries(config).forEach(([key, validator]) => {
51
- const code = `${this.prefix}${capitalize(key)}`;
52
- this.validators[code] = { ...this.validators[code], ...validator };
53
- if (typeof this.validators[code].isValid !== "function") {
54
- throw new TypeError('Validation config "isValid" is missing, or it is not a function!');
55
- }
56
- });
57
- }
58
- /**
59
- * Verifies an object against all configured validation rules.
60
- * Throws ValidationError on first validation failure.
61
- * @param t Object to validate
62
- * @throws ValidationError if validation fails
63
- */
64
- async verify(t) {
65
- for (const [code, validator] of Object.entries(this.validators)) {
66
- const isValid = await validator.isValid(t);
67
- if (!isValid) {
68
- const errorResponse = validator.response || (code in ErrorMap ? ErrorMap[code] : ErrorMap.UnknownError);
69
- const response = toResponse(errorResponse);
70
- const { body, headers, message, statusCode } = response;
71
- throw new ValidationError(code, statusCode, body || message, headers);
72
- }
73
- }
74
- }
75
- }
76
- const isValidationError = (error) => error.name === "ValidationError";
77
-
78
- export { ValidationError as V, Validator as a, isValidationError as i };
@@ -1,18 +0,0 @@
1
- const waitForStorage = async (storage, timeoutMs = 5e3) => {
2
- if (storage.isReady) {
3
- return;
4
- }
5
- const startTime = Date.now();
6
- while (!storage.isReady && Date.now() - startTime < timeoutMs) {
7
- await new Promise((resolve) => {
8
- setTimeout(() => {
9
- resolve();
10
- }, 100);
11
- });
12
- }
13
- if (!storage.isReady) {
14
- throw new Error("Storage initialization timeout");
15
- }
16
- };
17
-
18
- export { waitForStorage };
@@ -1,21 +0,0 @@
1
- const wasabi = (parameters) => {
2
- const { accessKeyId, region, secretAccessKey } = parameters ?? {
3
- accessKeyId: process.env.AWS_ACCESS_KEY_ID || process.env.WASABI_ACCESS_KEY_ID || process.env.WASABI_ACCESS_KEY,
4
- region: process.env.AWS_REGION || process.env.WASABI_REGION,
5
- secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY || process.env.WASABI_SECRET_ACCESS_KEY || process.env.WASABI_SECRET_KEY
6
- };
7
- if (!region || !accessKeyId || !secretAccessKey) {
8
- throw new Error("Missing required parameters for Wasabi client.");
9
- }
10
- return {
11
- apiVersion: "2006-03-01",
12
- credentials: {
13
- accessKeyId,
14
- secretAccessKey
15
- },
16
- endpoint: `https://s3.${region}.wasabisys.com`,
17
- region
18
- };
19
- };
20
-
21
- export { wasabi as default };
@@ -1,264 +0,0 @@
1
- import { createHash } from 'node:crypto';
2
- import { createPaginationMetaSchemaObject, createPaginationSchemaObject } from '@visulima/pagination';
3
- import { sharedGetList, sharedGet, sharedGetMeta, sharedFileMetaSchemaObject, sharedErrorSchemaObject, sharedFileMetaExampleObject } from './sharedGet-Cpo7QUyu.js';
4
-
5
- const swaggerSpec = (origin, path, options) => {
6
- const { supportedTransformerFormat, tags, transformer } = { tags: ["Multipart"], transformer: false, ...options };
7
- const pathHash = createHash("sha256").update(path).digest("base64");
8
- return {
9
- components: {
10
- examples: sharedFileMetaExampleObject,
11
- parameters: {
12
- UploadIDinPath: {
13
- description: "Upload ID",
14
- in: "path",
15
- name: "id",
16
- schema: {
17
- type: "string"
18
- }
19
- }
20
- },
21
- responses: {
22
- 404: {
23
- content: {
24
- "application/json": {
25
- example: {
26
- error: {
27
- code: "FileNotFound",
28
- message: "Not found"
29
- }
30
- },
31
- schema: {
32
- $ref: "#/components/schemas/Error"
33
- }
34
- }
35
- },
36
- description: "Not Found"
37
- }
38
- },
39
- schemas: {
40
- ...createPaginationSchemaObject(
41
- "FileMetaPagination",
42
- {
43
- $ref: "#/components/schemas/PaginationMeta"
44
- },
45
- "#/components/schemas/PaginationMeta"
46
- ),
47
- ...createPaginationMetaSchemaObject("PaginationMeta"),
48
- ...sharedErrorSchemaObject,
49
- ...sharedFileMetaSchemaObject
50
- }
51
- },
52
- paths: {
53
- [`${path.replace(/\/$/, "")}/{id}/metadata`]: {
54
- get: sharedGetMeta(`${pathHash}MultipartGetFileMeta`, tags)
55
- },
56
- [`${path.replace(/\/$/, "")}/{id}`]: {
57
- delete: {
58
- description: "Cancel upload",
59
- operationId: `${pathHash}MultipartCancel`,
60
- parameters: [
61
- {
62
- $ref: "#/components/parameters/UploadIDinPath"
63
- }
64
- ],
65
- responses: {
66
- 204: {
67
- description: "No Content"
68
- }
69
- },
70
- summary: "Cancel upload",
71
- tags
72
- },
73
- get: sharedGet(`${pathHash}TusGetFile`, tags, transformer, supportedTransformerFormat)
74
- },
75
- [path.trimEnd()]: {
76
- get: sharedGetList(`${pathHash}MultipartGetList`, tags),
77
- post: {
78
- description: "Create upload",
79
- operationId: `${pathHash}MultipartCreate`,
80
- requestBody: {
81
- content: {
82
- "multipart/form-data": {
83
- schema: {
84
- properties: {
85
- file: {
86
- description: "File to upload",
87
- format: "binary",
88
- type: "string"
89
- },
90
- metadata: {
91
- description: "JSON stringifies metadata",
92
- example: '{ "name": "video.mp4", "mimeType": "video/mp4", "size": 741, "lastModified": 1631750105530 }',
93
- type: "string"
94
- }
95
- },
96
- type: "object"
97
- }
98
- }
99
- },
100
- description: "Upload Metadata",
101
- required: false
102
- },
103
- responses: {
104
- 200: {
105
- description: "The file already exists, send a resume request",
106
- headers: {
107
- ETag: {
108
- description: "Upload ETag",
109
- schema: {
110
- example: "d41d8cd98f00b204e9800998ecf8427e",
111
- type: "string"
112
- }
113
- },
114
- Location: {
115
- description: "Resumable URI",
116
- schema: {
117
- // eslint-disable-next-line no-secrets/no-secrets
118
- example: `${origin}/files?uploadType=Upload&upload_id=2b62dbec20048158af963572fbdf89c6`,
119
- format: "uri",
120
- type: "string"
121
- }
122
- },
123
- "X-Upload-Expires": {
124
- description: "Upload expiration date",
125
- schema: {
126
- example: "2021-08-25T11:12:26.635Z",
127
- format: "date-time",
128
- type: "string"
129
- }
130
- }
131
- }
132
- },
133
- 201: {
134
- description: "Upload accepted, send the file contents",
135
- headers: {
136
- ETag: {
137
- description: "Upload ETag",
138
- schema: {
139
- example: "d41d8cd98f00b204e9800998ecf8427e",
140
- type: "string"
141
- }
142
- },
143
- Location: {
144
- description: "Resumable URI",
145
- schema: {
146
- // eslint-disable-next-line no-secrets/no-secrets
147
- example: `${origin}/files?uploadType=Upload&upload_id=2b62dbec20048158af963572fbdf89c6`,
148
- format: "uri",
149
- type: "string"
150
- }
151
- },
152
- "X-Upload-Expires": {
153
- description: "Upload expiration date",
154
- schema: {
155
- example: "2021-08-25T11:12:26.635Z",
156
- format: "date-time",
157
- type: "string"
158
- }
159
- }
160
- }
161
- },
162
- 400: {
163
- content: {
164
- "application/json": {
165
- example: {
166
- error: {
167
- code: "InvalidFileName",
168
- message: "Invalid file name",
169
- name: "ValidationError"
170
- }
171
- },
172
- schema: {
173
- $ref: "#/components/schemas/Error"
174
- }
175
- }
176
- },
177
- description: "Bad Request"
178
- },
179
- 413: {
180
- content: {
181
- "application/json": {
182
- example: {
183
- error: {
184
- code: "RequestEntityTooLarge",
185
- message: "Request entity too large",
186
- name: "ValidationError"
187
- }
188
- },
189
- schema: {
190
- $ref: "#/components/schemas/Error"
191
- }
192
- }
193
- },
194
- description: "Request Entity Too Large"
195
- },
196
- 415: {
197
- content: {
198
- "application/json": {
199
- example: {
200
- error: {
201
- code: "UnsupportedMediaType",
202
- message: "Unsupported media type",
203
- name: "ValidationError"
204
- }
205
- },
206
- schema: {
207
- $ref: "#/components/schemas/Error"
208
- }
209
- }
210
- },
211
- description: "Unsupported Media Type"
212
- },
213
- 423: {
214
- content: {
215
- "application/json": {
216
- example: {
217
- error: {
218
- code: "FileLocked",
219
- message: "File locked"
220
- }
221
- },
222
- schema: {
223
- $ref: "#/components/schemas/Error"
224
- }
225
- }
226
- },
227
- description: "File locked"
228
- },
229
- 500: {
230
- content: {
231
- "application/json": {
232
- example: {
233
- error: {
234
- code: "GenericUploadError",
235
- message: "Generic Upload Error"
236
- }
237
- },
238
- schema: {
239
- $ref: "#/components/schemas/Error"
240
- }
241
- }
242
- },
243
- description: "Internal Server Error"
244
- },
245
- default: {
246
- content: {
247
- "application/json": {
248
- schema: {
249
- $ref: "#/components/schemas/Error"
250
- }
251
- }
252
- },
253
- description: "Error"
254
- }
255
- },
256
- summary: "Create upload",
257
- tags
258
- }
259
- }
260
- }
261
- };
262
- };
263
-
264
- export { swaggerSpec as default };
@@ -1,12 +0,0 @@
1
- import type { S3ClientConfig } from "@aws-sdk/client-s3";
2
- import type { CreateBackblazeClientParameters } from "./types.d.ts";
3
- /**
4
- * Create a Backblaze B2 client, compatible with the S3 API.
5
- *
6
- * Optionally, you can omit the parameters and use the following environment variables:
7
- * - `B2_REGION`
8
- * - `B2_APP_KEY_ID`
9
- * - `B2_APP_KEY`
10
- */
11
- export declare const backblaze: (parameters?: CreateBackblazeClientParameters) => S3ClientConfig;
12
- export default backblaze;
@@ -1,13 +0,0 @@
1
- import type { S3ClientConfig } from "@aws-sdk/client-s3";
2
- import type { CreateCloudflareClientParameters } from "./types.d.ts";
3
- /**
4
- * Create a Cloudflare R2 client, compatible with the S3 API.
5
- *
6
- * Optionally, you can omit the parameters and use the following environment variables:
7
- * - `CLOUDFLARE_ACCOUNT_ID`
8
- * - `AWS_ACCESS_KEY_ID`
9
- * - `AWS_SECRET_ACCESS_KEY`
10
- * - `CLOUDFLARE_JURISDICTION`
11
- */
12
- export declare const cloudflare: (parameters?: CreateCloudflareClientParameters) => S3ClientConfig;
13
- export default cloudflare;
@@ -1,12 +0,0 @@
1
- import type { S3ClientConfig } from "@aws-sdk/client-s3";
2
- import type { CreateDigitalOceanClientParameters } from "./types.d.ts";
3
- /**
4
- * Create a DigitalOcean Spaces client, compatible with the S3 API.
5
- *
6
- * Optionally, you can omit the parameters and use the following environment variables:
7
- * - `SPACES_REGION`
8
- * - `SPACES_KEY`
9
- * - `SPACES_SECRET`
10
- */
11
- declare const digitalOcean: (parameters?: CreateDigitalOceanClientParameters) => S3ClientConfig;
12
- export default digitalOcean;
@@ -1,13 +0,0 @@
1
- import type { S3ClientConfig } from "@aws-sdk/client-s3";
2
- import type { CreateMinioClientParameters } from "./types.d.ts";
3
- /**
4
- * Create a Minio client, compatible with the S3 API.
5
- *
6
- * Optionally, you can omit the parameters and use the following environment variables:
7
- * - `AWS_REGION`
8
- * - `AWS_ACCESS_KEY_ID`
9
- * - `AWS_SECRET_ACCESS_KEY`
10
- * - `MINIO_ENDPOINT`
11
- */
12
- declare const minio: (parameters?: CreateMinioClientParameters) => S3ClientConfig;
13
- export default minio;
@@ -1,12 +0,0 @@
1
- import type { S3ClientConfig } from "@aws-sdk/client-s3";
2
- import type { CreateTigrisClientParameters } from "./types.d.ts";
3
- /**
4
- * Create a Tigris client, compatible with the S3 API.
5
- *
6
- * Optionally, you can omit the parameters and use the following environment variables:
7
- * - `AWS_ACCESS_KEY_ID`
8
- * - `AWS_SECRET_ACCESS_KEY`
9
- * - `TIGRIS_ENDPOINT`
10
- */
11
- declare const tigris: (parameters?: CreateTigrisClientParameters) => S3ClientConfig;
12
- export default tigris;
@@ -1,95 +0,0 @@
1
- export type CreateCloudflareClientParameters = {
2
- /**
3
- * Cloudflare R2 access key ID.
4
- */
5
- accessKeyId: string;
6
- /**
7
- * Cloudflare account ID.
8
- */
9
- accountId: string;
10
- /**
11
- * The jurisdiction where the data is stored.
12
- *
13
- * Only use this if you created your R2 bucket using a jurisdiction.
14
- */
15
- jurisdiction?: "eu" | "fedramp";
16
- /**
17
- * Cloudflare R2 secret access key.
18
- */
19
- secretAccessKey: string;
20
- };
21
- export type CreateMinioClientParameters = {
22
- /**
23
- * Minio access key ID.
24
- */
25
- accessKeyId: string;
26
- /**
27
- * Minio endpoint.
28
- */
29
- endpoint: string;
30
- /**
31
- * Minio region.
32
- */
33
- region: string;
34
- /**
35
- * Minio secret access key.
36
- */
37
- secretAccessKey: string;
38
- };
39
- export type CreateBackblazeClientParameters = {
40
- /**
41
- * Backblaze B2 application key.
42
- */
43
- applicationKey: string;
44
- /**
45
- * Backblaze B2 application key ID.
46
- */
47
- applicationKeyId: string;
48
- /**
49
- * Backblaze B2 region.
50
- */
51
- region: string;
52
- };
53
- export type CreateWasabiClientParameters = {
54
- /**
55
- * Wasabi access key ID.
56
- */
57
- accessKeyId: string;
58
- /**
59
- * Wasabi region.
60
- */
61
- region: string;
62
- /**
63
- * Wasabi secret access key.
64
- */
65
- secretAccessKey: string;
66
- };
67
- export type CreateDigitalOceanClientParameters = {
68
- /**
69
- * DigitalOcean Spaces key.
70
- */
71
- key: string;
72
- /**
73
- * DigitalOcean Spaces region.
74
- */
75
- region: string;
76
- /**
77
- * DigitalOcean Spaces secret.
78
- */
79
- secret: string;
80
- };
81
- export type CreateTigrisClientParameters = {
82
- /**
83
- * Tigris access key ID.
84
- */
85
- accessKeyId: string;
86
- /**
87
- * Tigris endpoint.
88
- * @default `https://t3.storage.dev`
89
- */
90
- endpoint?: string;
91
- /**
92
- * Tigris secret access key.
93
- */
94
- secretAccessKey: string;
95
- };
@@ -1,12 +0,0 @@
1
- import type { S3ClientConfig } from "@aws-sdk/client-s3";
2
- import type { CreateWasabiClientParameters } from "./types.d.ts";
3
- /**
4
- * Create a Wasabi client, compatible with the S3 API.
5
- *
6
- * Optionally, you can omit the parameters and use the following environment variables:
7
- * - `WASABI_REGION`
8
- * - `AWS_ACCESS_KEY_ID`
9
- * - `AWS_SECRET_ACCESS_KEY`
10
- */
11
- declare const wasabi: (parameters?: CreateWasabiClientParameters) => S3ClientConfig;
12
- export default wasabi;