@design-edito/tools 0.2.15 → 0.2.16

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 (245) hide show
  1. package/agnostic/arrays/index.js +10 -10
  2. package/agnostic/arrays/random-pick/index.js +6 -6
  3. package/agnostic/colors/channels/index.d.ts +5 -0
  4. package/agnostic/colors/channels/index.js +18 -0
  5. package/agnostic/colors/contrast/index.d.ts +2 -0
  6. package/agnostic/colors/contrast/index.js +13 -0
  7. package/agnostic/colors/convert/index.d.ts +20 -0
  8. package/agnostic/colors/convert/index.js +45 -0
  9. package/agnostic/colors/distance/index.d.ts +2 -0
  10. package/agnostic/colors/distance/index.js +12 -0
  11. package/agnostic/colors/grayscale/index.d.ts +2 -0
  12. package/agnostic/colors/grayscale/index.js +12 -0
  13. package/agnostic/colors/index.d.ts +14 -16
  14. package/agnostic/colors/index.js +95 -27
  15. package/agnostic/colors/invert/index.d.ts +2 -0
  16. package/agnostic/colors/invert/index.js +12 -0
  17. package/agnostic/colors/lerp/index.d.ts +2 -0
  18. package/agnostic/colors/lerp/index.js +12 -0
  19. package/agnostic/colors/luminance/index.d.ts +2 -0
  20. package/agnostic/colors/luminance/index.js +12 -0
  21. package/agnostic/colors/palette/index.d.ts +2 -0
  22. package/agnostic/colors/palette/index.js +14 -0
  23. package/agnostic/colors/rotate/index.d.ts +2 -0
  24. package/agnostic/colors/rotate/index.js +13 -0
  25. package/agnostic/colors/tidy/index.d.ts +2 -0
  26. package/agnostic/colors/tidy/index.js +11 -0
  27. package/agnostic/colors/typechecks/index.d.ts +11 -0
  28. package/agnostic/colors/typechecks/index.js +26 -0
  29. package/agnostic/colors/types.d.ts +82 -0
  30. package/agnostic/css/index.js +10 -10
  31. package/agnostic/css/styles-set/index.js +8 -8
  32. package/agnostic/errors/index.js +2 -2
  33. package/agnostic/html/hyper-json/cast/index.js +6 -6
  34. package/agnostic/html/hyper-json/index.js +7 -7
  35. package/agnostic/html/hyper-json/smart-tags/coalesced/add/index.js +6 -6
  36. package/agnostic/html/hyper-json/smart-tags/coalesced/addclass/index.js +6 -6
  37. package/agnostic/html/hyper-json/smart-tags/coalesced/and/index.js +6 -6
  38. package/agnostic/html/hyper-json/smart-tags/coalesced/append/index.js +6 -6
  39. package/agnostic/html/hyper-json/smart-tags/coalesced/at/index.js +6 -6
  40. package/agnostic/html/hyper-json/smart-tags/coalesced/call/index.js +6 -6
  41. package/agnostic/html/hyper-json/smart-tags/coalesced/clone/index.js +6 -6
  42. package/agnostic/html/hyper-json/smart-tags/coalesced/deleteproperties/index.js +6 -6
  43. package/agnostic/html/hyper-json/smart-tags/coalesced/equals/index.js +6 -6
  44. package/agnostic/html/hyper-json/smart-tags/coalesced/getattribute/index.js +6 -6
  45. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperties/index.js +6 -6
  46. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperty/index.js +6 -6
  47. package/agnostic/html/hyper-json/smart-tags/coalesced/if/index.js +6 -6
  48. package/agnostic/html/hyper-json/smart-tags/coalesced/initialize/index.js +6 -6
  49. package/agnostic/html/hyper-json/smart-tags/coalesced/join/index.js +6 -6
  50. package/agnostic/html/hyper-json/smart-tags/coalesced/length/index.js +6 -6
  51. package/agnostic/html/hyper-json/smart-tags/coalesced/map/index.js +6 -6
  52. package/agnostic/html/hyper-json/smart-tags/coalesced/negate/index.js +6 -6
  53. package/agnostic/html/hyper-json/smart-tags/coalesced/notrailing/index.js +6 -6
  54. package/agnostic/html/hyper-json/smart-tags/coalesced/or/index.js +6 -6
  55. package/agnostic/html/hyper-json/smart-tags/coalesced/pickrandom/index.js +6 -6
  56. package/agnostic/html/hyper-json/smart-tags/coalesced/populate/index.js +6 -6
  57. package/agnostic/html/hyper-json/smart-tags/coalesced/print/index.js +6 -6
  58. package/agnostic/html/hyper-json/smart-tags/coalesced/push/index.js +6 -6
  59. package/agnostic/html/hyper-json/smart-tags/coalesced/pusheach/index.js +6 -6
  60. package/agnostic/html/hyper-json/smart-tags/coalesced/recordtoarray/index.js +6 -6
  61. package/agnostic/html/hyper-json/smart-tags/coalesced/removeattribute/index.js +6 -6
  62. package/agnostic/html/hyper-json/smart-tags/coalesced/removeclass/index.js +6 -6
  63. package/agnostic/html/hyper-json/smart-tags/coalesced/renameproperty/index.js +6 -6
  64. package/agnostic/html/hyper-json/smart-tags/coalesced/replace/index.js +6 -6
  65. package/agnostic/html/hyper-json/smart-tags/coalesced/select/index.js +6 -6
  66. package/agnostic/html/hyper-json/smart-tags/coalesced/set/index.js +6 -6
  67. package/agnostic/html/hyper-json/smart-tags/coalesced/setattribute/index.js +6 -6
  68. package/agnostic/html/hyper-json/smart-tags/coalesced/setproperty/index.js +6 -6
  69. package/agnostic/html/hyper-json/smart-tags/coalesced/sorton/index.js +6 -6
  70. package/agnostic/html/hyper-json/smart-tags/coalesced/split/index.js +6 -6
  71. package/agnostic/html/hyper-json/smart-tags/coalesced/spread/index.js +6 -6
  72. package/agnostic/html/hyper-json/smart-tags/coalesced/toarray/index.js +6 -6
  73. package/agnostic/html/hyper-json/smart-tags/coalesced/toboolean/index.js +6 -6
  74. package/agnostic/html/hyper-json/smart-tags/coalesced/toelement/index.js +6 -6
  75. package/agnostic/html/hyper-json/smart-tags/coalesced/toggleclass/index.js +6 -6
  76. package/agnostic/html/hyper-json/smart-tags/coalesced/tonodelist/index.js +6 -6
  77. package/agnostic/html/hyper-json/smart-tags/coalesced/tonull/index.js +6 -6
  78. package/agnostic/html/hyper-json/smart-tags/coalesced/tonumber/index.js +6 -6
  79. package/agnostic/html/hyper-json/smart-tags/coalesced/torecord/index.js +6 -6
  80. package/agnostic/html/hyper-json/smart-tags/coalesced/toref/index.js +6 -6
  81. package/agnostic/html/hyper-json/smart-tags/coalesced/tostring/index.js +6 -6
  82. package/agnostic/html/hyper-json/smart-tags/coalesced/totext/index.js +6 -6
  83. package/agnostic/html/hyper-json/smart-tags/coalesced/transformselected/index.js +6 -6
  84. package/agnostic/html/hyper-json/smart-tags/coalesced/trim/index.js +6 -6
  85. package/agnostic/html/hyper-json/smart-tags/isolated/boolean/index.js +6 -6
  86. package/agnostic/html/hyper-json/smart-tags/isolated/element/index.js +6 -6
  87. package/agnostic/html/hyper-json/smart-tags/isolated/get/index.js +6 -6
  88. package/agnostic/html/hyper-json/smart-tags/isolated/global/index.js +6 -6
  89. package/agnostic/html/hyper-json/smart-tags/isolated/guess/index.js +6 -6
  90. package/agnostic/html/hyper-json/smart-tags/isolated/nodelist/index.js +6 -6
  91. package/agnostic/html/hyper-json/smart-tags/isolated/number/index.js +6 -6
  92. package/agnostic/html/hyper-json/smart-tags/isolated/record/index.js +6 -6
  93. package/agnostic/html/hyper-json/smart-tags/isolated/ref/index.js +6 -6
  94. package/agnostic/html/hyper-json/smart-tags/isolated/string/index.js +6 -6
  95. package/agnostic/html/hyper-json/smart-tags/isolated/text/index.js +6 -6
  96. package/agnostic/html/hyper-json/tree/index.js +6 -6
  97. package/agnostic/html/hyper-json/utils/index.js +6 -6
  98. package/agnostic/html/index.js +22 -22
  99. package/agnostic/html/sanitize/index.js +6 -6
  100. package/agnostic/html/selector-to-element/index.js +6 -6
  101. package/agnostic/html/string-to-nodes/index.js +7 -7
  102. package/agnostic/index.d.ts +1 -1
  103. package/agnostic/misc/assert/index.js +3 -3
  104. package/agnostic/misc/crossenv/index.js +2 -2
  105. package/agnostic/misc/index.js +25 -25
  106. package/agnostic/misc/lorem-ipsum/index.js +13 -13
  107. package/agnostic/numbers/index.js +6 -6
  108. package/agnostic/objects/index.js +15 -15
  109. package/agnostic/random/index.js +2 -2
  110. package/agnostic/strings/index.js +11 -11
  111. package/agnostic/time/index.js +6 -6
  112. package/chunks/chunk-2EHYEUX4.js +21 -0
  113. package/chunks/chunk-5LK2YLTK.js +21 -0
  114. package/chunks/chunk-65NTXENV.js +157 -0
  115. package/chunks/{chunk-XDITZ5QN.js → chunk-AF2NAJS2.js} +2 -2
  116. package/chunks/chunk-ALMK24GK.js +0 -0
  117. package/chunks/chunk-BKIF2ELV.js +47 -0
  118. package/chunks/{chunk-B446JIN3.js → chunk-C7SRAQMW.js} +1 -1
  119. package/chunks/{chunk-36CTYZYA.js → chunk-CQEDNACN.js} +2 -2
  120. package/chunks/chunk-D7SXHHU3.js +47 -0
  121. package/chunks/{chunk-IWDIKDYR.js → chunk-E33DCHHS.js} +13 -13
  122. package/chunks/{chunk-WAMSK4A3.js → chunk-E4FJHD5R.js} +1 -1
  123. package/chunks/chunk-GUBFCOBT.js +98 -0
  124. package/chunks/{chunk-Q6DUKZU6.js → chunk-I2HTBYNO.js} +6 -6
  125. package/chunks/chunk-IDXUS2IO.js +296 -0
  126. package/chunks/chunk-JHUOMGOX.js +81 -0
  127. package/chunks/{chunk-EDJ3TVNV.js → chunk-KDOMQ4LM.js} +15 -6
  128. package/chunks/chunk-MN4FVOU2.js +28 -0
  129. package/chunks/{chunk-2M33FCDG.js → chunk-O7VFJHQX.js} +11 -5
  130. package/chunks/{chunk-2UAVBQI5.js → chunk-OD2XVVE2.js} +4 -4
  131. package/chunks/{chunk-CHUOCTRP.js → chunk-P2H6PV4O.js} +2 -2
  132. package/chunks/chunk-P4YT4RBG.js +51 -0
  133. package/chunks/{chunk-CYUEPBUN.js → chunk-PX4DPCZM.js} +2 -2
  134. package/chunks/{chunk-YIZODJC7.js → chunk-QRS3G3YD.js} +5 -5
  135. package/chunks/{chunk-FQ4UTWMP.js → chunk-QTA7ZEVX.js} +3 -1
  136. package/chunks/chunk-QW34TQCS.js +48 -0
  137. package/chunks/{chunk-HMAK6VAF.js → chunk-RBCZWVQH.js} +11 -5
  138. package/chunks/{chunk-JWF5EKM2.js → chunk-RDQJSWRC.js} +1 -1
  139. package/chunks/{chunk-AI6AGF4I.js → chunk-S7637BQZ.js} +8 -5
  140. package/chunks/{chunk-GVQVGFAA.js → chunk-TQXFC6OS.js} +4 -4
  141. package/chunks/chunk-UG5EMKGN.js +265 -0
  142. package/chunks/chunk-VA67YLZL.js +26 -0
  143. package/chunks/{chunk-TSZAQ3RQ.js → chunk-VKNQ7MVZ.js} +86 -87
  144. package/chunks/{chunk-SA2IY5LN.js → chunk-X5HMM3LD.js} +1 -1
  145. package/chunks/chunk-XAYMIITK.js +103 -0
  146. package/chunks/chunk-YZVZKBVJ.js +631 -0
  147. package/chunks/chunk-ZJ63OCMA.js +207 -0
  148. package/node/@aws-s3/index.js +8 -8
  149. package/node/@aws-s3/storage/directory/index.js +7 -7
  150. package/node/@aws-s3/storage/file/index.js +10 -10
  151. package/node/@aws-s3/storage/index.js +10 -10
  152. package/node/@google-cloud/index.js +11 -11
  153. package/node/@google-cloud/storage/bucket/index.js +4 -4
  154. package/node/@google-cloud/storage/directory/index.js +7 -7
  155. package/node/@google-cloud/storage/file/index.js +14 -14
  156. package/node/@google-cloud/storage/file/revoke-signed-urls/index.js +2 -2
  157. package/node/@google-cloud/storage/index.js +13 -13
  158. package/node/cloud-storage/index.js +26 -26
  159. package/node/cloud-storage/operations/index.js +36 -36
  160. package/node/encryption/index.js +3 -3
  161. package/node/files/index.js +3 -3
  162. package/node/ftps/directory/index.js +7 -7
  163. package/node/ftps/file/index.js +10 -10
  164. package/node/ftps/index.js +9 -9
  165. package/node/images/create/index.d.ts +3 -0
  166. package/node/images/create/index.js +23 -0
  167. package/node/images/format/index.d.ts +17 -51
  168. package/node/images/format/index.js +30 -4
  169. package/node/images/index.d.ts +4 -2
  170. package/node/images/index.js +41 -21
  171. package/node/images/metadata/index.d.ts +3 -0
  172. package/node/images/metadata/index.js +23 -0
  173. package/node/images/transform/index.d.ts +2 -97
  174. package/node/images/transform/index.js +27 -16
  175. package/node/images/transform/operations/blur/index.d.ts +1 -3
  176. package/node/images/transform/operations/brighten/index.d.ts +1 -3
  177. package/node/images/transform/operations/extend/index.d.ts +1 -8
  178. package/node/images/transform/operations/extend/index.js +17 -2
  179. package/node/images/transform/operations/extract/index.d.ts +1 -6
  180. package/node/images/transform/operations/flatten/index.d.ts +1 -3
  181. package/node/images/transform/operations/flatten/index.js +17 -2
  182. package/node/images/transform/operations/hue/index.d.ts +1 -3
  183. package/node/images/transform/operations/level/index.d.ts +1 -4
  184. package/node/images/transform/operations/lighten/index.d.ts +1 -3
  185. package/node/images/transform/operations/normalize/index.d.ts +1 -4
  186. package/node/images/transform/operations/overlay/index.d.ts +5 -0
  187. package/node/images/transform/operations/overlay/index.js +27 -0
  188. package/node/images/transform/operations/resize/index.d.ts +1 -11
  189. package/node/images/transform/operations/resize/index.js +17 -2
  190. package/node/images/transform/operations/rotate/index.d.ts +1 -4
  191. package/node/images/transform/operations/rotate/index.js +17 -2
  192. package/node/images/transform/operations/saturate/index.d.ts +1 -3
  193. package/node/images/transform/operations/saturate/index.js +1 -1
  194. package/node/images/types.d.ts +252 -0
  195. package/node/images/utils/index.d.ts +7 -0
  196. package/node/images/utils/index.js +28 -0
  197. package/node/sftp/directory/index.js +7 -7
  198. package/node/sftp/file/index.js +10 -10
  199. package/node/sftp/index.js +9 -9
  200. package/package.json +1 -1
  201. package/agnostic/colors/complement-color/index.d.ts +0 -1
  202. package/agnostic/colors/complement-color/index.js +0 -7
  203. package/agnostic/colors/hex-to-rgb/index.d.ts +0 -1
  204. package/agnostic/colors/hex-to-rgb/index.js +0 -7
  205. package/agnostic/colors/hsl-to-rgb/index.d.ts +0 -1
  206. package/agnostic/colors/hsl-to-rgb/index.js +0 -7
  207. package/agnostic/colors/lighten-color/index.d.ts +0 -2
  208. package/agnostic/colors/lighten-color/index.js +0 -11
  209. package/agnostic/colors/rgb-to-hex/index.d.ts +0 -1
  210. package/agnostic/colors/rgb-to-hex/index.js +0 -7
  211. package/agnostic/colors/rgb-to-hsl/index.d.ts +0 -1
  212. package/agnostic/colors/rgb-to-hsl/index.js +0 -7
  213. package/agnostic/colors/saturate-color/index.d.ts +0 -2
  214. package/agnostic/colors/saturate-color/index.js +0 -11
  215. package/chunks/chunk-2POD3TAX.js +0 -11
  216. package/chunks/chunk-2TJCB6IM.js +0 -12
  217. package/chunks/chunk-7EDDWSWS.js +0 -123
  218. package/chunks/chunk-FAXNZG5C.js +0 -10
  219. package/chunks/chunk-IFQA5PWI.js +0 -112
  220. package/chunks/chunk-MB7HWF22.js +0 -23
  221. package/chunks/chunk-MFYNJMVM.js +0 -18
  222. package/chunks/chunk-NYVARFI7.js +0 -20
  223. package/chunks/chunk-QLC3A6PC.js +0 -17
  224. package/chunks/chunk-U57Q62IN.js +0 -23
  225. package/chunks/chunk-YVLJKJV2.js +0 -17
  226. package/node/images/get-metadata/index.d.ts +0 -4
  227. package/node/images/get-metadata/index.js +0 -7
  228. package/node/images/transform/operations/composite/index.d.ts +0 -7
  229. package/node/images/transform/operations/composite/index.js +0 -12
  230. package/node/images/transform/utils/index.d.ts +0 -2
  231. package/node/images/transform/utils/index.js +0 -8
  232. package/chunks/{chunk-WH6BPDAC.js → chunk-2KT7AKRW.js} +3 -3
  233. package/chunks/{chunk-JSW6R3ZH.js → chunk-6QFELK4E.js} +9 -9
  234. package/chunks/{chunk-LAVXHKKR.js → chunk-73FF7HWQ.js} +9 -9
  235. package/chunks/{chunk-74CFPDKM.js → chunk-A7K5DUP7.js} +6 -6
  236. package/chunks/{chunk-7KSMK42F.js → chunk-CNMP2GU4.js} +6 -6
  237. package/chunks/{chunk-DEQWCMAL.js → chunk-EXPVRDPR.js} +9 -9
  238. package/chunks/{chunk-UFKH5WD2.js → chunk-FR5H2OCV.js} +3 -3
  239. package/chunks/{chunk-G5RRNREY.js → chunk-LSZVKXDZ.js} +3 -3
  240. package/chunks/{chunk-QCMBG5LN.js → chunk-MLLP7YSK.js} +13 -13
  241. package/chunks/{chunk-IOJTC6CN.js → chunk-PJSPZGT2.js} +15 -15
  242. package/chunks/{chunk-OVG5RGI3.js → chunk-S32K7POB.js} +4 -4
  243. package/chunks/{chunk-UXEKCYL7.js → chunk-UEAMPAHK.js} +3 -3
  244. package/chunks/{chunk-AIC5YAJU.js → chunk-X5F6XGEP.js} +6 -6
  245. package/chunks/{chunk-4OK2UH4M.js → chunk-ZBAKY6DB.js} +6 -6
