@design-edito/tools 0.3.9 → 0.3.10

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 (321) hide show
  1. package/agnostic/arrays/index.d.ts +1 -1
  2. package/agnostic/arrays/index.js +1 -1
  3. package/agnostic/arrays/is-array-of/index.d.ts +1 -1
  4. package/agnostic/arrays/is-array-of/index.js +2 -2
  5. package/agnostic/booleans/is-falsy/index.d.ts +1 -1
  6. package/agnostic/colors/channels/index.d.ts +1 -1
  7. package/agnostic/colors/contrast/index.d.ts +1 -1
  8. package/agnostic/colors/convert/index.d.ts +1 -1
  9. package/agnostic/colors/convert/index.js +14 -17
  10. package/agnostic/colors/cssColorsMap.d.ts +9 -0
  11. package/agnostic/colors/distance/index.d.ts +1 -1
  12. package/agnostic/colors/index.d.ts +3 -3
  13. package/agnostic/colors/index.js +3 -3
  14. package/agnostic/colors/invert/index.d.ts +1 -1
  15. package/agnostic/colors/luminance/index.d.ts +1 -1
  16. package/agnostic/colors/palette/index.js +2 -0
  17. package/agnostic/colors/tidy/index.js +2 -1
  18. package/agnostic/colors/typechecks/index.d.ts +1 -1
  19. package/agnostic/colors/typechecks/index.js +1 -3
  20. package/agnostic/colors/types.d.ts +0 -7
  21. package/agnostic/colors/types.js +0 -154
  22. package/agnostic/css/bem/index.d.ts +3 -3
  23. package/agnostic/css/bem/index.js +6 -5
  24. package/agnostic/css/clss/index.d.ts +2 -1
  25. package/agnostic/css/clss/index.js +2 -2
  26. package/agnostic/css/generate-nice-color/index.js +1 -0
  27. package/agnostic/css/index.d.ts +2 -2
  28. package/agnostic/css/index.js +2 -2
  29. package/agnostic/css/styles-set/index.d.ts +4 -4
  30. package/agnostic/css/styles-set/index.js +1 -1
  31. package/agnostic/errors/register/index.js +4 -2
  32. package/agnostic/html/get-node-ancestors/index.js +1 -1
  33. package/agnostic/html/get-position-inside-parent/index.js +1 -1
  34. package/agnostic/html/hyper-json/cast/index.d.ts +1 -1
  35. package/agnostic/html/hyper-json/method/index.d.ts +2 -2
  36. package/agnostic/html/hyper-json/serialize/index.d.ts +1 -1
  37. package/agnostic/html/hyper-json/serialize/index.js +1 -1
  38. package/agnostic/html/hyper-json/smart-tags/coalesced/and/index.d.ts +1 -1
  39. package/agnostic/html/hyper-json/smart-tags/coalesced/append/index.d.ts +1 -1
  40. package/agnostic/html/hyper-json/smart-tags/coalesced/at/index.d.ts +1 -1
  41. package/agnostic/html/hyper-json/smart-tags/coalesced/call/index.d.ts +1 -1
  42. package/agnostic/html/hyper-json/smart-tags/coalesced/call/index.js +1 -1
  43. package/agnostic/html/hyper-json/smart-tags/coalesced/clone/index.d.ts +1 -1
  44. package/agnostic/html/hyper-json/smart-tags/coalesced/deleteproperties/index.d.ts +1 -1
  45. package/agnostic/html/hyper-json/smart-tags/coalesced/deleteproperties/index.js +5 -2
  46. package/agnostic/html/hyper-json/smart-tags/coalesced/equals/index.d.ts +1 -1
  47. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperties/index.d.ts +1 -1
  48. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperty/index.d.ts +1 -1
  49. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperty/index.js +5 -2
  50. package/agnostic/html/hyper-json/smart-tags/coalesced/hjparse/index.d.ts +1 -1
  51. package/agnostic/html/hyper-json/smart-tags/coalesced/hjstringify/index.d.ts +1 -1
  52. package/agnostic/html/hyper-json/smart-tags/coalesced/if/index.d.ts +1 -1
  53. package/agnostic/html/hyper-json/smart-tags/coalesced/index.d.ts +16 -16
  54. package/agnostic/html/hyper-json/smart-tags/coalesced/index.js +16 -16
  55. package/agnostic/html/hyper-json/smart-tags/coalesced/initialize/index.d.ts +1 -1
  56. package/agnostic/html/hyper-json/smart-tags/coalesced/join/index.d.ts +1 -1
  57. package/agnostic/html/hyper-json/smart-tags/coalesced/length/index.d.ts +1 -1
  58. package/agnostic/html/hyper-json/smart-tags/coalesced/map/index.d.ts +2 -2
  59. package/agnostic/html/hyper-json/smart-tags/coalesced/map/index.js +1 -1
  60. package/agnostic/html/hyper-json/smart-tags/coalesced/or/index.d.ts +1 -1
  61. package/agnostic/html/hyper-json/smart-tags/coalesced/pickrandom/index.d.ts +1 -1
  62. package/agnostic/html/hyper-json/smart-tags/coalesced/populate/index.d.ts +1 -1
  63. package/agnostic/html/hyper-json/smart-tags/coalesced/print/index.d.ts +1 -1
  64. package/agnostic/html/hyper-json/smart-tags/coalesced/push/index.d.ts +1 -1
  65. package/agnostic/html/hyper-json/smart-tags/coalesced/pusheach/index.d.ts +2 -2
  66. package/agnostic/html/hyper-json/smart-tags/coalesced/recordtoarray/index.d.ts +1 -1
  67. package/agnostic/html/hyper-json/smart-tags/coalesced/removeattribute/index.d.ts +2 -2
  68. package/agnostic/html/hyper-json/smart-tags/coalesced/removeattribute/index.js +7 -4
  69. package/agnostic/html/hyper-json/smart-tags/coalesced/renameproperty/index.d.ts +1 -1
  70. package/agnostic/html/hyper-json/smart-tags/coalesced/replace/index.d.ts +1 -1
  71. package/agnostic/html/hyper-json/smart-tags/coalesced/set/index.d.ts +1 -1
  72. package/agnostic/html/hyper-json/smart-tags/coalesced/setattribute/index.d.ts +2 -2
  73. package/agnostic/html/hyper-json/smart-tags/coalesced/setattribute/index.js +7 -4
  74. package/agnostic/html/hyper-json/smart-tags/coalesced/setproperty/index.d.ts +1 -1
  75. package/agnostic/html/hyper-json/smart-tags/coalesced/setproperty/index.js +9 -9
  76. package/agnostic/html/hyper-json/smart-tags/coalesced/sorton/index.d.ts +2 -2
  77. package/agnostic/html/hyper-json/smart-tags/coalesced/spread/index.d.ts +1 -1
  78. package/agnostic/html/hyper-json/smart-tags/coalesced/toarray/index.d.ts +1 -1
  79. package/agnostic/html/hyper-json/smart-tags/coalesced/toboolean/index.d.ts +1 -1
  80. package/agnostic/html/hyper-json/smart-tags/coalesced/toelement/index.d.ts +1 -1
  81. package/agnostic/html/hyper-json/smart-tags/coalesced/tonodelist/index.d.ts +1 -1
  82. package/agnostic/html/hyper-json/smart-tags/coalesced/tonull/index.d.ts +1 -1
  83. package/agnostic/html/hyper-json/smart-tags/coalesced/tonumber/index.d.ts +1 -1
  84. package/agnostic/html/hyper-json/smart-tags/coalesced/torecord/index.d.ts +1 -1
  85. package/agnostic/html/hyper-json/smart-tags/coalesced/toref/index.d.ts +1 -1
  86. package/agnostic/html/hyper-json/smart-tags/coalesced/tostring/index.d.ts +1 -1
  87. package/agnostic/html/hyper-json/smart-tags/coalesced/totext/index.d.ts +1 -1
  88. package/agnostic/html/hyper-json/smart-tags/coalesced/transformselected/index.d.ts +1 -1
  89. package/agnostic/html/hyper-json/smart-tags/coalesced/transformselected/index.js +0 -1
  90. package/agnostic/html/hyper-json/smart-tags/coalesced/trim/index.js +1 -1
  91. package/agnostic/html/hyper-json/smart-tags/index.d.ts +1 -1
  92. package/agnostic/html/hyper-json/smart-tags/isolated/any/index.d.ts +1 -1
  93. package/agnostic/html/hyper-json/smart-tags/isolated/array/index.d.ts +1 -1
  94. package/agnostic/html/hyper-json/smart-tags/isolated/get/index.d.ts +1 -1
  95. package/agnostic/html/hyper-json/smart-tags/isolated/global/index.d.ts +1 -1
  96. package/agnostic/html/hyper-json/smart-tags/isolated/guess/index.d.ts +1 -1
  97. package/agnostic/html/hyper-json/smart-tags/isolated/guess/index.js +1 -1
  98. package/agnostic/html/hyper-json/smart-tags/isolated/index.d.ts +4 -4
  99. package/agnostic/html/hyper-json/smart-tags/isolated/index.js +4 -4
  100. package/agnostic/html/hyper-json/smart-tags/isolated/nodelist/index.d.ts +1 -1
  101. package/agnostic/html/hyper-json/smart-tags/isolated/null/index.d.ts +1 -1
  102. package/agnostic/html/hyper-json/smart-tags/isolated/record/index.d.ts +1 -1
  103. package/agnostic/html/hyper-json/smart-tags/isolated/ref/index.d.ts +1 -1
  104. package/agnostic/html/hyper-json/smart-tags/isolated/text/index.js +3 -1
  105. package/agnostic/html/hyper-json/transformer/index.d.ts +2 -2
  106. package/agnostic/html/hyper-json/transformer/index.js +6 -9
  107. package/agnostic/html/hyper-json/tree/index.d.ts +1 -1
  108. package/agnostic/html/hyper-json/tree/index.js +14 -10
  109. package/agnostic/html/hyper-json/types/index.d.ts +9 -13
  110. package/agnostic/html/hyper-json/utils/index.d.ts +7 -7
  111. package/agnostic/html/hyper-json/utils/index.js +1 -1
  112. package/agnostic/html/index.d.ts +1 -1
  113. package/agnostic/html/index.js +1 -1
  114. package/agnostic/html/placeholders/index.d.ts +1 -1
  115. package/agnostic/html/selector-to-element/index.js +1 -1
  116. package/agnostic/index.d.ts +6 -6
  117. package/agnostic/index.js +6 -6
  118. package/agnostic/misc/assert/index.d.ts +2 -2
  119. package/agnostic/misc/assert/index.js +4 -4
  120. package/agnostic/misc/cast/index.d.ts +1 -1
  121. package/agnostic/misc/connection/index.js +0 -1
  122. package/agnostic/misc/crawler/index.d.ts +2 -2
  123. package/agnostic/misc/crossenv/detect-runtime/index.js +4 -4
  124. package/agnostic/misc/crossenv/window/index.d.ts +1 -1
  125. package/agnostic/misc/crossenv/window/index.js +2 -2
  126. package/agnostic/misc/data-size/index.js +2 -2
  127. package/agnostic/misc/index.d.ts +5 -5
  128. package/agnostic/misc/index.js +5 -5
  129. package/agnostic/misc/is-constructor-function/index.d.ts +1 -1
  130. package/agnostic/misc/logs/index.d.ts +1 -1
  131. package/agnostic/misc/logs/index.js +1 -1
  132. package/agnostic/misc/logs/logger/index.d.ts +1 -1
  133. package/agnostic/misc/outcome/index.d.ts +7 -7
  134. package/agnostic/numbers/approximate-rational/index.js +4 -2
  135. package/agnostic/numbers/index.d.ts +3 -3
  136. package/agnostic/numbers/index.js +3 -3
  137. package/agnostic/objects/deep-get-property/index.js +2 -2
  138. package/agnostic/objects/flatten-getters/index.js +2 -1
  139. package/agnostic/objects/index.d.ts +4 -3
  140. package/agnostic/objects/index.js +4 -3
  141. package/agnostic/objects/record-format/index.js +1 -0
  142. package/agnostic/objects/sort-keys/index.d.ts +11 -0
  143. package/agnostic/objects/sort-keys/index.js +12 -0
  144. package/agnostic/objects/sort-keys/index.test.d.ts +1 -0
  145. package/agnostic/optim/memoize/index.js +1 -1
  146. package/agnostic/optim/throttle-debounce/index.d.ts +12 -10
  147. package/agnostic/optim/throttle-debounce/index.js +2 -2
  148. package/agnostic/optim/throttle-debounce/types.d.ts +1 -1
  149. package/agnostic/random/index.d.ts +1 -1
  150. package/agnostic/random/index.js +1 -1
  151. package/agnostic/random/random/index.js +1 -1
  152. package/agnostic/sanitization/html/index.js +7 -7
  153. package/agnostic/sanitization/index.d.ts +2 -2
  154. package/agnostic/sanitization/index.js +2 -2
  155. package/agnostic/sanitization/types.d.ts +2 -6
  156. package/agnostic/strings/char-codes/index.d.ts +5 -5
  157. package/agnostic/strings/char-codes/index.js +2 -2
  158. package/agnostic/strings/index.d.ts +2 -2
  159. package/agnostic/strings/index.js +2 -2
  160. package/agnostic/strings/matches/index.d.ts +2 -2
  161. package/agnostic/time/dates/format-date/index.js +23 -9
  162. package/agnostic/time/duration/index.d.ts +23 -2
  163. package/agnostic/time/duration/index.js +36 -4
  164. package/agnostic/time/index.d.ts +2 -2
  165. package/agnostic/time/index.js +2 -2
  166. package/agnostic/time/timeout/index.js +2 -2
  167. package/agnostic/time/wait/index.d.ts +2 -2
  168. package/agnostic/time/wait/index.js +1 -1
  169. package/components/EventListener/index.d.ts +2 -2
  170. package/components/EventListener/index.js +8 -8
  171. package/components/Input/index.d.ts +2 -2
  172. package/components/IntersectionObserver/index.d.ts +2 -2
  173. package/index.d.ts +1 -1
  174. package/index.js +1 -1
  175. package/node/@aws-s3/storage/directory/copy-dir/index.d.ts +2 -2
  176. package/node/@aws-s3/storage/directory/copy-dir/index.js +3 -3
  177. package/node/@aws-s3/storage/directory/list/index.d.ts +2 -2
  178. package/node/@aws-s3/storage/directory/list/index.js +1 -1
  179. package/node/@aws-s3/storage/directory/move-dir/index.d.ts +3 -3
  180. package/node/@aws-s3/storage/directory/move-dir/index.js +3 -3
  181. package/node/@aws-s3/storage/directory/remove-dir/index.d.ts +2 -2
  182. package/node/@aws-s3/storage/directory/remove-dir/index.js +4 -4
  183. package/node/@aws-s3/storage/file/copy/index.d.ts +1 -1
  184. package/node/@aws-s3/storage/file/download/index.d.ts +3 -3
  185. package/node/@aws-s3/storage/file/exists/index.d.ts +2 -2
  186. package/node/@aws-s3/storage/file/exists/index.js +1 -2
  187. package/node/@aws-s3/storage/file/index.d.ts +3 -3
  188. package/node/@aws-s3/storage/file/index.js +3 -3
  189. package/node/@aws-s3/storage/file/move/index.d.ts +2 -2
  190. package/node/@aws-s3/storage/file/remove/index.d.ts +1 -1
  191. package/node/@aws-s3/storage/file/stat/index.d.ts +1 -1
  192. package/node/@aws-s3/storage/file/upload/index.d.ts +2 -2
  193. package/node/@aws-s3/storage/index.d.ts +1 -1
  194. package/node/@aws-s3/storage/index.js +1 -1
  195. package/node/@express/@multer/index.d.ts +1 -1
  196. package/node/@google-cloud/storage/bucket/get-metadata/index.d.ts +1 -1
  197. package/node/@google-cloud/storage/directory/copy-dir/index.d.ts +1 -1
  198. package/node/@google-cloud/storage/directory/index.d.ts +1 -1
  199. package/node/@google-cloud/storage/directory/index.js +1 -1
  200. package/node/@google-cloud/storage/directory/list/index.d.ts +1 -1
  201. package/node/@google-cloud/storage/directory/move-dir/index.d.ts +1 -1
  202. package/node/@google-cloud/storage/directory/remove-dir/index.d.ts +1 -1
  203. package/node/@google-cloud/storage/file/copy/index.d.ts +2 -2
  204. package/node/@google-cloud/storage/file/download/index.d.ts +2 -2
  205. package/node/@google-cloud/storage/file/exists/index.d.ts +1 -1
  206. package/node/@google-cloud/storage/file/generate-signed-url/index.d.ts +1 -1
  207. package/node/@google-cloud/storage/file/get-metadata/index.d.ts +1 -1
  208. package/node/@google-cloud/storage/file/get-permissions/index.d.ts +1 -1
  209. package/node/@google-cloud/storage/file/index.d.ts +4 -4
  210. package/node/@google-cloud/storage/file/index.js +4 -4
  211. package/node/@google-cloud/storage/file/move/index.d.ts +1 -1
  212. package/node/@google-cloud/storage/file/remove/index.d.ts +1 -1
  213. package/node/@google-cloud/storage/file/revoke-signed-urls/index.d.ts +4 -4
  214. package/node/@google-cloud/storage/file/stat/index.d.ts +1 -1
  215. package/node/@google-cloud/storage/file/stat/index.js +2 -2
  216. package/node/@google-cloud/storage/file/update-metadata/index.d.ts +1 -1
  217. package/node/@google-cloud/storage/file/upload/index.d.ts +2 -2
  218. package/node/@google-cloud/storage/index.d.ts +1 -1
  219. package/node/@google-cloud/storage/index.js +1 -1
  220. package/node/cloud-storage/operations/copy-dir/index.d.ts +8 -8
  221. package/node/cloud-storage/operations/copy-dir/index.js +4 -4
  222. package/node/cloud-storage/operations/copy-file/index.d.ts +8 -8
  223. package/node/cloud-storage/operations/copy-file/index.js +4 -4
  224. package/node/cloud-storage/operations/download-file/index.d.ts +9 -9
  225. package/node/cloud-storage/operations/download-file/index.js +4 -4
  226. package/node/cloud-storage/operations/exists-file/index.d.ts +6 -6
  227. package/node/cloud-storage/operations/exists-file/index.js +4 -4
  228. package/node/cloud-storage/operations/index.d.ts +2 -2
  229. package/node/cloud-storage/operations/index.js +2 -2
  230. package/node/cloud-storage/operations/list-dir/index.d.ts +6 -6
  231. package/node/cloud-storage/operations/list-dir/index.js +4 -4
  232. package/node/cloud-storage/operations/move-dir/index.d.ts +8 -8
  233. package/node/cloud-storage/operations/move-dir/index.js +4 -4
  234. package/node/cloud-storage/operations/move-file/index.d.ts +8 -8
  235. package/node/cloud-storage/operations/move-file/index.js +4 -4
  236. package/node/cloud-storage/operations/remove-dir/index.d.ts +8 -8
  237. package/node/cloud-storage/operations/remove-dir/index.js +4 -4
  238. package/node/cloud-storage/operations/remove-file/index.d.ts +8 -8
  239. package/node/cloud-storage/operations/remove-file/index.js +4 -4
  240. package/node/cloud-storage/operations/stat-file/index.d.ts +8 -8
  241. package/node/cloud-storage/operations/stat-file/index.js +4 -4
  242. package/node/cloud-storage/operations/upload-file/index.d.ts +9 -9
  243. package/node/cloud-storage/operations/upload-file/index.js +4 -4
  244. package/node/files/index.d.ts +1 -1
  245. package/node/files/index.js +1 -1
  246. package/node/files/read-write/index.js +1 -1
  247. package/node/files/subpaths/index.d.ts +3 -3
  248. package/node/files/subpaths/index.js +6 -6
  249. package/node/ftps/directory/copy-dir/index.d.ts +1 -1
  250. package/node/ftps/directory/copy-dir/index.js +1 -1
  251. package/node/ftps/directory/list/index.d.ts +1 -1
  252. package/node/ftps/directory/move-dir/index.d.ts +1 -1
  253. package/node/ftps/directory/move-dir/index.js +1 -3
  254. package/node/ftps/directory/remove-dir/index.d.ts +2 -2
  255. package/node/ftps/file/copy/index.d.ts +1 -1
  256. package/node/ftps/file/copy/index.js +1 -1
  257. package/node/ftps/file/download/index.d.ts +2 -2
  258. package/node/ftps/file/exists/index.d.ts +2 -2
  259. package/node/ftps/file/exists/index.js +1 -1
  260. package/node/ftps/file/index.d.ts +2 -2
  261. package/node/ftps/file/index.js +2 -2
  262. package/node/ftps/file/move/index.d.ts +3 -3
  263. package/node/ftps/file/move/index.js +1 -1
  264. package/node/ftps/file/remove/index.d.ts +1 -1
  265. package/node/ftps/file/stat/index.d.ts +1 -1
  266. package/node/ftps/file/stat/index.js +2 -2
  267. package/node/ftps/file/upload/index.d.ts +2 -2
  268. package/node/images/format/index.d.ts +1 -1
  269. package/node/images/format/index.js +9 -9
  270. package/node/images/index.d.ts +2 -2
  271. package/node/images/index.js +2 -2
  272. package/node/images/metadata/index.d.ts +1 -1
  273. package/node/images/metadata/index.js +1 -1
  274. package/node/images/transform/index.d.ts +2 -2
  275. package/node/images/transform/index.js +26 -21
  276. package/node/images/transform/operations/blur/index.d.ts +1 -1
  277. package/node/images/transform/operations/brighten/index.d.ts +1 -1
  278. package/node/images/transform/operations/extend/index.d.ts +1 -1
  279. package/node/images/transform/operations/extract/index.d.ts +1 -1
  280. package/node/images/transform/operations/flatten/index.d.ts +1 -1
  281. package/node/images/transform/operations/flatten/index.js +1 -1
  282. package/node/images/transform/operations/flip/index.d.ts +1 -1
  283. package/node/images/transform/operations/flop/index.d.ts +1 -1
  284. package/node/images/transform/operations/hue/index.d.ts +1 -1
  285. package/node/images/transform/operations/index.d.ts +5 -5
  286. package/node/images/transform/operations/index.js +5 -5
  287. package/node/images/transform/operations/level/index.d.ts +1 -1
  288. package/node/images/transform/operations/lighten/index.d.ts +1 -1
  289. package/node/images/transform/operations/normalize/index.d.ts +1 -1
  290. package/node/images/transform/operations/overlay/index.js +1 -1
  291. package/node/images/transform/operations/resize/index.d.ts +1 -1
  292. package/node/images/transform/operations/rotate/index.d.ts +1 -1
  293. package/node/images/transform/operations/saturate/index.d.ts +1 -1
  294. package/node/index.d.ts +3 -3
  295. package/node/index.js +3 -3
  296. package/node/process/prompt-continue/index.js +1 -1
  297. package/node/process/spawner/index.d.ts +1 -9
  298. package/node/process/spawner/index.js +10 -8
  299. package/node/sftp/directory/copy-dir/index.d.ts +2 -1
  300. package/node/sftp/directory/copy-dir/index.js +2 -2
  301. package/node/sftp/directory/index.d.ts +1 -1
  302. package/node/sftp/directory/index.js +1 -1
  303. package/node/sftp/directory/list/index.d.ts +1 -1
  304. package/node/sftp/directory/move-dir/index.d.ts +1 -1
  305. package/node/sftp/directory/move-dir/index.js +2 -4
  306. package/node/sftp/directory/remove-dir/index.d.ts +2 -2
  307. package/node/sftp/file/copy/index.d.ts +2 -1
  308. package/node/sftp/file/copy/index.js +2 -2
  309. package/node/sftp/file/download/index.d.ts +3 -3
  310. package/node/sftp/file/exists/index.d.ts +1 -1
  311. package/node/sftp/file/index.d.ts +3 -3
  312. package/node/sftp/file/index.js +3 -3
  313. package/node/sftp/file/move/index.d.ts +3 -3
  314. package/node/sftp/file/move/index.js +3 -5
  315. package/node/sftp/file/remove/index.d.ts +1 -1
  316. package/node/sftp/file/remove/index.js +1 -1
  317. package/node/sftp/file/stat/index.d.ts +1 -1
  318. package/node/sftp/file/stat/index.js +1 -1
  319. package/node/sftp/file/upload/index.d.ts +3 -2
  320. package/node/sftp/file/upload/index.js +1 -1
  321. package/package.json +1244 -10
