@design-edito/tools 0.4.23 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (490) hide show
  1. package/agnostic/arrays/find-duplicates/index.d.ts +1 -1
  2. package/agnostic/arrays/find-duplicates/index.js +3 -2
  3. package/agnostic/arrays/is-array-of/index.d.ts +1 -1
  4. package/agnostic/arrays/is-array-of/index.js +3 -1
  5. package/agnostic/arrays/make/index.d.ts +1 -1
  6. package/agnostic/arrays/random-pick/index.js +2 -1
  7. package/agnostic/arrays/shuffle/index.js +1 -1
  8. package/agnostic/booleans/is-falsy/index.d.ts +3 -3
  9. package/agnostic/booleans/is-falsy/index.js +2 -3
  10. package/agnostic/colors/channels/index.d.ts +16 -16
  11. package/agnostic/colors/channels/index.js +15 -15
  12. package/agnostic/colors/contrast/index.d.ts +6 -6
  13. package/agnostic/colors/contrast/index.js +6 -8
  14. package/agnostic/colors/contrast/index.test.js +1 -1
  15. package/agnostic/colors/convert/index.d.ts +43 -43
  16. package/agnostic/colors/convert/index.js +60 -55
  17. package/agnostic/colors/distance/index.d.ts +5 -5
  18. package/agnostic/colors/distance/index.js +5 -4
  19. package/agnostic/colors/grayscale/index.d.ts +3 -3
  20. package/agnostic/colors/grayscale/index.js +3 -3
  21. package/agnostic/colors/index.d.ts +3 -3
  22. package/agnostic/colors/index.js +3 -3
  23. package/agnostic/colors/invert/index.d.ts +4 -4
  24. package/agnostic/colors/invert/index.js +3 -3
  25. package/agnostic/colors/lerp/index.d.ts +6 -7
  26. package/agnostic/colors/lerp/index.js +5 -6
  27. package/agnostic/colors/luminance/index.d.ts +4 -4
  28. package/agnostic/colors/luminance/index.js +3 -3
  29. package/agnostic/colors/palette/index.d.ts +3 -3
  30. package/agnostic/colors/palette/index.js +4 -3
  31. package/agnostic/colors/rotate/index.d.ts +4 -4
  32. package/agnostic/colors/rotate/index.js +4 -4
  33. package/agnostic/colors/tidy/index.d.ts +2 -2
  34. package/agnostic/colors/tidy/index.js +2 -2
  35. package/agnostic/colors/typechecks/index.d.ts +21 -21
  36. package/agnostic/colors/typechecks/index.js +22 -21
  37. package/agnostic/colors/types.d.ts +33 -33
  38. package/agnostic/css/bem/index.d.ts +11 -11
  39. package/agnostic/css/bem/index.js +9 -8
  40. package/agnostic/css/clss/index.d.ts +1 -1
  41. package/agnostic/css/clss/index.js +1 -1
  42. package/agnostic/css/index.d.ts +1 -1
  43. package/agnostic/css/index.js +1 -1
  44. package/agnostic/css/is-valid-css-class-name/index.d.ts +2 -2
  45. package/agnostic/css/is-valid-css-class-name/index.js +3 -3
  46. package/agnostic/css/scale/index.d.ts +18 -18
  47. package/agnostic/css/scale/index.js +18 -18
  48. package/agnostic/css/styles-set/index.d.ts +1 -1
  49. package/agnostic/css/styles-set/index.js +0 -2
  50. package/agnostic/errors/register/index.d.ts +1 -1
  51. package/agnostic/errors/register/index.js +3 -0
  52. package/agnostic/errors/unknown-to-string/index.d.ts +2 -2
  53. package/agnostic/errors/unknown-to-string/index.js +2 -3
  54. package/agnostic/html/deep-select/index.d.ts +3 -3
  55. package/agnostic/html/deep-select/index.js +11 -7
  56. package/agnostic/html/get-node-ancestors/index.d.ts +3 -3
  57. package/agnostic/html/get-node-ancestors/index.js +3 -3
  58. package/agnostic/html/get-position-inside-parent/index.d.ts +2 -2
  59. package/agnostic/html/get-position-inside-parent/index.js +2 -2
  60. package/agnostic/html/hyper-json/cast/index.d.ts +1 -1
  61. package/agnostic/html/hyper-json/cast/index.js +6 -5
  62. package/agnostic/html/hyper-json/method/index.d.ts +2 -2
  63. package/agnostic/html/hyper-json/serialize/index.d.ts +1 -1
  64. package/agnostic/html/hyper-json/serialize/index.js +9 -5
  65. package/agnostic/html/hyper-json/smart-tags/coalesced/addclass/index.js +1 -0
  66. package/agnostic/html/hyper-json/smart-tags/coalesced/and/index.d.ts +1 -1
  67. package/agnostic/html/hyper-json/smart-tags/coalesced/append/index.d.ts +1 -1
  68. package/agnostic/html/hyper-json/smart-tags/coalesced/append/index.js +1 -0
  69. package/agnostic/html/hyper-json/smart-tags/coalesced/at/index.d.ts +1 -1
  70. package/agnostic/html/hyper-json/smart-tags/coalesced/at/index.js +1 -0
  71. package/agnostic/html/hyper-json/smart-tags/coalesced/call/index.d.ts +1 -1
  72. package/agnostic/html/hyper-json/smart-tags/coalesced/call/index.js +1 -1
  73. package/agnostic/html/hyper-json/smart-tags/coalesced/clone/index.d.ts +1 -1
  74. package/agnostic/html/hyper-json/smart-tags/coalesced/deleteproperties/index.d.ts +1 -1
  75. package/agnostic/html/hyper-json/smart-tags/coalesced/deleteproperties/index.js +0 -1
  76. package/agnostic/html/hyper-json/smart-tags/coalesced/equals/index.d.ts +1 -1
  77. package/agnostic/html/hyper-json/smart-tags/coalesced/getattribute/index.js +1 -0
  78. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperties/index.d.ts +1 -1
  79. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperty/index.d.ts +1 -1
  80. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperty/index.js +1 -2
  81. package/agnostic/html/hyper-json/smart-tags/coalesced/hjparse/index.d.ts +1 -1
  82. package/agnostic/html/hyper-json/smart-tags/coalesced/hjstringify/index.d.ts +1 -1
  83. package/agnostic/html/hyper-json/smart-tags/coalesced/hjstringify/index.js +4 -0
  84. package/agnostic/html/hyper-json/smart-tags/coalesced/if/index.d.ts +1 -1
  85. package/agnostic/html/hyper-json/smart-tags/coalesced/if/index.js +1 -0
  86. package/agnostic/html/hyper-json/smart-tags/coalesced/index.d.ts +6 -6
  87. package/agnostic/html/hyper-json/smart-tags/coalesced/index.js +6 -6
  88. package/agnostic/html/hyper-json/smart-tags/coalesced/initialize/index.d.ts +1 -1
  89. package/agnostic/html/hyper-json/smart-tags/coalesced/initialize/index.js +1 -0
  90. package/agnostic/html/hyper-json/smart-tags/coalesced/join/index.d.ts +1 -1
  91. package/agnostic/html/hyper-json/smart-tags/coalesced/length/index.d.ts +1 -1
  92. package/agnostic/html/hyper-json/smart-tags/coalesced/map/index.d.ts +1 -1
  93. package/agnostic/html/hyper-json/smart-tags/coalesced/or/index.d.ts +1 -1
  94. package/agnostic/html/hyper-json/smart-tags/coalesced/pickrandom/index.d.ts +1 -1
  95. package/agnostic/html/hyper-json/smart-tags/coalesced/populate/index.d.ts +1 -1
  96. package/agnostic/html/hyper-json/smart-tags/coalesced/populate/index.js +1 -0
  97. package/agnostic/html/hyper-json/smart-tags/coalesced/print/index.d.ts +1 -1
  98. package/agnostic/html/hyper-json/smart-tags/coalesced/print/index.js +2 -0
  99. package/agnostic/html/hyper-json/smart-tags/coalesced/push/index.d.ts +1 -1
  100. package/agnostic/html/hyper-json/smart-tags/coalesced/pusheach/index.d.ts +1 -1
  101. package/agnostic/html/hyper-json/smart-tags/coalesced/pusheach/index.js +1 -0
  102. package/agnostic/html/hyper-json/smart-tags/coalesced/recordtoarray/index.d.ts +1 -1
  103. package/agnostic/html/hyper-json/smart-tags/coalesced/removeattribute/index.js +3 -0
  104. package/agnostic/html/hyper-json/smart-tags/coalesced/removeclass/index.js +1 -0
  105. package/agnostic/html/hyper-json/smart-tags/coalesced/renameproperty/index.d.ts +1 -1
  106. package/agnostic/html/hyper-json/smart-tags/coalesced/renameproperty/index.js +1 -0
  107. package/agnostic/html/hyper-json/smart-tags/coalesced/replace/index.d.ts +1 -1
  108. package/agnostic/html/hyper-json/smart-tags/coalesced/replace/index.js +1 -0
  109. package/agnostic/html/hyper-json/smart-tags/coalesced/select/index.js +1 -0
  110. package/agnostic/html/hyper-json/smart-tags/coalesced/set/index.d.ts +1 -1
  111. package/agnostic/html/hyper-json/smart-tags/coalesced/set/index.js +1 -0
  112. package/agnostic/html/hyper-json/smart-tags/coalesced/setattribute/index.js +3 -0
  113. package/agnostic/html/hyper-json/smart-tags/coalesced/setproperty/index.d.ts +1 -1
  114. package/agnostic/html/hyper-json/smart-tags/coalesced/setproperty/index.js +4 -2
  115. package/agnostic/html/hyper-json/smart-tags/coalesced/sorton/index.d.ts +1 -1
  116. package/agnostic/html/hyper-json/smart-tags/coalesced/sorton/index.js +5 -0
  117. package/agnostic/html/hyper-json/smart-tags/coalesced/spread/index.d.ts +1 -1
  118. package/agnostic/html/hyper-json/smart-tags/coalesced/spread/index.js +1 -0
  119. package/agnostic/html/hyper-json/smart-tags/coalesced/toarray/index.d.ts +1 -1
  120. package/agnostic/html/hyper-json/smart-tags/coalesced/toboolean/index.d.ts +1 -1
  121. package/agnostic/html/hyper-json/smart-tags/coalesced/toelement/index.d.ts +1 -1
  122. package/agnostic/html/hyper-json/smart-tags/coalesced/toggleclass/index.js +3 -2
  123. package/agnostic/html/hyper-json/smart-tags/coalesced/tonodelist/index.d.ts +1 -1
  124. package/agnostic/html/hyper-json/smart-tags/coalesced/tonull/index.d.ts +1 -1
  125. package/agnostic/html/hyper-json/smart-tags/coalesced/tonumber/index.d.ts +1 -1
  126. package/agnostic/html/hyper-json/smart-tags/coalesced/torecord/index.d.ts +1 -1
  127. package/agnostic/html/hyper-json/smart-tags/coalesced/toref/index.d.ts +1 -1
  128. package/agnostic/html/hyper-json/smart-tags/coalesced/tostring/index.d.ts +1 -1
  129. package/agnostic/html/hyper-json/smart-tags/coalesced/totext/index.d.ts +1 -1
  130. package/agnostic/html/hyper-json/smart-tags/coalesced/transformselected/index.d.ts +1 -1
  131. package/agnostic/html/hyper-json/smart-tags/coalesced/trim/index.js +1 -1
  132. package/agnostic/html/hyper-json/smart-tags/index.d.ts +1 -1
  133. package/agnostic/html/hyper-json/smart-tags/isolated/any/index.d.ts +1 -1
  134. package/agnostic/html/hyper-json/smart-tags/isolated/array/index.d.ts +1 -1
  135. package/agnostic/html/hyper-json/smart-tags/isolated/get/index.d.ts +1 -1
  136. package/agnostic/html/hyper-json/smart-tags/isolated/guess/index.d.ts +1 -1
  137. package/agnostic/html/hyper-json/smart-tags/isolated/guess/index.js +3 -1
  138. package/agnostic/html/hyper-json/smart-tags/isolated/index.d.ts +2 -2
  139. package/agnostic/html/hyper-json/smart-tags/isolated/index.js +2 -2
  140. package/agnostic/html/hyper-json/smart-tags/isolated/nodelist/index.d.ts +1 -1
  141. package/agnostic/html/hyper-json/smart-tags/isolated/nodelist/index.js +1 -0
  142. package/agnostic/html/hyper-json/smart-tags/isolated/null/index.d.ts +1 -1
  143. package/agnostic/html/hyper-json/smart-tags/isolated/record/index.d.ts +1 -1
  144. package/agnostic/html/hyper-json/smart-tags/isolated/ref/index.d.ts +1 -1
  145. package/agnostic/html/hyper-json/smart-tags/isolated/ref/index.js +3 -1
  146. package/agnostic/html/hyper-json/smart-tags/isolated/text/index.js +2 -2
  147. package/agnostic/html/hyper-json/transformer/index.d.ts +5 -5
  148. package/agnostic/html/hyper-json/tree/index.d.ts +1 -1
  149. package/agnostic/html/hyper-json/tree/index.js +14 -8
  150. package/agnostic/html/hyper-json/types/index.d.ts +11 -11
  151. package/agnostic/html/hyper-json/utils/index.d.ts +3 -3
  152. package/agnostic/html/hyper-json/utils/index.js +8 -3
  153. package/agnostic/html/index.d.ts +4 -4
  154. package/agnostic/html/index.js +4 -4
  155. package/agnostic/html/insert-node/index.d.ts +4 -4
  156. package/agnostic/html/insert-node/index.js +4 -4
  157. package/agnostic/html/replace-in-element/index.d.ts +3 -3
  158. package/agnostic/html/replace-in-element/index.js +4 -4
  159. package/agnostic/html/selector-to-element/index.d.ts +2 -2
  160. package/agnostic/html/selector-to-element/index.js +11 -11
  161. package/agnostic/html/string-to-nodes/index.d.ts +3 -3
  162. package/agnostic/html/string-to-nodes/index.js +3 -3
  163. package/agnostic/html/watch-selection/index.d.ts +4 -5
  164. package/agnostic/html/watch-selection/index.js +5 -6
  165. package/agnostic/misc/assert/index.js +3 -1
  166. package/agnostic/misc/cast/index.d.ts +16 -16
  167. package/agnostic/misc/cast/index.js +18 -18
  168. package/agnostic/misc/connection/index.d.ts +5 -5
  169. package/agnostic/misc/connection/index.js +4 -2
  170. package/agnostic/misc/crawler/index.d.ts +18 -18
  171. package/agnostic/misc/crawler/index.js +10 -9
  172. package/agnostic/misc/crawler/index.test.js +2 -2
  173. package/agnostic/misc/crossenv/detect-runtime/index.d.ts +1 -1
  174. package/agnostic/misc/crossenv/detect-runtime/index.js +10 -11
  175. package/agnostic/misc/crossenv/window/index.d.ts +6 -6
  176. package/agnostic/misc/crossenv/window/index.js +6 -5
  177. package/agnostic/misc/data-size/index.js +2 -0
  178. package/agnostic/misc/index.d.ts +2 -2
  179. package/agnostic/misc/index.js +2 -2
  180. package/agnostic/misc/is-constructor-function/index.d.ts +2 -2
  181. package/agnostic/misc/is-constructor-function/index.js +3 -2
  182. package/agnostic/misc/is-constructor-function/index.test.js +2 -2
  183. package/agnostic/misc/is-nullish/index.d.ts +5 -5
  184. package/agnostic/misc/is-nullish/index.js +5 -4
  185. package/agnostic/misc/logs/index.d.ts +1 -1
  186. package/agnostic/misc/logs/index.js +1 -1
  187. package/agnostic/misc/logs/logger/index.js +2 -2
  188. package/agnostic/misc/lorem-ipsum/index.js +4 -4
  189. package/agnostic/misc/normalize-extension/index.d.ts +3 -3
  190. package/agnostic/misc/normalize-extension/index.js +4 -4
  191. package/agnostic/misc/outcome/index.d.ts +14 -14
  192. package/agnostic/misc/outcome/index.js +6 -4
  193. package/agnostic/numbers/absolute-modulo/index.d.ts +3 -3
  194. package/agnostic/numbers/absolute-modulo/index.js +3 -3
  195. package/agnostic/numbers/approximate-rational/index.d.ts +6 -6
  196. package/agnostic/numbers/approximate-rational/index.js +9 -9
  197. package/agnostic/numbers/clamp/index.d.ts +4 -4
  198. package/agnostic/numbers/clamp/index.js +4 -4
  199. package/agnostic/numbers/geometric-progressions/index.d.ts +5 -5
  200. package/agnostic/numbers/geometric-progressions/index.js +7 -5
  201. package/agnostic/numbers/geometric-progressions/index.test.js +2 -2
  202. package/agnostic/numbers/index.d.ts +1 -1
  203. package/agnostic/numbers/index.js +1 -1
  204. package/agnostic/numbers/interpolate/index.d.ts +8 -8
  205. package/agnostic/numbers/interpolate/index.js +8 -8
  206. package/agnostic/numbers/round/index.d.ts +9 -9
  207. package/agnostic/numbers/round/index.js +9 -9
  208. package/agnostic/objects/deep-get-property/index.d.ts +4 -4
  209. package/agnostic/objects/deep-get-property/index.js +3 -3
  210. package/agnostic/objects/enums/is-in-enum/index.d.ts +3 -3
  211. package/agnostic/objects/enums/is-in-enum/index.js +3 -3
  212. package/agnostic/objects/flatten-getters/index.d.ts +2 -2
  213. package/agnostic/objects/flatten-getters/index.js +3 -2
  214. package/agnostic/objects/index.d.ts +2 -2
  215. package/agnostic/objects/index.js +2 -2
  216. package/agnostic/objects/is-object/index.d.ts +4 -4
  217. package/agnostic/objects/is-object/index.js +4 -4
  218. package/agnostic/objects/is-record/index.d.ts +2 -2
  219. package/agnostic/objects/is-record/index.js +2 -2
  220. package/agnostic/objects/record-format/index.d.ts +9 -9
  221. package/agnostic/objects/record-format/index.js +8 -3
  222. package/agnostic/objects/record-map/index.d.ts +4 -4
  223. package/agnostic/objects/record-map/index.js +5 -3
  224. package/agnostic/objects/sort-keys/index.d.ts +3 -3
  225. package/agnostic/objects/sort-keys/index.js +4 -3
  226. package/agnostic/objects/validation/index.d.ts +3 -3
  227. package/agnostic/objects/validation/index.js +4 -3
  228. package/agnostic/optim/memoize/index.d.ts +2 -2
  229. package/agnostic/optim/memoize/index.js +4 -2
  230. package/agnostic/optim/throttle-debounce/index.d.ts +2 -2
  231. package/agnostic/optim/throttle-debounce/index.js +7 -6
  232. package/agnostic/optim/throttle-debounce/types.d.ts +2 -1
  233. package/agnostic/random/random/index.d.ts +7 -8
  234. package/agnostic/random/random/index.js +3 -3
  235. package/agnostic/random/uuid/index.d.ts +6 -6
  236. package/agnostic/random/uuid/index.js +6 -6
  237. package/agnostic/regexps/index.d.ts +30 -60
  238. package/agnostic/regexps/index.js +27 -26
  239. package/agnostic/sanitization/file-name/index.d.ts +3 -3
  240. package/agnostic/sanitization/file-name/index.js +10 -10
  241. package/agnostic/sanitization/html/index.d.ts +6 -6
  242. package/agnostic/sanitization/html/index.js +9 -6
  243. package/agnostic/sanitization/index.d.ts +1 -1
  244. package/agnostic/sanitization/index.js +1 -1
  245. package/agnostic/sanitization/path/index.d.ts +2 -2
  246. package/agnostic/sanitization/path/index.js +2 -2
  247. package/agnostic/sanitization/user-input/index.js +1 -0
  248. package/agnostic/strings/char-codes/index.js +2 -6
  249. package/agnostic/strings/index.d.ts +1 -1
  250. package/agnostic/strings/index.js +1 -1
  251. package/agnostic/strings/normalize-indent/index.js +2 -2
  252. package/agnostic/strings/parse-table/index.d.ts +13 -13
  253. package/agnostic/strings/parse-table/index.js +31 -16
  254. package/agnostic/strings/replace-all/index.d.ts +1 -1
  255. package/agnostic/strings/replace-all/index.js +1 -0
  256. package/agnostic/strings/to-alphanum/index.js +2 -2
  257. package/agnostic/strings/trim/index.js +2 -2
  258. package/agnostic/time/dates/format-date/index.js +3 -1
  259. package/agnostic/time/dates/index.d.ts +1 -0
  260. package/agnostic/time/dates/index.js +1 -0
  261. package/agnostic/time/dates/to-french-republican/index.d.ts +16 -0
  262. package/agnostic/time/dates/to-french-republican/index.js +82 -0
  263. package/agnostic/time/dates/to-french-republican/index.test.d.ts +1 -0
  264. package/agnostic/time/dates/to-french-republican/index.test.js +112 -0
  265. package/agnostic/time/dates/to-french-republican/types.d.ts +91 -0
  266. package/agnostic/time/dates/to-french-republican/types.js +47 -0
  267. package/agnostic/time/dates/to-french-republican/utils.d.ts +32 -0
  268. package/agnostic/time/dates/to-french-republican/utils.js +155 -0
  269. package/agnostic/time/duration/index.js +2 -0
  270. package/agnostic/time/index.d.ts +2 -2
  271. package/agnostic/time/index.js +2 -2
  272. package/agnostic/time/timeout/index.js +9 -9
  273. package/agnostic/time/transitions/index.js +8 -7
  274. package/components/BeforeAfter/index.controlled.js +1 -0
  275. package/components/BeforeAfter/index.js +4 -0
  276. package/components/Button/index.d.ts +1 -1
  277. package/components/Clippable/index.js +1 -0
  278. package/components/Drawer/index.js +1 -1
  279. package/components/Gallery/index.js +2 -1
  280. package/components/Gallery/utils.js +5 -1
  281. package/components/Iframe/index.js +3 -0
  282. package/components/Image/index.js +2 -0
  283. package/components/Input/index.controlled.js +3 -2
  284. package/components/IntersectionObserver/index.js +5 -2
  285. package/components/JsonEditor/index.js +1 -1
  286. package/components/Overlayer/index.d.ts +1 -1
  287. package/components/ScrollListener/utils.d.ts +29 -0
  288. package/components/Select/index.controlled.js +3 -2
  289. package/components/Sequencer/index.controlled.js +1 -1
  290. package/components/Subtitles/index.js +3 -1
  291. package/components/Subtitles/types.d.ts +14 -0
  292. package/components/Subtitles/utils.d.ts +19 -15
  293. package/components/Subtitles/utils.js +29 -24
  294. package/components/Textarea/index.controlled.js +3 -2
  295. package/components/UIModule/index.js +3 -1
  296. package/components/Video/index.controlled.d.ts +1 -1
  297. package/components/Video/index.controlled.js +11 -10
  298. package/components/Video/index.js +27 -20
  299. package/components/Video/utils.d.ts +1 -1
  300. package/components/Video/utils.js +11 -2
  301. package/components/index.d.ts +2 -2
  302. package/components/index.js +2 -2
  303. package/components/utils/types.d.ts +5 -0
  304. package/node/@aws-s3/storage/directory/copy-dir/index.d.ts +9 -9
  305. package/node/@aws-s3/storage/directory/copy-dir/index.js +15 -12
  306. package/node/@aws-s3/storage/directory/list/index.d.ts +5 -5
  307. package/node/@aws-s3/storage/directory/list/index.js +5 -5
  308. package/node/@aws-s3/storage/directory/move-dir/index.d.ts +6 -6
  309. package/node/@aws-s3/storage/directory/move-dir/index.js +11 -7
  310. package/node/@aws-s3/storage/directory/remove-dir/index.d.ts +5 -5
  311. package/node/@aws-s3/storage/directory/remove-dir/index.js +5 -5
  312. package/node/@aws-s3/storage/file/copy/index.d.ts +8 -8
  313. package/node/@aws-s3/storage/file/copy/index.js +12 -9
  314. package/node/@aws-s3/storage/file/download/index.d.ts +6 -6
  315. package/node/@aws-s3/storage/file/download/index.js +6 -5
  316. package/node/@aws-s3/storage/file/exists/index.d.ts +6 -6
  317. package/node/@aws-s3/storage/file/exists/index.js +15 -12
  318. package/node/@aws-s3/storage/file/move/index.d.ts +9 -9
  319. package/node/@aws-s3/storage/file/move/index.js +18 -15
  320. package/node/@aws-s3/storage/file/remove/index.d.ts +5 -5
  321. package/node/@aws-s3/storage/file/remove/index.js +16 -11
  322. package/node/@aws-s3/storage/file/stat/index.d.ts +5 -5
  323. package/node/@aws-s3/storage/file/stat/index.js +10 -7
  324. package/node/@aws-s3/storage/file/upload/index.d.ts +7 -7
  325. package/node/@aws-s3/storage/file/upload/index.js +11 -9
  326. package/node/@express/@multer/index.d.ts +12 -12
  327. package/node/@express/@multer/index.js +27 -25
  328. package/node/@google-cloud/storage/bucket/get-metadata/index.d.ts +4 -4
  329. package/node/@google-cloud/storage/bucket/get-metadata/index.js +3 -3
  330. package/node/@google-cloud/storage/directory/copy-dir/index.d.ts +7 -7
  331. package/node/@google-cloud/storage/directory/copy-dir/index.js +6 -6
  332. package/node/@google-cloud/storage/directory/index.d.ts +1 -1
  333. package/node/@google-cloud/storage/directory/index.js +1 -1
  334. package/node/@google-cloud/storage/directory/list/index.d.ts +6 -6
  335. package/node/@google-cloud/storage/directory/list/index.js +5 -5
  336. package/node/@google-cloud/storage/directory/move-dir/index.d.ts +6 -6
  337. package/node/@google-cloud/storage/directory/move-dir/index.js +5 -5
  338. package/node/@google-cloud/storage/directory/remove-dir/index.d.ts +7 -7
  339. package/node/@google-cloud/storage/directory/remove-dir/index.js +6 -6
  340. package/node/@google-cloud/storage/file/copy/index.d.ts +9 -9
  341. package/node/@google-cloud/storage/file/copy/index.js +8 -8
  342. package/node/@google-cloud/storage/file/download/index.d.ts +7 -7
  343. package/node/@google-cloud/storage/file/download/index.js +5 -5
  344. package/node/@google-cloud/storage/file/exists/index.d.ts +7 -7
  345. package/node/@google-cloud/storage/file/exists/index.js +6 -6
  346. package/node/@google-cloud/storage/file/generate-signed-url/index.d.ts +7 -7
  347. package/node/@google-cloud/storage/file/generate-signed-url/index.js +6 -6
  348. package/node/@google-cloud/storage/file/get-metadata/index.d.ts +5 -5
  349. package/node/@google-cloud/storage/file/get-metadata/index.js +4 -4
  350. package/node/@google-cloud/storage/file/get-permissions/index.d.ts +6 -6
  351. package/node/@google-cloud/storage/file/get-permissions/index.js +4 -4
  352. package/node/@google-cloud/storage/file/index.d.ts +1 -1
  353. package/node/@google-cloud/storage/file/index.js +1 -1
  354. package/node/@google-cloud/storage/file/move/index.d.ts +10 -10
  355. package/node/@google-cloud/storage/file/move/index.js +9 -9
  356. package/node/@google-cloud/storage/file/remove/index.d.ts +5 -5
  357. package/node/@google-cloud/storage/file/remove/index.js +4 -4
  358. package/node/@google-cloud/storage/file/revoke-signed-urls/index.d.ts +5 -5
  359. package/node/@google-cloud/storage/file/revoke-signed-urls/index.js +5 -5
  360. package/node/@google-cloud/storage/file/stat/index.d.ts +5 -5
  361. package/node/@google-cloud/storage/file/stat/index.js +4 -4
  362. package/node/@google-cloud/storage/file/update-metadata/index.d.ts +7 -7
  363. package/node/@google-cloud/storage/file/update-metadata/index.js +5 -5
  364. package/node/@google-cloud/storage/file/upload/index.d.ts +7 -7
  365. package/node/@google-cloud/storage/file/upload/index.js +5 -5
  366. package/node/cloud-storage/clients/index.d.ts +8 -8
  367. package/node/cloud-storage/clients/index.js +8 -8
  368. package/node/cloud-storage/operations/copy-dir/index.d.ts +22 -22
  369. package/node/cloud-storage/operations/copy-dir/index.js +5 -5
  370. package/node/cloud-storage/operations/copy-file/index.d.ts +22 -22
  371. package/node/cloud-storage/operations/copy-file/index.js +5 -5
  372. package/node/cloud-storage/operations/download-file/index.d.ts +19 -19
  373. package/node/cloud-storage/operations/download-file/index.js +6 -6
  374. package/node/cloud-storage/operations/exists-file/index.d.ts +15 -26
  375. package/node/cloud-storage/operations/exists-file/index.js +4 -4
  376. package/node/cloud-storage/operations/list-dir/index.d.ts +15 -25
  377. package/node/cloud-storage/operations/list-dir/index.js +4 -4
  378. package/node/cloud-storage/operations/move-dir/index.d.ts +22 -22
  379. package/node/cloud-storage/operations/move-dir/index.js +5 -5
  380. package/node/cloud-storage/operations/move-file/index.d.ts +22 -22
  381. package/node/cloud-storage/operations/move-file/index.js +5 -5
  382. package/node/cloud-storage/operations/remove-dir/index.d.ts +18 -18
  383. package/node/cloud-storage/operations/remove-dir/index.js +4 -4
  384. package/node/cloud-storage/operations/remove-file/index.d.ts +18 -18
  385. package/node/cloud-storage/operations/remove-file/index.js +4 -4
  386. package/node/cloud-storage/operations/stat-file/index.d.ts +16 -16
  387. package/node/cloud-storage/operations/stat-file/index.js +4 -4
  388. package/node/cloud-storage/operations/upload-file/index.d.ts +23 -23
  389. package/node/cloud-storage/operations/upload-file/index.js +5 -5
  390. package/node/encryption/@aes-256-gcm/buffer/index.d.ts +6 -6
  391. package/node/encryption/@aes-256-gcm/buffer/index.js +6 -6
  392. package/node/encryption/@aes-256-gcm/uint8-array/index.d.ts +8 -8
  393. package/node/encryption/@aes-256-gcm/uint8-array/index.js +8 -8
  394. package/node/encryption/key/index.d.ts +6 -6
  395. package/node/encryption/key/index.js +6 -6
  396. package/node/files/read-write/index.d.ts +16 -16
  397. package/node/files/subpaths/index.d.ts +8 -8
  398. package/node/files/subpaths/index.js +11 -13
  399. package/node/ftps/directory/copy-dir/index.d.ts +6 -6
  400. package/node/ftps/directory/copy-dir/index.js +6 -6
  401. package/node/ftps/directory/list/index.d.ts +4 -4
  402. package/node/ftps/directory/list/index.js +3 -3
  403. package/node/ftps/directory/move-dir/index.d.ts +6 -6
  404. package/node/ftps/directory/move-dir/index.js +5 -5
  405. package/node/ftps/directory/remove-dir/index.d.ts +6 -6
  406. package/node/ftps/directory/remove-dir/index.js +8 -7
  407. package/node/ftps/file/copy/index.d.ts +6 -6
  408. package/node/ftps/file/copy/index.js +5 -5
  409. package/node/ftps/file/download/index.d.ts +6 -6
  410. package/node/ftps/file/download/index.js +5 -5
  411. package/node/ftps/file/exists/index.d.ts +3 -3
  412. package/node/ftps/file/exists/index.js +3 -3
  413. package/node/ftps/file/move/index.d.ts +8 -8
  414. package/node/ftps/file/move/index.js +11 -9
  415. package/node/ftps/file/remove/index.d.ts +5 -5
  416. package/node/ftps/file/remove/index.js +4 -4
  417. package/node/ftps/file/stat/index.d.ts +4 -4
  418. package/node/ftps/file/stat/index.js +4 -4
  419. package/node/ftps/file/upload/index.d.ts +7 -7
  420. package/node/ftps/file/upload/index.js +5 -5
  421. package/node/images/create/index.d.ts +2 -2
  422. package/node/images/create/index.js +1 -1
  423. package/node/images/format/index.d.ts +8 -8
  424. package/node/images/metadata/index.d.ts +2 -2
  425. package/node/images/transform/index.d.ts +2 -2
  426. package/node/images/transform/index.js +12 -2
  427. package/node/images/transform/operations/blur/index.d.ts +2 -2
  428. package/node/images/transform/operations/blur/index.js +1 -0
  429. package/node/images/transform/operations/brighten/index.d.ts +2 -2
  430. package/node/images/transform/operations/brighten/index.js +1 -0
  431. package/node/images/transform/operations/extend/index.d.ts +2 -2
  432. package/node/images/transform/operations/extend/index.js +1 -0
  433. package/node/images/transform/operations/extract/index.d.ts +2 -2
  434. package/node/images/transform/operations/extract/index.js +1 -0
  435. package/node/images/transform/operations/flatten/index.d.ts +2 -2
  436. package/node/images/transform/operations/flatten/index.js +1 -0
  437. package/node/images/transform/operations/flip/index.d.ts +2 -2
  438. package/node/images/transform/operations/flip/index.js +1 -0
  439. package/node/images/transform/operations/flop/index.d.ts +2 -2
  440. package/node/images/transform/operations/flop/index.js +1 -0
  441. package/node/images/transform/operations/hue/index.d.ts +2 -2
  442. package/node/images/transform/operations/hue/index.js +1 -0
  443. package/node/images/transform/operations/index.d.ts +2 -2
  444. package/node/images/transform/operations/index.js +2 -2
  445. package/node/images/transform/operations/level/index.d.ts +2 -2
  446. package/node/images/transform/operations/level/index.js +1 -0
  447. package/node/images/transform/operations/lighten/index.d.ts +2 -2
  448. package/node/images/transform/operations/lighten/index.js +1 -0
  449. package/node/images/transform/operations/normalize/index.d.ts +2 -2
  450. package/node/images/transform/operations/normalize/index.js +1 -0
  451. package/node/images/transform/operations/overlay/index.d.ts +2 -2
  452. package/node/images/transform/operations/resize/index.d.ts +2 -2
  453. package/node/images/transform/operations/resize/index.js +1 -0
  454. package/node/images/transform/operations/rotate/index.d.ts +2 -2
  455. package/node/images/transform/operations/rotate/index.js +1 -0
  456. package/node/images/transform/operations/saturate/index.d.ts +2 -2
  457. package/node/images/transform/operations/saturate/index.js +1 -0
  458. package/node/images/types.d.ts +41 -2
  459. package/node/images/utils/index.d.ts +10 -5
  460. package/node/process/index.d.ts +1 -1
  461. package/node/process/index.js +1 -1
  462. package/node/process/on-exit/index.js +2 -4
  463. package/node/process/prompt-continue/index.d.ts +3 -3
  464. package/node/process/prompt-continue/index.js +4 -3
  465. package/node/process/spawner/index.js +7 -6
  466. package/node/sftp/directory/copy-dir/index.d.ts +6 -6
  467. package/node/sftp/directory/copy-dir/index.js +6 -6
  468. package/node/sftp/directory/list/index.d.ts +3 -3
  469. package/node/sftp/directory/list/index.js +4 -4
  470. package/node/sftp/directory/move-dir/index.d.ts +7 -7
  471. package/node/sftp/directory/move-dir/index.js +7 -7
  472. package/node/sftp/directory/remove-dir/index.d.ts +5 -5
  473. package/node/sftp/directory/remove-dir/index.js +8 -7
  474. package/node/sftp/file/copy/index.d.ts +6 -6
  475. package/node/sftp/file/copy/index.js +5 -5
  476. package/node/sftp/file/download/index.d.ts +7 -7
  477. package/node/sftp/file/download/index.js +5 -5
  478. package/node/sftp/file/exists/index.d.ts +3 -3
  479. package/node/sftp/file/exists/index.js +3 -3
  480. package/node/sftp/file/index.d.ts +1 -1
  481. package/node/sftp/file/index.js +1 -1
  482. package/node/sftp/file/move/index.d.ts +7 -7
  483. package/node/sftp/file/move/index.js +7 -7
  484. package/node/sftp/file/remove/index.d.ts +4 -4
  485. package/node/sftp/file/remove/index.js +4 -4
  486. package/node/sftp/file/stat/index.d.ts +3 -3
  487. package/node/sftp/file/stat/index.js +6 -5
  488. package/node/sftp/file/upload/index.d.ts +6 -6
  489. package/node/sftp/file/upload/index.js +5 -5
  490. package/package.json +40 -39