@@ -1,12 +1,15 @@
1
- import {
2
- isSharpColor
3
- } from "./chunk-MFYNJMVM.js";
4
1
  import {
5
2
  zod_default
6
3
  } from "./chunk-DZ2T5DTY.js";
4
+ import {
5
+ toSharpColor
6
+ } from "./chunk-BKIF2ELV.js";
7
7
  import {
8
8
  Outcome
9
9
  } from "./chunk-JMU5PDBD.js";
10
+ import {
11
+ isColor
12
+ } from "./chunk-UG5EMKGN.js";
10
13
 
11
14
  // src/node/images/transform/operations/extend/index.ts
12
15
  function isExtendOperationParams(obj) {
@@ -16,14 +19,17 @@ function isExtendOperationParams(obj) {
16
19
  top: zod_default.number().optional(),
17
20
  bottom: zod_default.number().optional(),
18
21
  extendWith: zod_default.optional(zod_default.enum(["background", "copy", "repeat", "mirror"])),
19
- background: zod_default.custom((val) => isSharpColor(val)).optional()
22
+ background: zod_default.custom(isColor).optional()
20
23
  });
21
24
  const result = schema.safeParse(obj);
22
25
  if (!result.success) return Outcome.makeFailure(result.error.message);
23
26
  return Outcome.makeSuccess(result.data);
