@visulima/storage 1.0.0-alpha.8 → 1.0.0
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 +578 -0
- package/LICENSE.md +237 -568
- package/README.md +82 -466
- package/dist/adapter/nuxt/module.d.ts +41 -34
- package/dist/adapter/nuxt/module.js +1 -93
- package/dist/adapter/nuxt/package.json +0 -6
- package/dist/ai/ai-sdk/index.d.ts +113 -0
- package/dist/ai/ai-sdk/index.js +1 -0
- package/dist/ai/claude/index.d.ts +177 -0
- package/dist/ai/claude/index.js +1 -0
- package/dist/ai/openai/index.d.ts +205 -0
- package/dist/ai/openai/index.js +1 -0
- package/dist/ai/tanstack/index.d.ts +115 -0
- package/dist/ai/tanstack/index.js +1 -0
- package/dist/handler/http/fetch/index.d.ts +303 -4
- package/dist/handler/http/fetch/index.js +1 -4
- package/dist/handler/http/hono/index.d.ts +73 -64
- package/dist/handler/http/hono/index.js +1 -65
- package/dist/handler/http/nextjs/index.d.ts +66 -58
- package/dist/handler/http/nextjs/index.js +1 -37
- package/dist/handler/http/node/index.d.ts +368 -4
- package/dist/handler/http/node/index.js +1 -8
- package/dist/handler/http/solid-start/index.d.ts +66 -57
- package/dist/handler/http/solid-start/index.js +1 -44
- package/dist/index.d.ts +106 -17
- package/dist/index.js +1 -13
- package/dist/openapi/index.d.ts +24 -5
- package/dist/openapi/index.js +1 -5
- package/dist/packem_shared/AbstractBaseStorage-Ba7cLu-t.js +1 -0
- package/dist/packem_shared/AwsLightFile-CpZrubaV.js +1 -0
- package/dist/packem_shared/AwsLightMetaStorage-DPqJ9LTr.js +1 -0
- package/dist/packem_shared/AwsLightStorage-DTBVxHXO.js +1 -0
- package/dist/packem_shared/AzureFile-DFSaVe25.js +1 -0
- package/dist/packem_shared/AzureSMetaStorage-ByzM6Aix.js +1 -0
- package/dist/packem_shared/AzureStorage-BFsD4qbF.js +1 -0
- package/dist/packem_shared/BaseTransformer-Buw5lX_3.js +1 -0
- package/dist/packem_shared/BoxFile-CseIoPW1.js +1 -0
- package/dist/packem_shared/BoxMetaStorage-DFwhEI9C.js +1 -0
- package/dist/packem_shared/BoxStorage-B_t-OVzf.js +1 -0
- package/dist/packem_shared/BunS3File-BcYmsz1n.js +1 -0
- package/dist/packem_shared/BunS3MetaStorage-DFwhEI9C.js +1 -0
- package/dist/packem_shared/BunS3Storage-CB_pZWlV.js +1 -0
- package/dist/packem_shared/BunnyFile-BgEOlcYI.js +1 -0
- package/dist/packem_shared/BunnyMetaStorage-DFwhEI9C.js +1 -0
- package/dist/packem_shared/BunnyStorage-CILSK4_Z.js +1 -0
- package/dist/packem_shared/CloudinaryFile-Bo5B-vM1.js +1 -0
- package/dist/packem_shared/CloudinaryMetaStorage-D_vNzewL.js +1 -0
- package/dist/packem_shared/CloudinaryStorage-DiCbdAi_.js +1 -0
- package/dist/packem_shared/DiskStorage-Kp5t3vnF.js +1 -0
- package/dist/packem_shared/DiskStorageWithChecksum-Bh6w-Iu8.js +1 -0
- package/dist/packem_shared/DropboxFile-BFb7eOzy.js +1 -0
- package/dist/packem_shared/DropboxMetaStorage-DFwhEI9C.js +1 -0
- package/dist/packem_shared/DropboxStorage-H8bd8hEz.js +1 -0
- package/dist/packem_shared/ERRORS-BIBxE2oR.js +1 -0
- package/dist/packem_shared/File-W8aOo15X.js +1 -0
- package/dist/packem_shared/Files-BA3mpDwz.js +1 -0
- package/dist/packem_shared/FirebaseFile-BLaBxa2A.js +1 -0
- package/dist/packem_shared/FirebaseMetaStorage-D_vNzewL.js +1 -0
- package/dist/packem_shared/FirebaseStorage-Dgk4XyMr.js +2 -0
- package/dist/packem_shared/FtpFile-ClWDYnt2.js +1 -0
- package/dist/packem_shared/FtpMetaStorage-DFwhEI9C.js +1 -0
- package/dist/packem_shared/FtpStorage-g_DjiR-C.js +1 -0
- package/dist/packem_shared/GCSConfig-BQ0OpVhe.js +1 -0
- package/dist/packem_shared/GCSFile-Cero7qZN.js +1 -0
- package/dist/packem_shared/GCSMetaStorage-3fLTlRd4.js +1 -0
- package/dist/packem_shared/GCStorage-DUfwVFd3.js +1 -0
- package/dist/packem_shared/GoogleDriveFile-DHpLhzg9.js +1 -0
- package/dist/packem_shared/GoogleDriveMetaStorage-DqkgoE46.js +1 -0
- package/dist/packem_shared/GoogleDriveStorage-D0-5egHE.js +1 -0
- package/dist/packem_shared/LocalMetaStorage-Bp5mVc76.js +1 -0
- package/dist/packem_shared/MediaTransformer-D2kUsklW.js +1 -0
- package/dist/packem_shared/MemoryMetaStorage-Ksgh9pe7.js +1 -0
- package/dist/packem_shared/MemoryStorage-DzSTdlAq.js +1 -0
- package/dist/packem_shared/MetaStorage-DPEUyWgN.js +1 -0
- package/dist/packem_shared/Metadata-B7CcBueg.js +1 -0
- package/dist/packem_shared/Multipart-Btj2mo9r.js +1 -0
- package/dist/packem_shared/Multipart-C4GpuHMU.js +1 -0
- package/dist/packem_shared/NetlifyBlobFile-DoFhkzaH.js +1 -0
- package/dist/packem_shared/NetlifyBlobMetaStorage-D_vNzewL.js +1 -0
- package/dist/packem_shared/NetlifyBlobStorage-DZdCmOVW.js +1 -0
- package/dist/packem_shared/NoOpMetrics-BLo6u4NY.js +1 -0
- package/dist/packem_shared/OneDriveFile-CNNJYI43.js +1 -0
- package/dist/packem_shared/OneDriveMetaStorage-DqkgoE46.js +1 -0
- package/dist/packem_shared/OneDriveStorage-CvJetV7_.js +1 -0
- package/dist/packem_shared/OpenTelemetryMetrics-DJDQsNKp.js +1 -0
- package/dist/packem_shared/PocketBaseFile-DpJpxl3e.js +1 -0
- package/dist/packem_shared/PocketBaseMetaStorage-CpvDRnSu.js +1 -0
- package/dist/packem_shared/PocketBaseStorage-BPil-koe.js +1 -0
- package/dist/packem_shared/Rest-BehVaxbl.js +1 -0
- package/dist/packem_shared/Rest-ymPCZkKR.js +1 -0
- package/dist/packem_shared/S3File-CpZrubaV.js +1 -0
- package/dist/packem_shared/S3MetaStorage-CMonflzp.js +1 -0
- package/dist/packem_shared/S3Storage-wslqssvr.js +1 -0
- package/dist/packem_shared/SftpFile-ClWDYnt2.js +1 -0
- package/dist/packem_shared/SftpMetaStorage-DFwhEI9C.js +1 -0
- package/dist/packem_shared/SftpStorage-BVbMtS2b.js +1 -0
- package/dist/packem_shared/SharePointFile-Blz9FS4h.js +1 -0
- package/dist/packem_shared/SharePointMetaStorage-DFwhEI9C.js +1 -0
- package/dist/packem_shared/SharePointStorage-DWjvR5oZ.js +1 -0
- package/dist/packem_shared/SupabaseFile-Bo5B-vM1.js +1 -0
- package/dist/packem_shared/SupabaseMetaStorage-DqkgoE46.js +1 -0
- package/dist/packem_shared/SupabaseStorage-BiKmYKb6.js +1 -0
- package/dist/packem_shared/TUS_RESUMABLE-CyTSRvPU.js +1 -0
- package/dist/packem_shared/Tus-BgbON_wQ.js +1 -0
- package/dist/packem_shared/Tus-v6jzkaIO.js +1 -0
- package/dist/packem_shared/UploadControl-DZJhI9Wh.js +1 -0
- package/dist/packem_shared/UploadThingFile-BTFMpcIA.js +1 -0
- package/dist/packem_shared/UploadThingMetaStorage-D_vNzewL.js +1 -0
- package/dist/packem_shared/UploadThingStorage-jrEnANC5.js +1 -0
- package/dist/packem_shared/ValidationError-3B06DFyE.js +1 -0
- package/dist/packem_shared/VercelBlobFile-CVQwKlZk.js +1 -0
- package/dist/packem_shared/VercelBlobMetaStorage-DFwhEI9C.js +1 -0
- package/dist/packem_shared/VercelBlobStorage-Y-cDgH30.js +1 -0
- package/dist/packem_shared/_commonjsHelpers-CWAkuNXM.js +1 -0
- package/dist/packem_shared/agentsCopyFile-Dl5iffdH.js +1 -0
- package/dist/packem_shared/akamai-DthkaFul.js +1 -0
- package/dist/packem_shared/alibaba-BEi25O1g.js +1 -0
- package/dist/packem_shared/approval-fVHwBp7u.js +1 -0
- package/dist/packem_shared/approval.d-CMAYH9GF.d.ts +75 -0
- package/dist/packem_shared/aws-light-meta-storage-DGrn72VJ.js +4 -0
- package/dist/packem_shared/azure-meta-storage-ClbEsfI4.js +1 -0
- package/dist/packem_shared/backblaze-m1N5NZ9q.js +1 -0
- package/dist/packem_shared/base-handler-core-EeV8gZck.js +1 -0
- package/dist/packem_shared/base-handler-fetch-CHzsgb7C.js +1 -0
- package/dist/packem_shared/base-handler-node-BjpW8pGi.js +1 -0
- package/dist/packem_shared/cache-Cw3QjoVN.js +1 -0
- package/dist/packem_shared/claudeCopyFile-BX9O4ORk.js +1 -0
- package/dist/packem_shared/cloudflare-CdUTErlo.js +1 -0
- package/dist/packem_shared/copyFile-49FtxXcm.js +1 -0
- package/dist/packem_shared/copyFile-BUPezT_c.js +1 -0
- package/dist/packem_shared/createResponsesFileTools-6Tvt2PNr.js +1 -0
- package/dist/packem_shared/createRetryWrapper-CxgiV_hH.js +1 -0
- package/dist/packem_shared/detect-file-type-BA7UBLKA.js +1 -0
- package/dist/packem_shared/digitalOcean-B2uB6pgz.js +1 -0
- package/dist/packem_shared/disk-storage-DIn-VnCh.js +1 -0
- package/dist/packem_shared/disk-storage-with-checksum.d-B-VGEsfl.d.ts +156 -0
- package/dist/packem_shared/executors-BDzMjc4y.js +1 -0
- package/dist/packem_shared/executors.d-BZP2rWo3.d.ts +69 -0
- package/dist/packem_shared/exoscale-BDa1Gjth.js +1 -0
- package/dist/packem_shared/filebase-CsFYJIwB.js +1 -0
- package/dist/packem_shared/files.d-CH0iLBNC.d.ts +655 -0
- package/dist/packem_shared/gcs-meta-storage-Dy37wCjI.js +1 -0
- package/dist/packem_shared/get-file-status-y3wTtDQs.js +1 -0
- package/dist/packem_shared/getFormatFromContentType-DCTTPQHm.js +1 -0
- package/dist/packem_shared/has-content-50BsqrWw.js +1 -0
- package/dist/packem_shared/headers-BAiAKekR.js +26 -0
- package/dist/packem_shared/hetzner-BGGFiRGD.js +1 -0
- package/dist/packem_shared/ibmCos-j-3TfJ5p.js +1 -0
- package/dist/packem_shared/idriveE2-C6pQ5pQ0.js +1 -0
- package/dist/packem_shared/index-nZWCQrSe.js +5 -0
- package/dist/packem_shared/internal-D_cZIFwI.js +1 -0
- package/dist/packem_shared/is-expired-CBEk6XBi.js +1 -0
- package/dist/packem_shared/local-meta-storage-C2T92TYb.js +11 -0
- package/dist/packem_shared/local-meta-storage.d-D9PBfkn6.d.ts +21 -0
- package/dist/packem_shared/media-transformer.d-Quf4ai47.d.ts +331 -0
- package/dist/packem_shared/memory-storage.d-4EU1cMt1.d.ts +101 -0
- package/dist/packem_shared/minio-NKquuBfS.js +1 -0
- package/dist/packem_shared/multipart-base-BOzY19lb.js +1 -0
- package/dist/packem_shared/oauth-refresh-EdGzlcOZ.js +1 -0
- package/dist/packem_shared/oracleCloud-DslqNpn6.js +1 -0
- package/dist/packem_shared/ovhCloud-CMHE6uLV.js +1 -0
- package/dist/packem_shared/part-match-D-9dGX42.js +1 -0
- package/dist/packem_shared/path-0oTTdkvl-BVg7lYf5.js +1 -0
- package/dist/packem_shared/posix-dirname-CfpH5wZi.js +1 -0
- package/dist/packem_shared/response-builder-CbSA8qPa.js +1 -0
- package/dist/packem_shared/rest-base-CynUg0mH.js +1 -0
- package/dist/packem_shared/restOpenApiSpec-Csv513qf.js +1 -0
- package/dist/packem_shared/s3-base-storage-DXZYN24h.js +1 -0
- package/dist/packem_shared/s3-base-storage.d-BQgP5B-t.d.ts +287 -0
- package/dist/packem_shared/scaleway-U1In3v70.js +1 -0
- package/dist/packem_shared/sharedErrorSchemaObject-YN65aAKj.js +1 -0
- package/dist/packem_shared/storage-Cyy73Y6r.js +1 -0
- package/dist/packem_shared/storage.d-CEM1upWM.d.ts +1176 -0
- package/dist/packem_shared/storj-Cb59q9kF.js +1 -0
- package/dist/packem_shared/sync-DhR3536K.js +1 -0
- package/dist/packem_shared/tencent-Q1y2GENc.js +1 -0
- package/dist/packem_shared/tigris-BELKoyyp.js +1 -0
- package/dist/packem_shared/transformOpenApiSpec-CIEAgpBD.js +1 -0
- package/dist/packem_shared/tus-base.d-DLzKE54M.d.ts +106 -0
- package/dist/packem_shared/tusOpenApiSpec-D96B03t5.js +1 -0
- package/dist/packem_shared/types.d-Bon9GVVe.d.ts +104 -0
- package/dist/packem_shared/types.d-CggTCgXr.d.ts +49 -0
- package/dist/packem_shared/types.d-CrUWY4On.d.ts +720 -0
- package/dist/packem_shared/update-size-DuNuLyxj.js +1 -0
- package/dist/packem_shared/vultr-B491cQ4e.js +1 -0
- package/dist/packem_shared/waitForStorage-ByQmG4xF.js +1 -0
- package/dist/packem_shared/wasabi-DFrwIoab.js +1 -0
- package/dist/packem_shared/xhrOpenApiSpec-DQR4h6M8.js +1 -0
- package/dist/packem_shared/yandex-CwzHuEKP.js +1 -0
- package/dist/storage/aws/clients/index.d.ts +612 -6
- package/dist/storage/aws/clients/index.js +1 -6
- package/dist/storage/aws/index.d.ts +332 -4
- package/dist/storage/aws/index.js +1 -3
- package/dist/storage/aws-light/index.d.ts +259 -4
- package/dist/storage/aws-light/index.js +1 -3
- package/dist/storage/azure/index.d.ts +236 -4
- package/dist/storage/azure/index.js +1 -3
- package/dist/storage/box/index.d.ts +189 -0
- package/dist/storage/box/index.js +1 -0
- package/dist/storage/bun-s3/index.d.ts +200 -0
- package/dist/storage/bun-s3/index.js +1 -0
- package/dist/storage/bunny/index.d.ts +119 -0
- package/dist/storage/bunny/index.js +1 -0
- package/dist/storage/cloudinary/index.d.ts +121 -0
- package/dist/storage/cloudinary/index.js +1 -0
- package/dist/storage/dropbox/index.d.ts +132 -0
- package/dist/storage/dropbox/index.js +1 -0
- package/dist/storage/firebase/index.d.ts +192 -0
- package/dist/storage/firebase/index.js +1 -0
- package/dist/storage/ftp/index.d.ts +91 -0
- package/dist/storage/ftp/index.js +1 -0
- package/dist/storage/gcs/index.d.ts +195 -5
- package/dist/storage/gcs/index.js +1 -4
- package/dist/storage/google-drive/index.d.ts +148 -0
- package/dist/storage/google-drive/index.js +1 -0
- package/dist/storage/local/index.d.ts +7 -4
- package/dist/storage/local/index.js +1 -3
- package/dist/storage/memory/index.d.ts +6 -0
- package/dist/storage/memory/index.js +1 -0
- package/dist/storage/netlify-blob/index.d.ts +147 -4
- package/dist/storage/netlify-blob/index.js +1 -3
- package/dist/storage/onedrive/index.d.ts +103 -0
- package/dist/storage/onedrive/index.js +1 -0
- package/dist/storage/pocketbase/index.d.ts +172 -0
- package/dist/storage/pocketbase/index.js +1 -0
- package/dist/storage/sftp/index.d.ts +92 -0
- package/dist/storage/sftp/index.js +1 -0
- package/dist/storage/sharepoint/index.d.ts +180 -0
- package/dist/storage/sharepoint/index.js +1 -0
- package/dist/storage/supabase/index.d.ts +115 -0
- package/dist/storage/supabase/index.js +1 -0
- package/dist/storage/uploadthing/index.d.ts +95 -0
- package/dist/storage/uploadthing/index.js +1 -0
- package/dist/storage/vercel-blob/index.d.ts +189 -4
- package/dist/storage/vercel-blob/index.js +1 -3
- package/dist/transformer/audio-transformer.d.ts +127 -125
- package/dist/transformer/audio-transformer.js +1 -278
- package/dist/transformer/image-transformer.d.ts +573 -568
- package/dist/transformer/image-transformer.js +1 -1100
- package/dist/transformer/index.d.ts +62 -5
- package/dist/transformer/index.js +1 -4
- package/dist/transformer/video-transformer.d.ts +144 -142
- package/dist/transformer/video-transformer.js +1 -310
- package/package.json +202 -50
- package/dist/handler/base/base-handler-core.d.ts +0 -91
- package/dist/handler/base/base-handler-fetch.d.ts +0 -76
- package/dist/handler/base/base-handler-node.d.ts +0 -137
- package/dist/handler/multipart/multipart-base.d.ts +0 -84
- package/dist/handler/multipart/multipart-fetch.d.ts +0 -64
- package/dist/handler/multipart/multipart.d.ts +0 -49
- package/dist/handler/rest/rest-base.d.ts +0 -106
- package/dist/handler/rest/rest-fetch.d.ts +0 -88
- package/dist/handler/rest/rest.d.ts +0 -93
- package/dist/handler/tus/tus-base.d.ts +0 -152
- package/dist/handler/tus/tus-fetch.d.ts +0 -72
- package/dist/handler/tus/tus.d.ts +0 -78
- package/dist/handler/types.d.ts +0 -53
- package/dist/handler/utils/request-parser.d.ts +0 -72
- package/dist/handler/utils/response-builder.d.ts +0 -83
- package/dist/handler/utils/storage-utils.d.ts +0 -10
- package/dist/handler/utils/stream-utils.d.ts +0 -29
- package/dist/handler/utils/upload-handlers.d.ts +0 -76
- package/dist/metrics/index.d.ts +0 -2
- package/dist/metrics/no-op-metrics.d.ts +0 -15
- package/dist/metrics/opentelemetry-metrics.d.ts +0 -55
- package/dist/openapi/rest.d.ts +0 -7
- package/dist/openapi/shared.d.ts +0 -13
- package/dist/openapi/transform.d.ts +0 -3
- package/dist/openapi/tus.d.ts +0 -7
- package/dist/openapi/xhr.d.ts +0 -7
- package/dist/packem_shared/AwsLightFile-tTneXZgG.js +0 -11
- package/dist/packem_shared/AwsLightMetaStorage-BWSOtVaN.js +0 -4
- package/dist/packem_shared/AwsLightStorage-Blv-GP4v.js +0 -133
- package/dist/packem_shared/AzureFile-CesgFzps.js +0 -8
- package/dist/packem_shared/AzureSMetaStorage-CFs-OYJT.js +0 -88
- package/dist/packem_shared/AzureStorage-B0v048hG.js +0 -357
- package/dist/packem_shared/BaseTransformer-C2gLib6v.js +0 -82
- package/dist/packem_shared/DiskStorage-BlltBst6.js +0 -12
- package/dist/packem_shared/DiskStorageWithChecksum-BJTmMklc.js +0 -238
- package/dist/packem_shared/ERRORS-D0apMqnc.js +0 -97
- package/dist/packem_shared/File-Bb3P23dr.js +0 -69
- package/dist/packem_shared/GCSConfig-vPP22kN6.js +0 -11
- package/dist/packem_shared/GCSFile-BIEunhAN.js +0 -8
- package/dist/packem_shared/GCSMetaStorage-BYhwecZl.js +0 -7
- package/dist/packem_shared/GCStorage-BmnoK7Rz.js +0 -406
- package/dist/packem_shared/LocalMetaStorage-CZHhKkMd.js +0 -7
- package/dist/packem_shared/MediaTransformer-D6658DL1.js +0 -1197
- package/dist/packem_shared/MetaStorage-pECeFOad.js +0 -46
- package/dist/packem_shared/Metadata-DRLXeJ0F.js +0 -89
- package/dist/packem_shared/Multipart-5Xpy7WhY.js +0 -163
- package/dist/packem_shared/Multipart-C-iU9LXj.js +0 -128
- package/dist/packem_shared/NetlifyBlobFile-CXzyjqrD.js +0 -14
- package/dist/packem_shared/NetlifyBlobMetaStorage-DxZ5aDvD.js +0 -9
- package/dist/packem_shared/NetlifyBlobStorage-CLPtjHqd.js +0 -376
- package/dist/packem_shared/NoOpMetrics-DhAk5rXc.js +0 -10
- package/dist/packem_shared/OpenTelemetryMetrics-BnxhqIaH.js +0 -67
- package/dist/packem_shared/Rest-DO7OslCs.js +0 -267
- package/dist/packem_shared/Rest-DTaszQ6n.js +0 -228
- package/dist/packem_shared/S3File-DZiyk9Qt.js +0 -11
- package/dist/packem_shared/S3MetaStorage-Dz9aDabA.js +0 -76
- package/dist/packem_shared/S3Storage-DHmTk-hU.js +0 -316
- package/dist/packem_shared/TUS_RESUMABLE-BfguFdM1.js +0 -434
- package/dist/packem_shared/Tus-BQItPVAC.js +0 -200
- package/dist/packem_shared/Tus-BibjweWH.js +0 -195
- package/dist/packem_shared/ValidationError-BfF1aE4h.js +0 -26
- package/dist/packem_shared/VercelBlobFile-BCg4aTEq.js +0 -18
- package/dist/packem_shared/VercelBlobMetaStorage-Bd9F-VFm.js +0 -9
- package/dist/packem_shared/VercelBlobStorage-DD9LMOS6.js +0 -261
- package/dist/packem_shared/_commonjsHelpers-B85MJLTf.js +0 -5
- package/dist/packem_shared/aws-light-meta-storage-DKJBgbR6.js +0 -446
- package/dist/packem_shared/backblaze-BlMnIcBC.js +0 -20
- package/dist/packem_shared/base-handler-core-DLEVHemv.js +0 -303
- package/dist/packem_shared/base-handler-fetch-A7V0N6AJ.js +0 -291
- package/dist/packem_shared/base-handler-node-Dx7ce3sU.js +0 -730
- package/dist/packem_shared/cache-B88MXQ_2.js +0 -18
- package/dist/packem_shared/cloudflare-Bi1q8wXE.js +0 -21
- package/dist/packem_shared/defaultCloudStorageFileNameValidation-DUuacjWv.js +0 -11
- package/dist/packem_shared/digitalOcean-CWQRJM3L.js +0 -21
- package/dist/packem_shared/disk-storage-Bh2wy3YW.js +0 -810
- package/dist/packem_shared/gcs-meta-storage-DqNjM7DP.js +0 -158
- package/dist/packem_shared/has-content-CY66ehMK.js +0 -3
- package/dist/packem_shared/headers-C9DasoT1.js +0 -1318
- package/dist/packem_shared/is-expired-CTThU1q5.js +0 -8
- package/dist/packem_shared/isRetryableError-Dycp7127.js +0 -82
- package/dist/packem_shared/isValidMediaType-BeDgiObq.js +0 -35
- package/dist/packem_shared/local-meta-storage-By-3SNBI.js +0 -649
- package/dist/packem_shared/minio-C2YBZQOw.js +0 -22
- package/dist/packem_shared/multipart-base-BY0rhkw5.js +0 -102
- package/dist/packem_shared/part-match-BMNqHDYD.js +0 -96
- package/dist/packem_shared/path-CR6YkPXX-7R1-9CMk.js +0 -161
- package/dist/packem_shared/response-builder-BtnRiBUI.js +0 -45
- package/dist/packem_shared/rest-base-Bt9Np3M8.js +0 -457
- package/dist/packem_shared/restOpenApiSpec-D1JC_Jto.js +0 -800
- package/dist/packem_shared/s3-base-storage-C1DIHTYY.js +0 -510
- package/dist/packem_shared/sharedGet-Cpo7QUyu.js +0 -1019
- package/dist/packem_shared/storage-C6NSXb8h.js +0 -1175
- package/dist/packem_shared/tigris-Hac8TKnX.js +0 -21
- package/dist/packem_shared/transformOpenApiSpec-DWM5WtnN.js +0 -975
- package/dist/packem_shared/tusOpenApiSpec-mBZkl7he.js +0 -740
- package/dist/packem_shared/update-size-CCGm6i1J.js +0 -8
- package/dist/packem_shared/validator-BeX_lJet.js +0 -78
- package/dist/packem_shared/waitForStorage-Cscw85sx.js +0 -18
- package/dist/packem_shared/wasabi-DIyflHSd.js +0 -21
- package/dist/packem_shared/xhrOpenApiSpec-B1V5Dxrj.js +0 -264
- package/dist/storage/aws/clients/backblaze.d.ts +0 -12
- package/dist/storage/aws/clients/cloudflare.d.ts +0 -13
- package/dist/storage/aws/clients/digital-ocean.d.ts +0 -12
- package/dist/storage/aws/clients/minio.d.ts +0 -13
- package/dist/storage/aws/clients/tigris.d.ts +0 -12
- package/dist/storage/aws/clients/types.d.ts +0 -95
- package/dist/storage/aws/clients/wasabi.d.ts +0 -12
- package/dist/storage/aws/s3-base-storage.d.ts +0 -248
- package/dist/storage/aws/s3-client-adapter.d.ts +0 -110
- package/dist/storage/aws/s3-file.d.ts +0 -10
- package/dist/storage/aws/s3-meta-storage.d.ts +0 -15
- package/dist/storage/aws/s3-storage.d.ts +0 -70
- package/dist/storage/aws/types.d.ts +0 -119
- package/dist/storage/aws-light/aws-light-api-adapter.d.ts +0 -130
- package/dist/storage/aws-light/aws-light-file.d.ts +0 -10
- package/dist/storage/aws-light/aws-light-meta-storage.d.ts +0 -19
- package/dist/storage/aws-light/aws-light-storage.d.ts +0 -65
- package/dist/storage/aws-light/types.d.ts +0 -37
- package/dist/storage/azure/azure-file.d.ts +0 -6
- package/dist/storage/azure/azure-meta-storage.d.ts +0 -15
- package/dist/storage/azure/azure-storage.d.ts +0 -69
- package/dist/storage/azure/types.d.ts +0 -62
- package/dist/storage/gcs/fetch-error.d.ts +0 -11
- package/dist/storage/gcs/gcs-config.d.ts +0 -2
- package/dist/storage/gcs/gcs-file.d.ts +0 -6
- package/dist/storage/gcs/gcs-meta-storage.d.ts +0 -27
- package/dist/storage/gcs/gcs-storage.d.ts +0 -91
- package/dist/storage/gcs/types.d.ts +0 -55
- package/dist/storage/gcs/utils.d.ts +0 -7
- package/dist/storage/local/disk-storage-with-checksum.d.ts +0 -15
- package/dist/storage/local/disk-storage.d.ts +0 -135
- package/dist/storage/local/local-meta-storage.d.ts +0 -32
- package/dist/storage/meta-storage.d.ts +0 -30
- package/dist/storage/netlify-blob/netlify-blob-file.d.ts +0 -12
- package/dist/storage/netlify-blob/netlify-blob-meta-storage.d.ts +0 -7
- package/dist/storage/netlify-blob/netlify-blob-storage.d.ts +0 -93
- package/dist/storage/netlify-blob/types.d.ts +0 -30
- package/dist/storage/storage.d.ts +0 -353
- package/dist/storage/types.d.ts +0 -221
- package/dist/storage/utils/file/file.d.ts +0 -25
- package/dist/storage/utils/file/get-file-status.d.ts +0 -9
- package/dist/storage/utils/file/has-content.d.ts +0 -9
- package/dist/storage/utils/file/index.d.ts +0 -10
- package/dist/storage/utils/file/is-expired.d.ts +0 -8
- package/dist/storage/utils/file/metadata.d.ts +0 -18
- package/dist/storage/utils/file/part-match.d.ts +0 -11
- package/dist/storage/utils/file/types.d.ts +0 -37
- package/dist/storage/utils/file/update-metadata.d.ts +0 -10
- package/dist/storage/utils/file/update-size.d.ts +0 -10
- package/dist/storage/vercel-blob/types.d.ts +0 -32
- package/dist/storage/vercel-blob/vercel-blob-file.d.ts +0 -16
- package/dist/storage/vercel-blob/vercel-blob-meta-storage.d.ts +0 -7
- package/dist/storage/vercel-blob/vercel-blob-storage.d.ts +0 -76
- package/dist/transformer/base-transformer.d.ts +0 -63
- package/dist/transformer/media-transformer.d.ts +0 -332
- package/dist/transformer/types.d.ts +0 -652
- package/dist/transformer/utils.d.ts +0 -33
- package/dist/transformer/validation-error.d.ts +0 -23
- package/dist/utils/cache.d.ts +0 -32
- package/dist/utils/chunked-upload.d.ts +0 -65
- package/dist/utils/detect-file-type.d.ts +0 -28
- package/dist/utils/errors.d.ts +0 -74
- package/dist/utils/file-path-url-matcher.d.ts +0 -18
- package/dist/utils/headers.d.ts +0 -111
- package/dist/utils/http.d.ts +0 -92
- package/dist/utils/locker.d.ts +0 -26
- package/dist/utils/pipes/stream-checksum.d.ts +0 -47
- package/dist/utils/pipes/stream-length.d.ts +0 -22
- package/dist/utils/primitives/get-last-one.d.ts +0 -3
- package/dist/utils/primitives/is-record.d.ts +0 -2
- package/dist/utils/primitives/map-values.d.ts +0 -9
- package/dist/utils/primitives/pick.d.ts +0 -2
- package/dist/utils/primitives/to-milliseconds.d.ts +0 -12
- package/dist/utils/primitives/to-seconds.d.ts +0 -12
- package/dist/utils/range-checksum.d.ts +0 -33
- package/dist/utils/range-hasher.d.ts +0 -46
- package/dist/utils/retry.d.ts +0 -64
- package/dist/utils/types.d.ts +0 -108
- package/dist/utils/validation-error.d.ts +0 -22
- package/dist/utils/validator.d.ts +0 -36
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Custom error class for validation failures
|
|
3
|
-
*/
|
|
4
|
-
declare class ValidationError extends Error {
|
|
5
|
-
readonly code: string;
|
|
6
|
-
readonly details: {
|
|
7
|
-
invalidParams: string[];
|
|
8
|
-
mediaType: string;
|
|
9
|
-
suggestions?: string[];
|
|
10
|
-
validParams: string[];
|
|
11
|
-
};
|
|
12
|
-
/**
|
|
13
|
-
* Creates a new ValidationError instance with detailed error information.
|
|
14
|
-
* @param message Human-readable error message describing the validation failure
|
|
15
|
-
* @param code Machine-readable error code for programmatic error handling
|
|
16
|
-
* @param mediaType The media type where validation failed ('image', 'video', or 'audio')
|
|
17
|
-
* @param invalidParameters Array of parameter names that were invalid
|
|
18
|
-
* @param validParameters Array of valid parameter names or values
|
|
19
|
-
* @param suggestions Optional array of suggested corrections or valid values
|
|
20
|
-
*/
|
|
21
|
-
constructor(message: string, code: string, mediaType: string, invalidParameters: string[], validParameters: string[], suggestions?: string[]);
|
|
22
|
-
}
|
|
23
|
-
export default ValidationError;
|
package/dist/utils/cache.d.ts
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Simple cache interface that any cache implementation can follow
|
|
3
|
-
*/
|
|
4
|
-
export interface Cache<K = string, V = unknown> {
|
|
5
|
-
/** Clear all cache entries */
|
|
6
|
-
clear: () => void | Promise<void>;
|
|
7
|
-
/** Delete a value from cache */
|
|
8
|
-
delete: (key: K) => boolean | Promise<boolean>;
|
|
9
|
-
/** Get a value from cache */
|
|
10
|
-
get: (key: K) => V | undefined | Promise<V | undefined>;
|
|
11
|
-
/** Check if a key exists in cache */
|
|
12
|
-
has: (key: K) => boolean | Promise<boolean>;
|
|
13
|
-
/** Set a value in cache */
|
|
14
|
-
set: (key: K, value: V, options?: CacheOptions) => boolean | Promise<boolean>;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Options for cache operations
|
|
18
|
-
*/
|
|
19
|
-
export interface CacheOptions {
|
|
20
|
-
/** TTL in milliseconds */
|
|
21
|
-
ttl?: number;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* No-op cache implementation that does nothing (used when caching is disabled)
|
|
25
|
-
*/
|
|
26
|
-
export declare class NoOpCache<K = string, V = unknown> implements Cache<K, V> {
|
|
27
|
-
get(): undefined;
|
|
28
|
-
set(): boolean;
|
|
29
|
-
delete(): boolean;
|
|
30
|
-
clear(): void;
|
|
31
|
-
has(): boolean;
|
|
32
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import type { UploadFile } from "../storage/utils/index.d.ts";
|
|
2
|
-
/**
|
|
3
|
-
* Chunk information structure for tracking uploaded chunks.
|
|
4
|
-
*/
|
|
5
|
-
export interface ChunkInfo {
|
|
6
|
-
/** Optional checksum for validation */
|
|
7
|
-
checksum?: string;
|
|
8
|
-
/** Length of chunk in bytes */
|
|
9
|
-
length: number;
|
|
10
|
-
/** Byte offset where chunk starts */
|
|
11
|
-
offset: number;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Checks if upload is complete based on chunks coverage.
|
|
15
|
-
* Verifies that all chunks form a continuous sequence covering the total file size.
|
|
16
|
-
* @param chunks Array of chunk information objects
|
|
17
|
-
* @param totalSize Total expected file size in bytes
|
|
18
|
-
* @returns True if upload is complete, false otherwise
|
|
19
|
-
*/
|
|
20
|
-
export declare const isUploadComplete: (chunks: ChunkInfo[], totalSize: number) => boolean;
|
|
21
|
-
/**
|
|
22
|
-
* Validates a chunk against file constraints.
|
|
23
|
-
* @param chunkOffset Byte offset where chunk starts
|
|
24
|
-
* @param chunkLength Length of chunk in bytes
|
|
25
|
-
* @param totalSize Total file size in bytes
|
|
26
|
-
* @param maxChunkSize Maximum allowed chunk size (optional)
|
|
27
|
-
* @throws {Error} If validation fails
|
|
28
|
-
*/
|
|
29
|
-
export declare const validateChunk: (chunkOffset: number, chunkLength: number, totalSize: number, maxChunkSize?: number) => void;
|
|
30
|
-
/**
|
|
31
|
-
* Tracks a chunk in the metadata chunks array (idempotent).
|
|
32
|
-
* @param chunks Existing chunks array
|
|
33
|
-
* @param chunkInfo New chunk information to track
|
|
34
|
-
* @returns Updated chunks array
|
|
35
|
-
*/
|
|
36
|
-
export declare const trackChunk: (chunks: ChunkInfo[], chunkInfo: ChunkInfo) => ChunkInfo[];
|
|
37
|
-
/**
|
|
38
|
-
* Calculates upload progress based on chunks.
|
|
39
|
-
* @param chunks Array of chunk information objects
|
|
40
|
-
* @param totalSize Total expected file size in bytes
|
|
41
|
-
* @returns Object with bytesWritten and completion percentage
|
|
42
|
-
*/
|
|
43
|
-
export declare const calculateUploadProgress: (chunks: ChunkInfo[], totalSize: number) => {
|
|
44
|
-
bytesWritten: number;
|
|
45
|
-
percentage: number;
|
|
46
|
-
};
|
|
47
|
-
/**
|
|
48
|
-
* Gets the total bytes written based on file metadata.
|
|
49
|
-
* For chunked uploads, uses bytesWritten from file or calculates from chunks.
|
|
50
|
-
* @param file The file object
|
|
51
|
-
* @returns Total bytes written
|
|
52
|
-
*/
|
|
53
|
-
export declare const getBytesWritten: <TFile extends UploadFile>(file: TFile) => number;
|
|
54
|
-
/**
|
|
55
|
-
* Checks if a file is a chunked upload based on metadata.
|
|
56
|
-
* @param file The file object
|
|
57
|
-
* @returns True if file is a chunked upload
|
|
58
|
-
*/
|
|
59
|
-
export declare const isChunkedUpload: <TFile extends UploadFile>(file: TFile) => boolean;
|
|
60
|
-
/**
|
|
61
|
-
* Gets the total size for a chunked upload.
|
|
62
|
-
* @param file The file object
|
|
63
|
-
* @returns Total size or undefined if not a chunked upload
|
|
64
|
-
*/
|
|
65
|
-
export declare const getTotalSize: <TFile extends UploadFile>(file: TFile) => number | undefined;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type { Readable } from "node:stream";
|
|
2
|
-
/**
|
|
3
|
-
* Detects the file type from a buffer using magic numbers (binary signatures).
|
|
4
|
-
* This provides more accurate file type detection than relying on file extensions or Content-Type headers.
|
|
5
|
-
* @param buffer The buffer to detect file type from
|
|
6
|
-
* @returns The detected file type with extension and MIME type, or undefined if detection fails
|
|
7
|
-
*/
|
|
8
|
-
export declare const detectFileTypeFromBuffer: (buffer: Buffer | Uint8Array) => Promise<{
|
|
9
|
-
ext: string;
|
|
10
|
-
mime: string;
|
|
11
|
-
} | undefined>;
|
|
12
|
-
/**
|
|
13
|
-
* Detects file type from a Node.js stream by peeking at the first chunk and returns both the detected type and a new stream.
|
|
14
|
-
* This peeks at the stream data without consuming it, allowing the original stream to be used normally.
|
|
15
|
-
* @param stream The readable stream to detect file type from
|
|
16
|
-
* @param options Optional configuration for file type detection
|
|
17
|
-
* @param options.sampleSize The sample size in bytes to peek (default: 4100)
|
|
18
|
-
* @returns An object with the detected file type and a new readable stream
|
|
19
|
-
*/
|
|
20
|
-
export declare const detectFileTypeFromStream: (stream: Readable, options?: {
|
|
21
|
-
sampleSize?: number;
|
|
22
|
-
}) => Promise<{
|
|
23
|
-
fileType?: {
|
|
24
|
-
ext: string;
|
|
25
|
-
mime: string;
|
|
26
|
-
};
|
|
27
|
-
stream: Readable;
|
|
28
|
-
}>;
|
package/dist/utils/errors.d.ts
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import type { HttpError } from "./types.d.ts";
|
|
2
|
-
/**
|
|
3
|
-
* Canonical error codes used across handlers and storage adapters.
|
|
4
|
-
* These codes map to standardized HTTP status codes and error messages.
|
|
5
|
-
*/
|
|
6
|
-
export declare enum ERRORS {
|
|
7
|
-
BAD_REQUEST = "BadRequest",
|
|
8
|
-
CHECKSUM_MISMATCH = "ChecksumMismatch",
|
|
9
|
-
FILE_CONFLICT = "FileConflict",
|
|
10
|
-
FILE_ERROR = "FileError",
|
|
11
|
-
FILE_LOCKED = "FileLocked",
|
|
12
|
-
FILE_NOT_ALLOWED = "FileNotAllowed",
|
|
13
|
-
FILE_NOT_FOUND = "FileNotFound",
|
|
14
|
-
FORBIDDEN = "Forbidden",
|
|
15
|
-
GONE = "Gone",
|
|
16
|
-
INVALID_FILE_NAME = "InvalidFileName",
|
|
17
|
-
INVALID_FILE_SIZE = "InvalidFileSize",
|
|
18
|
-
INVALID_RANGE = "InvalidRange",
|
|
19
|
-
INVALID_TYPE = "Invalidtype",
|
|
20
|
-
METHOD_NOT_ALLOWED = "MethodNotAllowed",
|
|
21
|
-
REQUEST_ABORTED = "RequestAborted",
|
|
22
|
-
REQUEST_ENTITY_TOO_LARGE = "RequestEntityTooLarge",
|
|
23
|
-
STORAGE_BUSY = "StorageBusy",
|
|
24
|
-
STORAGE_ERROR = "StorageError",
|
|
25
|
-
TOO_MANY_REQUESTS = "TooManyRequests",
|
|
26
|
-
UNKNOWN_ERROR = "UnknownError",
|
|
27
|
-
UNPROCESSABLE_ENTITY = "UnprocessableEntity",
|
|
28
|
-
UNSUPPORTED_CHECKSUM_ALGORITHM = "UnsupportedChecksumAlgorithm",
|
|
29
|
-
UNSUPPORTED_MEDIA_TYPE = "UnsupportedMediaType"
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Type mapping of error codes to standardized HTTP error responses.
|
|
33
|
-
* @template T - The error code type (defaults to string)
|
|
34
|
-
*/
|
|
35
|
-
export type ErrorResponses<T extends string = string> = {
|
|
36
|
-
[K in T]: HttpError;
|
|
37
|
-
};
|
|
38
|
-
/**
|
|
39
|
-
* Mapping of error codes to HttpError response objects.
|
|
40
|
-
* @returns Map of error codes to standardized HTTP error responses
|
|
41
|
-
*/
|
|
42
|
-
export declare const ErrorMap: ErrorResponses<ERRORS>;
|
|
43
|
-
/**
|
|
44
|
-
* Error subclass carrying a stable error code and optional detail.
|
|
45
|
-
* Provides structured error information for upload operations.
|
|
46
|
-
*/
|
|
47
|
-
export declare class UploadError extends Error {
|
|
48
|
-
name: string;
|
|
49
|
-
/** The standardized error code from the ERRORS enum */
|
|
50
|
-
UploadErrorCode: ERRORS;
|
|
51
|
-
/** Optional additional error details */
|
|
52
|
-
detail?: unknown;
|
|
53
|
-
/**
|
|
54
|
-
* Creates a new UploadError instance.
|
|
55
|
-
* @param code Standardized error code (defaults to UNKNOWN_ERROR)
|
|
56
|
-
* @param message Human-readable error message (defaults to the code)
|
|
57
|
-
* @param detail Optional additional error details
|
|
58
|
-
*/
|
|
59
|
-
constructor(code?: ERRORS, message?: string, detail?: unknown);
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Type guard to check if an error is an UploadError instance.
|
|
63
|
-
* @param error Error to check
|
|
64
|
-
* @returns True if the error is an UploadError with a valid error code
|
|
65
|
-
*/
|
|
66
|
-
export declare const isUploadError: (error: unknown) => error is UploadError;
|
|
67
|
-
/**
|
|
68
|
-
* Convenience function to throw an UploadError from a string error code.
|
|
69
|
-
* Looks up the appropriate error message from ErrorMap.
|
|
70
|
-
* @param UploadErrorCode String error code to convert to UploadError
|
|
71
|
-
* @param detail Optional additional error details
|
|
72
|
-
* @throws UploadError with the specified code and message
|
|
73
|
-
*/
|
|
74
|
-
export declare const throwErrorCode: (UploadErrorCode: ERRORS | string, detail?: string) => never;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
declare const filePathUrlMatcher: (path: string) => {
|
|
2
|
-
params: PathMatch;
|
|
3
|
-
path: string;
|
|
4
|
-
} | undefined;
|
|
5
|
-
/**
|
|
6
|
-
* Parsed URL components from file path matching.
|
|
7
|
-
*/
|
|
8
|
-
export type PathMatch = {
|
|
9
|
-
/** File extension (e.g., "jpg", "png") */
|
|
10
|
-
ext?: string;
|
|
11
|
-
/** Metadata request type (e.g., "metadata") */
|
|
12
|
-
metadata?: string;
|
|
13
|
-
/** Path segments before the UUID */
|
|
14
|
-
path?: string[];
|
|
15
|
-
/** File UUID identifier */
|
|
16
|
-
uuid: string;
|
|
17
|
-
};
|
|
18
|
-
export default filePathUrlMatcher;
|
package/dist/utils/headers.d.ts
DELETED
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Enhanced HTTP header utilities using remix-run/headers for type-safe header manipulation.
|
|
3
|
-
* This module provides internal utilities for the storage package to handle complex headers.
|
|
4
|
-
*/
|
|
5
|
-
import { Accept, ContentDisposition, ContentType } from "@remix-run/headers";
|
|
6
|
-
import type { Headers as UploadHeaders } from "./types.d.ts";
|
|
7
|
-
/**
|
|
8
|
-
* Cache-Control directive options
|
|
9
|
-
*/
|
|
10
|
-
export interface CacheControlOptions {
|
|
11
|
-
immutable?: boolean;
|
|
12
|
-
maxAge?: number;
|
|
13
|
-
minFresh?: number;
|
|
14
|
-
mustRevalidate?: boolean;
|
|
15
|
-
noCache?: boolean;
|
|
16
|
-
noStore?: boolean;
|
|
17
|
-
private?: boolean;
|
|
18
|
-
proxyRevalidate?: boolean;
|
|
19
|
-
public?: boolean;
|
|
20
|
-
sMaxAge?: number;
|
|
21
|
-
staleIfError?: number;
|
|
22
|
-
staleWhileRevalidate?: number;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Utility functions for working with HTTP headers using \@remix-run/headers.
|
|
26
|
-
*/
|
|
27
|
-
export declare const HeaderUtilities: {
|
|
28
|
-
/**
|
|
29
|
-
* Check if client accepts a specific media type based on Accept header.
|
|
30
|
-
* @param acceptHeader HTTP Accept header value
|
|
31
|
-
* @param mediaType Media type to check for acceptance
|
|
32
|
-
* @returns True if the media type is accepted by the client
|
|
33
|
-
*/
|
|
34
|
-
acceptsMediaType(acceptHeader: string | undefined, mediaType: string): boolean;
|
|
35
|
-
/**
|
|
36
|
-
* Create Cache-Control header value from options.
|
|
37
|
-
* @param options Cache control directives configuration
|
|
38
|
-
* @returns Cache-Control header value string
|
|
39
|
-
*/
|
|
40
|
-
createCacheControl(options: CacheControlOptions): string;
|
|
41
|
-
/**
|
|
42
|
-
* Create common cache control presets with predefined configurations.
|
|
43
|
-
* @param preset Preset name ('no-cache', 'no-store', 'public', 'private', or 'immutable')
|
|
44
|
-
* @returns Cache-Control header value string for the preset
|
|
45
|
-
*/
|
|
46
|
-
createCacheControlPreset(preset: "no-cache" | "no-store" | "public" | "private" | "immutable"): string;
|
|
47
|
-
/**
|
|
48
|
-
* Create Content-Disposition header for file downloads with optional filename.
|
|
49
|
-
* @param options
|
|
50
|
-
* @param options.filename Filename for the download
|
|
51
|
-
* @param options.filenameSplat Alternative filename format
|
|
52
|
-
* @param options.type Disposition type ('inline' or 'attachment')
|
|
53
|
-
* @returns Content-Disposition header value string
|
|
54
|
-
*/
|
|
55
|
-
createContentDisposition(options: {
|
|
56
|
-
filename?: string;
|
|
57
|
-
filenameSplat?: string;
|
|
58
|
-
type: "inline" | "attachment";
|
|
59
|
-
}): string;
|
|
60
|
-
/**
|
|
61
|
-
* Create Content-Type header value from structured data with optional charset and boundary.
|
|
62
|
-
* @param options
|
|
63
|
-
* @param options.boundary Multipart boundary string
|
|
64
|
-
* @param options.charset Character encoding (e.g., 'utf8')
|
|
65
|
-
* @param options.mediaType MIME media type (e.g., 'application/json')
|
|
66
|
-
* @returns Content-Type header value string
|
|
67
|
-
*/
|
|
68
|
-
createContentType(options: {
|
|
69
|
-
boundary?: string;
|
|
70
|
-
charset?: string;
|
|
71
|
-
mediaType: string;
|
|
72
|
-
}): string;
|
|
73
|
-
/**
|
|
74
|
-
* Get content type with charset if not already present.
|
|
75
|
-
* @param contentType Content-Type header value to ensure charset for
|
|
76
|
-
* @param defaultCharset Default charset to use if not present (default: 'utf8')
|
|
77
|
-
* @returns Content-Type header value with charset ensured
|
|
78
|
-
*/
|
|
79
|
-
ensureCharset(contentType: string, defaultCharset?: string): string;
|
|
80
|
-
/**
|
|
81
|
-
* Convert our Headers type to native Headers object.
|
|
82
|
-
* @param headers Headers in array or object format
|
|
83
|
-
* @returns Headers instance with converted header values
|
|
84
|
-
*/
|
|
85
|
-
fromHeaders(headers: UploadHeaders): Headers;
|
|
86
|
-
/**
|
|
87
|
-
* Get preferred media type from Accept header based on quality factors and supported types.
|
|
88
|
-
* @param acceptHeader HTTP Accept header value
|
|
89
|
-
* @param supportedTypes Array of supported MIME types to match against
|
|
90
|
-
* @returns Best matching media type or undefined if no match found
|
|
91
|
-
*/
|
|
92
|
-
getPreferredMediaType(acceptHeader: string | undefined, supportedTypes: string[]): string | undefined;
|
|
93
|
-
/**
|
|
94
|
-
* Parse Accept header with quality factor support.
|
|
95
|
-
* @param headerValue HTTP Accept header value to parse
|
|
96
|
-
* @returns Accept instance or undefined if header is invalid or missing
|
|
97
|
-
*/
|
|
98
|
-
parseAccept(headerValue: string | undefined): Accept | undefined;
|
|
99
|
-
/**
|
|
100
|
-
* Parse Content-Disposition header into structured object.
|
|
101
|
-
* @param headerValue HTTP Content-Disposition header value to parse
|
|
102
|
-
* @returns ContentDisposition instance or undefined if header is invalid or missing
|
|
103
|
-
*/
|
|
104
|
-
parseContentDisposition(headerValue: string | undefined): ContentDisposition | undefined;
|
|
105
|
-
/**
|
|
106
|
-
* Parse Content-Type header with structured access to media type, charset, and boundary.
|
|
107
|
-
* @param headerValue HTTP Content-Type header value to parse
|
|
108
|
-
* @returns ContentType instance or undefined if header is invalid or missing
|
|
109
|
-
*/
|
|
110
|
-
parseContentType(headerValue: string | undefined): ContentType | undefined;
|
|
111
|
-
};
|
package/dist/utils/http.d.ts
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import type { IncomingMessage, OutgoingHttpHeader, ServerResponse } from "node:http";
|
|
2
|
-
import { Readable } from "node:stream";
|
|
3
|
-
import type { Headers, IncomingMessageWithBody } from "./types.d.ts";
|
|
4
|
-
/**
|
|
5
|
-
* Reads the body of an HTTP request as a string with optional size limit.
|
|
6
|
-
* @param request HTTP request object to read body from
|
|
7
|
-
* @param encoding Text encoding to use (defaults to 'utf8')
|
|
8
|
-
* @param limit Maximum body size in characters (throws error if exceeded)
|
|
9
|
-
* @returns Promise resolving to the request body as a string
|
|
10
|
-
*/
|
|
11
|
-
export declare const readBody: (request: IncomingMessage, encoding: BufferEncoding, limit: number | undefined) => Promise<string>;
|
|
12
|
-
/**
|
|
13
|
-
* Retrieve the value of a specific header of an HTTP request.
|
|
14
|
-
* @param request request object
|
|
15
|
-
* @param name name of the header
|
|
16
|
-
* @param all if true, returns all values of the header, comma-separated, otherwise returns the last value.
|
|
17
|
-
*/
|
|
18
|
-
/**
|
|
19
|
-
* Get a header value. If `all` is true, returns the comma-joined value.
|
|
20
|
-
*/
|
|
21
|
-
export declare const getHeader: (request: IncomingMessage, name: string, all?: boolean) => string;
|
|
22
|
-
/**
|
|
23
|
-
* Extracts JSON metadata from an HTTP request body.
|
|
24
|
-
* Parses the request body as JSON if the content type is 'application/json'.
|
|
25
|
-
* @param request HTTP request with potential body data
|
|
26
|
-
* @param limit Maximum body size limit in bytes (default: 16MB)
|
|
27
|
-
* @returns Parsed metadata object, or empty object if not JSON
|
|
28
|
-
*/
|
|
29
|
-
export declare const getMetadata: (request: IncomingMessageWithBody<Record<string, unknown>>, limit?: number) => Promise<Record<string, unknown>>;
|
|
30
|
-
/**
|
|
31
|
-
* Appends value to the end of the multi-value header
|
|
32
|
-
*/
|
|
33
|
-
/** Append a value to a multi-valued response header. */
|
|
34
|
-
export declare const appendHeader: (response: ServerResponse, name: string, value: OutgoingHttpHeader) => void;
|
|
35
|
-
/**
|
|
36
|
-
* Sets the value of a specific header of an HTTP response.
|
|
37
|
-
*/
|
|
38
|
-
/** Set multiple response headers and expose them for CORS. */
|
|
39
|
-
export declare const setHeaders: (response: ServerResponse, headers?: Headers) => void;
|
|
40
|
-
/**
|
|
41
|
-
* Extracts host with port from a HTTP or HTTPS request.
|
|
42
|
-
* Prefers x-forwarded-host header for proxy compatibility.
|
|
43
|
-
* @param request HTTP request object
|
|
44
|
-
* @returns Host string with port (e.g., "example.com:8080")
|
|
45
|
-
*/
|
|
46
|
-
export declare const extractHost: (request: IncomingMessage & {
|
|
47
|
-
host?: string;
|
|
48
|
-
hostname?: string;
|
|
49
|
-
}) => string;
|
|
50
|
-
/**
|
|
51
|
-
* Extracts protocol from a HTTP or HTTPS request.
|
|
52
|
-
* Prefers x-forwarded-proto header for proxy compatibility.
|
|
53
|
-
* @param request HTTP request object
|
|
54
|
-
* @returns Protocol string ('http' or 'https')
|
|
55
|
-
*/
|
|
56
|
-
export declare const extractProto: (request: IncomingMessage) => string;
|
|
57
|
-
/**
|
|
58
|
-
* Try build a protocol:hostname:port string from a request object.
|
|
59
|
-
*/
|
|
60
|
-
/** Build protocol://host from an IncomingMessage using forwarded headers. */
|
|
61
|
-
export declare const getBaseUrl: (request: IncomingMessage) => string;
|
|
62
|
-
/**
|
|
63
|
-
* Extracts the real path from a request URL, excluding query parameters.
|
|
64
|
-
* Prefers originalUrl for Express compatibility.
|
|
65
|
-
* @internal
|
|
66
|
-
* @param request HTTP request object
|
|
67
|
-
* @returns The path component of the URL without query parameters
|
|
68
|
-
* @throws TypeError if path is undefined
|
|
69
|
-
*/
|
|
70
|
-
export declare const getRealPath: (request: IncomingMessage & {
|
|
71
|
-
originalUrl?: string;
|
|
72
|
-
}) => string;
|
|
73
|
-
/**
|
|
74
|
-
* @internal
|
|
75
|
-
*/
|
|
76
|
-
export declare const uuidRegex: RegExp;
|
|
77
|
-
/**
|
|
78
|
-
* Extracts a UUID identifier from the request URL path.
|
|
79
|
-
* Uses regex pattern to match UUID-like strings in the URL.
|
|
80
|
-
* @internal
|
|
81
|
-
* @param request HTTP request object
|
|
82
|
-
* @returns The extracted UUID identifier
|
|
83
|
-
* @throws TypeError if no valid ID is found in the path
|
|
84
|
-
*/
|
|
85
|
-
export declare const getIdFromRequest: (request: IncomingMessage & {
|
|
86
|
-
originalUrl?: string;
|
|
87
|
-
}) => string;
|
|
88
|
-
/**
|
|
89
|
-
* Converts a request to a Node.js Readable stream.
|
|
90
|
-
* Handles both Node.js IncomingMessage and Web API Request objects.
|
|
91
|
-
*/
|
|
92
|
-
export declare const getRequestStream: (request: IncomingMessage | Request) => Readable;
|
package/dist/utils/locker.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { LRUCache as Cache } from "lru-cache";
|
|
2
|
-
/**
|
|
3
|
-
* A simple lock map keyed by strings, backed by LRUCache. Locks
|
|
4
|
-
* automatically expire according to the configured TTL preventing deadlocks.
|
|
5
|
-
*/
|
|
6
|
-
declare class Locker<K extends string = string, V extends string = string> extends Cache<K, V, number> {
|
|
7
|
-
/**
|
|
8
|
-
* Creates a new Locker instance with configurable TTL and cache options.
|
|
9
|
-
* @param options LRU cache configuration options
|
|
10
|
-
*/
|
|
11
|
-
constructor(options?: Cache.Options<K, V, number>);
|
|
12
|
-
/**
|
|
13
|
-
* Acquires a lock for the specified key.
|
|
14
|
-
* Throws an error if the key is already locked.
|
|
15
|
-
* @param key The key to lock
|
|
16
|
-
* @returns The lock token (same as the key)
|
|
17
|
-
* @throws Error if the key is already locked
|
|
18
|
-
*/
|
|
19
|
-
lock(key: K): string;
|
|
20
|
-
/**
|
|
21
|
-
* Releases the lock for the specified key.
|
|
22
|
-
* @param key The key to unlock
|
|
23
|
-
*/
|
|
24
|
-
unlock(key: K): void;
|
|
25
|
-
}
|
|
26
|
-
export default Locker;
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import type { BinaryToTextEncoding } from "node:crypto";
|
|
2
|
-
import { PassThrough, Transform } from "node:stream";
|
|
3
|
-
/**
|
|
4
|
-
* Transform stream that validates checksums as data passes through.
|
|
5
|
-
* Calculates hash of streaming data and validates against expected checksum.
|
|
6
|
-
*/
|
|
7
|
-
export declare class StreamChecksum extends Transform {
|
|
8
|
-
readonly checksum: string;
|
|
9
|
-
readonly algorithm: string;
|
|
10
|
-
private readonly encoding;
|
|
11
|
-
length: number;
|
|
12
|
-
private digest;
|
|
13
|
-
private hash;
|
|
14
|
-
/**
|
|
15
|
-
* Gets the calculated digest value after the stream has finished processing.
|
|
16
|
-
* @returns The digest value in the configured encoding, or empty string if not yet calculated
|
|
17
|
-
*/
|
|
18
|
-
get calculatedDigest(): string;
|
|
19
|
-
/**
|
|
20
|
-
* Creates a new StreamChecksum transform stream.
|
|
21
|
-
* @param checksum Expected checksum value to validate against
|
|
22
|
-
* @param algorithm Hash algorithm to use (e.g., 'md5', 'sha256')
|
|
23
|
-
* @param encoding Encoding for the checksum comparison (defaults to 'base64')
|
|
24
|
-
*/
|
|
25
|
-
constructor(checksum: string, algorithm: string, encoding?: BinaryToTextEncoding);
|
|
26
|
-
/**
|
|
27
|
-
* Transform method that updates the hash with incoming data.
|
|
28
|
-
* @param chunk Buffer chunk to process
|
|
29
|
-
* @param _encoding Unused encoding parameter
|
|
30
|
-
* @param done Callback to signal completion
|
|
31
|
-
*/
|
|
32
|
-
_transform(chunk: Buffer, _encoding: string, done: () => void): void;
|
|
33
|
-
/**
|
|
34
|
-
* Finalization method that validates the checksum.
|
|
35
|
-
* @param callback Callback called with error if checksum validation fails
|
|
36
|
-
*/
|
|
37
|
-
_flush(callback: (error?: Error) => void): void;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Factory function that returns either a StreamChecksum transform or a PassThrough stream.
|
|
41
|
-
* Returns PassThrough when no algorithm is provided.
|
|
42
|
-
* @param checksum Expected checksum value
|
|
43
|
-
* @param algorithm Hash algorithm (if empty, returns PassThrough)
|
|
44
|
-
* @param encoding Encoding for checksum comparison
|
|
45
|
-
* @returns StreamChecksum instance or PassThrough stream
|
|
46
|
-
*/
|
|
47
|
-
export declare const streamChecksum: (checksum: string, algorithm: string, encoding?: BinaryToTextEncoding) => PassThrough | StreamChecksum;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Transform } from "node:stream";
|
|
2
|
-
/**
|
|
3
|
-
* Transform stream that tracks byte length and enforces size limits.
|
|
4
|
-
* Counts total bytes passing through and optionally enforces a maximum limit.
|
|
5
|
-
*/
|
|
6
|
-
declare class StreamLength extends Transform {
|
|
7
|
-
readonly limit: number;
|
|
8
|
-
length: number;
|
|
9
|
-
/**
|
|
10
|
-
* Creates a new StreamLength transform stream.
|
|
11
|
-
* @param limit Maximum number of bytes allowed (defaults to infinity)
|
|
12
|
-
*/
|
|
13
|
-
constructor(limit?: number);
|
|
14
|
-
/**
|
|
15
|
-
* Transform method that counts bytes and enforces size limits.
|
|
16
|
-
* @param chunk Buffer chunk to process
|
|
17
|
-
* @param _encoding Unused encoding parameter
|
|
18
|
-
* @param callback Callback called with error if limit exceeded
|
|
19
|
-
*/
|
|
20
|
-
_transform(chunk: Buffer, _encoding: string, callback: (error?: Error) => void): void;
|
|
21
|
-
}
|
|
22
|
-
export default StreamLength;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Maps object values using a transformation function.
|
|
3
|
-
* @param object The source object to map values from
|
|
4
|
-
* @param function_ The function to transform each value
|
|
5
|
-
* @returns A new object with transformed values
|
|
6
|
-
* @template T - The type of the transformed values
|
|
7
|
-
*/
|
|
8
|
-
declare const mapValues: <T>(object: Record<string, unknown>, function_: (value: unknown) => T) => Record<string, T>;
|
|
9
|
-
export default mapValues;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Convert a human-readable duration string to milliseconds.
|
|
3
|
-
* @param value Duration value (number in ms or human-readable string)
|
|
4
|
-
* @returns Duration in milliseconds, or undefined if parsing fails
|
|
5
|
-
* @example
|
|
6
|
-
* ```ts
|
|
7
|
-
* toMilliseconds("5m") // 300000
|
|
8
|
-
* toMilliseconds(5000) // 5000
|
|
9
|
-
* ```
|
|
10
|
-
*/
|
|
11
|
-
declare const toMilliseconds: (value: number | string | undefined) => number | undefined;
|
|
12
|
-
export default toMilliseconds;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Convert a human-readable duration string to seconds.
|
|
3
|
-
* @param value Duration value (number in seconds or human-readable string)
|
|
4
|
-
* @returns Duration in seconds
|
|
5
|
-
* @example
|
|
6
|
-
* ```ts
|
|
7
|
-
* toSeconds("5m") // 300
|
|
8
|
-
* toSeconds(300) // 300
|
|
9
|
-
* ```
|
|
10
|
-
*/
|
|
11
|
-
declare const toSeconds: (value: number | string) => number;
|
|
12
|
-
export default toSeconds;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import type { BinaryToTextEncoding, Hash } from "node:crypto";
|
|
2
|
-
import { Transform } from "node:stream";
|
|
3
|
-
import type { RangeChecksum as IRangeChecksum, RangeHasher as IRangeHasher } from "./types.d.ts";
|
|
4
|
-
/**
|
|
5
|
-
* Transform stream that calculates checksums for specific file ranges.
|
|
6
|
-
* Used for validating partial file integrity during resumable uploads.
|
|
7
|
-
*/
|
|
8
|
-
declare class RangeChecksum extends Transform implements IRangeChecksum {
|
|
9
|
-
readonly path: string;
|
|
10
|
-
hash: Hash;
|
|
11
|
-
private readonly hashCopy;
|
|
12
|
-
private hashes;
|
|
13
|
-
/**
|
|
14
|
-
* Creates a new RangeChecksum transform stream.
|
|
15
|
-
* @param hashes Range hasher instance managing multiple file hashes
|
|
16
|
-
* @param path File path identifier for this checksum operation
|
|
17
|
-
*/
|
|
18
|
-
constructor(hashes: IRangeHasher, path: string);
|
|
19
|
-
/**
|
|
20
|
-
* Resets the hash state to its initial value.
|
|
21
|
-
* Useful for reusing the checksum calculator for multiple operations.
|
|
22
|
-
*/
|
|
23
|
-
reset(): void;
|
|
24
|
-
/**
|
|
25
|
-
* Returns the current hash digest in the specified encoding.
|
|
26
|
-
* @param encoding Output encoding format (default: 'hex')
|
|
27
|
-
* @returns Hash digest as a string
|
|
28
|
-
*/
|
|
29
|
-
digest(encoding?: BinaryToTextEncoding): string;
|
|
30
|
-
_transform(chunk: Buffer, _encoding: string, done: () => void): void;
|
|
31
|
-
_flush(callback: (error?: Error) => void): void;
|
|
32
|
-
}
|
|
33
|
-
export default RangeChecksum;
|