@@ -1,16 +1,17 @@
1
1
  import { HeadObjectCommand, DeleteObjectCommand } from '@aws-sdk/client-s3';
2
2
  import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
3
3
  import { unknownToString } from '../../../../../agnostic/errors/unknown-to-string/index.js';
4
+ import { deepGetProperty } from '../../../../../agnostic/objects/deep-get-property/index.js';
4
5
  /**
5
6
  * Removes a file from a specified Amazon S3 bucket (AWS SDK v3).
6
7
  *
7
8
  * If `ignoreMissing` is true (default), a missing object is considered success.
8
9
  *
9
- * @param {S3Client} s3 - The AWS S3 client instance.
10
- * @param {string} bucketName - The name of the bucket.
11
- * @param {string} targetPath - The key of the object to delete.
12
- * @param {RemoveOptions} [options] - Optional settings.
13
- * @returns {Promise<Outcome.Either<true, string>>}
10
+ * @param s3 - The AWS S3 client instance.
11
+ * @param bucketName - The name of the bucket.
12
+ * @param targetPath - The key of the object to delete.
13
+ * @param [options] - Optional settings.
14
+ * @returns
14
15
  */
15
16
  export async function remove(s3, bucketName, targetPath, options) {
16
17
  const { ignoreMissing = true } = options ?? {};
@@ -20,12 +21,16 @@ export async function remove(s3, bucketName, targetPath, options) {
20
21
  await s3.send(new HeadObjectCommand({ Bucket: bucketName, Key: targetPath }));
21
22
  }
22
23
  catch (err) {
23
- const code = err?.name ?? err?.Code ?? err?.code;
24
- if (code === 'NotFound' || code === 'NoSuchKey' || code === 'NotFoundException') {
25
- if (ignoreMissing)
26
- return Outcome.makeSuccess(true);
27
- return Outcome.makeFailure(`File not found at ${targetPath}.`);
28
- }
24
+ const name = deepGetProperty(err, 'name');
25
+ const Code = deepGetProperty(err, 'Code');
26
+ const _code = deepGetProperty(err, 'code');
27
+ const code = name ?? Code ?? _code;
28
+ if (code === 'NotFound'
29
+ || code === 'NoSuchKey'
30
+ || code === 'NotFoundException')
31
+ return ignoreMissing
32
+ ? Outcome.makeSuccess(true)
33
+ : Outcome.makeFailure(`File not found at ${targetPath}.`);
29
34
  return Outcome.makeFailure(unknownToString(err));
30
35
  }
31
36
  // Delete the object
@@ -15,10 +15,10 @@ export type StatOptions = {
15
15
  /**
16
16
  * Retrieves metadata for a single S3 object.
17
17
  *
18
- * @param {S3Client} client – v3 S3 client.
19
- * @param {string} bucket – Bucket name.
20
- * @param {string} key – Object key.
21
- * @param {StatOptions} [options] – Extra HeadObject params.
22
- * @returns {Promise<Outcome.Either<Stat, string>>}
18
+ * @param client – v3 S3 client.
19
+ * @param bucket – Bucket name.
20
+ * @param key – Object key.
21
+ * @param [options] – Extra HeadObject params.
22
+ * @returns
23
23
  */
24
24
  export declare function stat(client: S3Client, bucket: string, key: string, options?: StatOptions): Promise<Outcome.Either<Stat, string>>;
@@ -1,14 +1,15 @@
1
1
  import { HeadObjectCommand } from '@aws-sdk/client-s3';
2
2
  import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
3
3
  import { unknownToString } from '../../../../../agnostic/errors/unknown-to-string/index.js';
4
+ import { deepGetProperty } from '../../../../../agnostic/objects/deep-get-property/index.js';
4
5
  /**
5
6
  * Retrieves metadata for a single S3 object.
6
7
  *
7
- * @param {S3Client} client – v3 S3 client.
8
- * @param {string} bucket – Bucket name.
9
- * @param {string} key – Object key.
10
- * @param {StatOptions} [options] – Extra HeadObject params.
11
- * @returns {Promise<Outcome.Either<Stat, string>>}
8
+ * @param client – v3 S3 client.
9
+ * @param bucket – Bucket name.
10
+ * @param key – Object key.
11
+ * @param [options] – Extra HeadObject params.
12
+ * @returns
12
13
  */
13
14
  export async function stat(client, bucket, key, options) {
14
15
  const { headObjectOptions } = options ?? {};
@@ -17,7 +18,7 @@ export async function stat(client, bucket, key, options) {
17
18
  const stat = {
18
19
  size: res.ContentLength,
19
20
  modifiedAt: res.LastModified,
20
- checksum: res.ETag?.replace(/"/g, ''),
21
+ checksum: res.ETag?.replace(/"/gv, ''),
21
22
  contentType: res.ContentType,
22
23
  metadata: res.Metadata,
23
24
  storageClass: res.StorageClass,
@@ -26,7 +27,9 @@ export async function stat(client, bucket, key, options) {
26
27
  return Outcome.makeSuccess(stat);
27
28
  }
28
29
  catch (err) {
29
- const notFound = err.$metadata?.httpStatusCode === 404 || err.name === 'NotFound';
30
+ const name = deepGetProperty(err, 'name');
31
+ const httpStatusCode = deepGetProperty(err, '$metadata.httpStatusCode');
32
+ const notFound = httpStatusCode === 404 || name === 'NotFound';
30
33
  if (notFound)
31
34
  return Outcome.makeFailure(`Object not found: ${key}`);
32
35
  return Outcome.makeFailure(unknownToString(err));
@@ -1,4 +1,4 @@
1
- import { type Readable } from 'node:stream';
1
+ import type { Readable } from 'node:stream';
2
2
  import { type S3Client, type PutObjectCommandInput } from '@aws-sdk/client-s3';
3
3
  import { Upload } from '@aws-sdk/lib-storage';
4
4
  import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
@@ -12,11 +12,11 @@ export type UploadOptions = {
12
12
  *
13
13
  * If `overwrite` is false and the target file exists, upload is aborted.
14
14
  *
15
- * @param {S3Client} s3 - The AWS S3 v3 client instance.
16
- * @param {string} bucketName - The S3 bucket name.
17
- * @param {string} targetPath - The key to upload the file to.
18
- * @param {Readable} fileStream - The file content as a stream.
19
- * @param {UploadOptions} [options] - Optional configuration.
20
- * @returns {Promise<Outcome.Either<true, string>>}
15
+ * @param s3 - The AWS S3 v3 client instance.
16
+ * @param bucketName - The S3 bucket name.
17
+ * @param targetPath - The key to upload the file to.
18
+ * @param fileStream - The file content as a stream.
19
+ * @param [options] - Optional configuration.
20
+ * @returns
21
21
  */
22
22
  export declare function upload(s3: S3Client, bucketName: string, targetPath: string, fileStream: Readable, options?: UploadOptions): Promise<Outcome.Either<true, string>>;
@@ -2,17 +2,18 @@ import { HeadObjectCommand } from '@aws-sdk/client-s3';
2
2
  import { Upload } from '@aws-sdk/lib-storage';
3
3
  import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
4
4
  import { unknownToString } from '../../../../../agnostic/errors/unknown-to-string/index.js';
5
+ import { deepGetProperty } from '../../../../../agnostic/objects/deep-get-property/index.js';
5
6
  /**
6
7
  * Uploads a file stream to a specified Amazon S3 bucket using AWS SDK v3.
7
8
  *
8
9
  * If `overwrite` is false and the target file exists, upload is aborted.
9
10
  *
10
- * @param {S3Client} s3 - The AWS S3 v3 client instance.
11
- * @param {string} bucketName - The S3 bucket name.
12
- * @param {string} targetPath - The key to upload the file to.
13
- * @param {Readable} fileStream - The file content as a stream.
14
- * @param {UploadOptions} [options] - Optional configuration.
15
- * @returns {Promise<Outcome.Either<true, string>>}
11
+ * @param s3 - The AWS S3 v3 client instance.
12
+ * @param bucketName - The S3 bucket name.
13
+ * @param targetPath - The key to upload the file to.
14
+ * @param fileStream - The file content as a stream.
15
+ * @param [options] - Optional configuration.
16
+ * @returns
16
17
  */
17
18
  export async function upload(s3, bucketName, targetPath, fileStream, options) {
18
19
  const { uploadSettings, fileMetadata, overwrite = false } = options ?? {};
@@ -27,10 +28,11 @@ export async function upload(s3, bucketName, targetPath, fileStream, options) {
27
28
  return Outcome.makeFailure(`File already exists at ${targetPath}.`);
28
29
  }
29
30
  catch (err) {
30
- const code = err?.name ?? err?.$metadata?.httpStatusCode;
31
- if (code !== 'NotFound' && code !== 404) {
31
+ const name = deepGetProperty(err, 'name');
32
+ const httpStatusCode = deepGetProperty(err, '$metadata.httpStatusCode');
33
+ const code = name ?? httpStatusCode;
34
+ if (code !== 'NotFound' && code !== 404)
32
35
  return Outcome.makeFailure(unknownToString(err));
33
- }
34
36
  // Object not found, proceed with upload
35
37
  }
36
38
  }
@@ -1,4 +1,4 @@
1
- import { type Request, type Response } from 'express';
1
+ import type { Request, Response } from 'express';
2
2
  import multer from 'multer';
3
3
  import * as Outcome from '../../../agnostic/misc/outcome/index.js';
4
4
  export type WithMulterModeOptions = {
@@ -39,17 +39,17 @@ export type WithMulterError = {
39
39
  * applies the appropriate middleware based on the upload mode. Errors are
40
40
  * captured and returned as a structured `WithMulterError` object.
41
41
  *
42
- * @param {Request} req - The Express request object.
43
- * @param {Response} res - The Express response object.
44
- * @param {WithMulterOptions} options - Multer configuration and upload mode.
45
- * @param {multer.StorageEngine} [options.storage] - Storage engine (defaults to memory).
46
- * @param {multer.Options['limits']} [options.limits] - File size and count limits.
47
- * @param {multer.Options['fileFilter']} [options.fileFilter] - File filter function.
48
- * @param {'none'|'any'|'single'|'array'|'fields'} options.mode - Upload mode.
49
- * @param {string} [options.fieldName] - Field name (required for 'single' and 'array' modes).
50
- * @param {number} [options.maxCount] - Max file count (for 'array' mode).
51
- * @param {multer.Field[]} [options.fields] - Field configurations (for 'fields' mode).
52
- * @returns {Promise<Outcome.Either<true, WithMulterError>>}
42
+ * @param req - The Express request object.
43
+ * @param res - The Express response object.
44
+ * @param options - Multer configuration and upload mode.
45
+ * @param [options.storage] - Storage engine (defaults to memory).
46
+ * @param [options.limits] - File size and count limits.
47
+ * @param [options.fileFilter] - File filter function.
48
+ * @param options.mode - Upload mode.
49
+ * @param [options.fieldName] - Field name (required for 'single' and 'array' modes).
50
+ * @param [options.maxCount] - Max file count (for 'array' mode).
51
+ * @param [options.fields] - Field configurations (for 'fields' mode).
52
+ * @returns
53
53
  * - On success: `Outcome.makeSuccess(true)`.
54
54
  * - On failure: `Outcome.makeFailure(error)` with structured error details.
55
55
  */
@@ -8,17 +8,17 @@ import { unknownToString } from '../../../agnostic/errors/unknown-to-string/inde
8
8
  * applies the appropriate middleware based on the upload mode. Errors are
9
9
  * captured and returned as a structured `WithMulterError` object.
10
10
  *
11
- * @param {Request} req - The Express request object.
12
- * @param {Response} res - The Express response object.
13
- * @param {WithMulterOptions} options - Multer configuration and upload mode.
14
- * @param {multer.StorageEngine} [options.storage] - Storage engine (defaults to memory).
15
- * @param {multer.Options['limits']} [options.limits] - File size and count limits.
16
- * @param {multer.Options['fileFilter']} [options.fileFilter] - File filter function.
17
- * @param {'none'|'any'|'single'|'array'|'fields'} options.mode - Upload mode.
18
- * @param {string} [options.fieldName] - Field name (required for 'single' and 'array' modes).
19
- * @param {number} [options.maxCount] - Max file count (for 'array' mode).
20
- * @param {multer.Field[]} [options.fields] - Field configurations (for 'fields' mode).
21
- * @returns {Promise<Outcome.Either<true, WithMulterError>>}
11
+ * @param req - The Express request object.
12
+ * @param res - The Express response object.
13
+ * @param options - Multer configuration and upload mode.
14
+ * @param [options.storage] - Storage engine (defaults to memory).
15
+ * @param [options.limits] - File size and count limits.
16
+ * @param [options.fileFilter] - File filter function.
17
+ * @param options.mode - Upload mode.
18
+ * @param [options.fieldName] - Field name (required for 'single' and 'array' modes).
19
+ * @param [options.maxCount] - Max file count (for 'array' mode).
20
+ * @param [options.fields] - Field configurations (for 'fields' mode).
21
+ * @returns
22
22
  * - On success: `Outcome.makeSuccess(true)`.
23
23
  * - On failure: `Outcome.makeFailure(error)` with structured error details.
24
24
  */
@@ -46,18 +46,20 @@ export async function useMulterMiddleware(req, res, options) {
46
46
  else {
47
47
  middleware = uploader.any();
48
48
  }
49
- return await new Promise(resolve => middleware(req, res, (err) => {
50
- if (err instanceof multer.MulterError)
51
- return resolve(Outcome.makeFailure({
52
- code: err.code,
53
- message: err.message,
54
- field: err.field
55
- }));
56
- return resolve(err !== undefined
57
- ? Outcome.makeFailure({
58
- code: 'UNKNOWN',
59
- message: unknownToString(err)
60
- })
61
- : Outcome.makeSuccess(true));
62
- }));
49
+ return await new Promise(resolve => {
50
+ middleware(req, res, (err) => {
51
+ if (err instanceof multer.MulterError)
52
+ return resolve(Outcome.makeFailure({
53
+ code: err.code,
54
+ message: err.message,
55
+ field: err.field
56
+ }));
57
+ return resolve(err !== undefined
58
+ ? Outcome.makeFailure({
59
+ code: 'UNKNOWN',
60
+ message: unknownToString(err)
61
+ })
62
+ : Outcome.makeSuccess(true));
63
+ });
64
+ });
63
65
  }
@@ -1,4 +1,4 @@
1
- import { type Bucket, type BucketMetadata, type GetBucketMetadataOptions as GCSGetBucketMetadataOptions } from '@google-cloud/storage';
1
+ import type { Bucket, BucketMetadata, GetBucketMetadataOptions as GCSGetBucketMetadataOptions } from '@google-cloud/storage';
2
2
  import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
3
3
  export type GetBucketMetadataOptions = GCSGetBucketMetadataOptions;
4
4
  /**
@@ -7,9 +7,9 @@ export type GetBucketMetadataOptions = GCSGetBucketMetadataOptions;
7
7
  * This function calls the Google Cloud Storage API to get information about the bucket,
8
8
  * such as its location, storage class, and other configuration details.
9
9
  *
10
- * @param {Bucket} bucket - The Google Cloud Storage bucket object.
11
- * @param {GetBucketMetadataOptions} [options] - Optional configuration options to pass to the `getMetadata` method.
12
- * @returns {Promise<Outcome.Either<BucketMetadata, string>>} A promise that resolves to an `Outcome.Either`.
10
+ * @param bucket - The Google Cloud Storage bucket object.
11
+ * @param [options] - Optional configuration options to pass to the `getMetadata` method.
12
+ * @returns A promise that resolves to an `Outcome.Either`.
13
13
  * - On success: `Outcome.makeSuccess(metadata)` with the bucket metadata.
14
14
  * - On failure: `Outcome.makeFailure(errStr)` with an error message.
15
15
  *
@@ -6,9 +6,9 @@ import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
6
6
  * This function calls the Google Cloud Storage API to get information about the bucket,
7
7
  * such as its location, storage class, and other configuration details.
8
8
  *
9
- * @param {Bucket} bucket - The Google Cloud Storage bucket object.
10
- * @param {GetBucketMetadataOptions} [options] - Optional configuration options to pass to the `getMetadata` method.
11
- * @returns {Promise<Outcome.Either<BucketMetadata, string>>} A promise that resolves to an `Outcome.Either`.
9
+ * @param bucket - The Google Cloud Storage bucket object.
10
+ * @param [options] - Optional configuration options to pass to the `getMetadata` method.
11
+ * @returns A promise that resolves to an `Outcome.Either`.
12
12
  * - On success: `Outcome.makeSuccess(metadata)` with the bucket metadata.
13
13
  * - On failure: `Outcome.makeFailure(errStr)` with an error message.
14
14
  *
@@ -1,4 +1,4 @@
1
- import { type Bucket, type GetFileOptions, type CopyOptions as GCSCopyOptions } from '@google-cloud/storage';
1
+ import type { Bucket, GetFileOptions, CopyOptions as GCSCopyOptions } from '@google-cloud/storage';
2
2
  import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
3
3
  export type CopyDirOptions = {
4
4
  getFileOptions?: GetFileOptions;
@@ -10,12 +10,12 @@ export type CopyDirOptions = {
10
10
  };
11
11
  /** Recursively copies every object under `sourceDir` to the same relative path
12
12
  * beneath `targetDir` within a single GCS bucket.
13
- * @param {Bucket} bucket - The GCS bucket instance.
14
- * @param {string} sourceDir - The source directory path (prefix) to copy from.
15
- * @param {string} targetDir - The target directory path (prefix) to copy to.
16
- * @param {CopyDirOptions} [options] - Optional parameters for the operation.
17
- * @param {boolean} [options.overwrite=false] - Whether to overwrite existing files at target.
18
- * @returns {Promise<Outcome.Either<true, string>>} A promise that resolves to an `Outcome.Either`:
13
+ * @param bucket - The GCS bucket instance.
14
+ * @param sourceDir - The source directory path (prefix) to copy from.
15
+ * @param targetDir - The target directory path (prefix) to copy to.
16
+ * @param [options] - Optional parameters for the operation.
17
+ * @param [options.overwrite=false] - Whether to overwrite existing files at target.
18
+ * @returns A promise that resolves to an `Outcome.Either`:
19
19
  * - On success: `Outcome.makeSuccess(true)` indicating the copy was successful.
20
20
  * - On failure: `Outcome.makeFailure(errStr)` with an error message if the copy fails.
21
21
  * */
@@ -2,12 +2,12 @@ import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
2
2
  import { unknownToString } from '../../../../../agnostic/errors/unknown-to-string/index.js';
3
3
  /** Recursively copies every object under `sourceDir` to the same relative path
4
4
  * beneath `targetDir` within a single GCS bucket.
5
- * @param {Bucket} bucket - The GCS bucket instance.
6
- * @param {string} sourceDir - The source directory path (prefix) to copy from.
7
- * @param {string} targetDir - The target directory path (prefix) to copy to.
8
- * @param {CopyDirOptions} [options] - Optional parameters for the operation.
9
- * @param {boolean} [options.overwrite=false] - Whether to overwrite existing files at target.
10
- * @returns {Promise<Outcome.Either<true, string>>} A promise that resolves to an `Outcome.Either`:
5
+ * @param bucket - The GCS bucket instance.
6
+ * @param sourceDir - The source directory path (prefix) to copy from.
7
+ * @param targetDir - The target directory path (prefix) to copy to.
8
+ * @param [options] - Optional parameters for the operation.
9
+ * @param [options.overwrite=false] - Whether to overwrite existing files at target.
10
+ * @returns A promise that resolves to an `Outcome.Either`:
11
11
  * - On success: `Outcome.makeSuccess(true)` indicating the copy was successful.
12
12
  * - On failure: `Outcome.makeFailure(errStr)` with an error message if the copy fails.
13
13
  * */
@@ -1,4 +1,4 @@
1
1
  export * as copyDir from './copy-dir/index.js'
2
2
  export * as list from './list/index.js'
3
- export * as moveDir from './move-dir/index.js'
4
3
  export * as removeDir from './remove-dir/index.js'
4
+ export * as moveDir from './move-dir/index.js'
@@ -1,4 +1,4 @@
1
1
  export * as copyDir from './copy-dir/index.js'
2
2
  export * as list from './list/index.js'
3
- export * as moveDir from './move-dir/index.js'
4
3
  export * as removeDir from './remove-dir/index.js'
4
+ export * as moveDir from './move-dir/index.js'
@@ -1,4 +1,4 @@
1
- import { type Bucket, type FileOptions } from '@google-cloud/storage';
1
+ import type { Bucket, FileOptions } from '@google-cloud/storage';
2
2
  import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
3
3
  export type ListOptions = {
4
4
  fileOptions?: FileOptions;
@@ -8,10 +8,10 @@ export type ListOptions = {
8
8
  *
9
9
  * This function returns only the immediate files (not recursive) under the specified directory prefix.
10
10
  *
11
- * @param {Bucket} bucket - The GCS bucket to list files from.
12
- * @param {string} directoryPath - The directory prefix to list files under.
13
- * @param {ListOptions} [options] - Optional configuration for the listing.
14
- * @param {FileOptions} [options.fileOptions] - Additional options for file retrieval.
15
- * @returns {Promise<Outcome.Either<string[], string>>} Returns either a success with an array of file paths, or a failure with an error message.
11
+ * @param bucket - The GCS bucket to list files from.
12
+ * @param directoryPath - The directory prefix to list files under.
13
+ * @param [options] - Optional configuration for the listing.
14
+ * @param [options.fileOptions] - Additional options for file retrieval.
15
+ * @returns Returns either a success with an array of file paths, or a failure with an error message.
16
16
  */
17
17
  export declare function list(bucket: Bucket, directoryPath: string, options?: ListOptions): Promise<Outcome.Either<string[], string>>;
@@ -5,11 +5,11 @@ import { unknownToString } from '../../../../../agnostic/errors/unknown-to-strin
5
5
  *
6
6
  * This function returns only the immediate files (not recursive) under the specified directory prefix.
7
7
  *
8
- * @param {Bucket} bucket - The GCS bucket to list files from.
9
- * @param {string} directoryPath - The directory prefix to list files under.
10
- * @param {ListOptions} [options] - Optional configuration for the listing.
11
- * @param {FileOptions} [options.fileOptions] - Additional options for file retrieval.
12
- * @returns {Promise<Outcome.Either<string[], string>>} Returns either a success with an array of file paths, or a failure with an error message.
8
+ * @param bucket - The GCS bucket to list files from.
9
+ * @param directoryPath - The directory prefix to list files under.
10
+ * @param [options] - Optional configuration for the listing.
11
+ * @param [options.fileOptions] - Additional options for file retrieval.
12
+ * @returns Returns either a success with an array of file paths, or a failure with an error message.
13
13
  */
14
14
  export async function list(bucket, directoryPath, options) {
15
15
  const { fileOptions } = options ?? {};
@@ -1,4 +1,4 @@
1
- import { type Bucket, type FileOptions, type CopyOptions as GCSCopyOptions, type DeleteFileOptions as GCSDeleteOptions } from '@google-cloud/storage';
1
+ import type { Bucket, FileOptions, CopyOptions as GCSCopyOptions, DeleteFileOptions as GCSDeleteOptions } from '@google-cloud/storage';
2
2
  import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
3
3
  export type MoveDirOptions = {
4
4
  fileOptions?: FileOptions;
@@ -20,11 +20,11 @@ export type MoveDirOptions = {
20
20
  * If `overwrite` is false (default), the operation aborts if any destination file
21
21
  * already exists.
22
22
  *
23
- * @param {Bucket} bucket - The GCS bucket instance.
24
- * @param {string} sourceDir - The source directory prefix to move from.
25
- * @param {string} targetDir - The target directory prefix to move to.
26
- * @param {MoveDirOptions} [options] - Optional parameters for the operation.
27
- * @returns {Promise<Outcome.Either<true, string>>}
23
+ * @param bucket - The GCS bucket instance.
24
+ * @param sourceDir - The source directory prefix to move from.
25
+ * @param targetDir - The target directory prefix to move to.
26
+ * @param [options] - Optional parameters for the operation.
27
+ * @returns
28
28
  * - On success: `Outcome.makeSuccess(true)`.
29
29
  * - On failure: `Outcome.makeFailure(errStr)`.
30
30
  */
@@ -10,11 +10,11 @@ import { unknownToString } from '../../../../../agnostic/errors/unknown-to-strin
10
10
  * If `overwrite` is false (default), the operation aborts if any destination file
11
11
  * already exists.
12
12
  *
13
- * @param {Bucket} bucket - The GCS bucket instance.
14
- * @param {string} sourceDir - The source directory prefix to move from.
15
- * @param {string} targetDir - The target directory prefix to move to.
16
- * @param {MoveDirOptions} [options] - Optional parameters for the operation.
17
- * @returns {Promise<Outcome.Either<true, string>>}
13
+ * @param bucket - The GCS bucket instance.
14
+ * @param sourceDir - The source directory prefix to move from.
15
+ * @param targetDir - The target directory prefix to move to.
16
+ * @param [options] - Optional parameters for the operation.
17
+ * @returns
18
18
  * - On success: `Outcome.makeSuccess(true)`.
19
19
  * - On failure: `Outcome.makeFailure(errStr)`.
20
20
  */
@@ -1,4 +1,4 @@
1
- import { type Bucket, type DeleteFileOptions as GCSDeleteFileOptions } from '@google-cloud/storage';
1
+ import type { Bucket, DeleteFileOptions as GCSDeleteFileOptions } from '@google-cloud/storage';
2
2
  import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
3
3
  export type RemoveDirOptions = {
4
4
  /** Extra parameters forwarded to `bucket.deleteFiles`. */
@@ -17,12 +17,12 @@ export type RemoveDirOptions = {
17
17
  * Recursively deletes all objects under a directory prefix in a GCS bucket
18
18
  * (including the directory placeholder itself, if present).
19
19
  *
20
- * @param {Bucket} bucket - The GCS bucket instance.
21
- * @param {string} directoryPath - The “directory” prefix to delete.
22
- * @param {RemoveDirOptions} [options] - Optional configuration.
23
- * @param {GCSDeleteFileOptions & {force?: boolean}} [options.deleteOptions] - Extra delete parameters.
24
- * @param {boolean} [options.ignoreMissing=true] - Whether to ignore an empty/missing prefix.
25
- * @returns {Promise<Outcome.Either<true, string>>}
20
+ * @param bucket - The GCS bucket instance.
21
+ * @param directoryPath - The “directory” prefix to delete.
22
+ * @param [options] - Optional configuration.
23
+ * @param [options.deleteOptions] - Extra delete parameters.
24
+ * @param [options.ignoreMissing=true] - Whether to ignore an empty/missing prefix.
25
+ * @returns
26
26
  * - On success: `Outcome.makeSuccess(true)` if deletion succeeds
27
27
  * (or prefix absent and `ignoreMissing` is true).
28
28
  * - On failure: `Outcome.makeFailure(errStr)` if deletion fails
@@ -4,12 +4,12 @@ import { unknownToString } from '../../../../../agnostic/errors/unknown-to-strin
4
4
  * Recursively deletes all objects under a directory prefix in a GCS bucket
5
5
  * (including the directory placeholder itself, if present).
6
6
  *
7
- * @param {Bucket} bucket - The GCS bucket instance.
8
- * @param {string} directoryPath - The “directory” prefix to delete.
9
- * @param {RemoveDirOptions} [options] - Optional configuration.
10
- * @param {GCSDeleteFileOptions & {force?: boolean}} [options.deleteOptions] - Extra delete parameters.
11
- * @param {boolean} [options.ignoreMissing=true] - Whether to ignore an empty/missing prefix.
12
- * @returns {Promise<Outcome.Either<true, string>>}
7
+ * @param bucket - The GCS bucket instance.
8
+ * @param directoryPath - The “directory” prefix to delete.
9
+ * @param [options] - Optional configuration.
10
+ * @param [options.deleteOptions] - Extra delete parameters.
11
+ * @param [options.ignoreMissing=true] - Whether to ignore an empty/missing prefix.
12
+ * @returns
13
13
  * - On success: `Outcome.makeSuccess(true)` if deletion succeeds
14
14
  * (or prefix absent and `ignoreMissing` is true).
15
15
  * - On failure: `Outcome.makeFailure(errStr)` if deletion fails
@@ -1,4 +1,4 @@
1
- import { type Bucket, type FileOptions, type CopyOptions as GCSFileCopyOptions } from '@google-cloud/storage';
1
+ import type { Bucket, FileOptions, CopyOptions as GCSFileCopyOptions } from '@google-cloud/storage';
2
2
  import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
3
3
  export type CopyOptions = {
4
4
  /** Additional options for constructing the `File` handles. */
@@ -18,14 +18,14 @@ export type CopyOptions = {
18
18
  * If `overwrite` is **false** (default) and the destination object already
19
19
  * exists, the operation aborts.
20
20
  *
21
- * @param {Bucket} bucket - The Google Cloud Storage bucket containing the file.
22
- * @param {string} sourcePath - The path of the source object to copy.
23
- * @param {string} targetPath - The destination path for the copied object.
24
- * @param {CopyOptions} [options] - Optional copy configuration.
25
- * @param {FileOptions} [options.fileOptions] - Extra options for `bucket.file`.
26
- * @param {GCSFileCopyOptions} [options.copyOptions] - Extra options for `file.copy`.
27
- * @param {boolean} [options.overwrite=false] - Whether to overwrite an existing destination object.
28
- * @returns {Promise<Outcome.Either<true, string>>}
21
+ * @param bucket - The Google Cloud Storage bucket containing the file.
22
+ * @param sourcePath - The path of the source object to copy.
23
+ * @param targetPath - The destination path for the copied object.
24
+ * @param [options] - Optional copy configuration.
25
+ * @param [options.fileOptions] - Extra options for `bucket.file`.
26
+ * @param [options.copyOptions] - Extra options for `file.copy`.
27
+ * @param [options.overwrite=false] - Whether to overwrite an existing destination object.
28
+ * @returns
29
29
  * - On success: `Outcome.makeSuccess(true)`.
30
30
  * - On failure: `Outcome.makeFailure(errStr)`.
31
31
  */
@@ -6,14 +6,14 @@ import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
6
6
  * If `overwrite` is **false** (default) and the destination object already
7
7
  * exists, the operation aborts.
8
8
  *
9
- * @param {Bucket} bucket - The Google Cloud Storage bucket containing the file.
10
- * @param {string} sourcePath - The path of the source object to copy.
11
- * @param {string} targetPath - The destination path for the copied object.
12
- * @param {CopyOptions} [options] - Optional copy configuration.
13
- * @param {FileOptions} [options.fileOptions] - Extra options for `bucket.file`.
14
- * @param {GCSFileCopyOptions} [options.copyOptions] - Extra options for `file.copy`.
15
- * @param {boolean} [options.overwrite=false] - Whether to overwrite an existing destination object.
16
- * @returns {Promise<Outcome.Either<true, string>>}
9
+ * @param bucket - The Google Cloud Storage bucket containing the file.
10
+ * @param sourcePath - The path of the source object to copy.
11
+ * @param targetPath - The destination path for the copied object.
12
+ * @param [options] - Optional copy configuration.
13
+ * @param [options.fileOptions] - Extra options for `bucket.file`.
14
+ * @param [options.copyOptions] - Extra options for `file.copy`.
15
+ * @param [options.overwrite=false] - Whether to overwrite an existing destination object.
16
+ * @returns
17
17
  * - On success: `Outcome.makeSuccess(true)`.
18
18
  * - On failure: `Outcome.makeFailure(errStr)`.
19
19
  */
@@ -1,5 +1,5 @@
1
- import { type Readable } from 'node:stream';
2
- import { type Bucket, type FileOptions, type DownloadOptions as GCSFileDownloadOptions } from '@google-cloud/storage';
1
+ import type { Readable } from 'node:stream';
2
+ import type { Bucket, FileOptions, DownloadOptions as GCSFileDownloadOptions } from '@google-cloud/storage';
3
3
  import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
4
4
  export type DownloadOptions = {
5
5
  fileOptions?: FileOptions;
@@ -11,11 +11,11 @@ export type DownloadOptions = {
11
11
  * This function downloads a file from the given bucket and path, returning the file content as a `Readable`.
12
12
  * The download process can be customized using optional `fileOptions` and `downloadOptions`.
13
13
  *
14
- * @param {Bucket} bucket - The Google Cloud Storage bucket object from which to download the file.
15
- * @param {string} sourcePath - The path of the file to be downloaded in the bucket.
16
- * @param {DownloadOptions} [options] - Optional configuration options for the download.
17
- * @returns {Promise<Outcome.Either<Readable, string>>} A promise that resolves to an `Outcome.Either`.
14
+ * @param bucket - The Google Cloud Storage bucket object from which to download the file.
15
+ * @param sourcePath - The path of the file to be downloaded in the bucket.
16
+ * @param [options] - Optional configuration options for the download.
17
+ * @returns A promise that resolves to an `Outcome.Either`.
18
18
  * - On success: `Outcome.makeSuccess(stream)` containing the downloaded file's content as a `Readable`.
19
19
  * - On failure: `Outcome.makeFailure(errStr)` with an error message if the download fails.
20
20
  */
21
- export declare function download(bucket: Bucket, sourcePath: string, options?: DownloadOptions): Promise<Outcome.Either<Readable, string>>;
21
+ export declare function download(bucket: Bucket, sourcePath: string, options?: DownloadOptions): Outcome.Either<Readable, string>;
@@ -6,14 +6,14 @@ import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
6
6
  * This function downloads a file from the given bucket and path, returning the file content as a `Readable`.
7
7
  * The download process can be customized using optional `fileOptions` and `downloadOptions`.
8
8
  *
9
- * @param {Bucket} bucket - The Google Cloud Storage bucket object from which to download the file.
10
- * @param {string} sourcePath - The path of the file to be downloaded in the bucket.
11
- * @param {DownloadOptions} [options] - Optional configuration options for the download.
12
- * @returns {Promise<Outcome.Either<Readable, string>>} A promise that resolves to an `Outcome.Either`.
9
+ * @param bucket - The Google Cloud Storage bucket object from which to download the file.
10
+ * @param sourcePath - The path of the file to be downloaded in the bucket.
11
+ * @param [options] - Optional configuration options for the download.
12
+ * @returns A promise that resolves to an `Outcome.Either`.
13
13
  * - On success: `Outcome.makeSuccess(stream)` containing the downloaded file's content as a `Readable`.
14
14
  * - On failure: `Outcome.makeFailure(errStr)` with an error message if the download fails.
15
15
  */
16
- export async function download(bucket, sourcePath, options) {
16
+ export function download(bucket, sourcePath, options) {
17
17
  const { fileOptions, downloadOptions } = options ?? {};
18
18
  try {
19
19
  const file = bucket.file(sourcePath, fileOptions);