24
27
  }
25
28
  async function extend(sharpInstance, params) {
26
- return sharpInstance.extend(params);
29
+ return sharpInstance.extend({
30
+ ...params,
31
+ background: params.background !== void 0 ? toSharpColor(params.background) : void 0
32
+ });
27
33
  }
28
34
 
29
35
  export {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  register
3
- } from "./chunk-CHUOCTRP.js";
3
+ } from "./chunk-P2H6PV4O.js";
4
4
 
5
5
  // src/agnostic/html/sanitize/index.ts
6
6
  var Sanitize;
@@ -1,18 +1,21 @@
1
- import {
2
- isSharpColor
3
- } from "./chunk-MFYNJMVM.js";
4
1
  import {
5
2
  zod_default
6
3
  } from "./chunk-DZ2T5DTY.js";
4
+ import {
5
+ toSharpColor
6
+ } from "./chunk-BKIF2ELV.js";
7
7
  import {
8
8
  Outcome
9
9
  } from "./chunk-JMU5PDBD.js";
10
+ import {
11
+ isColor
12
+ } from "./chunk-UG5EMKGN.js";
10
13
 
11
14
  // src/node/images/transform/operations/rotate/index.ts
12
15
  function isRotateOperationParams(obj) {
13
16
  const schema = zod_default.object({
14
17
  angleDeg: zod_default.number().optional(),
15
- background: zod_default.custom((val) => isSharpColor(val)).optional()
18
+ background: zod_default.custom(isColor).optional()
16
19
  });
17
20
  const result = schema.safeParse(obj);
18
21
  if (!result.success) return Outcome.makeFailure(result.error.message);
@@ -20,7 +23,7 @@ function isRotateOperationParams(obj) {
20
23
  }
21
24
  async function rotate(sharpInstance, params) {
22
25
  return sharpInstance.rotate(params.angleDeg, {
23
- background: params.background
26
+ background: params.background !== void 0 ? toSharpColor(params.background) : void 0
24
27
  });
25
28
  }
26
29
 
@@ -2,16 +2,16 @@ import {
2
2
  Cast,
3
3
  Tree,
4
4
  Utils
5
- } from "./chunk-QCMBG5LN.js";
6
- import {
7
- Serialize
8
- } from "./chunk-SXRWMH3U.js";
5
+ } from "./chunk-MLLP7YSK.js";
9
6
  import {
10
7
  Types
11
8
  } from "./chunk-XEQ2PBT2.js";