@@ -11,10 +11,10 @@ import { upload as sftpUpload } from "../../../sftp/file/upload/index.js";
11
11
  import { upload as s3Upload } from "../../../@aws-s3/storage/file/upload/index.js";
12
12
  import { upload as gcsUpload } from "../../../@google-cloud/storage/file/upload/index.js";
13
13
  async function uploadFile(fileStream, path, client, options) {
14
- if (isGcsBucket(client)) return gcsUpload(client, path, fileStream, options);
15
- if (isS3ClientWithBucket(client)) return s3Upload(client.client, client.bucketName, path, fileStream, options);
16
- if (isFtpClient(client)) return ftpUpload(client, path, fileStream, options);
17
- if (isSftpClient(client)) return sftpUpload(client, path, fileStream, options);
14
+ if (isGcsBucket(client)) return await gcsUpload(client, path, fileStream, options);
15
+ if (isS3ClientWithBucket(client)) return await s3Upload(client.client, client.bucketName, path, fileStream, options);
16
+ if (isFtpClient(client)) return await ftpUpload(client, path, fileStream, options);
17
+ if (isSftpClient(client)) return await sftpUpload(client, path, fileStream, options);
18
18
  return Outcome.makeFailure("Invalid client type");
19
19
  }
20
20
  export {
@@ -1,3 +1,3 @@
1
- export * as readWrite from './read-write/index.js'
2
1
  export * as isInDirectory from './is-in-directory/index.js'
2
+ export * as readWrite from './read-write/index.js'
3
3
  export * as subpaths from './subpaths/index.js'
@@ -1,3 +1,3 @@
1
- export * as readWrite from './read-write/index.js'
2
1
  export * as isInDirectory from './is-in-directory/index.js'
2
+ export * as readWrite from './read-write/index.js'
3
3
  export * as subpaths from './subpaths/index.js'
@@ -7,7 +7,7 @@ async function readWrite(path, editor, opts = {}) {
7
7
  readData.toString()
8
8
  );
9
9
  const actualWriteOptions = opts.writeOptions ?? opts.readOptions;
10
- const targetOutput = opts.output === void 0 ? path : opts.output;
10
+ const targetOutput = opts.output ?? path;
11
11
  if (opts.dryRun !== true) await fs.writeFile(targetOutput, edited, actualWriteOptions);
12
12
  return edited;
13
13
  }
