@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.
Files changed (424) hide show
  1. package/CHANGELOG.md +578 -0
  2. package/LICENSE.md +237 -568
  3. package/README.md +82 -466
  4. package/dist/adapter/nuxt/module.d.ts +41 -34
  5. package/dist/adapter/nuxt/module.js +1 -93
  6. package/dist/adapter/nuxt/package.json +0 -6
  7. package/dist/ai/ai-sdk/index.d.ts +113 -0
  8. package/dist/ai/ai-sdk/index.js +1 -0
  9. package/dist/ai/claude/index.d.ts +177 -0
  10. package/dist/ai/claude/index.js +1 -0
  11. package/dist/ai/openai/index.d.ts +205 -0
  12. package/dist/ai/openai/index.js +1 -0
  13. package/dist/ai/tanstack/index.d.ts +115 -0
  14. package/dist/ai/tanstack/index.js +1 -0
  15. package/dist/handler/http/fetch/index.d.ts +303 -4
  16. package/dist/handler/http/fetch/index.js +1 -4
  17. package/dist/handler/http/hono/index.d.ts +73 -64
  18. package/dist/handler/http/hono/index.js +1 -65
  19. package/dist/handler/http/nextjs/index.d.ts +66 -58
  20. package/dist/handler/http/nextjs/index.js +1 -37
  21. package/dist/handler/http/node/index.d.ts +368 -4
  22. package/dist/handler/http/node/index.js +1 -8
  23. package/dist/handler/http/solid-start/index.d.ts +66 -57
  24. package/dist/handler/http/solid-start/index.js +1 -44
  25. package/dist/index.d.ts +106 -17
  26. package/dist/index.js +1 -13
  27. package/dist/openapi/index.d.ts +24 -5
  28. package/dist/openapi/index.js +1 -5
  29. package/dist/packem_shared/AbstractBaseStorage-Ba7cLu-t.js +1 -0
  30. package/dist/packem_shared/AwsLightFile-CpZrubaV.js +1 -0
  31. package/dist/packem_shared/AwsLightMetaStorage-DPqJ9LTr.js +1 -0
  32. package/dist/packem_shared/AwsLightStorage-DTBVxHXO.js +1 -0
  33. package/dist/packem_shared/AzureFile-DFSaVe25.js +1 -0
  34. package/dist/packem_shared/AzureSMetaStorage-ByzM6Aix.js +1 -0
  35. package/dist/packem_shared/AzureStorage-BFsD4qbF.js +1 -0
  36. package/dist/packem_shared/BaseTransformer-Buw5lX_3.js +1 -0
  37. package/dist/packem_shared/BoxFile-CseIoPW1.js +1 -0
  38. package/dist/packem_shared/BoxMetaStorage-DFwhEI9C.js +1 -0
  39. package/dist/packem_shared/BoxStorage-B_t-OVzf.js +1 -0
  40. package/dist/packem_shared/BunS3File-BcYmsz1n.js +1 -0
  41. package/dist/packem_shared/BunS3MetaStorage-DFwhEI9C.js +1 -0
  42. package/dist/packem_shared/BunS3Storage-CB_pZWlV.js +1 -0
  43. package/dist/packem_shared/BunnyFile-BgEOlcYI.js +1 -0
  44. package/dist/packem_shared/BunnyMetaStorage-DFwhEI9C.js +1 -0
  45. package/dist/packem_shared/BunnyStorage-CILSK4_Z.js +1 -0
  46. package/dist/packem_shared/CloudinaryFile-Bo5B-vM1.js +1 -0
  47. package/dist/packem_shared/CloudinaryMetaStorage-D_vNzewL.js +1 -0
  48. package/dist/packem_shared/CloudinaryStorage-DiCbdAi_.js +1 -0
  49. package/dist/packem_shared/DiskStorage-Kp5t3vnF.js +1 -0
  50. package/dist/packem_shared/DiskStorageWithChecksum-Bh6w-Iu8.js +1 -0
  51. package/dist/packem_shared/DropboxFile-BFb7eOzy.js +1 -0
  52. package/dist/packem_shared/DropboxMetaStorage-DFwhEI9C.js +1 -0
  53. package/dist/packem_shared/DropboxStorage-H8bd8hEz.js +1 -0
  54. package/dist/packem_shared/ERRORS-BIBxE2oR.js +1 -0
  55. package/dist/packem_shared/File-W8aOo15X.js +1 -0
  56. package/dist/packem_shared/Files-BA3mpDwz.js +1 -0
  57. package/dist/packem_shared/FirebaseFile-BLaBxa2A.js +1 -0
  58. package/dist/packem_shared/FirebaseMetaStorage-D_vNzewL.js +1 -0
  59. package/dist/packem_shared/FirebaseStorage-Dgk4XyMr.js +2 -0
  60. package/dist/packem_shared/FtpFile-ClWDYnt2.js +1 -0
  61. package/dist/packem_shared/FtpMetaStorage-DFwhEI9C.js +1 -0
  62. package/dist/packem_shared/FtpStorage-g_DjiR-C.js +1 -0
  63. package/dist/packem_shared/GCSConfig-BQ0OpVhe.js +1 -0
  64. package/dist/packem_shared/GCSFile-Cero7qZN.js +1 -0
  65. package/dist/packem_shared/GCSMetaStorage-3fLTlRd4.js +1 -0
  66. package/dist/packem_shared/GCStorage-DUfwVFd3.js +1 -0
  67. package/dist/packem_shared/GoogleDriveFile-DHpLhzg9.js +1 -0
  68. package/dist/packem_shared/GoogleDriveMetaStorage-DqkgoE46.js +1 -0
  69. package/dist/packem_shared/GoogleDriveStorage-D0-5egHE.js +1 -0
  70. package/dist/packem_shared/LocalMetaStorage-Bp5mVc76.js +1 -0
  71. package/dist/packem_shared/MediaTransformer-D2kUsklW.js +1 -0
  72. package/dist/packem_shared/MemoryMetaStorage-Ksgh9pe7.js +1 -0
  73. package/dist/packem_shared/MemoryStorage-DzSTdlAq.js +1 -0
  74. package/dist/packem_shared/MetaStorage-DPEUyWgN.js +1 -0
  75. package/dist/packem_shared/Metadata-B7CcBueg.js +1 -0
  76. package/dist/packem_shared/Multipart-Btj2mo9r.js +1 -0
  77. package/dist/packem_shared/Multipart-C4GpuHMU.js +1 -0
  78. package/dist/packem_shared/NetlifyBlobFile-DoFhkzaH.js +1 -0
  79. package/dist/packem_shared/NetlifyBlobMetaStorage-D_vNzewL.js +1 -0
  80. package/dist/packem_shared/NetlifyBlobStorage-DZdCmOVW.js +1 -0
  81. package/dist/packem_shared/NoOpMetrics-BLo6u4NY.js +1 -0
  82. package/dist/packem_shared/OneDriveFile-CNNJYI43.js +1 -0
  83. package/dist/packem_shared/OneDriveMetaStorage-DqkgoE46.js +1 -0
  84. package/dist/packem_shared/OneDriveStorage-CvJetV7_.js +1 -0
  85. package/dist/packem_shared/OpenTelemetryMetrics-DJDQsNKp.js +1 -0
  86. package/dist/packem_shared/PocketBaseFile-DpJpxl3e.js +1 -0
  87. package/dist/packem_shared/PocketBaseMetaStorage-CpvDRnSu.js +1 -0
  88. package/dist/packem_shared/PocketBaseStorage-BPil-koe.js +1 -0
  89. package/dist/packem_shared/Rest-BehVaxbl.js +1 -0
  90. package/dist/packem_shared/Rest-ymPCZkKR.js +1 -0
  91. package/dist/packem_shared/S3File-CpZrubaV.js +1 -0
  92. package/dist/packem_shared/S3MetaStorage-CMonflzp.js +1 -0
  93. package/dist/packem_shared/S3Storage-wslqssvr.js +1 -0
  94. package/dist/packem_shared/SftpFile-ClWDYnt2.js +1 -0
  95. package/dist/packem_shared/SftpMetaStorage-DFwhEI9C.js +1 -0
  96. package/dist/packem_shared/SftpStorage-BVbMtS2b.js +1 -0
  97. package/dist/packem_shared/SharePointFile-Blz9FS4h.js +1 -0
  98. package/dist/packem_shared/SharePointMetaStorage-DFwhEI9C.js +1 -0
  99. package/dist/packem_shared/SharePointStorage-DWjvR5oZ.js +1 -0
  100. package/dist/packem_shared/SupabaseFile-Bo5B-vM1.js +1 -0
  101. package/dist/packem_shared/SupabaseMetaStorage-DqkgoE46.js +1 -0
  102. package/dist/packem_shared/SupabaseStorage-BiKmYKb6.js +1 -0
  103. package/dist/packem_shared/TUS_RESUMABLE-CyTSRvPU.js +1 -0
  104. package/dist/packem_shared/Tus-BgbON_wQ.js +1 -0
  105. package/dist/packem_shared/Tus-v6jzkaIO.js +1 -0
  106. package/dist/packem_shared/UploadControl-DZJhI9Wh.js +1 -0
  107. package/dist/packem_shared/UploadThingFile-BTFMpcIA.js +1 -0
  108. package/dist/packem_shared/UploadThingMetaStorage-D_vNzewL.js +1 -0
  109. package/dist/packem_shared/UploadThingStorage-jrEnANC5.js +1 -0
  110. package/dist/packem_shared/ValidationError-3B06DFyE.js +1 -0
  111. package/dist/packem_shared/VercelBlobFile-CVQwKlZk.js +1 -0
  112. package/dist/packem_shared/VercelBlobMetaStorage-DFwhEI9C.js +1 -0
  113. package/dist/packem_shared/VercelBlobStorage-Y-cDgH30.js +1 -0
  114. package/dist/packem_shared/_commonjsHelpers-CWAkuNXM.js +1 -0
  115. package/dist/packem_shared/agentsCopyFile-Dl5iffdH.js +1 -0
  116. package/dist/packem_shared/akamai-DthkaFul.js +1 -0
  117. package/dist/packem_shared/alibaba-BEi25O1g.js +1 -0
  118. package/dist/packem_shared/approval-fVHwBp7u.js +1 -0
  119. package/dist/packem_shared/approval.d-CMAYH9GF.d.ts +75 -0
  120. package/dist/packem_shared/aws-light-meta-storage-DGrn72VJ.js +4 -0
  121. package/dist/packem_shared/azure-meta-storage-ClbEsfI4.js +1 -0
  122. package/dist/packem_shared/backblaze-m1N5NZ9q.js +1 -0
  123. package/dist/packem_shared/base-handler-core-EeV8gZck.js +1 -0
  124. package/dist/packem_shared/base-handler-fetch-CHzsgb7C.js +1 -0
  125. package/dist/packem_shared/base-handler-node-BjpW8pGi.js +1 -0
  126. package/dist/packem_shared/cache-Cw3QjoVN.js +1 -0
  127. package/dist/packem_shared/claudeCopyFile-BX9O4ORk.js +1 -0
  128. package/dist/packem_shared/cloudflare-CdUTErlo.js +1 -0
  129. package/dist/packem_shared/copyFile-49FtxXcm.js +1 -0
  130. package/dist/packem_shared/copyFile-BUPezT_c.js +1 -0
  131. package/dist/packem_shared/createResponsesFileTools-6Tvt2PNr.js +1 -0
  132. package/dist/packem_shared/createRetryWrapper-CxgiV_hH.js +1 -0
  133. package/dist/packem_shared/detect-file-type-BA7UBLKA.js +1 -0
  134. package/dist/packem_shared/digitalOcean-B2uB6pgz.js +1 -0
  135. package/dist/packem_shared/disk-storage-DIn-VnCh.js +1 -0
  136. package/dist/packem_shared/disk-storage-with-checksum.d-B-VGEsfl.d.ts +156 -0
  137. package/dist/packem_shared/executors-BDzMjc4y.js +1 -0
  138. package/dist/packem_shared/executors.d-BZP2rWo3.d.ts +69 -0
  139. package/dist/packem_shared/exoscale-BDa1Gjth.js +1 -0
  140. package/dist/packem_shared/filebase-CsFYJIwB.js +1 -0
  141. package/dist/packem_shared/files.d-CH0iLBNC.d.ts +655 -0
  142. package/dist/packem_shared/gcs-meta-storage-Dy37wCjI.js +1 -0
  143. package/dist/packem_shared/get-file-status-y3wTtDQs.js +1 -0
  144. package/dist/packem_shared/getFormatFromContentType-DCTTPQHm.js +1 -0
  145. package/dist/packem_shared/has-content-50BsqrWw.js +1 -0
  146. package/dist/packem_shared/headers-BAiAKekR.js +26 -0
  147. package/dist/packem_shared/hetzner-BGGFiRGD.js +1 -0
  148. package/dist/packem_shared/ibmCos-j-3TfJ5p.js +1 -0
  149. package/dist/packem_shared/idriveE2-C6pQ5pQ0.js +1 -0
  150. package/dist/packem_shared/index-nZWCQrSe.js +5 -0
  151. package/dist/packem_shared/internal-D_cZIFwI.js +1 -0
  152. package/dist/packem_shared/is-expired-CBEk6XBi.js +1 -0
  153. package/dist/packem_shared/local-meta-storage-C2T92TYb.js +11 -0
  154. package/dist/packem_shared/local-meta-storage.d-D9PBfkn6.d.ts +21 -0
  155. package/dist/packem_shared/media-transformer.d-Quf4ai47.d.ts +331 -0
  156. package/dist/packem_shared/memory-storage.d-4EU1cMt1.d.ts +101 -0
  157. package/dist/packem_shared/minio-NKquuBfS.js +1 -0
  158. package/dist/packem_shared/multipart-base-BOzY19lb.js +1 -0
  159. package/dist/packem_shared/oauth-refresh-EdGzlcOZ.js +1 -0
  160. package/dist/packem_shared/oracleCloud-DslqNpn6.js +1 -0
  161. package/dist/packem_shared/ovhCloud-CMHE6uLV.js +1 -0
  162. package/dist/packem_shared/part-match-D-9dGX42.js +1 -0
  163. package/dist/packem_shared/path-0oTTdkvl-BVg7lYf5.js +1 -0
  164. package/dist/packem_shared/posix-dirname-CfpH5wZi.js +1 -0
  165. package/dist/packem_shared/response-builder-CbSA8qPa.js +1 -0
  166. package/dist/packem_shared/rest-base-CynUg0mH.js +1 -0
  167. package/dist/packem_shared/restOpenApiSpec-Csv513qf.js +1 -0
  168. package/dist/packem_shared/s3-base-storage-DXZYN24h.js +1 -0
  169. package/dist/packem_shared/s3-base-storage.d-BQgP5B-t.d.ts +287 -0
  170. package/dist/packem_shared/scaleway-U1In3v70.js +1 -0
  171. package/dist/packem_shared/sharedErrorSchemaObject-YN65aAKj.js +1 -0
  172. package/dist/packem_shared/storage-Cyy73Y6r.js +1 -0
  173. package/dist/packem_shared/storage.d-CEM1upWM.d.ts +1176 -0
  174. package/dist/packem_shared/storj-Cb59q9kF.js +1 -0
  175. package/dist/packem_shared/sync-DhR3536K.js +1 -0
  176. package/dist/packem_shared/tencent-Q1y2GENc.js +1 -0
  177. package/dist/packem_shared/tigris-BELKoyyp.js +1 -0
  178. package/dist/packem_shared/transformOpenApiSpec-CIEAgpBD.js +1 -0
  179. package/dist/packem_shared/tus-base.d-DLzKE54M.d.ts +106 -0
  180. package/dist/packem_shared/tusOpenApiSpec-D96B03t5.js +1 -0
  181. package/dist/packem_shared/types.d-Bon9GVVe.d.ts +104 -0
  182. package/dist/packem_shared/types.d-CggTCgXr.d.ts +49 -0
  183. package/dist/packem_shared/types.d-CrUWY4On.d.ts +720 -0
  184. package/dist/packem_shared/update-size-DuNuLyxj.js +1 -0
  185. package/dist/packem_shared/vultr-B491cQ4e.js +1 -0
  186. package/dist/packem_shared/waitForStorage-ByQmG4xF.js +1 -0
  187. package/dist/packem_shared/wasabi-DFrwIoab.js +1 -0
  188. package/dist/packem_shared/xhrOpenApiSpec-DQR4h6M8.js +1 -0
  189. package/dist/packem_shared/yandex-CwzHuEKP.js +1 -0
  190. package/dist/storage/aws/clients/index.d.ts +612 -6
  191. package/dist/storage/aws/clients/index.js +1 -6
  192. package/dist/storage/aws/index.d.ts +332 -4
  193. package/dist/storage/aws/index.js +1 -3
  194. package/dist/storage/aws-light/index.d.ts +259 -4
  195. package/dist/storage/aws-light/index.js +1 -3
  196. package/dist/storage/azure/index.d.ts +236 -4
  197. package/dist/storage/azure/index.js +1 -3
  198. package/dist/storage/box/index.d.ts +189 -0
  199. package/dist/storage/box/index.js +1 -0
  200. package/dist/storage/bun-s3/index.d.ts +200 -0
  201. package/dist/storage/bun-s3/index.js +1 -0
  202. package/dist/storage/bunny/index.d.ts +119 -0
  203. package/dist/storage/bunny/index.js +1 -0
  204. package/dist/storage/cloudinary/index.d.ts +121 -0
  205. package/dist/storage/cloudinary/index.js +1 -0
  206. package/dist/storage/dropbox/index.d.ts +132 -0
  207. package/dist/storage/dropbox/index.js +1 -0
  208. package/dist/storage/firebase/index.d.ts +192 -0
  209. package/dist/storage/firebase/index.js +1 -0
  210. package/dist/storage/ftp/index.d.ts +91 -0
  211. package/dist/storage/ftp/index.js +1 -0
  212. package/dist/storage/gcs/index.d.ts +195 -5
  213. package/dist/storage/gcs/index.js +1 -4
  214. package/dist/storage/google-drive/index.d.ts +148 -0
  215. package/dist/storage/google-drive/index.js +1 -0
  216. package/dist/storage/local/index.d.ts +7 -4
  217. package/dist/storage/local/index.js +1 -3
  218. package/dist/storage/memory/index.d.ts +6 -0
  219. package/dist/storage/memory/index.js +1 -0
  220. package/dist/storage/netlify-blob/index.d.ts +147 -4
  221. package/dist/storage/netlify-blob/index.js +1 -3
  222. package/dist/storage/onedrive/index.d.ts +103 -0
  223. package/dist/storage/onedrive/index.js +1 -0
  224. package/dist/storage/pocketbase/index.d.ts +172 -0
  225. package/dist/storage/pocketbase/index.js +1 -0
  226. package/dist/storage/sftp/index.d.ts +92 -0
  227. package/dist/storage/sftp/index.js +1 -0
  228. package/dist/storage/sharepoint/index.d.ts +180 -0
  229. package/dist/storage/sharepoint/index.js +1 -0
  230. package/dist/storage/supabase/index.d.ts +115 -0
  231. package/dist/storage/supabase/index.js +1 -0
  232. package/dist/storage/uploadthing/index.d.ts +95 -0
  233. package/dist/storage/uploadthing/index.js +1 -0
  234. package/dist/storage/vercel-blob/index.d.ts +189 -4
  235. package/dist/storage/vercel-blob/index.js +1 -3
  236. package/dist/transformer/audio-transformer.d.ts +127 -125
  237. package/dist/transformer/audio-transformer.js +1 -278
  238. package/dist/transformer/image-transformer.d.ts +573 -568
  239. package/dist/transformer/image-transformer.js +1 -1100
  240. package/dist/transformer/index.d.ts +62 -5
  241. package/dist/transformer/index.js +1 -4
  242. package/dist/transformer/video-transformer.d.ts +144 -142
  243. package/dist/transformer/video-transformer.js +1 -310
  244. package/package.json +202 -50
  245. package/dist/handler/base/base-handler-core.d.ts +0 -91
  246. package/dist/handler/base/base-handler-fetch.d.ts +0 -76
  247. package/dist/handler/base/base-handler-node.d.ts +0 -137
  248. package/dist/handler/multipart/multipart-base.d.ts +0 -84
  249. package/dist/handler/multipart/multipart-fetch.d.ts +0 -64
  250. package/dist/handler/multipart/multipart.d.ts +0 -49
  251. package/dist/handler/rest/rest-base.d.ts +0 -106
  252. package/dist/handler/rest/rest-fetch.d.ts +0 -88
  253. package/dist/handler/rest/rest.d.ts +0 -93
  254. package/dist/handler/tus/tus-base.d.ts +0 -152
  255. package/dist/handler/tus/tus-fetch.d.ts +0 -72
  256. package/dist/handler/tus/tus.d.ts +0 -78
  257. package/dist/handler/types.d.ts +0 -53
  258. package/dist/handler/utils/request-parser.d.ts +0 -72
  259. package/dist/handler/utils/response-builder.d.ts +0 -83
  260. package/dist/handler/utils/storage-utils.d.ts +0 -10
  261. package/dist/handler/utils/stream-utils.d.ts +0 -29
  262. package/dist/handler/utils/upload-handlers.d.ts +0 -76
  263. package/dist/metrics/index.d.ts +0 -2
  264. package/dist/metrics/no-op-metrics.d.ts +0 -15
  265. package/dist/metrics/opentelemetry-metrics.d.ts +0 -55
  266. package/dist/openapi/rest.d.ts +0 -7
  267. package/dist/openapi/shared.d.ts +0 -13
  268. package/dist/openapi/transform.d.ts +0 -3
  269. package/dist/openapi/tus.d.ts +0 -7
  270. package/dist/openapi/xhr.d.ts +0 -7
  271. package/dist/packem_shared/AwsLightFile-tTneXZgG.js +0 -11
  272. package/dist/packem_shared/AwsLightMetaStorage-BWSOtVaN.js +0 -4
  273. package/dist/packem_shared/AwsLightStorage-Blv-GP4v.js +0 -133
  274. package/dist/packem_shared/AzureFile-CesgFzps.js +0 -8
  275. package/dist/packem_shared/AzureSMetaStorage-CFs-OYJT.js +0 -88
  276. package/dist/packem_shared/AzureStorage-B0v048hG.js +0 -357
  277. package/dist/packem_shared/BaseTransformer-C2gLib6v.js +0 -82
  278. package/dist/packem_shared/DiskStorage-BlltBst6.js +0 -12
  279. package/dist/packem_shared/DiskStorageWithChecksum-BJTmMklc.js +0 -238
  280. package/dist/packem_shared/ERRORS-D0apMqnc.js +0 -97
  281. package/dist/packem_shared/File-Bb3P23dr.js +0 -69
  282. package/dist/packem_shared/GCSConfig-vPP22kN6.js +0 -11
  283. package/dist/packem_shared/GCSFile-BIEunhAN.js +0 -8
  284. package/dist/packem_shared/GCSMetaStorage-BYhwecZl.js +0 -7
  285. package/dist/packem_shared/GCStorage-BmnoK7Rz.js +0 -406
  286. package/dist/packem_shared/LocalMetaStorage-CZHhKkMd.js +0 -7
  287. package/dist/packem_shared/MediaTransformer-D6658DL1.js +0 -1197
  288. package/dist/packem_shared/MetaStorage-pECeFOad.js +0 -46
  289. package/dist/packem_shared/Metadata-DRLXeJ0F.js +0 -89
  290. package/dist/packem_shared/Multipart-5Xpy7WhY.js +0 -163
  291. package/dist/packem_shared/Multipart-C-iU9LXj.js +0 -128
  292. package/dist/packem_shared/NetlifyBlobFile-CXzyjqrD.js +0 -14
  293. package/dist/packem_shared/NetlifyBlobMetaStorage-DxZ5aDvD.js +0 -9
  294. package/dist/packem_shared/NetlifyBlobStorage-CLPtjHqd.js +0 -376
  295. package/dist/packem_shared/NoOpMetrics-DhAk5rXc.js +0 -10
  296. package/dist/packem_shared/OpenTelemetryMetrics-BnxhqIaH.js +0 -67
  297. package/dist/packem_shared/Rest-DO7OslCs.js +0 -267
  298. package/dist/packem_shared/Rest-DTaszQ6n.js +0 -228
  299. package/dist/packem_shared/S3File-DZiyk9Qt.js +0 -11
  300. package/dist/packem_shared/S3MetaStorage-Dz9aDabA.js +0 -76
  301. package/dist/packem_shared/S3Storage-DHmTk-hU.js +0 -316
  302. package/dist/packem_shared/TUS_RESUMABLE-BfguFdM1.js +0 -434
  303. package/dist/packem_shared/Tus-BQItPVAC.js +0 -200
  304. package/dist/packem_shared/Tus-BibjweWH.js +0 -195
  305. package/dist/packem_shared/ValidationError-BfF1aE4h.js +0 -26
  306. package/dist/packem_shared/VercelBlobFile-BCg4aTEq.js +0 -18
  307. package/dist/packem_shared/VercelBlobMetaStorage-Bd9F-VFm.js +0 -9
  308. package/dist/packem_shared/VercelBlobStorage-DD9LMOS6.js +0 -261
  309. package/dist/packem_shared/_commonjsHelpers-B85MJLTf.js +0 -5
  310. package/dist/packem_shared/aws-light-meta-storage-DKJBgbR6.js +0 -446
  311. package/dist/packem_shared/backblaze-BlMnIcBC.js +0 -20
  312. package/dist/packem_shared/base-handler-core-DLEVHemv.js +0 -303
  313. package/dist/packem_shared/base-handler-fetch-A7V0N6AJ.js +0 -291
  314. package/dist/packem_shared/base-handler-node-Dx7ce3sU.js +0 -730
  315. package/dist/packem_shared/cache-B88MXQ_2.js +0 -18
  316. package/dist/packem_shared/cloudflare-Bi1q8wXE.js +0 -21
  317. package/dist/packem_shared/defaultCloudStorageFileNameValidation-DUuacjWv.js +0 -11
  318. package/dist/packem_shared/digitalOcean-CWQRJM3L.js +0 -21
  319. package/dist/packem_shared/disk-storage-Bh2wy3YW.js +0 -810
  320. package/dist/packem_shared/gcs-meta-storage-DqNjM7DP.js +0 -158
  321. package/dist/packem_shared/has-content-CY66ehMK.js +0 -3
  322. package/dist/packem_shared/headers-C9DasoT1.js +0 -1318
  323. package/dist/packem_shared/is-expired-CTThU1q5.js +0 -8
  324. package/dist/packem_shared/isRetryableError-Dycp7127.js +0 -82
  325. package/dist/packem_shared/isValidMediaType-BeDgiObq.js +0 -35
  326. package/dist/packem_shared/local-meta-storage-By-3SNBI.js +0 -649
  327. package/dist/packem_shared/minio-C2YBZQOw.js +0 -22
  328. package/dist/packem_shared/multipart-base-BY0rhkw5.js +0 -102
  329. package/dist/packem_shared/part-match-BMNqHDYD.js +0 -96
  330. package/dist/packem_shared/path-CR6YkPXX-7R1-9CMk.js +0 -161
  331. package/dist/packem_shared/response-builder-BtnRiBUI.js +0 -45
  332. package/dist/packem_shared/rest-base-Bt9Np3M8.js +0 -457
  333. package/dist/packem_shared/restOpenApiSpec-D1JC_Jto.js +0 -800
  334. package/dist/packem_shared/s3-base-storage-C1DIHTYY.js +0 -510
  335. package/dist/packem_shared/sharedGet-Cpo7QUyu.js +0 -1019
  336. package/dist/packem_shared/storage-C6NSXb8h.js +0 -1175
  337. package/dist/packem_shared/tigris-Hac8TKnX.js +0 -21
  338. package/dist/packem_shared/transformOpenApiSpec-DWM5WtnN.js +0 -975
  339. package/dist/packem_shared/tusOpenApiSpec-mBZkl7he.js +0 -740
  340. package/dist/packem_shared/update-size-CCGm6i1J.js +0 -8
  341. package/dist/packem_shared/validator-BeX_lJet.js +0 -78
  342. package/dist/packem_shared/waitForStorage-Cscw85sx.js +0 -18
  343. package/dist/packem_shared/wasabi-DIyflHSd.js +0 -21
  344. package/dist/packem_shared/xhrOpenApiSpec-B1V5Dxrj.js +0 -264
  345. package/dist/storage/aws/clients/backblaze.d.ts +0 -12
  346. package/dist/storage/aws/clients/cloudflare.d.ts +0 -13
  347. package/dist/storage/aws/clients/digital-ocean.d.ts +0 -12
  348. package/dist/storage/aws/clients/minio.d.ts +0 -13
  349. package/dist/storage/aws/clients/tigris.d.ts +0 -12
  350. package/dist/storage/aws/clients/types.d.ts +0 -95
  351. package/dist/storage/aws/clients/wasabi.d.ts +0 -12
  352. package/dist/storage/aws/s3-base-storage.d.ts +0 -248
  353. package/dist/storage/aws/s3-client-adapter.d.ts +0 -110
  354. package/dist/storage/aws/s3-file.d.ts +0 -10
  355. package/dist/storage/aws/s3-meta-storage.d.ts +0 -15
  356. package/dist/storage/aws/s3-storage.d.ts +0 -70
  357. package/dist/storage/aws/types.d.ts +0 -119
  358. package/dist/storage/aws-light/aws-light-api-adapter.d.ts +0 -130
  359. package/dist/storage/aws-light/aws-light-file.d.ts +0 -10
  360. package/dist/storage/aws-light/aws-light-meta-storage.d.ts +0 -19
  361. package/dist/storage/aws-light/aws-light-storage.d.ts +0 -65
  362. package/dist/storage/aws-light/types.d.ts +0 -37
  363. package/dist/storage/azure/azure-file.d.ts +0 -6
  364. package/dist/storage/azure/azure-meta-storage.d.ts +0 -15
  365. package/dist/storage/azure/azure-storage.d.ts +0 -69
  366. package/dist/storage/azure/types.d.ts +0 -62
  367. package/dist/storage/gcs/fetch-error.d.ts +0 -11
  368. package/dist/storage/gcs/gcs-config.d.ts +0 -2
  369. package/dist/storage/gcs/gcs-file.d.ts +0 -6
  370. package/dist/storage/gcs/gcs-meta-storage.d.ts +0 -27
  371. package/dist/storage/gcs/gcs-storage.d.ts +0 -91
  372. package/dist/storage/gcs/types.d.ts +0 -55
  373. package/dist/storage/gcs/utils.d.ts +0 -7
  374. package/dist/storage/local/disk-storage-with-checksum.d.ts +0 -15
  375. package/dist/storage/local/disk-storage.d.ts +0 -135
  376. package/dist/storage/local/local-meta-storage.d.ts +0 -32
  377. package/dist/storage/meta-storage.d.ts +0 -30
  378. package/dist/storage/netlify-blob/netlify-blob-file.d.ts +0 -12
  379. package/dist/storage/netlify-blob/netlify-blob-meta-storage.d.ts +0 -7
  380. package/dist/storage/netlify-blob/netlify-blob-storage.d.ts +0 -93
  381. package/dist/storage/netlify-blob/types.d.ts +0 -30
  382. package/dist/storage/storage.d.ts +0 -353
  383. package/dist/storage/types.d.ts +0 -221
  384. package/dist/storage/utils/file/file.d.ts +0 -25
  385. package/dist/storage/utils/file/get-file-status.d.ts +0 -9
  386. package/dist/storage/utils/file/has-content.d.ts +0 -9
  387. package/dist/storage/utils/file/index.d.ts +0 -10
  388. package/dist/storage/utils/file/is-expired.d.ts +0 -8
  389. package/dist/storage/utils/file/metadata.d.ts +0 -18
  390. package/dist/storage/utils/file/part-match.d.ts +0 -11
  391. package/dist/storage/utils/file/types.d.ts +0 -37
  392. package/dist/storage/utils/file/update-metadata.d.ts +0 -10
  393. package/dist/storage/utils/file/update-size.d.ts +0 -10
  394. package/dist/storage/vercel-blob/types.d.ts +0 -32
  395. package/dist/storage/vercel-blob/vercel-blob-file.d.ts +0 -16
  396. package/dist/storage/vercel-blob/vercel-blob-meta-storage.d.ts +0 -7
  397. package/dist/storage/vercel-blob/vercel-blob-storage.d.ts +0 -76
  398. package/dist/transformer/base-transformer.d.ts +0 -63
  399. package/dist/transformer/media-transformer.d.ts +0 -332
  400. package/dist/transformer/types.d.ts +0 -652
  401. package/dist/transformer/utils.d.ts +0 -33
  402. package/dist/transformer/validation-error.d.ts +0 -23
  403. package/dist/utils/cache.d.ts +0 -32
  404. package/dist/utils/chunked-upload.d.ts +0 -65
  405. package/dist/utils/detect-file-type.d.ts +0 -28
  406. package/dist/utils/errors.d.ts +0 -74
  407. package/dist/utils/file-path-url-matcher.d.ts +0 -18
  408. package/dist/utils/headers.d.ts +0 -111
  409. package/dist/utils/http.d.ts +0 -92
  410. package/dist/utils/locker.d.ts +0 -26
  411. package/dist/utils/pipes/stream-checksum.d.ts +0 -47
  412. package/dist/utils/pipes/stream-length.d.ts +0 -22
  413. package/dist/utils/primitives/get-last-one.d.ts +0 -3
  414. package/dist/utils/primitives/is-record.d.ts +0 -2
  415. package/dist/utils/primitives/map-values.d.ts +0 -9
  416. package/dist/utils/primitives/pick.d.ts +0 -2
  417. package/dist/utils/primitives/to-milliseconds.d.ts +0 -12
  418. package/dist/utils/primitives/to-seconds.d.ts +0 -12
  419. package/dist/utils/range-checksum.d.ts +0 -33
  420. package/dist/utils/range-hasher.d.ts +0 -46
  421. package/dist/utils/retry.d.ts +0 -64
  422. package/dist/utils/types.d.ts +0 -108
  423. package/dist/utils/validation-error.d.ts +0 -22
  424. package/dist/utils/validator.d.ts +0 -36