12
9
  import {
13
10
  SmartTags
14
11
  } from "./chunk-UT2J62LH.js";
12
+ import {
13
+ Serialize
14
+ } from "./chunk-SXRWMH3U.js";
15
15
  import {
16
16
  Transformer
17
17
  } from "./chunk-BKO7GLC2.js";
@@ -0,0 +1,265 @@
1
+ import {
2
+ isNonNullObject
3
+ } from "./chunk-HQLRJ7XW.js";
4
+ import {
5
+ __export
6
+ } from "./chunk-WSFCRVEQ.js";
7
+
8
+ // src/agnostic/colors/types.ts
9
+ var types_exports = {};
10
+ __export(types_exports, {
11
+ cssColors: () => cssColors
12
+ });
13
+ var cssColors = {
14
+ aliceblue: { r: 240, g: 248, b: 255 },
15
+ antiquewhite: { r: 250, g: 235, b: 215 },
16
+ aqua: { r: 0, g: 255, b: 255 },
17
+ aquamarine: { r: 127, g: 255, b: 212 },
18
+ azure: { r: 240, g: 255, b: 255 },
19
+ beige: { r: 245, g: 245, b: 220 },
20
+ bisque: { r: 255, g: 228, b: 196 },
21
+ black: { r: 0, g: 0, b: 0 },
22
+ blanchedalmond: { r: 255, g: 235, b: 205 },
23
+ blue: { r: 0, g: 0, b: 255 },
24
+ blueviolet: { r: 138, g: 43, b: 226 },
25
+ brown: { r: 165, g: 42, b: 42 },
26
+ burlywood: { r: 222, g: 184, b: 135 },
27
+ cadetblue: { r: 95, g: 158, b: 160 },
28
+ chartreuse: { r: 127, g: 255, b: 0 },
29
+ chocolate: { r: 210, g: 105, b: 30 },
30
+ coral: { r: 255, g: 127, b: 80 },
31
+ cornflowerblue: { r: 100, g: 149, b: 237 },
32
+ cornsilk: { r: 255, g: 248, b: 220 },
33
+ crimson: { r: 220, g: 20, b: 60 },
34
+ cyan: { r: 0, g: 255, b: 255 },
35
+ darkblue: { r: 0, g: 0, b: 139 },
36
+ darkcyan: { r: 0, g: 139, b: 139 },
37
+ darkgoldenrod: { r: 184, g: 134, b: 11 },
38
+ darkgray: { r: 169, g: 169, b: 169 },
39
+ darkgreen: { r: 0, g: 100, b: 0 },
40
+ darkgrey: { r: 169, g: 169, b: 169 },
41
+ darkkhaki: { r: 189, g: 183, b: 107 },
42
+ darkmagenta: { r: 139, g: 0, b: 139 },
43
+ darkolivegreen: { r: 85, g: 107, b: 47 },
44
+ darkorange: { r: 255, g: 140, b: 0 },
45
+ darkorchid: { r: 153, g: 50, b: 204 },
46
+ darkred: { r: 139, g: 0, b: 0 },
47
+ darksalmon: { r: 233, g: 150, b: 122 },
48
+ darkseagreen: { r: 143, g: 188, b: 143 },
49
+ darkslateblue: { r: 72, g: 61, b: 139 },
50
+ darkslategray: { r: 47, g: 79, b: 79 },
51
+ darkslategrey: { r: 47, g: 79, b: 79 },
52
+ darkturquoise: { r: 0, g: 206, b: 209 },
53
+ darkviolet: { r: 148, g: 0, b: 211 },
54
+ deeppink: { r: 255, g: 20, b: 147 },
55
+ deepskyblue: { r: 0, g: 191, b: 255 },
56
+ dimgray: { r: 105, g: 105, b: 105 },
57
+ dimgrey: { r: 105, g: 105, b: 105 },
58
+ dodgerblue: { r: 30, g: 144, b: 255 },
59
+ firebrick: { r: 178, g: 34, b: 34 },
60
+ floralwhite: { r: 255, g: 250, b: 240 },
61
+ forestgreen: { r: 34, g: 139, b: 34 },
62
+ fuchsia: { r: 255, g: 0, b: 255 },
63
+ gainsboro: { r: 220, g: 220, b: 220 },
64
+ ghostwhite: { r: 248, g: 248, b: 255 },
65
+ gold: { r: 255, g: 215, b: 0 },
66
+ goldenrod: { r: 218, g: 165, b: 32 },
67
+ gray: { r: 128, g: 128, b: 128 },
68
+ green: { r: 0, g: 128, b: 0 },
69
+ greenyellow: { r: 173, g: 255, b: 47 },
70
+ grey: { r: 128, g: 128, b: 128 },
71
+ honeydew: { r: 240, g: 255, b: 240 },
72
+ hotpink: { r: 255, g: 105, b: 180 },
73
+ indianred: { r: 205, g: 92, b: 92 },
74
+ indigo: { r: 75, g: 0, b: 130 },
75
+ ivory: { r: 255, g: 255, b: 240 },
76
+ khaki: { r: 240, g: 230, b: 140 },
77
+ lavender: { r: 230, g: 230, b: 250 },
78
+ lavenderblush: { r: 255, g: 240, b: 245 },
79
+ lawngreen: { r: 124, g: 252, b: 0 },
80
+ lemonchiffon: { r: 255, g: 250, b: 205 },
81
+ lightblue: { r: 173, g: 216, b: 230 },
82
+ lightcoral: { r: 240, g: 128, b: 128 },
83
+ lightcyan: { r: 224, g: 255, b: 255 },
84
+ lightgoldenrodyellow: { r: 250, g: 250, b: 210 },
85
+ lightgray: { r: 211, g: 211, b: 211 },
86
+ lightgreen: { r: 144, g: 238, b: 144 },
87
+ lightgrey: { r: 211, g: 211, b: 211 },
88
+ lightpink: { r: 255, g: 182, b: 193 },
89
+ lightsalmon: { r: 255, g: 160, b: 122 },
90
+ lightseagreen: { r: 32, g: 178, b: 170 },
91
+ lightskyblue: { r: 135, g: 206, b: 250 },
92
+ lightslategray: { r: 119, g: 136, b: 153 },
93
+ lightslategrey: { r: 119, g: 136, b: 153 },
94
+ lightsteelblue: { r: 176, g: 196, b: 222 },
95
+ lightyellow: { r: 255, g: 255, b: 224 },
96
+ lime: { r: 0, g: 255, b: 0 },
97
+ limegreen: { r: 50, g: 205, b: 50 },
98
+ linen: { r: 250, g: 240, b: 230 },
99
+ magenta: { r: 255, g: 0, b: 255 },
100
+ maroon: { r: 128, g: 0, b: 0 },
101
+ mediumaquamarine: { r: 102, g: 205, b: 170 },
102
+ mediumblue: { r: 0, g: 0, b: 205 },
103
+ mediumorchid: { r: 186, g: 85, b: 211 },
104
+ mediumpurple: { r: 147, g: 112, b: 219 },
105
+ mediumseagreen: { r: 60, g: 179, b: 113 },
106
+ mediumslateblue: { r: 123, g: 104, b: 238 },
107
+ mediumspringgreen: { r: 0, g: 250, b: 154 },
108
+ mediumturquoise: { r: 72, g: 209, b: 204 },
109
+ mediumvioletred: { r: 199, g: 21, b: 133 },
110
+ midnightblue: { r: 25, g: 25, b: 112 },
111
+ mintcream: { r: 245, g: 255, b: 250 },
112
+ mistyrose: { r: 255, g: 228, b: 225 },
113
+ moccasin: { r: 255, g: 228, b: 181 },
114
+ navajowhite: { r: 255, g: 222, b: 173 },
115
+ navy: { r: 0, g: 0, b: 128 },
116
+ oldlace: { r: 253, g: 245, b: 230 },
117
+ olive: { r: 128, g: 128, b: 0 },
118
+ olivedrab: { r: 107, g: 142, b: 35 },
119
+ orange: { r: 255, g: 165, b: 0 },
120
+ orangered: { r: 255, g: 69, b: 0 },
121
+ orchid: { r: 218, g: 112, b: 214 },
122
+ palegoldenrod: { r: 238, g: 232, b: 170 },
123
+ palegreen: { r: 152, g: 251, b: 152 },
124
+ paleturquoise: { r: 175, g: 238, b: 238 },
125
+ palevioletred: { r: 219, g: 112, b: 147 },
126
+ papayawhip: { r: 255, g: 239, b: 213 },
127
+ peachpuff: { r: 255, g: 218, b: 185 },
128
+ peru: { r: 205, g: 133, b: 63 },
129
+ pink: { r: 255, g: 192, b: 203 },
130
+ plum: { r: 221, g: 160, b: 221 },
131
+ powderblue: { r: 176, g: 224, b: 230 },
132
+ purple: { r: 128, g: 0, b: 128 },
133
+ rebeccapurple: { r: 102, g: 51, b: 153 },
134
+ red: { r: 255, g: 0, b: 0 },
135
+ rosybrown: { r: 188, g: 143, b: 143 },
136
+ royalblue: { r: 65, g: 105, b: 225 },
137
+ saddlebrown: { r: 139, g: 69, b: 19 },
138
+ salmon: { r: 250, g: 128, b: 114 },
139
+ sandybrown: { r: 244, g: 164, b: 96 },
140
+ seagreen: { r: 46, g: 139, b: 87 },
141
+ seashell: { r: 255, g: 245, b: 238 },
142
+ sienna: { r: 160, g: 82, b: 45 },
143
+ silver: { r: 192, g: 192, b: 192 },
144
+ skyblue: { r: 135, g: 206, b: 235 },
145
+ slateblue: { r: 106, g: 90, b: 205 },
146
+ slategray: { r: 112, g: 128, b: 144 },
147
+ slategrey: { r: 112, g: 128, b: 144 },
148
+ snow: { r: 255, g: 250, b: 250 },
149
+ springgreen: { r: 0, g: 255, b: 127 },
150
+ steelblue: { r: 70, g: 130, b: 180 },
151
+ tan: { r: 210, g: 180, b: 140 },
152
+ teal: { r: 0, g: 128, b: 128 },
153
+ thistle: { r: 216, g: 191, b: 216 },
154
+ tomato: { r: 255, g: 99, b: 71 },
155
+ turquoise: { r: 64, g: 224, b: 208 },
156
+ violet: { r: 238, g: 130, b: 238 },
157
+ wheat: { r: 245, g: 222, b: 179 },
158
+ white: { r: 255, g: 255, b: 255 },
159
+ whitesmoke: { r: 245, g: 245, b: 245 },
160
+ yellow: { r: 255, g: 255, b: 0 },
161
+ yellowgreen: { r: 154, g: 205, b: 50 }
162
+ };
163
+
164
+ // src/agnostic/colors/typechecks/index.ts
165
+ var isHex = (color) => {
166
+ if (typeof color !== "string") return false;
167
+ if (!color.startsWith("#")) return false;
168
+ const withoutHash = color.slice(1);
169
+ const withoutHashLength = withoutHash.length;
170
+ const allowedLengths = [3, 4, 6, 8];
171
+ if (!allowedLengths.includes(withoutHashLength)) return false;
172
+ return /^[0-9a-f]+$/igm.test(withoutHash);
173
+ };
174
+ var isRgb = (color) => {
175
+ if (!isNonNullObject(color)) return false;
176
+ const { r, g, b, a } = color;
177
+ if (typeof r !== "number") return false;
178
+ if (typeof g !== "number") return false;
179
+ if (typeof b !== "number") return false;
180
+ if (a !== void 0 && typeof a !== "number") return false;
181
+ return true;
182
+ };
183
+ var isHsl = (color) => {
184
+ if (!isNonNullObject(color)) return false;
185
+ const { h, s, l, a } = color;
186
+ if (typeof h !== "number") return false;
187
+ if (typeof s !== "number") return false;
188
+ if (typeof l !== "number") return false;
189
+ if (a !== void 0 && typeof a !== "number") return false;
190
+ return true;
191
+ };
192
+ var isHsb = (color) => {
193
+ if (!isNonNullObject(color)) return false;
194
+ const { h, s, b, a } = color;
195
+ if (typeof h !== "number") return false;
196
+ if (typeof s !== "number") return false;
197
+ if (typeof b !== "number") return false;
198
+ if (a !== void 0 && typeof a !== "number") return false;
199
+ return true;
200
+ };
201
+ var isLab = (color) => {
202
+ if (!isNonNullObject(color)) return false;
203
+ const { l, a, b, al } = color;
204
+ if (typeof l !== "number") return false;
205
+ if (typeof a !== "number") return false;
206
+ if (typeof b !== "number") return false;
207
+ if (al !== void 0 && typeof al !== "number") return false;
208
+ return true;
209
+ };
210
+ var isLch = (color) => {
211
+ if (!isNonNullObject(color)) return false;
212
+ const { l, c, h, a } = color;
213
+ if (typeof l !== "number") return false;
214
+ if (typeof c !== "number") return false;
215
+ if (typeof h !== "number") return false;
216
+ if (a !== void 0 && typeof a !== "number") return false;
217
+ return true;
218
+ };
219
+ var isCmyk = (color) => {
220
+ if (!isNonNullObject(color)) return false;
221
+ const { c, m, y, k, a } = color;
222
+ if (typeof c !== "number") return false;
223
+ if (typeof m !== "number") return false;
224
+ if (typeof y !== "number") return false;
225
+ if (typeof k !== "number") return false;
226
+ if (a !== void 0 && typeof a !== "number") return false;
227
+ return true;
228
+ };
229
+ var isXyz = (color) => {
230
+ if (!isNonNullObject(color)) return false;
231
+ const { x, y, z, a } = color;
232
+ if (typeof x !== "number") return false;
233
+ if (typeof y !== "number") return false;
234
+ if (typeof z !== "number") return false;
235
+ if (a !== void 0 && typeof a !== "number") return false;
236
+ return true;
237
+ };
238
+ var isCssColor = (color) => typeof color === "string" && cssColors[color] !== void 0;
239
+ var isColor = (color) => {
240
+ if (isHex(color)) return true;
241
+ if (isCssColor(color)) return true;
242
+ if (isRgb(color)) return true;
243
+ if (isHsl(color)) return true;
244
+ if (isHsb(color)) return true;
245
+ if (isCmyk(color)) return true;
246
+ if (isXyz(color)) return true;
247
+ if (isLab(color)) return true;
248
+ if (isLch(color)) return true;
249
+ return false;
250
+ };
251
+
252
+ export {
253
+ cssColors,
254
+ types_exports,
255
+ isHex,
256
+ isRgb,
257
+ isHsl,
258
+ isHsb,
259
+ isLab,
260
+ isLch,
261
+ isCmyk,
262
+ isXyz,
263
+ isCssColor,
264
+ isColor
265
+ };
@@ -0,0 +1,26 @@
1
+ import {
2
+ linearizeToSRgb,
3
+ toLab,
4
+ toRgb,
5
+ toXyz
6
+ } from "./chunk-YZVZKBVJ.js";
7
+
8
+ // src/agnostic/colors/luminance/index.ts
9
+ function luminanceRgb(rgb) {
10
+ const { linearR, linearG, linearB } = linearizeToSRgb(rgb);
11
+ return (0.2126 * linearR + 0.7152 * linearG + 0.0722 * linearB) / 255;
12
+ }
13
+ function luminance(color, method = "lab") {
14
+ switch (method) {
15
+ case "rgb":
16
+ return luminanceRgb(toRgb(color));
17
+ case "xyz":
18
+ return toXyz(color).y / 100;
19
+ case "lab":
20
+ return toLab(color).l / 100;
21
+ }
22
+ }
23
+
24
+ export {
25
+ luminance
26
+ };
@@ -1,21 +1,11 @@
1
- import {
2
- isSaturateOperationParams,
3
- saturate
4
- } from "./chunk-FQ4UTWMP.js";
5
- import {
6
- flop
7
- } from "./chunk-YA2YCZUF.js";
8
- import {
9
- flip
10
- } from "./chunk-WNDMYNDU.js";
11
- import {
12
- hue,
13
- isHueOperationParams
14
- } from "./chunk-QSU3CVGF.js";
15
1
  import {
16
2
  isLevelOperationParams,
17
3
  level
18
4
  } from "./chunk-2HJPX7E3.js";