@@ -1,4 +1,4 @@
1
- import { Stats } from 'node:fs';
1
+ import { type Stats } from 'node:fs';
2
2
  /** Type of child entry in a directory. */
3
3
  export type ChildType = 'file' | 'directory' | 'symlink';
4
4
  export type ChildDetails = {
@@ -28,8 +28,8 @@ export type ListOptions = {
28
28
  /** Whether to deduplicate paths when following symlinks. @default false */ dedupeSimlinksContents?: boolean;
29
29
  /** Maximum recursion depth. @default Infinity */ maxDepth?: number;
30
30
  /** Whether to return relative paths instead of absolute paths. @default false */ returnRelative?: boolean;
31
- /** Patterns to exclude from the results. */ exclude?: RegExp | string | (RegExp | string)[] | null;
32
- /** Patterns to include in the results (takes precedence over exclude). */ include?: RegExp | string | (RegExp | string)[] | null;
31
+ /** Patterns to exclude from the results. */ exclude?: RegExp | string | Array<RegExp | string> | null;
32
+ /** Patterns to include in the results (takes precedence over exclude). */ include?: RegExp | string | Array<RegExp | string> | null;
33
33
  /** Custom filter function to further refine results. */ filter?: ((path: string, details: ChildDetails) => boolean | Promise<boolean>);
34
34
  };
35
35
  export declare const defaultListOptions: Required<ListOptions>;
@@ -63,10 +63,10 @@ async function listAbsoluteSubpaths(inputPath, _options = {}, __private_context
63
63
  const isFile = !isDirectory && !isSymlink;
64
64
  const isHidden = path.basename(childAbsPath).startsWith(".");
65
65
  const type = isDirectory ? "directory" : isSymlink ? "symlink" : "file";
66
- if (isDirectory && options.directories === false) throw true;
67
- if (isSymlink && options.symlinks === false) throw false;
68
- if (isFile && options.files === false) throw false;
69
- if (isHidden && options.hidden === false) throw false;
66
+ if (isDirectory && !options.directories) throw true;
67
+ if (isSymlink && !options.symlinks) throw false;
68
+ if (isFile && !options.files) throw false;
69
+ if (isHidden && !options.hidden) throw false;
70
70
  const realPath = isSymlink ? await fs.realpath(childAbsPath) : childAbsPath;
71
71
  const childPathForFilters = options.returnRelative ? childRelFromRootPath : childAbsPath;
72
72
  const isInExclude = stringMatchesSome(childPathForFilters, options.exclude ?? []);
@@ -75,7 +75,7 @@ async function listAbsoluteSubpaths(inputPath, _options = {}, __private_context
75
75
  const isInFilter = await options.filter(childPathForFilters, { type, hidden: isHidden, realPath });
76
76
  if (!isInFilter) throw true;
77
77
  if (isSymlink) {
78
- if (options.followSimlinks === false) subpaths.push(childAbsPath);
78
+ if (!options.followSimlinks) subpaths.push(childAbsPath);
79
79
  else {
80
80
  const childSubpaths = await listAbsoluteSubpaths(realPath, options, {
81
81
  ..._private_context,
@@ -96,7 +96,7 @@ async function listAbsoluteSubpaths(inputPath, _options = {}, __private_context
96
96
  }
97
97
  }
98
98
  } catch (err) {
99
- if (typeof err !== "boolean") throw new Error(`This try/catch block should only throw booleans`);
99
+ if (typeof err !== "boolean") throw new Error("This try/catch block should only throw booleans");
100
100
  const shouldDiveDeeper = err;
101
101
  if (!shouldDiveDeeper) return [];
102
102
  const childSubpaths = await listAbsoluteSubpaths(childAbsPath, options, {
@@ -1,4 +1,4 @@
1
- import { Client } from 'basic-ftp';
1
+ import { type Client } from 'basic-ftp';
2
2
  import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
3
3
  export type CopyDirOptions = {
4
4
  /**
@@ -26,7 +26,7 @@ async function copyDir(ftpClient, sourceDir, targetDir, options) {
26
26
  }
27
27
  if (ensureDir) {
28
28
  const dirPath = dst.substring(0, dst.lastIndexOf("/"));
29
- if (dirPath) await ftpClient.ensureDir(dirPath);
29
+ await ftpClient.ensureDir(dirPath);
30
30
  }
31
31
  const pass = new PassThrough();
32
32
  const upload = ftpClient.uploadFrom(pass, dst);
@@ -1,4 +1,4 @@
1
- import { Client } from 'basic-ftp';
1
+ import { type Client } from 'basic-ftp';
2
2
  import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
3
3
  /**
4
4
  * Lists all direct children files under a given directory on an FTP server.
@@ -1,4 +1,4 @@
1
- import { Client } from 'basic-ftp';
1
+ import { type Client } from 'basic-ftp';
2
2
  import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
3
3
  export type MoveDirOptions = {
4
4
  /** If false and `targetDir` exists, the operation is aborted. Defaults to false. */
@@ -6,9 +6,7 @@ async function moveDir(ftpClient, sourceDir, targetDir, options) {
6
6
  try {
7
7
  if (ensureDir) {
8
8
  const parentDir = targetDir.substring(0, targetDir.lastIndexOf("/"));
9
- if (parentDir) {
10
- await ftpClient.ensureDir(parentDir);
11
- }
9
+ await ftpClient.ensureDir(parentDir);
12
10
  }
13
11
  if (!overwrite) {
14
12
  try {
@@ -1,4 +1,4 @@
1
- import { Client } from 'basic-ftp';
1
+ import { type Client } from 'basic-ftp';
2
2
  import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
3
3
  export type RemoveDirOptions = {
4
4
  /**
@@ -17,7 +17,7 @@ export type RemoveDirOptions = {
17
17
  * @param {RemoveDirOptions} [options] - Optional configuration.
18
18
  * @param {boolean} [options.ignoreMissing=true] - Whether to ignore a missing directory.
19
19
  * @returns {Promise<Outcome.Either<true, string>>}
20
- * - On success: `Outcome.makeSuccess(true)` – deletion succeeded, or directory
20
+ * - On success: `Outcome.makeSuccess(true)` – deletion succeeded, or directory
21
21
  * was absent and `ignoreMissing` is true.
22
22
  * - On failure: `Outcome.makeFailure(errStr)` if deletion fails, or directory
23
23
  * absent and `ignoreMissing` is false.
@@ -1,4 +1,4 @@
1
- import { Client } from 'basic-ftp';
1
+ import { type Client } from 'basic-ftp';
2
2
  import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
3
3
  export type CopyOptions = {
4
4
  /**
@@ -17,7 +17,7 @@ async function copy(ftpClient, sourcePath, targetPath, options) {
17
17
  }
18
18
  if (ensureDir) {
19
19
  const dirPath = targetPath.substring(0, targetPath.lastIndexOf("/"));
20
- if (dirPath) await ftpClient.ensureDir(dirPath);
20
+ await ftpClient.ensureDir(dirPath);
21
21
  }
22
22
  const pass = new PassThrough();
23
23
  const uploadPromise = ftpClient.uploadFrom(pass, targetPath);
@@ -1,5 +1,5 @@
1
- import { Readable } from 'node:stream';
2
- import { Client } from 'basic-ftp';
1
+ import { type Readable } from 'node:stream';
2
+ import { type Client } from 'basic-ftp';
3
3
  import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
4
4
  export type DownloadOptions = {
5
5
  startAt?: number;
@@ -1,4 +1,4 @@
1
- import { Client } from 'basic-ftp';
1
+ import { type Client } from 'basic-ftp';
2
2
  import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
3
3
  /**
4
4
  * Checks if a *file* (not a directory) exists on a specified FTP server.
@@ -15,7 +15,7 @@ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
15
15
  * @param {Client} ftpClient - The basic‑ftp client instance.
16
16
  * @param {string} sourcePath - The full path to check on the FTP server.
17
17
  * @returns {Promise<Outcome.Either<boolean, string>>}
18
- * - Success: `Outcome.makeSuccess(true | false)` – true only if a file exists.
18
+ * - Success: `Outcome.makeSuccess(true | false)` – true only if a file exists.
19
19
  * - Failure: `Outcome.makeFailure(errStr)` if an error occurs.
20
20
  */
21
21
  export declare function exists(ftpClient: Client, sourcePath: string): Promise<Outcome.Either<boolean, string>>;
@@ -9,7 +9,7 @@ async function exists(ftpClient, sourcePath) {
9
9
  const baseName = lastSlash === -1 ? sourcePath : sourcePath.slice(lastSlash + 1);
10
10
  const list = await ftpClient.list(parentDir);
11
11
  const entry = list.find((e) => e.name === baseName);
12
- const isFile = entry ? entry.type === FileType.File || entry.type === FileType.SymbolicLink : false;
12
+ const isFile = entry !== void 0 ? entry.type === FileType.File || entry.type === FileType.SymbolicLink : false;
13
13
  return Outcome.makeSuccess(isFile);
14
14
  } catch (err) {
15
15
  return Outcome.makeFailure(unknownToString(err));
@@ -1,7 +1,7 @@
1
1
  export * as copy from './copy/index.js'
2
- export * as move from './move/index.js'
3
2
  export * as download from './download/index.js'
4
- export * as remove from './remove/index.js'
3
+ export * as move from './move/index.js'
5
4
  export * as exists from './exists/index.js'
5
+ export * as remove from './remove/index.js'
6
6
  export * as stat from './stat/index.js'
7
7
  export * as upload from './upload/index.js'
@@ -1,7 +1,7 @@
1
1
  export * as copy from './copy/index.js'
2
- export * as move from './move/index.js'
3
2
  export * as download from './download/index.js'
4
- export * as remove from './remove/index.js'
3
+ export * as move from './move/index.js'
5
4
  export * as exists from './exists/index.js'
5
+ export * as remove from './remove/index.js'
6
6
  export * as stat from './stat/index.js'
7
7
  export * as upload from './upload/index.js'
@@ -1,4 +1,4 @@
1
- import { Client } from 'basic-ftp';
1
+ import { type Client } from 'basic-ftp';
2
2
  import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
3
3
  export type MoveOptions = {
4
4
  /**
@@ -20,9 +20,9 @@ export type MoveOptions = {
20
20
  * The function performs a simple `rename` operation, which moves the file from
21
21
  * `sourcePath` to `targetPath`. It supports two safety features:
22
22
  *
23
- * 1. **ensureDir** – If enabled, the parent directory of `targetPath`
23
+ * 1. **ensureDir** – If enabled, the parent directory of `targetPath`
24
24
  * is created with `ftpClient.ensureDir` before the rename.
25
- * 2. **overwrite** – If disabled (default) the function first checks whether
25
+ * 2. **overwrite** – If disabled (default) the function first checks whether
26
26
  * an object already exists at `targetPath`; if so, it aborts.
27
27
  *
28
28
  * @param {Client} ftpClient - The basic‑ftp client instance.
@@ -9,7 +9,7 @@ async function move(ftpClient, sourcePath, targetPath, options) {
9
9
  try {
10
10
  if (ensureDir) {
11
11
  const dirPath = targetPath.substring(0, targetPath.lastIndexOf("/"));
12
- if (dirPath) await ftpClient.ensureDir(dirPath);
12
+ await ftpClient.ensureDir(dirPath);
13
13
  }
14
14
  if (!overwrite) {
15
15
  try {
@@ -1,4 +1,4 @@
1
- import { Client } from 'basic-ftp';
1
+ import { type Client } from 'basic-ftp';
2
2
  import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
3
3
  export type RemoveOptions = {
4
4
  ignoreMissing?: boolean;
@@ -1,4 +1,4 @@
1
- import { Client as FtpClient, FileInfo } from 'basic-ftp';
1
+ import { type Client as FtpClient, type FileInfo } from 'basic-ftp';
2
2
  import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
3
3
  export interface Stat {
4
4
  size?: number;
@@ -8,11 +8,11 @@ async function stat(ftp, path) {
8
8
  const name = slash === -1 ? path : path.slice(slash + 1);
9
9
  const list = await ftp.list(dir);
10
10
  const entry = list.find((e) => e.name === name && e.isFile);
11
- if (!entry) return Outcome.makeFailure(`File not found: ${path}`);
11
+ if (entry === void 0) return Outcome.makeFailure(`File not found: ${path}`);
12
12
  return Outcome.makeSuccess({
13
13
  size: entry.size,
14
14
  modifiedAt: entry.modifiedAt ?? void 0,
15
- permissions: entry.rawModifiedAt ? entry.rawModifiedAt.toString() : void 0,
15
+ permissions: entry.rawModifiedAt.toString(),
16
16
  raw: entry
17
17
  });
18
18
  } catch (err) {
@@ -1,5 +1,5 @@
1
- import { Readable } from 'node:stream';
2
- import { Client, UploadOptions as BasicFtpUploadOptions } from 'basic-ftp';
1
+ import { type Readable } from 'node:stream';
2
+ import { type Client, type UploadOptions as BasicFtpUploadOptions } from 'basic-ftp';
3
3
  import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
4
4
  export type UploadOptions = BasicFtpUploadOptions & {
5
5
  ensureDir?: boolean;
@@ -1,4 +1,4 @@
1
- import sharp from 'sharp';
1
+ import type sharp from 'sharp';
2
2
  import * as Outcome from '../../../agnostic/misc/outcome/index.js';
3
3
  import type { FormatCommonOptions, FormatJpgOptions, FormatPngOptions, FormatWebpOptions, FormatAvifOptions, FormatTiffOptions, FormatHeifOptions, FormatOptions, ImageLike } from '../types.js';
4
4
  /** Type guard to check if options match FormatCommonOptions. */
@@ -115,7 +115,7 @@ var toSharpResizeOptions = (options) => {
115
115
  height: options.height,
116
116
  fit: options.fit,
117
117
  position: options.position,
118
- background: options.background ? toSharpColor(options.background) : void 0,
118
+ background: options.background !== void 0 ? toSharpColor(options.background) : void 0,
119
119
  kernel: options.kernel,
120
120
  withoutEnlargement: options.withoutEnlargement,
121
121
  withoutReduction: options.withoutReduction,
@@ -216,14 +216,14 @@ async function format(input, options) {
216
216
  if (isFormatHeifOptions(options)) return Outcome.makeSuccess(await resizedInstance.heif(toSharpHeifOptions(options)).toBuffer());
217
217
  return Outcome.makeSuccess(await resizedInstance.toBuffer());
218
218
  }
219
- var toWidth = async (input, width) => (await toSharpInstance(input)).resize({ width }).toBuffer();
220
- var toHeight = async (input, height) => (await toSharpInstance(input)).resize({ height }).toBuffer();
221
- var toJpg = async (input, quality) => (await toSharpInstance(input)).jpeg({ quality: clamp(quality ?? 100, 1, 100) }).toBuffer();
222
- var toPng = async (input, quality, compressionLevel) => (await toSharpInstance(input)).png({ quality: clamp(quality ?? 100, 1, 100), compressionLevel }).toBuffer();
223
- var toWebp = async (input, quality) => (await toSharpInstance(input)).webp({ quality: clamp(quality ?? 100, 1, 100) }).toBuffer();
224
- var toAvif = async (input, quality) => (await toSharpInstance(input)).avif({ quality: clamp(quality ?? 100, 1, 100) }).toBuffer();
225
- var toTiff = async (input, quality, compression) => (await toSharpInstance(input)).tiff({ quality: clamp(quality ?? 100, 1, 100), compression }).toBuffer();
226
- var toHeif = async (input, quality) => (await toSharpInstance(input)).heif({ quality: clamp(quality ?? 100, 1, 100) }).toBuffer();
219
+ var toWidth = async (input, width) => await (await toSharpInstance(input)).resize({ width }).toBuffer();
220
+ var toHeight = async (input, height) => await (await toSharpInstance(input)).resize({ height }).toBuffer();
221
+ var toJpg = async (input, quality) => await (await toSharpInstance(input)).jpeg({ quality: clamp(quality ?? 100, 1, 100) }).toBuffer();
222
+ var toPng = async (input, quality, compressionLevel) => await (await toSharpInstance(input)).png({ quality: clamp(quality ?? 100, 1, 100), compressionLevel }).toBuffer();
223
+ var toWebp = async (input, quality) => await (await toSharpInstance(input)).webp({ quality: clamp(quality ?? 100, 1, 100) }).toBuffer();
224
+ var toAvif = async (input, quality) => await (await toSharpInstance(input)).avif({ quality: clamp(quality ?? 100, 1, 100) }).toBuffer();
225
+ var toTiff = async (input, quality, compression) => await (await toSharpInstance(input)).tiff({ quality: clamp(quality ?? 100, 1, 100), compression }).toBuffer();
226
+ var toHeif = async (input, quality) => await (await toSharpInstance(input)).heif({ quality: clamp(quality ?? 100, 1, 100) }).toBuffer();
227
227
  export {
228
228
  format,
229
229
  isFormatAvifOptions,
@@ -1,5 +1,5 @@
1
1
  export * as create from './create/index.js'
2
- export * as format from './format/index.js'
3
- export * as transform from './transform/index.js'
4
2
  export * as metadata from './metadata/index.js'
3
+ export * as transform from './transform/index.js'
5
4
  export * as utils from './utils/index.js'
5
+ export * as format from './format/index.js'
@@ -1,5 +1,5 @@
1
1
  export * as create from './create/index.js'
2
- export * as format from './format/index.js'
3
- export * as transform from './transform/index.js'
4
2
  export * as metadata from './metadata/index.js'
3
+ export * as transform from './transform/index.js'
5
4
  export * as utils from './utils/index.js'
5
+ export * as format from './format/index.js'
@@ -1,4 +1,4 @@
1
- import sharp from 'sharp';
1
+ import type sharp from 'sharp';
2
2
  import type { ImageLike } from '../types.js';
3
3
  /**
4
4
  * Retrieves metadata from an image.
@@ -2,7 +2,7 @@
2
2
  import { toSharpInstance } from "../utils/index.js";
3
3
  async function metadata(imageInput) {
4
4
  const sharpInstance = await toSharpInstance(imageInput);
5
- return sharpInstance.metadata();
5
+ return await sharpInstance.metadata();
6
6
  }
7
7
  export {
8
8
  metadata
@@ -1,6 +1,6 @@
1
- import sharp from 'sharp';
1
+ import type sharp from 'sharp';
2
2
  import * as Outcome from '../../../agnostic/misc/outcome/index.js';
3
- import { OperationDescriptor, TransformLimits, TransformErr, ImageLike } from '../types.js';
3
+ import { type OperationDescriptor, type TransformLimits, type TransformErr, type ImageLike } from '../types.js';
4
4
  /**
5
5
  * Validates and checks if an object is a valid operation descriptor.
6
6
  *
@@ -43,13 +43,18 @@ function isOperationDescriptor(obj) {
43
43
  const name = obj.name;
44
44
  const validateOperation = (validatorFn) => {
45
45
  const result = validatorFn(obj);
46
- if (result.success) return Outcome.makeSuccess({ name: obj.name, ...result.payload });
46
+ if (result.success) return Outcome.makeSuccess({
47
+ name: obj.name,
48
+ ...result.payload
49
+ });
47
50
  return Outcome.makeFailure(result.error);
48
51
  };
49
52
  const simpleOperations = /* @__PURE__ */ new Set([OpName.FLIP, OpName.FLOP]);
50
- if (simpleOperations.has(name)) return Outcome.makeSuccess({ name });
53
+ if (simpleOperations.has(name)) return Outcome.makeSuccess({
54
+ name
55
+ });
51
56
  const validator = validators[name];
52
- if (validator) return validateOperation(validator);
57
+ if (validator !== void 0) return validateOperation(validator);
53
58
  return Outcome.makeFailure("Invalid operation descriptor");
54
59
  }
55
60
  async function transform(input, operationsSequence, limits) {
@@ -57,7 +62,7 @@ async function transform(input, operationsSequence, limits) {
57
62
  const start = Date.now();
58
63
  const deadline = limits?.timeoutMs !== void 0 ? start + limits.timeoutMs : void 0;
59
64
  const runWithOpTimeout = async (op) => {
60
- return limits?.opTimeoutMs === void 0 ? op() : Promise.race([op(), new Promise(
65
+ return limits?.opTimeoutMs === void 0 ? await op() : await Promise.race([op(), new Promise(
61
66
  (resolve) => setTimeout(
62
67
  () => resolve(TransformErrCodes.OP_TIMEOUT),
63
68
  limits.opTimeoutMs
@@ -74,35 +79,35 @@ async function transform(input, operationsSequence, limits) {
74
79
  result = await runWithOpTimeout(async () => {
75
80
  switch (operation.name) {
76
81
  case OpName.BLUR:
77
- return blur(sharpInstance, operation);
82
+ return await blur(sharpInstance, operation);
78
83
  case OpName.BRIGHTEN:
79
- return brighten(sharpInstance, operation);
84
+ return await brighten(sharpInstance, operation);
80
85
  case OpName.EXTEND:
81
- return extend(sharpInstance, operation);
86
+ return await extend(sharpInstance, operation);
82
87
  case OpName.EXTRACT:
83
- return extract(sharpInstance, operation);
88
+ return await extract(sharpInstance, operation);
84
89
  case OpName.FLATTEN:
85
- return flatten(sharpInstance, operation);
90
+ return await flatten(sharpInstance, operation);
86
91
  case OpName.FLIP:
87
- return flip(sharpInstance);
92
+ return await flip(sharpInstance);
88
93
  case OpName.FLOP:
89
- return flop(sharpInstance);
94
+ return await flop(sharpInstance);
90
95
  case OpName.HUE:
91
- return hue(sharpInstance, operation);
96
+ return await hue(sharpInstance, operation);
92
97
  case OpName.LEVEL:
93
- return level(sharpInstance, operation);
98
+ return await level(sharpInstance, operation);
94
99
  case OpName.LIGHTEN:
95
- return lighten(sharpInstance, operation);
100
+ return await lighten(sharpInstance, operation);
96
101
  case OpName.NORMALIZE:
97
- return normalize(sharpInstance, operation);
102
+ return await normalize(sharpInstance, operation);
98
103
  case OpName.OVERLAY:
99
- return overlay(sharpInstance, operation);
104
+ return await overlay(sharpInstance, operation);
100
105
  case OpName.RESIZE:
101
- return resize(sharpInstance, operation);
106
+ return await resize(sharpInstance, operation);
102
107
  case OpName.ROTATE:
103
- return rotate(sharpInstance, operation);
108
+ return await rotate(sharpInstance, operation);
104
109
  case OpName.SATURATE:
105
- return saturate(sharpInstance, operation);
110
+ return await saturate(sharpInstance, operation);
106
111
  default:
107
112
  return sharpInstance;
108
113
  }
@@ -124,11 +129,11 @@ async function transform(input, operationsSequence, limits) {
124
129
  if (operation.name === OpName.RESIZE || operation.name === OpName.EXTEND || operation.name === OpName.EXTRACT || operation.name === OpName.ROTATE) {
125
130
  try {
126
131
  const meta = await sharpInstance.metadata();
127
- if (limits.width !== void 0 && meta.width && meta.width > limits.width) return Outcome.makeFailure({
132
+ if (limits.width !== void 0 && meta.width > limits.width) return Outcome.makeFailure({
128
133
  code: TransformErrCodes.WIDTH_LIMIT_EXCEEDED,
129
134
  details: `Image width exceeded the limit (${meta.width}px)`
130
135
  });
131
- if (limits.height !== void 0 && meta.height && meta.height > limits.height) return Outcome.makeFailure({
136
+ if (limits.height !== void 0 && meta.height > limits.height) return Outcome.makeFailure({
132
137
  code: TransformErrCodes.HEIGHT_LIMIT_EXCEEDED,
133
138
  details: `Image height exceeded the limit (${meta.height}px)`
134
139
  });
@@ -1,4 +1,4 @@
1
- import sharp from 'sharp';
1
+ import type sharp from 'sharp';
2
2
  import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
3
3
  import type { BlurOperationParams } from '../../../types.js';
4
4
  export declare function isBlurOperationParams(obj: unknown): Outcome.Either<BlurOperationParams, string>;
@@ -1,4 +1,4 @@
1
- import sharp from 'sharp';
1
+ import type sharp from 'sharp';
2
2
  import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
3
3
  import type { BrightenOperationParams } from '../../../types.js';
4
4
  export declare function isBrightenOperationParams(obj: unknown): Outcome.Either<BrightenOperationParams, string>;
@@ -1,4 +1,4 @@
1
- import sharp from 'sharp';
1
+ import type sharp from 'sharp';
2
2
  import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
3
3
  import type { ExtendOperationParams } from '../../../types.js';
4
4
  export declare function isExtendOperationParams(obj: unknown): Outcome.Either<ExtendOperationParams, string>;
@@ -1,4 +1,4 @@
1
- import sharp from 'sharp';
1
+ import type sharp from 'sharp';
2
2
  import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
3
3
  import type { ExtractOperationParams } from '../../../types.js';
4
4
  export declare function isExtractOperationParams(obj: unknown): Outcome.Either<ExtractOperationParams, string>;
@@ -1,4 +1,4 @@
1
- import sharp from 'sharp';
1
+ import type sharp from 'sharp';
2
2
  import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
3
3
  import type { FlattenOperationParams } from '../../../types.js';
4
4
  export declare function isFlattenOperationParams(obj: unknown): Outcome.Either<FlattenOperationParams, string>;
@@ -14,7 +14,7 @@ function isFlattenOperationParams(obj) {
14
14
  async function flatten(sharpInstance, params) {
15
15
  const inputBg = params.background;
16
16
  const rgbBackground = inputBg !== void 0 ? toSharpColor(inputBg) : void 0;
17
- const background = rgbBackground !== void 0 ? rgbBackground : void 0;
17
+ const background = rgbBackground ?? rgbBackground;
18
18
  return sharpInstance.flatten({ background });
19
19
  }
20
20
  export {
@@ -1,2 +1,2 @@
1
- import sharp from 'sharp';
1
+ import type sharp from 'sharp';
2
2
  export declare function flip(sharpInstance: sharp.Sharp): Promise<sharp.Sharp>;
@@ -1,2 +1,2 @@
1
- import sharp from 'sharp';
1
+ import type sharp from 'sharp';
2
2
  export declare function flop(sharpInstance: sharp.Sharp): Promise<sharp.Sharp>;
@@ -1,4 +1,4 @@
1
- import sharp from 'sharp';
1
+ import type sharp from 'sharp';
2
2
  import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
3
3
  import type { HueOperationParams } from '../../../types.js';
4
4
  export declare function isHueOperationParams(obj: unknown): Outcome.Either<HueOperationParams, string>;
@@ -1,15 +1,15 @@
1
1
  export * as blur from './blur/index.js'
2
2
  export * as brighten from './brighten/index.js'
3
- export * as extend from './extend/index.js'
4
3
  export * as extract from './extract/index.js'
4
+ export * as extend from './extend/index.js'
5
5
  export * as flatten from './flatten/index.js'
6
- export * as flip from './flip/index.js'
7
6
  export * as flop from './flop/index.js'
8
7
  export * as hue from './hue/index.js'
9
8
  export * as level from './level/index.js'
10
- export * as normalize from './normalize/index.js'
11
- export * as resize from './resize/index.js'
12
- export * as overlay from './overlay/index.js'
13
9
  export * as lighten from './lighten/index.js'
10
+ export * as flip from './flip/index.js'
11
+ export * as overlay from './overlay/index.js'
14
12
  export * as rotate from './rotate/index.js'
13
+ export * as resize from './resize/index.js'
14
+ export * as normalize from './normalize/index.js'
15
15
  export * as saturate from './saturate/index.js'
@@ -1,15 +1,15 @@
1
1
  export * as blur from './blur/index.js'
2
2
  export * as brighten from './brighten/index.js'
3
- export * as extend from './extend/index.js'
4
3
  export * as extract from './extract/index.js'
4
+ export * as extend from './extend/index.js'
5
5
  export * as flatten from './flatten/index.js'
6
- export * as flip from './flip/index.js'
7
6
  export * as flop from './flop/index.js'
8
7
  export * as hue from './hue/index.js'
9
8
  export * as level from './level/index.js'
10
- export * as normalize from './normalize/index.js'
11
- export * as resize from './resize/index.js'
12
- export * as overlay from './overlay/index.js'
13
9
  export * as lighten from './lighten/index.js'
10
+ export * as flip from './flip/index.js'
11
+ export * as overlay from './overlay/index.js'
14
12
  export * as rotate from './rotate/index.js'
13
+ export * as resize from './resize/index.js'
14
+ export * as normalize from './normalize/index.js'
15
15
  export * as saturate from './saturate/index.js'
@@ -1,4 +1,4 @@
1
- import sharp from 'sharp';
1
+ import type sharp from 'sharp';
2
2
  import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
3
3
  import type { LevelOperationParams } from '../../../types.js';
4
4
  export declare function isLevelOperationParams(obj: unknown): Outcome.Either<LevelOperationParams, string>;
@@ -1,4 +1,4 @@
1
- import sharp from 'sharp';
1
+ import type sharp from 'sharp';
2
2
  import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
3
3
  import type { LightenOperationParams } from '../../../types.js';
4
4
  export declare function isLightenOperationParams(obj: unknown): Outcome.Either<LightenOperationParams, string>;
@@ -1,4 +1,4 @@
1
- import sharp from 'sharp';
1
+ import type sharp from 'sharp';
2
2
  import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
3
3
  import type { NormalizeOperationParams } from '../../../types.js';
4
4
  export declare function isNormalizeOperationParams(obj: unknown): Outcome.Either<NormalizeOperationParams, string>;
@@ -8,7 +8,7 @@ function isOverlayOperationParams(obj) {
8
8
  const schema = z.object({
9
9
  input: z.union([
10
10
  z.custom(isDuckTypedSharpInstance),
11
- z.custom(Buffer.isBuffer),
11
+ z.custom((data) => Buffer.isBuffer(data)),
12
12
  z.string(),
13
13
  z.object({
14
14
  width: z.number().optional(),