@@ -1,571 +1,576 @@
1
- import { Readable } from "node:stream";
2
- import type { BaseStorage } from "../storage/storage.d.ts";
3
- import type { File, FileReturn } from "../storage/utils/index.d.ts";
4
- import BaseTransformer from "./base-transformer.d.ts";
5
- import type { AffineOptions, BandboolOptions, BlurOptions, BooleanOptions, CLAHEOptions, ColourspaceOptions, ConvolveOptions, CropOptions, DilateOptions, EnsureAlphaOptions, ErodeOptions, ExtractChannelOptions, GreyscaleOptions, ImageFormat, ImageTransformerConfig, JoinChannelOptions, LinearOptions, MedianOptions, ModulateOptions, PipelineColourspaceOptions, RecombineOptions, RemoveAlphaOptions, ResizeOptions, RotateOptions, SharpenOptions, ThresholdOptions, TintOptions, ToColourspaceOptions, TransformationStep, TransformOptions, TransformResult } from "./types.d.ts";
1
+ import { Readable } from 'node:stream';
2
+ import { F as File, g as FileReturn, B as BaseStorage } from "../packem_shared/storage.d-CEM1upWM.js";
3
+ import { I as ImageTransformerConfig, T as TransformResult, R as ResizeOptions, C as CropOptions, g as RotateOptions, h as ImageFormat, i as TransformOptions, S as SharpenOptions, j as BlurOptions, k as MedianOptions, l as CLAHEOptions, m as ConvolveOptions, n as ThresholdOptions, o as BooleanOptions, L as LinearOptions, p as RecombineOptions, q as ModulateOptions, r as TintOptions, G as GreyscaleOptions, s as ColourspaceOptions, E as ExtractChannelOptions, J as JoinChannelOptions, t as BandboolOptions, u as AffineOptions, D as DilateOptions, v as ErodeOptions, P as PipelineColourspaceOptions, w as ToColourspaceOptions, x as RemoveAlphaOptions, y as EnsureAlphaOptions, z as TransformationStep, B as BaseTransformer } from "../packem_shared/types.d-CrUWY4On.js";
4
+ import 'node:crypto';
5
+ import 'node:http';
6
+ import 'lru-cache';
6
7
  /**
7
- * Image transformer that uses storage backends to retrieve and transform images.
8
- * @template TFile The file type used by this transformer.
9
- * @template TFileReturn The return type for file retrieval operations.
10
- *
11
- * Supports URL-based transformations with query parameters for on-demand image processing.
12
- * @example
13
- * ```ts
14
- * const transformer = new ImageTransformer(storage, {
15
- * maxImageSize: 10 * 1024 * 1024, // 10MB
16
- * cache: new Map()
17
- * });
18
- *
19
- * // Programmatic usage - resize an image
20
- * const result = await transformer.resize('image-id', {
21
- * width: 800,
22
- * height: 600,
23
- * fit: 'cover'
24
- * });
25
- *
26
- * // URL-based transformations
27
- * // GET /files/image-id?width=300&height=200&fit=cover&quality=80
28
- * // GET /files/image-id?width=800&quality=90&lossless=true
29
- * ```
30
- *
31
- * ## Supported Query Parameters
32
- *
33
- * - `width`: Width in pixels (Number)
34
- * - `height`: Height in pixels (Number)
35
- * - `fit`: Resize fit mode - cover/contain/fill/inside/outside
36
- * - `position`: Position for cover/contain fits - center/top/right/bottom/left etc.
37
- * - `quality`: Quality for JPEG/WebP (0-100)
38
- * - `lossless`: Use lossless compression for WebP (Boolean)
39
- * - `effort`: CPU effort for AVIF (0-10, higher = slower but better)
40
- * - `alphaQuality`: Quality of alpha layer for WebP (0-100)
41
- * - `loop`: GIF animation iterations, 0 for infinite (Number)
42
- * - `delay`: GIF delay between frames in milliseconds (Number)
43
- */
8
+ * Image transformer that uses storage backends to retrieve and transform images.
9
+ * @template TFile The file type used by this transformer.
10
+ * @template TFileReturn The return type for file retrieval operations.
11
+ *
12
+ * Supports URL-based transformations with query parameters for on-demand image processing.
13
+ * @example
14
+ * ```ts
15
+ * const transformer = new ImageTransformer(storage, {
16
+ * maxImageSize: 10 * 1024 * 1024, // 10MB
17
+ * cache: new Map()
18
+ * });
19
+ *
20
+ * // Programmatic usage - resize an image
21
+ * const result = await transformer.resize('image-id', {
22
+ * width: 800,
23
+ * height: 600,
24
+ * fit: 'cover'
25
+ * });
26
+ *
27
+ * // URL-based transformations
28
+ * // GET /files/image-id?width=300&height=200&fit=cover&quality=80
29
+ * // GET /files/image-id?width=800&quality=90&lossless=true
30
+ * ```
31
+ *
32
+ * ## Supported Query Parameters
33
+ *
34
+ * - `width`: Width in pixels (Number)
35
+ * - `height`: Height in pixels (Number)
36
+ * - `fit`: Resize fit mode - cover/contain/fill/inside/outside
37
+ * - `position`: Position for cover/contain fits - center/top/right/bottom/left etc.
38
+ * - `quality`: Quality for JPEG/WebP (0-100)
39
+ * - `lossless`: Use lossless compression for WebP (Boolean)
40
+ * - `effort`: CPU effort for AVIF (0-10, higher = slower but better)
41
+ * - `alphaQuality`: Quality of alpha layer for WebP (0-100)
42
+ * - `loop`: GIF animation iterations, 0 for infinite (Number)
43
+ * - `delay`: GIF delay between frames in milliseconds (Number)
44
+ */
44
45
  declare class ImageTransformer<TFile extends File = File, TFileReturn extends FileReturn = FileReturn> extends BaseTransformer<ImageTransformerConfig, TransformResult<TFileReturn>, TFile, TFileReturn> {
45
- /**
46
- * Creates a new ImageTransformer instance.
47
- * @param storage The storage backend for retrieving and storing image files.
48
- * @param config Configuration options for image transformation including cache settings and size limits.
49
- */
50
- constructor(storage: BaseStorage<TFile, TFileReturn>, config?: ImageTransformerConfig);
51
- /**
52
- * Resizes an image to specified dimensions with optional fit mode.
53
- * @param fileId Unique identifier of the image file to resize.
54
- * @param options Resize options including width, height, and fit mode.
55
- * @returns Promise resolving to transformed image result.
56
- */
57
- resize(fileId: string, options: ResizeOptions): Promise<TransformResult<TFileReturn>>;
58
- /**
59
- * Crops an image to the specified region.
60
- * @param fileId Unique identifier of the image file to crop.
61
- * @param options Crop options including region coordinates.
62
- * @returns Promise resolving to transformed image result.
63
- */
64
- crop(fileId: string, options: CropOptions): Promise<TransformResult<TFileReturn>>;
65
- /**
66
- * Rotates an image by the specified angle.
67
- * @param fileId Unique identifier of the image file to rotate.
68
- * @param options Rotate options including angle.
69
- * @returns Promise resolving to transformed image result.
70
- */
71
- rotate(fileId: string, options: RotateOptions): Promise<TransformResult<TFileReturn>>;
72
- /**
73
- * Converts an image to the specified format.
74
- * @param fileId Unique identifier of the image file to convert.
75
- * @param format Target image format (e.g., "jpeg", "png", "webp").
76
- * @param options Additional transform options.
77
- * @returns Promise resolving to transformed image result.
78
- */
79
- convertFormat(fileId: string, format: ImageFormat, options?: TransformOptions): Promise<TransformResult<TFileReturn>>;
80
- /**
81
- * Applies sharpening filter to an image.
82
- * @param fileId Unique identifier of the image file to sharpen.
83
- * @param options Sharpen options including sigma and flat/jagged threshold.
84
- * @returns Promise resolving to transformed image result.
85
- */
86
- sharpen(fileId: string, options?: SharpenOptions): Promise<TransformResult<TFileReturn>>;
87
- /**
88
- * Applies blurring filter to an image.
89
- * @param fileId Unique identifier of the image file to blur.
90
- * @param options Blur options including sigma.
91
- * @returns Promise resolving to transformed image result.
92
- */
93
- blur(fileId: string, options?: BlurOptions): Promise<TransformResult<TFileReturn>>;
94
- /**
95
- * Applies median filter to an image for noise reduction.
96
- * @param fileId Unique identifier of the image file to process.
97
- * @param options Median filter options including radius.
98
- * @returns Promise resolving to transformed image result.
99
- */
100
- median(fileId: string, options?: MedianOptions): Promise<TransformResult<TFileReturn>>;
101
- /**
102
- * Applies CLAHE (Contrast Limited Adaptive Histogram Equalization) to an image.
103
- * @param fileId Unique identifier of the image file to process.
104
- * @param options CLAHE options including width, height, and maxSlope.
105
- * @returns Promise resolving to transformed image result.
106
- */
107
- clahe(fileId: string, options?: CLAHEOptions): Promise<TransformResult<TFileReturn>>;
108
- /**
109
- * Applies convolution kernel to an image.
110
- * @param fileId Unique identifier of the image file to process.
111
- * @param options Convolve options including kernel matrix.
112
- * @returns Promise resolving to transformed image result.
113
- */
114
- convolve(fileId: string, options: ConvolveOptions): Promise<TransformResult<TFileReturn>>;
115
- /**
116
- * Applies thresholding to an image to create a binary image.
117
- * @param fileId Unique identifier of the image file to process.
118
- * @param options Threshold options including threshold value.
119
- * @returns Promise resolving to transformed image result.
120
- */
121
- threshold(fileId: string, options?: ThresholdOptions): Promise<TransformResult<TFileReturn>>;
122
- /**
123
- * Applies boolean operation to an image.
124
- * @param fileId Unique identifier of the image file to process.
125
- * @param options Boolean operation options including operator and operand.
126
- * @returns Promise resolving to transformed image result.
127
- */
128
- boolean(fileId: string, options: BooleanOptions): Promise<TransformResult<TFileReturn>>;
129
- /**
130
- * Applies linear transformation to an image.
131
- * @param fileId Unique identifier of the image file to process.
132
- * @param options Linear transformation options including a and b coefficients.
133
- * @returns Promise resolving to transformed image result.
134
- */
135
- linear(fileId: string, options: LinearOptions): Promise<TransformResult<TFileReturn>>;
136
- /**
137
- * Applies recombine transformation to an image using a matrix.
138
- * @param fileId Unique identifier of the image file to process.
139
- * @param options Recombine options including matrix coefficients.
140
- * @returns Promise resolving to transformed image result.
141
- */
142
- recombine(fileId: string, options: RecombineOptions): Promise<TransformResult<TFileReturn>>;
143
- /**
144
- * Applies modulation (brightness, saturation, hue) to an image.
145
- * @param fileId Unique identifier of the image file to process.
146
- * @param options Modulate options including brightness, saturation, and hue.
147
- * @returns Promise resolving to transformed image result.
148
- */
149
- modulate(fileId: string, options: ModulateOptions): Promise<TransformResult<TFileReturn>>;
150
- /**
151
- * Applies tinting to an image.
152
- * @param fileId Unique identifier of the image file to process.
153
- * @param options Tint options including RGB color values.
154
- * @returns Promise resolving to transformed image result.
155
- */
156
- tint(fileId: string, options: TintOptions): Promise<TransformResult<TFileReturn>>;
157
- /**
158
- * Converts an image to greyscale.
159
- * @param fileId Unique identifier of the image file to convert.
160
- * @param options Greyscale conversion options.
161
- * @returns Promise resolving to transformed image result.
162
- */
163
- greyscale(fileId: string, options?: GreyscaleOptions): Promise<TransformResult<TFileReturn>>;
164
- /**
165
- * Converts an image to a different colourspace.
166
- * @param fileId Unique identifier of the image file to convert.
167
- * @param options Colourspace conversion options including target colourspace.
168
- * @returns Promise resolving to transformed image result.
169
- */
170
- colourspace(fileId: string, options: ColourspaceOptions): Promise<TransformResult<TFileReturn>>;
171
- /**
172
- * Extracts a specific channel from an image.
173
- * @param fileId Unique identifier of the image file to process.
174
- * @param options Extract channel options including channel index.
175
- * @returns Promise resolving to transformed image result.
176
- */
177
- extractChannel(fileId: string, options: ExtractChannelOptions): Promise<TransformResult<TFileReturn>>;
178
- /**
179
- * Joins channels to an image.
180
- * @param fileId Unique identifier of the image file to process.
181
- * @param options Join channel options including channel sources.
182
- * @returns Promise resolving to transformed image result.
183
- */
184
- joinChannel(fileId: string, options: JoinChannelOptions): Promise<TransformResult<TFileReturn>>;
185
- /**
186
- * Applies band boolean operation to an image.
187
- * @param fileId Unique identifier of the image file to process.
188
- * @param options Band boolean options including operator.
189
- * @returns Promise resolving to transformed image result.
190
- */
191
- bandbool(fileId: string, options: BandboolOptions): Promise<TransformResult<TFileReturn>>;
192
- /**
193
- * Auto-orients an image based on EXIF orientation data.
194
- * @param fileId Unique identifier of the image file to orient.
195
- * @param options Additional transform options.
196
- * @returns Promise resolving to transformed image result.
197
- */
198
- autoOrient(fileId: string, options?: TransformOptions): Promise<TransformResult<TFileReturn>>;
199
- /**
200
- * Flips an image vertically.
201
- * @param fileId Unique identifier of the image file to flip.
202
- * @param options Additional transform options.
203
- * @returns Promise resolving to transformed image result.
204
- */
205
- flip(fileId: string, options?: TransformOptions): Promise<TransformResult<TFileReturn>>;
206
- /**
207
- * Flops an image horizontally.
208
- * @param fileId Unique identifier of the image file to flop.
209
- * @param options Additional transform options.
210
- * @returns Promise resolving to transformed image result.
211
- */
212
- flop(fileId: string, options?: TransformOptions): Promise<TransformResult<TFileReturn>>;
213
- /**
214
- * Flattens an image alpha channel onto a background color.
215
- * @param fileId Unique identifier of the image file to flatten.
216
- * @param options Additional transform options.
217
- * @returns Promise resolving to transformed image result.
218
- */
219
- flatten(fileId: string, options?: TransformOptions): Promise<TransformResult<TFileReturn>>;
220
- /**
221
- * Unflattens an image alpha channel.
222
- * @param fileId Unique identifier of the image file to unflatten.
223
- * @param options Additional transform options.
224
- * @returns Promise resolving to transformed image result.
225
- */
226
- unflatten(fileId: string, options?: TransformOptions): Promise<TransformResult<TFileReturn>>;
227
- /**
228
- * Applies gamma correction to an image.
229
- * @param fileId Unique identifier of the image file to process.
230
- * @param options Additional transform options.
231
- * @returns Promise resolving to transformed image result.
232
- */
233
- gamma(fileId: string, options?: TransformOptions): Promise<TransformResult<TFileReturn>>;
234
- /**
235
- * Negates (inverts) an image.
236
- * @param fileId Unique identifier of the image file to negate.
237
- * @param options Additional transform options.
238
- * @returns Promise resolving to transformed image result.
239
- */
240
- negate(fileId: string, options?: TransformOptions): Promise<TransformResult<TFileReturn>>;
241
- /**
242
- * Normalises an image by enhancing contrast.
243
- * @param fileId Unique identifier of the image file to normalise.
244
- * @param options Additional transform options.
245
- * @returns Promise resolving to transformed image result.
246
- */
247
- normalise(fileId: string, options?: TransformOptions): Promise<TransformResult<TFileReturn>>;
248
- /**
249
- * Applies affine transformation to an image.
250
- * @param fileId Unique identifier of the image file to transform.
251
- * @param options Affine transformation options including matrix.
252
- * @returns Promise resolving to transformed image result.
253
- */
254
- affine(fileId: string, options: AffineOptions): Promise<TransformResult<TFileReturn>>;
255
- /**
256
- * Applies dilation (morphological operation) to an image.
257
- * @param fileId Unique identifier of the image file to process.
258
- * @param options Dilate options including iterations.
259
- * @returns Promise resolving to transformed image result.
260
- */
261
- dilate(fileId: string, options?: DilateOptions): Promise<TransformResult<TFileReturn>>;
262
- /**
263
- * Applies erosion (morphological operation) to an image.
264
- * @param fileId Unique identifier of the image file to process.
265
- * @param options Erode options including iterations.
266
- * @returns Promise resolving to transformed image result.
267
- */
268
- erode(fileId: string, options?: ErodeOptions): Promise<TransformResult<TFileReturn>>;
269
- /**
270
- * Sets pipeline colourspace for an image.
271
- * @param fileId Unique identifier of the image file to process.
272
- * @param options Pipeline colourspace options including colourspace.
273
- * @returns Promise resolving to transformed image result.
274
- */
275
- pipelineColourspace(fileId: string, options: PipelineColourspaceOptions): Promise<TransformResult<TFileReturn>>;
276
- /**
277
- * Converts colourspace of an image.
278
- * @param fileId Unique identifier of the image file to convert.
279
- * @param options ToColourspace options including target colourspace.
280
- * @returns Promise resolving to transformed image result.
281
- */
282
- toColourspace(fileId: string, options: ToColourspaceOptions): Promise<TransformResult<TFileReturn>>;
283
- /**
284
- * Removes alpha channel from an image.
285
- * @param fileId Unique identifier of the image file to process.
286
- * @param options RemoveAlpha transformation options.
287
- * @returns Promise resolving to transformed image result.
288
- */
289
- removeAlpha(fileId: string, options?: RemoveAlphaOptions): Promise<TransformResult<TFileReturn>>;
290
- /**
291
- * Ensures alpha channel exists in an image.
292
- * @param fileId Unique identifier of the image file to process.
293
- * @param options EnsureAlpha transformation options.
294
- * @returns Promise resolving to transformed image result.
295
- */
296
- ensureAlpha(fileId: string, options?: EnsureAlphaOptions): Promise<TransformResult<TFileReturn>>;
297
- /**
298
- * Applies a custom transformation pipeline to an image.
299
- * @param fileId Unique identifier of the image file to transform.
300
- * @param steps Array of transformation steps to apply in sequence.
301
- * @returns Promise resolving to transformed image result.
302
- */
303
- transform(fileId: string, steps: TransformationStep[]): Promise<TransformResult<TFileReturn>>;
304
- /**
305
- * Streams transform of a file (for large files, falls back to regular transform).
306
- * @param fileId Unique identifier of the image file to transform.
307
- * @param steps Array of transformation steps to apply in sequence.
308
- * @returns Promise resolving to stream with headers and size information.
309
- */
310
- transformStream(fileId: string, steps: TransformationStep[]): Promise<{
311
- headers?: Record<string, string>;
312
- size?: number;
313
- stream: Readable;
314
- }>;
315
- /**
316
- * Applies multiple transformations in sequence using Sharp.
317
- * @param buffer The original image buffer.
318
- * @param steps Array of transformation steps to apply.
319
- * @returns Promise resolving to transformed image buffer.
320
- * @private
321
- */
322
- private applyTransformations;
323
- /**
324
- * Applies resize transformation using Sharp.
325
- * @param sharpInstance The Sharp instance to modify.
326
- * @param options Resize transformation options.
327
- * @returns Modified Sharp instance with resize applied.
328
- * @private
329
- */
330
- private applyResize;
331
- /**
332
- * Applies crop transformation using Sharp.
333
- * @param sharpInstance The Sharp instance to modify.
334
- * @param options Crop transformation options.
335
- * @returns Modified Sharp instance with crop applied.
336
- * @private
337
- */
338
- private applyCrop;
339
- /**
340
- * Applies rotate transformation using Sharp.
341
- * @param sharpInstance The Sharp instance to modify.
342
- * @param options Rotate transformation options.
343
- * @returns Modified Sharp instance with rotation applied.
344
- * @private
345
- */
346
- private applyRotate;
347
- /**
348
- * Applies sharpen transformation using Sharp.
349
- * @param sharpInstance The Sharp instance to modify.
350
- * @param options Sharpen transformation options.
351
- * @returns Modified Sharp instance with sharpening applied.
352
- * @private
353
- */
354
- private applySharpen;
355
- /**
356
- * Applies blur transformation using Sharp.
357
- * @param sharpInstance The Sharp instance to modify.
358
- * @param options Blur transformation options.
359
- * @returns Modified Sharp instance with blurring applied.
360
- * @private
361
- */
362
- private applyBlur;
363
- /**
364
- * Applies median filter using Sharp.
365
- * @param sharpInstance The Sharp instance to modify.
366
- * @param options Median transformation options.
367
- * @returns Modified Sharp instance with median filter applied.
368
- * @private
369
- */
370
- private applyMedian;
371
- /**
372
- * Applies CLAHE (Contrast Limited Adaptive Histogram Equalization) using Sharp.
373
- * @param sharpInstance The Sharp instance to modify.
374
- * @param options CLAHE transformation options.
375
- * @returns Modified Sharp instance with CLAHE applied.
376
- * @private
377
- */
378
- private applyCLAHE;
379
- /**
380
- * Applies convolution using Sharp.
381
- * @param sharpInstance The Sharp instance to modify.
382
- * @param options Convolution transformation options.
383
- * @returns Modified Sharp instance with convolution applied.
384
- * @private
385
- */
386
- private applyConvolve;
387
- /**
388
- * Applies threshold using Sharp.
389
- * @param sharpInstance The Sharp instance to modify.
390
- * @param options Threshold transformation options.
391
- * @returns Modified Sharp instance with thresholding applied.
392
- * @private
393
- */
394
- private applyThreshold;
395
- /**
396
- * Applies boolean operation using Sharp.
397
- * @param sharpInstance The Sharp instance to modify.
398
- * @param options Boolean operation options.
399
- * @returns Modified Sharp instance with boolean operation applied.
400
- * @private
401
- */
402
- private applyBoolean;
403
- /**
404
- * Applies linear transformation using Sharp.
405
- * @param sharpInstance The Sharp instance to modify.
406
- * @param options Linear transformation options.
407
- * @returns Modified Sharp instance with linear transformation applied.
408
- * @private
409
- */
410
- private applyLinear;
411
- /**
412
- * Applies recombine transformation using Sharp.
413
- * @param sharpInstance The Sharp instance to modify.
414
- * @param options Recombine transformation options.
415
- * @returns Modified Sharp instance with recombine applied.
416
- * @private
417
- */
418
- private applyRecombine;
419
- /**
420
- * Applies modulate transformation using Sharp.
421
- * @param sharpInstance The Sharp instance to modify.
422
- * @param options Modulate transformation options.
423
- * @returns Modified Sharp instance with modulation applied.
424
- * @private
425
- */
426
- private applyModulate;
427
- /**
428
- * Applies tint using Sharp.
429
- * @param sharpInstance The Sharp instance to modify.
430
- * @param options Tint transformation options.
431
- * @returns Modified Sharp instance with tinting applied.
432
- * @private
433
- */
434
- private applyTint;
435
- /**
436
- * Applies greyscale conversion using Sharp.
437
- * @param sharpInstance The Sharp instance to modify.
438
- * @param options Greyscale transformation options.
439
- * @returns Modified Sharp instance converted to greyscale.
440
- * @private
441
- */
442
- private applyGreyscale;
443
- /**
444
- * Applies colourspace conversion using Sharp.
445
- * @param sharpInstance The Sharp instance to modify.
446
- * @param options Colourspace transformation options.
447
- * @returns Modified Sharp instance with colourspace conversion.
448
- * @private
449
- */
450
- private applyColourspace;
451
- /**
452
- * Extracts channel using Sharp.
453
- * @param sharpInstance The Sharp instance to modify.
454
- * @param options Channel extraction options including channel index.
455
- * @returns Modified Sharp instance with channel extracted.
456
- * @private
457
- */
458
- private applyExtractChannel;
459
- /**
460
- * Joins channels using Sharp.
461
- * @param sharpInstance The Sharp instance to modify.
462
- * @param options Channel joining options including image sources.
463
- * @returns Modified Sharp instance with channels joined.
464
- * @private
465
- */
466
- private applyJoinChannel;
467
- /**
468
- * Applies band boolean operation using Sharp.
469
- * @param sharpInstance The Sharp instance to modify.
470
- * @param options Band boolean options including operator.
471
- * @returns Modified Sharp instance with band boolean operation applied.
472
- * @private
473
- */
474
- private applyBandbool;
475
- /**
476
- * Applies affine transformation using Sharp.
477
- * @param sharpInstance The Sharp instance to modify.
478
- * @param options Affine transformation options including matrix.
479
- * @returns Modified Sharp instance with affine transformation applied.
480
- * @private
481
- */
482
- private applyAffine;
483
- /**
484
- * Applies dilation using Sharp.
485
- * @param sharpInstance The Sharp instance to modify.
486
- * @param options Dilate options including kernel size.
487
- * @returns Modified Sharp instance with dilation applied.
488
- * @private
489
- */
490
- private applyDilate;
491
- /**
492
- * Applies erosion using Sharp.
493
- * @param sharpInstance The Sharp instance to modify.
494
- * @param options Erode options including kernel size.
495
- * @returns Modified Sharp instance with erosion applied.
496
- * @private
497
- */
498
- private applyErode;
499
- /**
500
- * Applies pipeline colourspace using Sharp.
501
- * @param sharpInstance The Sharp instance to modify.
502
- * @param options Pipeline colourspace options including target colourspace.
503
- * @returns Modified Sharp instance with pipeline colourspace applied.
504
- * @private
505
- */
506
- private applyPipelineColourspace;
507
- /**
508
- * Applies to colourspace conversion using Sharp.
509
- * @param sharpInstance The Sharp instance to modify.
510
- * @param options To colourspace options including target colourspace.
511
- * @returns Modified Sharp instance with colourspace conversion applied.
512
- * @private
513
- */
514
- private applyToColourspace;
515
- /**
516
- * Applies remove alpha using Sharp.
517
- * @param sharpInstance The Sharp instance to modify.
518
- * @param options Remove alpha transformation options.
519
- * @returns Modified Sharp instance with alpha channel removed.
520
- * @private
521
- */
522
- private applyRemoveAlpha;
523
- /**
524
- * Applies ensure alpha using Sharp.
525
- * @param sharpInstance The Sharp instance to modify.
526
- * @param options Ensure alpha transformation options.
527
- * @returns Modified Sharp instance with alpha channel ensured.
528
- * @private
529
- */
530
- private applyEnsureAlpha;
531
- /**
532
- * Applies format and quality transformation using Sharp.
533
- * @param sharpInstance The Sharp instance to modify.
534
- * @param options Format and quality transformation options.
535
- * @returns Modified Sharp instance with format and quality settings applied.
536
- * @private
537
- */
538
- private applyFormatAndQuality;
539
- /**
540
- * Gets format-specific options for Sharp.
541
- * @param options Transform options containing format-specific settings.
542
- * @returns Record of format options for Sharp processing.
543
- * @private
544
- */
545
- private getFormatOptions;
546
- /**
547
- * Validates that the file is a supported image.
548
- * @param file The file to validate.
549
- * @returns Promise that resolves if validation passes.
550
- * @throws Error if file size exceeds limits, wrong content type, unsupported format, or invalid image.
551
- * @private
552
- */
553
- private validateImage;
554
- /**
555
- * Creates transformation result with metadata.
556
- * @param buffer The transformed image buffer.
557
- * @param originalFile The original file information.
558
- * @returns Image transformation result with metadata.
559
- * @private
560
- */
561
- private createTransformResult;
562
- /**
563
- * Generates cache key for transformation.
564
- * @param fileId The file identifier.
565
- * @param steps Array of transformation steps.
566
- * @returns Unique cache key string.
567
- * @private
568
- */
569
- private generateCacheKey;
46
+ /**
47
+ * Creates a new ImageTransformer instance.
48
+ * @param storage The storage backend for retrieving and storing image files.
49
+ * @param config Configuration options for image transformation including cache settings and size limits.
50
+ */
51
+ constructor(storage: BaseStorage<TFile, TFileReturn>, config?: ImageTransformerConfig);
52
+ /**
53
+ * Returns a sharp() invocation that applies the transformer's configured decompression-bomb defenses.
54
+ */
55
+ private openImage;
56
+ /**
57
+ * Resizes an image to specified dimensions with optional fit mode.
58
+ * @param fileId Unique identifier of the image file to resize.
59
+ * @param options Resize options including width, height, and fit mode.
60
+ * @returns Promise resolving to transformed image result.
61
+ */
62
+ resize(fileId: string, options: ResizeOptions): Promise<TransformResult<TFileReturn>>;
63
+ /**
64
+ * Crops an image to the specified region.
65
+ * @param fileId Unique identifier of the image file to crop.
66
+ * @param options Crop options including region coordinates.
67
+ * @returns Promise resolving to transformed image result.
68
+ */
69
+ crop(fileId: string, options: CropOptions): Promise<TransformResult<TFileReturn>>;
70
+ /**
71
+ * Rotates an image by the specified angle.
72
+ * @param fileId Unique identifier of the image file to rotate.
73
+ * @param options Rotate options including angle.
74
+ * @returns Promise resolving to transformed image result.
75
+ */
76
+ rotate(fileId: string, options: RotateOptions): Promise<TransformResult<TFileReturn>>;
77
+ /**
78
+ * Converts an image to the specified format.
79
+ * @param fileId Unique identifier of the image file to convert.
80
+ * @param format Target image format (e.g., "jpeg", "png", "webp").
81
+ * @param options Additional transform options.
82
+ * @returns Promise resolving to transformed image result.
83
+ */
84
+ convertFormat(fileId: string, format: ImageFormat, options?: TransformOptions): Promise<TransformResult<TFileReturn>>;
85
+ /**
86
+ * Applies sharpening filter to an image.
87
+ * @param fileId Unique identifier of the image file to sharpen.
88
+ * @param options Sharpen options including sigma and flat/jagged threshold.
89
+ * @returns Promise resolving to transformed image result.
90
+ */
91
+ sharpen(fileId: string, options?: SharpenOptions): Promise<TransformResult<TFileReturn>>;
92
+ /**
93
+ * Applies blurring filter to an image.
94
+ * @param fileId Unique identifier of the image file to blur.
95
+ * @param options Blur options including sigma.
96
+ * @returns Promise resolving to transformed image result.
97
+ */
98
+ blur(fileId: string, options?: BlurOptions): Promise<TransformResult<TFileReturn>>;
99
+ /**
100
+ * Applies median filter to an image for noise reduction.
101
+ * @param fileId Unique identifier of the image file to process.
102
+ * @param options Median filter options including radius.
103
+ * @returns Promise resolving to transformed image result.
104
+ */
105
+ median(fileId: string, options?: MedianOptions): Promise<TransformResult<TFileReturn>>;
106
+ /**
107
+ * Applies CLAHE (Contrast Limited Adaptive Histogram Equalization) to an image.
108
+ * @param fileId Unique identifier of the image file to process.
109
+ * @param options CLAHE options including width, height, and maxSlope.
110
+ * @returns Promise resolving to transformed image result.
111
+ */
112
+ clahe(fileId: string, options?: CLAHEOptions): Promise<TransformResult<TFileReturn>>;
113
+ /**
114
+ * Applies convolution kernel to an image.
115
+ * @param fileId Unique identifier of the image file to process.
116
+ * @param options Convolve options including kernel matrix.
117
+ * @returns Promise resolving to transformed image result.
118
+ */
119
+ convolve(fileId: string, options: ConvolveOptions): Promise<TransformResult<TFileReturn>>;
120
+ /**
121
+ * Applies thresholding to an image to create a binary image.
122
+ * @param fileId Unique identifier of the image file to process.
123
+ * @param options Threshold options including threshold value.
124
+ * @returns Promise resolving to transformed image result.
125
+ */
126
+ threshold(fileId: string, options?: ThresholdOptions): Promise<TransformResult<TFileReturn>>;
127
+ /**
128
+ * Applies boolean operation to an image.
129
+ * @param fileId Unique identifier of the image file to process.
130
+ * @param options Boolean operation options including operator and operand.
131
+ * @returns Promise resolving to transformed image result.
132
+ */
133
+ boolean(fileId: string, options: BooleanOptions): Promise<TransformResult<TFileReturn>>;
134
+ /**
135
+ * Applies linear transformation to an image.
136
+ * @param fileId Unique identifier of the image file to process.
137
+ * @param options Linear transformation options including a and b coefficients.
138
+ * @returns Promise resolving to transformed image result.
139
+ */
140
+ linear(fileId: string, options: LinearOptions): Promise<TransformResult<TFileReturn>>;
141
+ /**
142
+ * Applies recombine transformation to an image using a matrix.
143
+ * @param fileId Unique identifier of the image file to process.
144
+ * @param options Recombine options including matrix coefficients.
145
+ * @returns Promise resolving to transformed image result.
146
+ */
147
+ recombine(fileId: string, options: RecombineOptions): Promise<TransformResult<TFileReturn>>;
148
+ /**
149
+ * Applies modulation (brightness, saturation, hue) to an image.
150
+ * @param fileId Unique identifier of the image file to process.
151
+ * @param options Modulate options including brightness, saturation, and hue.
152
+ * @returns Promise resolving to transformed image result.
153
+ */
154
+ modulate(fileId: string, options: ModulateOptions): Promise<TransformResult<TFileReturn>>;
155
+ /**
156
+ * Applies tinting to an image.
157
+ * @param fileId Unique identifier of the image file to process.
158
+ * @param options Tint options including RGB color values.
159
+ * @returns Promise resolving to transformed image result.
160
+ */
161
+ tint(fileId: string, options: TintOptions): Promise<TransformResult<TFileReturn>>;
162
+ /**
163
+ * Converts an image to greyscale.
164
+ * @param fileId Unique identifier of the image file to convert.
165
+ * @param options Greyscale conversion options.
166
+ * @returns Promise resolving to transformed image result.
167
+ */
168
+ greyscale(fileId: string, options?: GreyscaleOptions): Promise<TransformResult<TFileReturn>>;
169
+ /**
170
+ * Converts an image to a different colourspace.
171
+ * @param fileId Unique identifier of the image file to convert.
172
+ * @param options Colourspace conversion options including target colourspace.
173
+ * @returns Promise resolving to transformed image result.
174
+ */
175
+ colourspace(fileId: string, options: ColourspaceOptions): Promise<TransformResult<TFileReturn>>;
176
+ /**
177
+ * Extracts a specific channel from an image.
178
+ * @param fileId Unique identifier of the image file to process.
179
+ * @param options Extract channel options including channel index.
180
+ * @returns Promise resolving to transformed image result.
181
+ */
182
+ extractChannel(fileId: string, options: ExtractChannelOptions): Promise<TransformResult<TFileReturn>>;
183
+ /**
184
+ * Joins channels to an image.
185
+ * @param fileId Unique identifier of the image file to process.
186
+ * @param options Join channel options including channel sources.
187
+ * @returns Promise resolving to transformed image result.
188
+ */
189
+ joinChannel(fileId: string, options: JoinChannelOptions): Promise<TransformResult<TFileReturn>>;
190
+ /**
191
+ * Applies band boolean operation to an image.
192
+ * @param fileId Unique identifier of the image file to process.
193
+ * @param options Band boolean options including operator.
194
+ * @returns Promise resolving to transformed image result.
195
+ */
196
+ bandbool(fileId: string, options: BandboolOptions): Promise<TransformResult<TFileReturn>>;
197
+ /**
198
+ * Auto-orients an image based on EXIF orientation data.
199
+ * @param fileId Unique identifier of the image file to orient.
200
+ * @param options Additional transform options.
201
+ * @returns Promise resolving to transformed image result.
202
+ */
203
+ autoOrient(fileId: string, options?: TransformOptions): Promise<TransformResult<TFileReturn>>;
204
+ /**
205
+ * Flips an image vertically.
206
+ * @param fileId Unique identifier of the image file to flip.
207
+ * @param options Additional transform options.
208
+ * @returns Promise resolving to transformed image result.
209
+ */
210
+ flip(fileId: string, options?: TransformOptions): Promise<TransformResult<TFileReturn>>;
211
+ /**
212
+ * Flops an image horizontally.
213
+ * @param fileId Unique identifier of the image file to flop.
214
+ * @param options Additional transform options.
215
+ * @returns Promise resolving to transformed image result.
216
+ */
217
+ flop(fileId: string, options?: TransformOptions): Promise<TransformResult<TFileReturn>>;
218
+ /**
219
+ * Flattens an image alpha channel onto a background color.
220
+ * @param fileId Unique identifier of the image file to flatten.
221
+ * @param options Additional transform options.
222
+ * @returns Promise resolving to transformed image result.
223
+ */
224
+ flatten(fileId: string, options?: TransformOptions): Promise<TransformResult<TFileReturn>>;
225
+ /**
226
+ * Unflattens an image alpha channel.
227
+ * @param fileId Unique identifier of the image file to unflatten.
228
+ * @param options Additional transform options.
229
+ * @returns Promise resolving to transformed image result.
230
+ */
231
+ unflatten(fileId: string, options?: TransformOptions): Promise<TransformResult<TFileReturn>>;
232
+ /**
233
+ * Applies gamma correction to an image.
234
+ * @param fileId Unique identifier of the image file to process.
235
+ * @param options Additional transform options.
236
+ * @returns Promise resolving to transformed image result.
237
+ */
238
+ gamma(fileId: string, options?: TransformOptions): Promise<TransformResult<TFileReturn>>;
239
+ /**
240
+ * Negates (inverts) an image.
241
+ * @param fileId Unique identifier of the image file to negate.
242
+ * @param options Additional transform options.
243
+ * @returns Promise resolving to transformed image result.
244
+ */
245
+ negate(fileId: string, options?: TransformOptions): Promise<TransformResult<TFileReturn>>;
246
+ /**
247
+ * Normalises an image by enhancing contrast.
248
+ * @param fileId Unique identifier of the image file to normalise.
249
+ * @param options Additional transform options.
250
+ * @returns Promise resolving to transformed image result.
251
+ */
252
+ normalise(fileId: string, options?: TransformOptions): Promise<TransformResult<TFileReturn>>;
253
+ /**
254
+ * Applies affine transformation to an image.
255
+ * @param fileId Unique identifier of the image file to transform.
256
+ * @param options Affine transformation options including matrix.
257
+ * @returns Promise resolving to transformed image result.
258
+ */
259
+ affine(fileId: string, options: AffineOptions): Promise<TransformResult<TFileReturn>>;
260
+ /**
261
+ * Applies dilation (morphological operation) to an image.
262
+ * @param fileId Unique identifier of the image file to process.
263
+ * @param options Dilate options including iterations.
264
+ * @returns Promise resolving to transformed image result.
265
+ */
266
+ dilate(fileId: string, options?: DilateOptions): Promise<TransformResult<TFileReturn>>;
267
+ /**
268
+ * Applies erosion (morphological operation) to an image.
269
+ * @param fileId Unique identifier of the image file to process.
270
+ * @param options Erode options including iterations.
271
+ * @returns Promise resolving to transformed image result.
272
+ */
273
+ erode(fileId: string, options?: ErodeOptions): Promise<TransformResult<TFileReturn>>;
274
+ /**
275
+ * Sets pipeline colourspace for an image.
276
+ * @param fileId Unique identifier of the image file to process.
277
+ * @param options Pipeline colourspace options including colourspace.
278
+ * @returns Promise resolving to transformed image result.
279
+ */
280
+ pipelineColourspace(fileId: string, options: PipelineColourspaceOptions): Promise<TransformResult<TFileReturn>>;
281
+ /**
282
+ * Converts colourspace of an image.
283
+ * @param fileId Unique identifier of the image file to convert.
284
+ * @param options ToColourspace options including target colourspace.
285
+ * @returns Promise resolving to transformed image result.
286
+ */
287
+ toColourspace(fileId: string, options: ToColourspaceOptions): Promise<TransformResult<TFileReturn>>;
288
+ /**
289
+ * Removes alpha channel from an image.
290
+ * @param fileId Unique identifier of the image file to process.
291
+ * @param options RemoveAlpha transformation options.
292
+ * @returns Promise resolving to transformed image result.
293
+ */
294
+ removeAlpha(fileId: string, options?: RemoveAlphaOptions): Promise<TransformResult<TFileReturn>>;
295
+ /**
296
+ * Ensures alpha channel exists in an image.
297
+ * @param fileId Unique identifier of the image file to process.
298
+ * @param options EnsureAlpha transformation options.
299
+ * @returns Promise resolving to transformed image result.
300
+ */
301
+ ensureAlpha(fileId: string, options?: EnsureAlphaOptions): Promise<TransformResult<TFileReturn>>;
302
+ /**
303
+ * Applies a custom transformation pipeline to an image.
304
+ * @param fileId Unique identifier of the image file to transform.
305
+ * @param steps Array of transformation steps to apply in sequence.
306
+ * @returns Promise resolving to transformed image result.
307
+ */
308
+ transform(fileId: string, steps: TransformationStep[]): Promise<TransformResult<TFileReturn>>;
309
+ /**
310
+ * Streams transform of a file (for large files, falls back to regular transform).
311
+ * @param fileId Unique identifier of the image file to transform.
312
+ * @param steps Array of transformation steps to apply in sequence.
313
+ * @returns Promise resolving to stream with headers and size information.
314
+ */
315
+ override transformStream(fileId: string, steps: TransformationStep[]): Promise<{
316
+ headers?: Record<string, string>;
317
+ size?: number;
318
+ stream: Readable;
319
+ }>;
320
+ /**
321
+ * Applies multiple transformations in sequence using Sharp.
322
+ * @param buffer The original image buffer.
323
+ * @param steps Array of transformation steps to apply.
324
+ * @returns Promise resolving to transformed image buffer.
325
+ * @private
326
+ */
327
+ private applyTransformations;
328
+ /**
329
+ * Applies resize transformation using Sharp.
330
+ * @param sharpInstance The Sharp instance to modify.
331
+ * @param options Resize transformation options.
332
+ * @returns Modified Sharp instance with resize applied.
333
+ * @private
334
+ */
335
+ private applyResize;
336
+ /**
337
+ * Applies crop transformation using Sharp.
338
+ * @param sharpInstance The Sharp instance to modify.
339
+ * @param options Crop transformation options.
340
+ * @returns Modified Sharp instance with crop applied.
341
+ * @private
342
+ */
343
+ private applyCrop;
344
+ /**
345
+ * Applies rotate transformation using Sharp.
346
+ * @param sharpInstance The Sharp instance to modify.
347
+ * @param options Rotate transformation options.
348
+ * @returns Modified Sharp instance with rotation applied.
349
+ * @private
350
+ */
351
+ private applyRotate;
352
+ /**
353
+ * Applies sharpen transformation using Sharp.
354
+ * @param sharpInstance The Sharp instance to modify.
355
+ * @param options Sharpen transformation options.
356
+ * @returns Modified Sharp instance with sharpening applied.
357
+ * @private
358
+ */
359
+ private applySharpen;
360
+ /**
361
+ * Applies blur transformation using Sharp.
362
+ * @param sharpInstance The Sharp instance to modify.
363
+ * @param options Blur transformation options.
364
+ * @returns Modified Sharp instance with blurring applied.
365
+ * @private
366
+ */
367
+ private applyBlur;
368
+ /**
369
+ * Applies median filter using Sharp.
370
+ * @param sharpInstance The Sharp instance to modify.
371
+ * @param options Median transformation options.
372
+ * @returns Modified Sharp instance with median filter applied.
373
+ * @private
374
+ */
375
+ private applyMedian;
376
+ /**
377
+ * Applies CLAHE (Contrast Limited Adaptive Histogram Equalization) using Sharp.
378
+ * @param sharpInstance The Sharp instance to modify.
379
+ * @param options CLAHE transformation options.
380
+ * @returns Modified Sharp instance with CLAHE applied.
381
+ * @private
382
+ */
383
+ private applyCLAHE;
384
+ /**
385
+ * Applies convolution using Sharp.
386
+ * @param sharpInstance The Sharp instance to modify.
387
+ * @param options Convolution transformation options.
388
+ * @returns Modified Sharp instance with convolution applied.
389
+ * @private
390
+ */
391
+ private applyConvolve;
392
+ /**
393
+ * Applies threshold using Sharp.
394
+ * @param sharpInstance The Sharp instance to modify.
395
+ * @param options Threshold transformation options.
396
+ * @returns Modified Sharp instance with thresholding applied.
397
+ * @private
398
+ */
399
+ private applyThreshold;
400
+ /**
401
+ * Applies boolean operation using Sharp.
402
+ * @param sharpInstance The Sharp instance to modify.
403
+ * @param options Boolean operation options.
404
+ * @returns Modified Sharp instance with boolean operation applied.
405
+ * @private
406
+ */
407
+ private applyBoolean;
408
+ /**
409
+ * Applies linear transformation using Sharp.
410
+ * @param sharpInstance The Sharp instance to modify.
411
+ * @param options Linear transformation options.
412
+ * @returns Modified Sharp instance with linear transformation applied.
413
+ * @private
414
+ */
415
+ private applyLinear;
416
+ /**
417
+ * Applies recombine transformation using Sharp.
418
+ * @param sharpInstance The Sharp instance to modify.
419
+ * @param options Recombine transformation options.
420
+ * @returns Modified Sharp instance with recombine applied.
421
+ * @private
422
+ */
423
+ private applyRecombine;
424
+ /**
425
+ * Applies modulate transformation using Sharp.
426
+ * @param sharpInstance The Sharp instance to modify.
427
+ * @param options Modulate transformation options.
428
+ * @returns Modified Sharp instance with modulation applied.
429
+ * @private
430
+ */
431
+ private applyModulate;
432
+ /**
433
+ * Applies tint using Sharp.
434
+ * @param sharpInstance The Sharp instance to modify.
435
+ * @param options Tint transformation options.
436
+ * @returns Modified Sharp instance with tinting applied.
437
+ * @private
438
+ */
439
+ private applyTint;
440
+ /**
441
+ * Applies greyscale conversion using Sharp.
442
+ * @param sharpInstance The Sharp instance to modify.
443
+ * @param options Greyscale transformation options.
444
+ * @returns Modified Sharp instance converted to greyscale.
445
+ * @private
446
+ */
447
+ private applyGreyscale;
448
+ /**
449
+ * Applies colourspace conversion using Sharp.
450
+ * @param sharpInstance The Sharp instance to modify.
451
+ * @param options Colourspace transformation options.
452
+ * @returns Modified Sharp instance with colourspace conversion.
453
+ * @private
454
+ */
455
+ private applyColourspace;
456
+ /**
457
+ * Extracts channel using Sharp.
458
+ * @param sharpInstance The Sharp instance to modify.
459
+ * @param options Channel extraction options including channel index.
460
+ * @returns Modified Sharp instance with channel extracted.
461
+ * @private
462
+ */
463
+ private applyExtractChannel;
464
+ /**
465
+ * Joins channels using Sharp.
466
+ * @param sharpInstance The Sharp instance to modify.
467
+ * @param options Channel joining options including image sources.
468
+ * @returns Modified Sharp instance with channels joined.
469
+ * @private
470
+ */
471
+ private applyJoinChannel;
472
+ /**
473
+ * Applies band boolean operation using Sharp.
474
+ * @param sharpInstance The Sharp instance to modify.
475
+ * @param options Band boolean options including operator.
476
+ * @returns Modified Sharp instance with band boolean operation applied.
477
+ * @private
478
+ */
479
+ private applyBandbool;
480
+ /**
481
+ * Applies affine transformation using Sharp.
482
+ * @param sharpInstance The Sharp instance to modify.
483
+ * @param options Affine transformation options including matrix.
484
+ * @returns Modified Sharp instance with affine transformation applied.
485
+ * @private
486
+ */
487
+ private applyAffine;
488
+ /**
489
+ * Applies dilation using Sharp.
490
+ * @param sharpInstance The Sharp instance to modify.
491
+ * @param options Dilate options including kernel size.
492
+ * @returns Modified Sharp instance with dilation applied.
493
+ * @private
494
+ */
495
+ private applyDilate;
496
+ /**
497
+ * Applies erosion using Sharp.
498
+ * @param sharpInstance The Sharp instance to modify.
499
+ * @param options Erode options including kernel size.
500
+ * @returns Modified Sharp instance with erosion applied.
501
+ * @private
502
+ */
503
+ private applyErode;
504
+ /**
505
+ * Applies pipeline colourspace using Sharp.
506
+ * @param sharpInstance The Sharp instance to modify.
507
+ * @param options Pipeline colourspace options including target colourspace.
508
+ * @returns Modified Sharp instance with pipeline colourspace applied.
509
+ * @private
510
+ */
511
+ private applyPipelineColourspace;
512
+ /**
513
+ * Applies to colourspace conversion using Sharp.
514
+ * @param sharpInstance The Sharp instance to modify.
515
+ * @param options To colourspace options including target colourspace.
516
+ * @returns Modified Sharp instance with colourspace conversion applied.
517
+ * @private
518
+ */
519
+ private applyToColourspace;
520
+ /**
521
+ * Applies remove alpha using Sharp.
522
+ * @param sharpInstance The Sharp instance to modify.
523
+ * @param options Remove alpha transformation options.
524
+ * @returns Modified Sharp instance with alpha channel removed.
525
+ * @private
526
+ */
527
+ private applyRemoveAlpha;
528
+ /**
529
+ * Applies ensure alpha using Sharp.
530
+ * @param sharpInstance The Sharp instance to modify.
531
+ * @param options Ensure alpha transformation options.
532
+ * @returns Modified Sharp instance with alpha channel ensured.
533
+ * @private
534
+ */
535
+ private applyEnsureAlpha;
536
+ /**
537
+ * Applies format and quality transformation using Sharp.
538
+ * @param sharpInstance The Sharp instance to modify.
539
+ * @param options Format and quality transformation options.
540
+ * @returns Modified Sharp instance with format and quality settings applied.
541
+ * @private
542
+ */
543
+ private applyFormatAndQuality;
544
+ /**
545
+ * Gets format-specific options for Sharp.
546
+ * @param options Transform options containing format-specific settings.
547
+ * @returns Record of format options for Sharp processing.
548
+ * @private
549
+ */
550
+ private getFormatOptions;
551
+ /**
552
+ * Validates that the file is a supported image.
553
+ * @param file The file to validate.
554
+ * @returns Promise that resolves if validation passes.
555
+ * @throws Error if file size exceeds limits, wrong content type, unsupported format, or invalid image.
556
+ * @private
557
+ */
558
+ private validateImage;
559
+ /**
560
+ * Creates transformation result with metadata.
561
+ * @param buffer The transformed image buffer.
562
+ * @param originalFile The original file information.
563
+ * @returns Image transformation result with metadata.
564
+ * @private
565
+ */
566
+ private createTransformResult;
567
+ /**
568
+ * Generates cache key for transformation.
569
+ * @param fileId The file identifier.
570
+ * @param steps Array of transformation steps.
571
+ * @returns Unique cache key string.
572
+ * @private
573
+ */
574
+ private generateCacheKey;
570
575
  }
571
- export default ImageTransformer;
576
+ export { ImageTransformer as default };