5
+ import {
6
+ isLightenOperationParams,
7
+ lighten
8
+ } from "./chunk-RHKFMXM3.js";
19
9
  import {
20
10
  isNormalizeOperationParams,
21
11
  normalize
@@ -23,15 +13,19 @@ import {
23
13
  import {
24
14
  isResizeOperationParams,
25
15
  resize
26
- } from "./chunk-EDJ3TVNV.js";
16
+ } from "./chunk-KDOMQ4LM.js";
27
17
  import {
28
18
  isRotateOperationParams,
29
19
  rotate
30
- } from "./chunk-AI6AGF4I.js";
20
+ } from "./chunk-S7637BQZ.js";
31
21
  import {
32
- isLightenOperationParams,
33
- lighten
34
- } from "./chunk-RHKFMXM3.js";
22
+ isSaturateOperationParams,
23
+ saturate
24
+ } from "./chunk-QTA7ZEVX.js";
25
+ import {
26
+ isOverlayOperationParams,
27
+ overlay
28
+ } from "./chunk-JHUOMGOX.js";
35
29
  import {
36
30
  blur,
37
31
  isBlurOperationParams
@@ -40,25 +34,37 @@ import {
40
34
  brighten,
41
35
  isBrightenOperationParams
42
36
  } from "./chunk-SRXNICSE.js";
43
- import {
44
- composite,
45
- isCompositeOperationParams
46
- } from "./chunk-IFQA5PWI.js";
47
37
  import {
48
38
  extend,
49
39
  isExtendOperationParams
50
- } from "./chunk-HMAK6VAF.js";
40
+ } from "./chunk-RBCZWVQH.js";
51
41
  import {
52
42
  flatten,
53
43
  isFlattenOperationParams
54
- } from "./chunk-2M33FCDG.js";
44
+ } from "./chunk-O7VFJHQX.js";
45
+ import {
46
+ hue,
47
+ isHueOperationParams
48
+ } from "./chunk-QSU3CVGF.js";
49
+ import {
50
+ flip
51
+ } from "./chunk-WNDMYNDU.js";
52
+ import {
53
+ flop
54
+ } from "./chunk-YA2YCZUF.js";
55
55
  import {
56
56
  extract,
57
57
  isExtractOperationParams
58
58
  } from "./chunk-HFZGH6V2.js";
59
+ import {
60
+ toSharpInstance
61
+ } from "./chunk-BKIF2ELV.js";
59
62
  import {
60
63
  Outcome
61
64
  } from "./chunk-JMU5PDBD.js";
65
+ import {
66
+ isNonNullObject
67
+ } from "./chunk-HQLRJ7XW.js";
62
68
  import {
63
69
  unknownToString
64
70
  } from "./chunk-FENXVJYO.js";
@@ -69,16 +75,19 @@ import {
69
75
  // src/node/images/transform/index.ts
70
76
  var transform_exports = {};
71
77
  __export(transform_exports, {
72
- OpName: () => OpName,
73
- TransformErrCodes: () => TransformErrCodes,
74
78
  isOperationDescriptor: () => isOperationDescriptor,
75
79
  transform: () => transform
76
80
  });
77
- import sharp from "sharp";
81
+
82
+ // src/node/images/types.ts
83
+ var types_exports = {};
84
+ __export(types_exports, {
85
+ OpName: () => OpName,
86
+ TransformErrCodes: () => TransformErrCodes
87
+ });
78
88
  var OpName = /* @__PURE__ */ ((OpName2) => {
79
89
  OpName2["BLUR"] = "blur";
80
90
  OpName2["BRIGHTEN"] = "brighten";
81
- OpName2["COMPOSITE"] = "composite";
82
91
  OpName2["EXTEND"] = "extend";
83
92
  OpName2["EXTRACT"] = "extract";
84
93
  OpName2["FLATTEN"] = "flatten";
@@ -88,13 +97,39 @@ var OpName = /* @__PURE__ */ ((OpName2) => {
88
97
  OpName2["LEVEL"] = "level";
89
98
  OpName2["LIGHTEN"] = "lighten";
90
99
  OpName2["NORMALIZE"] = "normalize";
100
+ OpName2["OVERLAY"] = "overlay";
91
101
  OpName2["RESIZE"] = "resize";
92
102
  OpName2["ROTATE"] = "rotate";
93
103
  OpName2["SATURATE"] = "saturate";
94
104
  return OpName2;
95
105
  })(OpName || {});
106
+ var TransformErrCodes = /* @__PURE__ */ ((TransformErrCodes2) => {
107
+ TransformErrCodes2["PROCESS_TIMEOUT"] = "process-timeout";
108
+ TransformErrCodes2["OP_TIMEOUT"] = "op-timeout";
109
+ TransformErrCodes2["WIDTH_LIMIT_EXCEEDED"] = "width-limit-exceeded";
110
+ TransformErrCodes2["HEIGHT_LIMIT_EXCEEDED"] = "height-limit-exceeded";
111
+ TransformErrCodes2["UNKNOWN_ERROR"] = "unknown-error";
112
+ return TransformErrCodes2;
113
+ })(TransformErrCodes || {});
114
+
115
+ // src/node/images/transform/index.ts
116
+ var validators = {
117
+ ["blur" /* BLUR */]: isBlurOperationParams,
118
+ ["brighten" /* BRIGHTEN */]: isBrightenOperationParams,
119
+ ["extend" /* EXTEND */]: isExtendOperationParams,
120
+ ["extract" /* EXTRACT */]: isExtractOperationParams,
121
+ ["flatten" /* FLATTEN */]: isFlattenOperationParams,
122
+ ["hue" /* HUE */]: isHueOperationParams,
123
+ ["level" /* LEVEL */]: isLevelOperationParams,
124
+ ["lighten" /* LIGHTEN */]: isLightenOperationParams,
125
+ ["normalize" /* NORMALIZE */]: isNormalizeOperationParams,
126
+ ["overlay" /* OVERLAY */]: isOverlayOperationParams,
127
+ ["resize" /* RESIZE */]: isResizeOperationParams,
128
+ ["rotate" /* ROTATE */]: isRotateOperationParams,
129
+ ["saturate" /* SATURATE */]: isSaturateOperationParams
130
+ };
96
131
  function isOperationDescriptor(obj) {
97
- if (typeof obj !== "object" || obj === null) return Outcome.makeFailure("Invalid operation descriptor");
132
+ if (!isNonNullObject(obj)) return Outcome.makeFailure("Invalid operation descriptor");
98
133
  if (!("name" in obj) || typeof obj.name !== "string") return Outcome.makeFailure("Field named 'name' in operation descriptor is required and must be a string");
99
134
  const name = obj.name;
100
135
  const validateOperation = (validatorFn) => {
@@ -102,51 +137,23 @@ function isOperationDescriptor(obj) {
102
137
  if (result.success) return Outcome.makeSuccess({ name: obj.name, ...result.payload });
103
138
  return Outcome.makeFailure(result.error);
104
139
  };
105
- const validators = {
106
- ["blur" /* BLUR */]: isBlurOperationParams,
107
- ["brighten" /* BRIGHTEN */]: isBrightenOperationParams,
108
- ["extend" /* EXTEND */]: isExtendOperationParams,
109
- ["extract" /* EXTRACT */]: isExtractOperationParams,
110
- ["flatten" /* FLATTEN */]: isFlattenOperationParams,
111
- ["hue" /* HUE */]: isHueOperationParams,
112
- ["level" /* LEVEL */]: isLevelOperationParams,
113
- ["lighten" /* LIGHTEN */]: isLightenOperationParams,
114
- ["normalize" /* NORMALIZE */]: isNormalizeOperationParams,
115
- ["resize" /* RESIZE */]: isResizeOperationParams,
116
- ["rotate" /* ROTATE */]: isRotateOperationParams,
117
- ["saturate" /* SATURATE */]: isSaturateOperationParams,
118
- ["composite" /* COMPOSITE */]: isCompositeOperationParams
119
- };
120
140
  const simpleOperations = /* @__PURE__ */ new Set(["flip" /* FLIP */, "flop" /* FLOP */]);
121
141
  if (simpleOperations.has(name)) return Outcome.makeSuccess({ name });
122
142
  const validator = validators[name];
123
143
  if (validator) return validateOperation(validator);
124
144
  return Outcome.makeFailure("Invalid operation descriptor");
125
145
  }
126
- var TransformErrCodes = /* @__PURE__ */ ((TransformErrCodes2) => {
127
- TransformErrCodes2["PROCESS_TIMEOUT"] = "process-timeout";
128
- TransformErrCodes2["OP_TIMEOUT"] = "op-timeout";
129
- TransformErrCodes2["WIDTH_LIMIT_EXCEEDED"] = "width-limit-exceeded";
130
- TransformErrCodes2["HEIGHT_LIMIT_EXCEEDED"] = "height-limit-exceeded";
131
- TransformErrCodes2["UNKNOWN_ERROR"] = "unknown-error";
132
- return TransformErrCodes2;
133
- })(TransformErrCodes || {});
134
146
  async function transform(input, operationsSequence, limits) {
135
- if (typeof input === "object" && "create" in input && input.create !== null) {
136
- return transformSharpInstance(sharp(input), operationsSequence, limits);
137
- }
138
- if (Buffer.isBuffer(input)) return transformBuffer(input, operationsSequence, limits);
139
- return transformSharpInstance(input, operationsSequence, limits);
140
- }
141
- async function transformSharpInstance(sharpInstance, operationsSequence, limits) {
147
+ let sharpInstance = await toSharpInstance(input);
142
148
  const start = Date.now();
143
- const deadline = limits?.timeoutMs ? start + limits.timeoutMs : void 0;
149
+ const deadline = limits?.timeoutMs !== void 0 ? start + limits.timeoutMs : void 0;
144
150
  const runWithOpTimeout = async (op) => {
145
- if (!limits?.opTimeoutMs) return op();
146
- const opTimeout = new Promise(
147
- (resolve) => setTimeout(() => resolve("op-timeout" /* OP_TIMEOUT */), limits.opTimeoutMs)
148
- );
149
- return Promise.race([op(), opTimeout]);
151
+ return limits?.opTimeoutMs === void 0 ? op() : Promise.race([op(), new Promise(
152
+ (resolve) => setTimeout(
153
+ () => resolve("op-timeout" /* OP_TIMEOUT */),
154
+ limits.opTimeoutMs
155
+ )
156
+ )]);
150
157
  };
151
158
  for (const operation of operationsSequence) {
152
159
  if (deadline !== void 0 && Date.now() > deadline) return Outcome.makeFailure({
@@ -179,14 +186,14 @@ async function transformSharpInstance(sharpInstance, operationsSequence, limits)
179
186
  return lighten(sharpInstance, operation);
180
187
  case "normalize" /* NORMALIZE */:
181
188
  return normalize(sharpInstance, operation);
189
+ case "overlay" /* OVERLAY */:
190
+ return overlay(sharpInstance, operation);
182
191
  case "resize" /* RESIZE */:
183
192
  return resize(sharpInstance, operation);
184
193
  case "rotate" /* ROTATE */:
185
194
  return rotate(sharpInstance, operation);
186
195
  case "saturate" /* SATURATE */:
187
196
  return saturate(sharpInstance, operation);
188
- case "composite" /* COMPOSITE */:
189
- return composite(sharpInstance, operation);
190
197
  default:
191
198
  return sharpInstance;
192
199
  }
@@ -204,21 +211,18 @@ async function transformSharpInstance(sharpInstance, operationsSequence, limits)
204
211
  else {
205
212
  sharpInstance = result;
206
213
  }
207
- if (limits && (operation.name === "resize" /* RESIZE */ || operation.name === "extend" /* EXTEND */ || operation.name === "extract" /* EXTRACT */ || operation.name === "rotate" /* ROTATE */)) {
214
+ if (limits === void 0) continue;
215
+ if (operation.name === "resize" /* RESIZE */ || operation.name === "extend" /* EXTEND */ || operation.name === "extract" /* EXTRACT */ || operation.name === "rotate" /* ROTATE */) {
208
216
  try {
209
217
  const meta = await sharpInstance.metadata();
210
- if (limits.width !== void 0 && meta.width && meta.width > limits.width) {
211
- return Outcome.makeFailure({
212
- code: "width-limit-exceeded" /* WIDTH_LIMIT_EXCEEDED */,
213
- details: `Image width exceeded the limit (${meta.width}px)`
214
- });
215
- }
216
- if (limits.height !== void 0 && meta.height && meta.height > limits.height) {
217
- return Outcome.makeFailure({
218
- code: "height-limit-exceeded" /* HEIGHT_LIMIT_EXCEEDED */,
219
- details: `Image height exceeded the limit (${meta.height}px)`
220
- });
221
- }
218
+ if (limits.width !== void 0 && meta.width && meta.width > limits.width) return Outcome.makeFailure({
219
+ code: "width-limit-exceeded" /* WIDTH_LIMIT_EXCEEDED */,
220
+ details: `Image width exceeded the limit (${meta.width}px)`
221
+ });
222
+ if (limits.height !== void 0 && meta.height && meta.height > limits.height) return Outcome.makeFailure({
223
+ code: "height-limit-exceeded" /* HEIGHT_LIMIT_EXCEEDED */,
224
+ details: `Image height exceeded the limit (${meta.height}px)`
225
+ });
222
226
  } catch (err) {
223
227
  return Outcome.makeFailure({
224
228
  code: "unknown-error" /* UNKNOWN_ERROR */,
@@ -229,15 +233,10 @@ async function transformSharpInstance(sharpInstance, operationsSequence, limits)
229
233
  }
230
234
  return Outcome.makeSuccess(sharpInstance);
231
235
  }
232
- async function transformBuffer(fileBuffer, operationsSequence, limits) {
233
- const sharpInstance = sharp(fileBuffer);
234
- return transformSharpInstance(sharpInstance, operationsSequence, limits);
235
- }
236
236
 
237
237
  export {
238
- OpName,
238
+ types_exports,
239
239
  isOperationDescriptor,
240
- TransformErrCodes,
241
240
  transform,
242
241
  transform_exports
243
242
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  register
3
- } from "./chunk-CHUOCTRP.js";
3
+ } from "./chunk-P2H6PV4O.js";
4
4
 
5
5
  // src/agnostic/html/selector-to-element/index.ts
6
6
  function selectorToElement(selector, documentObj) {