@design-edito/tools 0.4.4 → 0.4.6

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 (526) hide show
  1. package/TODO.md +269 -0
  2. package/agnostic/arrays/dedupe/index.js +9 -9
  3. package/agnostic/arrays/dedupe/index.test.js +24 -0
  4. package/agnostic/arrays/find-duplicates/index.js +34 -24
  5. package/agnostic/arrays/find-duplicates/index.test.js +31 -0
  6. package/agnostic/arrays/index.d.ts +1 -1
  7. package/agnostic/arrays/index.js +1 -1
  8. package/agnostic/arrays/is-array-of/index.js +28 -26
  9. package/agnostic/arrays/is-array-of/index.test.js +56 -0
  10. package/agnostic/arrays/make/index.js +11 -8
  11. package/agnostic/arrays/make/index.test.js +10 -0
  12. package/agnostic/arrays/random-pick/index.js +40 -9
  13. package/agnostic/arrays/random-pick/index.test.js +23 -0
  14. package/agnostic/arrays/shuffle/index.js +15 -13
  15. package/agnostic/arrays/shuffle/index.test.js +14 -0
  16. package/agnostic/booleans/is-falsy/index.js +26 -12
  17. package/agnostic/booleans/is-falsy/index.test.js +26 -0
  18. package/agnostic/colors/channels/index.js +145 -19
  19. package/agnostic/colors/channels/index.test.js +64 -0
  20. package/agnostic/colors/contrast/index.js +23 -30
  21. package/agnostic/colors/contrast/index.test.js +21 -0
  22. package/agnostic/colors/convert/index.js +839 -46
  23. package/agnostic/colors/convert/index.test.js +98 -0
  24. package/agnostic/colors/cssColorsMap.js +153 -0
  25. package/agnostic/colors/distance/index.js +65 -53
  26. package/agnostic/colors/distance/index.test.js +21 -0
  27. package/agnostic/colors/grayscale/index.js +96 -137
  28. package/agnostic/colors/grayscale/index.test.js +34 -0
  29. package/agnostic/colors/invert/index.js +33 -44
  30. package/agnostic/colors/invert/index.test.js +31 -0
  31. package/agnostic/colors/lerp/index.js +74 -88
  32. package/agnostic/colors/lerp/index.test.js +55 -0
  33. package/agnostic/colors/luminance/index.js +19 -13
  34. package/agnostic/colors/luminance/index.test.js +30 -0
  35. package/agnostic/colors/palette/index.js +80 -87
  36. package/agnostic/colors/palette/index.test.js +35 -0
  37. package/agnostic/colors/rotate/index.js +41 -14
  38. package/agnostic/colors/rotate/index.test.js +45 -0
  39. package/agnostic/colors/tidy/index.js +80 -12
  40. package/agnostic/colors/tidy/index.test.js +45 -0
  41. package/agnostic/colors/typechecks/index.js +196 -25
  42. package/agnostic/colors/typechecks/index.test.js +113 -0
  43. package/agnostic/colors/types.js +1 -0
  44. package/agnostic/css/bem/index.js +135 -160
  45. package/agnostic/css/clss/index.js +66 -7
  46. package/agnostic/css/clss/index.test.js +60 -0
  47. package/agnostic/css/generate-nice-color/index.js +26 -73
  48. package/agnostic/css/generate-nice-color/index.test.js +8 -0
  49. package/agnostic/css/index.d.ts +1 -1
  50. package/agnostic/css/index.js +1 -1
  51. package/agnostic/css/is-valid-css-class-name/index.js +15 -9
  52. package/agnostic/css/is-valid-css-class-name/index.test.js +36 -0
  53. package/agnostic/css/scale/index.js +37 -37
  54. package/agnostic/css/scale/index.test.js +71 -0
  55. package/agnostic/css/styles-set/index.js +151 -169
  56. package/agnostic/errors/register/index.js +45 -51
  57. package/agnostic/errors/unknown-to-string/index.js +18 -7
  58. package/agnostic/errors/unknown-to-string/index.test.js +35 -0
  59. package/agnostic/html/get-node-ancestors/index.js +31 -8
  60. package/agnostic/html/get-node-ancestors/index.test.js +58 -0
  61. package/agnostic/html/get-position-inside-parent/index.js +13 -10
  62. package/agnostic/html/get-position-inside-parent/index.test.js +56 -0
  63. package/agnostic/html/hyper-json/cast/index.js +137 -24
  64. package/agnostic/html/hyper-json/index.js +23 -50
  65. package/agnostic/html/hyper-json/method/index.js +10 -7
  66. package/agnostic/html/hyper-json/serialize/index.js +91 -11
  67. package/agnostic/html/hyper-json/smart-tags/coalesced/add/index.js +16 -24
  68. package/agnostic/html/hyper-json/smart-tags/coalesced/addclass/index.js +30 -24
  69. package/agnostic/html/hyper-json/smart-tags/coalesced/and/index.js +15 -24
  70. package/agnostic/html/hyper-json/smart-tags/coalesced/append/index.js +36 -24
  71. package/agnostic/html/hyper-json/smart-tags/coalesced/at/index.js +47 -24
  72. package/agnostic/html/hyper-json/smart-tags/coalesced/call/index.js +50 -24
  73. package/agnostic/html/hyper-json/smart-tags/coalesced/clone/index.js +11 -24
  74. package/agnostic/html/hyper-json/smart-tags/coalesced/deleteproperties/index.js +49 -24
  75. package/agnostic/html/hyper-json/smart-tags/coalesced/equals/index.js +24 -24
  76. package/agnostic/html/hyper-json/smart-tags/coalesced/getattribute/index.js +28 -24
  77. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperties/index.js +21 -24
  78. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperty/index.js +73 -26
  79. package/agnostic/html/hyper-json/smart-tags/coalesced/hjparse/index.js +24 -24
  80. package/agnostic/html/hyper-json/smart-tags/coalesced/hjstringify/index.js +93 -28
  81. package/agnostic/html/hyper-json/smart-tags/coalesced/if/index.js +22 -24
  82. package/agnostic/html/hyper-json/smart-tags/coalesced/index.d.ts +14 -14
  83. package/agnostic/html/hyper-json/smart-tags/coalesced/index.js +14 -14
  84. package/agnostic/html/hyper-json/smart-tags/coalesced/initialize/index.js +39 -24
  85. package/agnostic/html/hyper-json/smart-tags/coalesced/join/index.js +18 -24
  86. package/agnostic/html/hyper-json/smart-tags/coalesced/length/index.js +23 -24
  87. package/agnostic/html/hyper-json/smart-tags/coalesced/map/index.js +33 -24
  88. package/agnostic/html/hyper-json/smart-tags/coalesced/negate/index.js +11 -24
  89. package/agnostic/html/hyper-json/smart-tags/coalesced/notrailing/index.js +35 -24
  90. package/agnostic/html/hyper-json/smart-tags/coalesced/or/index.js +15 -24
  91. package/agnostic/html/hyper-json/smart-tags/coalesced/pickrandom/index.js +19 -24
  92. package/agnostic/html/hyper-json/smart-tags/coalesced/populate/index.js +61 -24
  93. package/agnostic/html/hyper-json/smart-tags/coalesced/print/index.js +25 -24
  94. package/agnostic/html/hyper-json/smart-tags/coalesced/push/index.js +11 -24
  95. package/agnostic/html/hyper-json/smart-tags/coalesced/pusheach/index.js +28 -24
  96. package/agnostic/html/hyper-json/smart-tags/coalesced/recordtoarray/index.js +11 -24
  97. package/agnostic/html/hyper-json/smart-tags/coalesced/removeattribute/index.js +58 -24
  98. package/agnostic/html/hyper-json/smart-tags/coalesced/removeclass/index.js +30 -24
  99. package/agnostic/html/hyper-json/smart-tags/coalesced/renameproperty/index.js +34 -24
  100. package/agnostic/html/hyper-json/smart-tags/coalesced/replace/index.js +56 -26
  101. package/agnostic/html/hyper-json/smart-tags/coalesced/select/index.js +34 -24
  102. package/agnostic/html/hyper-json/smart-tags/coalesced/set/index.js +31 -24
  103. package/agnostic/html/hyper-json/smart-tags/coalesced/setattribute/index.js +58 -24
  104. package/agnostic/html/hyper-json/smart-tags/coalesced/setproperty/index.js +237 -26
  105. package/agnostic/html/hyper-json/smart-tags/coalesced/sorton/index.js +93 -24
  106. package/agnostic/html/hyper-json/smart-tags/coalesced/split/index.js +22 -24
  107. package/agnostic/html/hyper-json/smart-tags/coalesced/spread/index.js +24 -24
  108. package/agnostic/html/hyper-json/smart-tags/coalesced/toarray/index.js +12 -24
  109. package/agnostic/html/hyper-json/smart-tags/coalesced/toboolean/index.js +12 -24
  110. package/agnostic/html/hyper-json/smart-tags/coalesced/toelement/index.js +19 -24
  111. package/agnostic/html/hyper-json/smart-tags/coalesced/toggleclass/index.js +30 -24
  112. package/agnostic/html/hyper-json/smart-tags/coalesced/tonodelist/index.js +12 -24
  113. package/agnostic/html/hyper-json/smart-tags/coalesced/tonull/index.js +11 -24
  114. package/agnostic/html/hyper-json/smart-tags/coalesced/tonumber/index.js +12 -24
  115. package/agnostic/html/hyper-json/smart-tags/coalesced/torecord/index.js +12 -24
  116. package/agnostic/html/hyper-json/smart-tags/coalesced/toref/index.js +12 -24
  117. package/agnostic/html/hyper-json/smart-tags/coalesced/tostring/index.js +12 -24
  118. package/agnostic/html/hyper-json/smart-tags/coalesced/totext/index.js +12 -24
  119. package/agnostic/html/hyper-json/smart-tags/coalesced/transformselected/index.js +86 -24
  120. package/agnostic/html/hyper-json/smart-tags/coalesced/trim/index.js +16 -24
  121. package/agnostic/html/hyper-json/smart-tags/index.js +31 -10
  122. package/agnostic/html/hyper-json/smart-tags/isolated/any/index.js +14 -11
  123. package/agnostic/html/hyper-json/smart-tags/isolated/array/index.js +14 -11
  124. package/agnostic/html/hyper-json/smart-tags/isolated/boolean/index.js +13 -24
  125. package/agnostic/html/hyper-json/smart-tags/isolated/element/index.js +26 -24
  126. package/agnostic/html/hyper-json/smart-tags/isolated/get/index.js +20 -24
  127. package/agnostic/html/hyper-json/smart-tags/isolated/guess/index.js +59 -24
  128. package/agnostic/html/hyper-json/smart-tags/isolated/index.d.ts +1 -1
  129. package/agnostic/html/hyper-json/smart-tags/isolated/index.js +1 -1
  130. package/agnostic/html/hyper-json/smart-tags/isolated/nodelist/index.js +20 -24
  131. package/agnostic/html/hyper-json/smart-tags/isolated/null/index.js +10 -11
  132. package/agnostic/html/hyper-json/smart-tags/isolated/number/index.js +18 -24
  133. package/agnostic/html/hyper-json/smart-tags/isolated/record/index.js +14 -24
  134. package/agnostic/html/hyper-json/smart-tags/isolated/ref/index.js +45 -25
  135. package/agnostic/html/hyper-json/smart-tags/isolated/string/index.js +18 -24
  136. package/agnostic/html/hyper-json/smart-tags/isolated/text/index.js +20 -24
  137. package/agnostic/html/hyper-json/transformer/index.js +113 -9
  138. package/agnostic/html/hyper-json/tree/index.js +423 -24
  139. package/agnostic/html/hyper-json/types/index.js +28 -7
  140. package/agnostic/html/hyper-json/utils/index.js +516 -24
  141. package/agnostic/html/index.d.ts +2 -2
  142. package/agnostic/html/index.js +2 -2
  143. package/agnostic/html/insert-node/index.js +28 -7
  144. package/agnostic/html/insert-node/index.test.js +73 -0
  145. package/agnostic/html/placeholders/index.js +26 -31
  146. package/agnostic/html/replace-in-element/index.js +31 -25
  147. package/agnostic/html/replace-in-element/index.test.js +80 -0
  148. package/agnostic/html/selector-to-element/index.js +53 -33
  149. package/agnostic/html/selector-to-element/index.test.js +69 -0
  150. package/agnostic/html/string-to-nodes/index.js +24 -19
  151. package/agnostic/html/string-to-nodes/index.test.js +54 -0
  152. package/agnostic/index.d.ts +1 -1
  153. package/agnostic/index.js +1 -1
  154. package/agnostic/misc/assert/index.js +60 -58
  155. package/agnostic/misc/cast/index.js +132 -23
  156. package/agnostic/misc/cast/index.test.js +134 -0
  157. package/agnostic/misc/connection/index.js +55 -30
  158. package/agnostic/misc/connection/index.test.js +143 -0
  159. package/agnostic/misc/crawler/index.js +68 -44
  160. package/agnostic/misc/crawler/index.test.js +56 -0
  161. package/agnostic/misc/crossenv/detect-runtime/index.js +41 -16
  162. package/agnostic/misc/crossenv/detect-runtime/index.test.js +24 -0
  163. package/agnostic/misc/crossenv/types.js +21 -7
  164. package/agnostic/misc/crossenv/window/index.js +49 -13
  165. package/agnostic/misc/crossenv/window/index.test.js +24 -0
  166. package/agnostic/misc/data-size/index.js +182 -296
  167. package/agnostic/misc/data-size/index.test.js +100 -0
  168. package/agnostic/misc/data-size/types.js +1 -0
  169. package/agnostic/misc/index.d.ts +1 -1
  170. package/agnostic/misc/index.js +1 -1
  171. package/agnostic/misc/is-constructor-function/index.js +13 -7
  172. package/agnostic/misc/is-constructor-function/index.test.js +36 -0
  173. package/agnostic/misc/is-nullish/index.js +26 -11
  174. package/agnostic/misc/is-nullish/index.test.js +44 -0
  175. package/agnostic/misc/logs/logger/index.js +115 -142
  176. package/agnostic/misc/logs/make-text-block/index.js +14 -7
  177. package/agnostic/misc/logs/styles/index.js +30 -7
  178. package/agnostic/misc/lorem-ipsum/index.js +51 -186
  179. package/agnostic/misc/lorem-ipsum/index.test.js +49 -0
  180. package/agnostic/misc/normalize-extension/index.js +99 -90
  181. package/agnostic/misc/normalize-extension/index.test.js +40 -0
  182. package/agnostic/misc/outcome/index.js +21 -11
  183. package/agnostic/misc/outcome/index.test.js +40 -0
  184. package/agnostic/numbers/absolute-modulo/index.js +10 -7
  185. package/agnostic/numbers/absolute-modulo/index.test.js +23 -0
  186. package/agnostic/numbers/approximate-rational/index.js +86 -71
  187. package/agnostic/numbers/approximate-rational/index.test.js +90 -0
  188. package/agnostic/numbers/clamp/index.js +13 -7
  189. package/agnostic/numbers/clamp/index.test.js +24 -0
  190. package/agnostic/numbers/geometric-progressions/index.js +26 -7
  191. package/agnostic/numbers/geometric-progressions/index.test.js +45 -0
  192. package/agnostic/numbers/index.d.ts +1 -1
  193. package/agnostic/numbers/index.js +1 -1
  194. package/agnostic/numbers/interpolate/index.js +25 -12
  195. package/agnostic/numbers/interpolate/index.test.js +40 -0
  196. package/agnostic/numbers/round/index.js +33 -11
  197. package/agnostic/numbers/round/index.test.js +56 -0
  198. package/agnostic/objects/deep-get-property/index.js +30 -26
  199. package/agnostic/objects/deep-get-property/index.test.js +59 -0
  200. package/agnostic/objects/enums/is-in-enum/index.js +18 -7
  201. package/agnostic/objects/enums/is-in-enum/index.test.js +100 -0
  202. package/agnostic/objects/flatten-getters/index.js +15 -16
  203. package/agnostic/objects/flatten-getters/index.test.js +78 -0
  204. package/agnostic/objects/index.d.ts +3 -3
  205. package/agnostic/objects/index.js +3 -3
  206. package/agnostic/objects/is-object/index.js +18 -9
  207. package/agnostic/objects/is-object/index.test.js +60 -0
  208. package/agnostic/objects/is-record/index.js +13 -7
  209. package/agnostic/objects/is-record/index.test.js +48 -0
  210. package/agnostic/objects/record-format/index.js +18 -14
  211. package/agnostic/objects/record-format/index.test.js +92 -0
  212. package/agnostic/objects/record-map/index.js +18 -7
  213. package/agnostic/objects/record-map/index.test.js +56 -0
  214. package/agnostic/objects/sort-keys/index.js +15 -13
  215. package/agnostic/objects/sort-keys/index.test.js +37 -0
  216. package/agnostic/objects/validation/index.js +21 -10
  217. package/agnostic/objects/validation/index.test.js +72 -0
  218. package/agnostic/optim/index.d.ts +1 -1
  219. package/agnostic/optim/index.js +1 -1
  220. package/agnostic/optim/memoize/index.js +24 -18
  221. package/agnostic/optim/memoize/index.test.js +30 -0
  222. package/agnostic/optim/throttle-debounce/index.js +120 -104
  223. package/agnostic/optim/throttle-debounce/index.test.js +44 -0
  224. package/agnostic/optim/throttle-debounce/types.js +1 -0
  225. package/agnostic/random/hex-char/index.js +9 -9
  226. package/agnostic/random/hex-char/index.test.js +20 -0
  227. package/agnostic/random/index.d.ts +1 -1
  228. package/agnostic/random/index.js +1 -1
  229. package/agnostic/random/random/index.js +19 -9
  230. package/agnostic/random/random/index.test.js +73 -0
  231. package/agnostic/random/uuid/index.js +31 -12
  232. package/agnostic/random/uuid/index.test.js +45 -0
  233. package/agnostic/regexps/index.js +126 -86
  234. package/agnostic/regexps/index.test.js +108 -0
  235. package/agnostic/sanitization/file-name/index.js +25 -7
  236. package/agnostic/sanitization/file-name/index.test.js +23 -0
  237. package/agnostic/sanitization/html/index.js +172 -116
  238. package/agnostic/sanitization/path/index.js +23 -13
  239. package/agnostic/sanitization/path/index.test.js +18 -0
  240. package/agnostic/sanitization/types.js +1 -0
  241. package/agnostic/sanitization/user-input/index.js +36 -26
  242. package/agnostic/sanitization/user-input/index.test.js +31 -0
  243. package/agnostic/strings/char-codes/index.js +123 -57
  244. package/agnostic/strings/matches/index.js +38 -11
  245. package/agnostic/strings/normalize-indent/index.js +34 -18
  246. package/agnostic/strings/parse-table/index.js +153 -84
  247. package/agnostic/strings/replace-all/index.js +36 -17
  248. package/agnostic/strings/to-alphanum/index.js +23 -10
  249. package/agnostic/strings/trim/index.js +24 -9
  250. package/agnostic/time/dates/format-date/index.js +140 -74
  251. package/agnostic/time/duration/index.js +106 -142
  252. package/agnostic/time/timeout/index.js +24 -18
  253. package/agnostic/time/transitions/index.js +200 -156
  254. package/agnostic/time/wait/index.js +11 -7
  255. package/agnostic/typescript/types.js +1 -0
  256. package/components/BeforeAfter/index.controlled.js +95 -0
  257. package/components/BeforeAfter/index.js +54 -152
  258. package/components/BeforeAfter/utils.js +9 -0
  259. package/components/Disclaimer/index.js +50 -9
  260. package/components/Drawer/index.js +82 -88
  261. package/components/EventListener/index.js +29 -47
  262. package/components/Gallery/index.js +146 -190
  263. package/components/Gallery/utils.js +12 -0
  264. package/components/Image/index.js +67 -106
  265. package/components/IntersectionObserver/index.js +62 -9
  266. package/components/Overlayer/index.js +59 -66
  267. package/components/Paginator/index.js +125 -9
  268. package/components/ResizeObserver/index.js +68 -9
  269. package/components/ResizeObserver/style.module.css +0 -0
  270. package/components/Scrllgngn/index.js +176 -183
  271. package/components/ScrollListener/index.js +97 -171
  272. package/components/ScrollListener/utils.js +51 -0
  273. package/components/Sequencer/index.controlled.js +67 -0
  274. package/components/Sequencer/index.js +105 -160
  275. package/components/ShadowRoot/index.js +42 -63
  276. package/components/Subtitles/index.js +107 -13
  277. package/components/Subtitles/types.js +1 -0
  278. package/components/Subtitles/utils.js +102 -0
  279. package/components/Theatre/index.js +89 -9
  280. package/components/UIModule/index.js +156 -146
  281. package/components/Video/index.d.ts +10 -0
  282. package/components/Video/index.js +292 -503
  283. package/components/Video/utils.js +137 -0
  284. package/components/_WIP_AudioQuote/index.js +1 -0
  285. package/components/_WIP_Icon/index.js +1 -0
  286. package/components/index.d.ts +2 -2
  287. package/components/index.js +2 -2
  288. package/components/public-classnames.js +18 -0
  289. package/components/utils/index.js +12 -7
  290. package/components/utils/types.js +1 -0
  291. package/index.d.ts +1 -2
  292. package/index.js +1 -2
  293. package/node/@aws-s3/index.test.js +6 -0
  294. package/node/@aws-s3/storage/directory/copy-dir/index.js +68 -9
  295. package/node/@aws-s3/storage/directory/index.d.ts +1 -1
  296. package/node/@aws-s3/storage/directory/index.js +1 -1
  297. package/node/@aws-s3/storage/directory/list/index.js +33 -9
  298. package/node/@aws-s3/storage/directory/move-dir/index.js +69 -9
  299. package/node/@aws-s3/storage/directory/remove-dir/index.js +59 -9
  300. package/node/@aws-s3/storage/file/copy/index.js +43 -9
  301. package/node/@aws-s3/storage/file/download/index.js +30 -9
  302. package/node/@aws-s3/storage/file/exists/index.js +37 -9
  303. package/node/@aws-s3/storage/file/index.d.ts +1 -1
  304. package/node/@aws-s3/storage/file/index.js +1 -1
  305. package/node/@aws-s3/storage/file/move/index.js +60 -9
  306. package/node/@aws-s3/storage/file/remove/index.js +38 -9
  307. package/node/@aws-s3/storage/file/stat/index.js +34 -9
  308. package/node/@aws-s3/storage/file/upload/index.js +55 -9
  309. package/node/@design-edito/index.js +1 -0
  310. package/node/@express/@multer/index.js +61 -45
  311. package/node/@google-cloud/storage/bucket/get-metadata/index.js +25 -21
  312. package/node/@google-cloud/storage/directory/copy-dir/index.js +38 -9
  313. package/node/@google-cloud/storage/directory/list/index.js +29 -9
  314. package/node/@google-cloud/storage/directory/move-dir/index.js +45 -9
  315. package/node/@google-cloud/storage/directory/remove-dir/index.js +36 -9
  316. package/node/@google-cloud/storage/file/copy/index.js +37 -9
  317. package/node/@google-cloud/storage/file/download/index.js +28 -9
  318. package/node/@google-cloud/storage/file/exists/index.js +26 -9
  319. package/node/@google-cloud/storage/file/generate-signed-url/index.js +33 -27
  320. package/node/@google-cloud/storage/file/get-metadata/index.js +28 -23
  321. package/node/@google-cloud/storage/file/get-permissions/index.js +25 -23
  322. package/node/@google-cloud/storage/file/index.d.ts +1 -1
  323. package/node/@google-cloud/storage/file/index.js +1 -1
  324. package/node/@google-cloud/storage/file/move/index.js +40 -9
  325. package/node/@google-cloud/storage/file/remove/index.js +36 -9
  326. package/node/@google-cloud/storage/file/revoke-signed-urls/index.js +32 -29
  327. package/node/@google-cloud/storage/file/stat/index.js +35 -9
  328. package/node/@google-cloud/storage/file/update-metadata/index.js +30 -23
  329. package/node/@google-cloud/storage/file/upload/index.js +47 -9
  330. package/node/cloud-storage/clients/index.js +35 -13
  331. package/node/cloud-storage/operations/copy-dir/index.js +30 -34
  332. package/node/cloud-storage/operations/copy-file/index.js +30 -34
  333. package/node/cloud-storage/operations/download-file/index.js +30 -34
  334. package/node/cloud-storage/operations/exists-file/index.js +30 -34
  335. package/node/cloud-storage/operations/list-dir/index.js +29 -34
  336. package/node/cloud-storage/operations/move-dir/index.js +30 -34
  337. package/node/cloud-storage/operations/move-file/index.js +30 -34
  338. package/node/cloud-storage/operations/remove-dir/index.js +29 -34
  339. package/node/cloud-storage/operations/remove-file/index.js +29 -34
  340. package/node/cloud-storage/operations/stat-file/index.js +29 -34
  341. package/node/cloud-storage/operations/upload-file/index.js +30 -34
  342. package/node/encryption/@aes-256-gcm/buffer/index.js +31 -26
  343. package/node/encryption/@aes-256-gcm/index.d.ts +1 -1
  344. package/node/encryption/@aes-256-gcm/index.js +1 -1
  345. package/node/encryption/@aes-256-gcm/uint8-array/index.js +57 -11
  346. package/node/encryption/key/index.js +19 -14
  347. package/node/files/is-in-directory/index.js +11 -10
  348. package/node/files/read-write/index.js +11 -17
  349. package/node/files/subpaths/index.js +156 -113
  350. package/node/ftps/directory/copy-dir/index.js +58 -9
  351. package/node/ftps/directory/index.d.ts +1 -1
  352. package/node/ftps/directory/index.js +1 -1
  353. package/node/ftps/directory/list/index.js +25 -9
  354. package/node/ftps/directory/move-dir/index.js +41 -9
  355. package/node/ftps/directory/remove-dir/index.js +42 -9
  356. package/node/ftps/file/copy/index.js +45 -9
  357. package/node/ftps/file/download/index.js +30 -9
  358. package/node/ftps/file/exists/index.js +39 -9
  359. package/node/ftps/file/index.d.ts +1 -1
  360. package/node/ftps/file/index.js +1 -1
  361. package/node/ftps/file/move/index.js +49 -9
  362. package/node/ftps/file/remove/index.js +40 -9
  363. package/node/ftps/file/stat/index.js +31 -9
  364. package/node/ftps/file/upload/index.js +44 -9
  365. package/node/images/create/index.js +10 -18
  366. package/node/images/format/index.js +264 -251
  367. package/node/images/index.d.ts +1 -1
  368. package/node/images/index.js +1 -1
  369. package/node/images/metadata/index.js +10 -18
  370. package/node/images/transform/index.js +168 -203
  371. package/node/images/transform/operations/blur/index.js +12 -10
  372. package/node/images/transform/operations/brighten/index.js +12 -10
  373. package/node/images/transform/operations/extend/index.js +26 -17
  374. package/node/images/transform/operations/extract/index.js +17 -10
  375. package/node/images/transform/operations/flatten/index.js +21 -17
  376. package/node/images/transform/operations/flip/index.js +3 -7
  377. package/node/images/transform/operations/flop/index.js +3 -7
  378. package/node/images/transform/operations/hue/index.js +14 -10
  379. package/node/images/transform/operations/index.d.ts +2 -2
  380. package/node/images/transform/operations/index.js +2 -2
  381. package/node/images/transform/operations/level/index.js +15 -10
  382. package/node/images/transform/operations/lighten/index.js +14 -10
  383. package/node/images/transform/operations/normalize/index.js +15 -10
  384. package/node/images/transform/operations/overlay/index.js +90 -17
  385. package/node/images/transform/operations/resize/index.js +47 -17
  386. package/node/images/transform/operations/rotate/index.js +21 -17
  387. package/node/images/transform/operations/saturate/index.js +16 -10
  388. package/node/images/types.js +34 -9
  389. package/node/images/utils/index.js +85 -19
  390. package/node/index.d.ts +3 -3
  391. package/node/index.js +3 -3
  392. package/node/process/on-exit/index.js +45 -28
  393. package/node/process/prompt-continue/index.js +29 -16
  394. package/node/process/spawner/index.js +104 -80
  395. package/node/sftp/directory/copy-dir/index.js +55 -9
  396. package/node/sftp/directory/list/index.js +23 -9
  397. package/node/sftp/directory/move-dir/index.js +38 -9
  398. package/node/sftp/directory/remove-dir/index.js +42 -9
  399. package/node/sftp/file/copy/index.js +40 -9
  400. package/node/sftp/file/download/index.js +27 -9
  401. package/node/sftp/file/exists/index.js +30 -9
  402. package/node/sftp/file/index.d.ts +2 -2
  403. package/node/sftp/file/index.js +2 -2
  404. package/node/sftp/file/move/index.js +42 -9
  405. package/node/sftp/file/remove/index.js +33 -9
  406. package/node/sftp/file/stat/index.js +28 -9
  407. package/node/sftp/file/upload/index.js +36 -9
  408. package/package.json +1 -8
  409. package/chunks/chunk-2FNCUXAX.js +0 -27
  410. package/chunks/chunk-2GJSPEO4.js +0 -31
  411. package/chunks/chunk-2IGP6V77.js +0 -22
  412. package/chunks/chunk-3QI2MSDK.js +0 -34
  413. package/chunks/chunk-3RNLPW7B.js +0 -101
  414. package/chunks/chunk-3RZMW72G.js +0 -33
  415. package/chunks/chunk-4KLCJX2T.js +0 -36
  416. package/chunks/chunk-4LTN4SCD.js +0 -55
  417. package/chunks/chunk-4Q4T7QQO.js +0 -27
  418. package/chunks/chunk-4Q5TKOIG.js +0 -53
  419. package/chunks/chunk-57YKZBJR.js +0 -29
  420. package/chunks/chunk-5H3IRSOB.js +0 -8
  421. package/chunks/chunk-5NTPCRFH.js +0 -32
  422. package/chunks/chunk-5TM235Z3.js +0 -40
  423. package/chunks/chunk-5WVGUZL5.js +0 -35
  424. package/chunks/chunk-6XL25OZX.js +0 -12
  425. package/chunks/chunk-75BICI4L.js +0 -20
  426. package/chunks/chunk-77SWZUHV.js +0 -31
  427. package/chunks/chunk-AC4UMIWM.js +0 -124
  428. package/chunks/chunk-AG4VERYN.js +0 -25
  429. package/chunks/chunk-AP3VYSVF.js +0 -36
  430. package/chunks/chunk-ASXK7XCC.js +0 -18
  431. package/chunks/chunk-AVIMGMTP.js +0 -17
  432. package/chunks/chunk-B4HGXMP3.js +0 -20
  433. package/chunks/chunk-B5V7D2ZL.js +0 -77
  434. package/chunks/chunk-B6653QJD.js +0 -37
  435. package/chunks/chunk-BCX4HPD7.js +0 -33
  436. package/chunks/chunk-CVMYA5XK.js +0 -632
  437. package/chunks/chunk-DMWGHBIL.js +0 -25
  438. package/chunks/chunk-DNIOWD7K.js +0 -8
  439. package/chunks/chunk-E2ZY3SEW.js +0 -26
  440. package/chunks/chunk-E6MSDKON.js +0 -13
  441. package/chunks/chunk-E7BBN5JC.js +0 -22
  442. package/chunks/chunk-EX2QKFY5.js +0 -41
  443. package/chunks/chunk-EYYNCLVR.js +0 -33
  444. package/chunks/chunk-F2YJXIT7.js +0 -78
  445. package/chunks/chunk-FSNNEPY5.js +0 -37
  446. package/chunks/chunk-GG4EFNMU.js +0 -89
  447. package/chunks/chunk-GQBFMP6N.js +0 -32
  448. package/chunks/chunk-H3HRQ52T.js +0 -32
  449. package/chunks/chunk-H4PP6AHP.js +0 -15
  450. package/chunks/chunk-HC6ZOHCS.js +0 -14
  451. package/chunks/chunk-HMMPT3UM.js +0 -47
  452. package/chunks/chunk-HQLRJ7XW.js +0 -12
  453. package/chunks/chunk-HYGUIF2O.js +0 -23
  454. package/chunks/chunk-HYPEWMYZ.js +0 -10
  455. package/chunks/chunk-I5MRXMHR.js +0 -32
  456. package/chunks/chunk-I6ZP5T5V.js +0 -10
  457. package/chunks/chunk-IEZ3O5OF.js +0 -40
  458. package/chunks/chunk-IPRWXI27.js +0 -31
  459. package/chunks/chunk-IRKZUMWZ.js +0 -38
  460. package/chunks/chunk-ISJONMNA.js +0 -16
  461. package/chunks/chunk-JB27MAKY.js +0 -22
  462. package/chunks/chunk-JZ6GM444.js +0 -43
  463. package/chunks/chunk-K5UF634H.js +0 -25
  464. package/chunks/chunk-LEBGVBYD.js +0 -138
  465. package/chunks/chunk-LJ5MGLLU.js +0 -56
  466. package/chunks/chunk-LUAYN7VJ.js +0 -27
  467. package/chunks/chunk-MDVGDZU6.js +0 -25
  468. package/chunks/chunk-ML22TIBW.js +0 -37
  469. package/chunks/chunk-MO4TRYNI.js +0 -29
  470. package/chunks/chunk-MSU7JU63.js +0 -49
  471. package/chunks/chunk-NIBRPZJD.js +0 -58
  472. package/chunks/chunk-O32IRXDX.js +0 -78
  473. package/chunks/chunk-OAX7GS7C.js +0 -36
  474. package/chunks/chunk-OBSTP7YR.js +0 -257
  475. package/chunks/chunk-OFCSIK6J.js +0 -13
  476. package/chunks/chunk-OFYGPRWE.js +0 -21
  477. package/chunks/chunk-OGBUSUE6.js +0 -12
  478. package/chunks/chunk-OSAXBA7G.js +0 -10
  479. package/chunks/chunk-OT7QXCH6.js +0 -23
  480. package/chunks/chunk-P4J6S2WQ.js +0 -64
  481. package/chunks/chunk-PUQUSA6S.js +0 -12
  482. package/chunks/chunk-PYJKFOMV.js +0 -193
  483. package/chunks/chunk-QHEWBOQI.js +0 -19
  484. package/chunks/chunk-QXAJXTXV.js +0 -19
  485. package/chunks/chunk-R3AWQXMY.js +0 -20
  486. package/chunks/chunk-R66GH2MQ.js +0 -38
  487. package/chunks/chunk-RART44AF.js +0 -21
  488. package/chunks/chunk-REXSJULD.js +0 -28
  489. package/chunks/chunk-RJRNYRPM.js +0 -23
  490. package/chunks/chunk-RKX6KLPQ.js +0 -47
  491. package/chunks/chunk-RW7VAKJW.js +0 -15
  492. package/chunks/chunk-RZOR7ZC3.js +0 -35
  493. package/chunks/chunk-S2UZ3HZR.js +0 -31
  494. package/chunks/chunk-SYH5LYQC.js +0 -28
  495. package/chunks/chunk-TAXFCVFE.js +0 -30
  496. package/chunks/chunk-TNZGRXKJ.js +0 -24
  497. package/chunks/chunk-TRFZSKNB.js +0 -32
  498. package/chunks/chunk-U664BT44.js +0 -45
  499. package/chunks/chunk-U6SGKHHA.js +0 -32
  500. package/chunks/chunk-UTQNGKGQ.js +0 -60
  501. package/chunks/chunk-VPBZS3S4.js +0 -27
  502. package/chunks/chunk-W5A2TON3.js +0 -10
  503. package/chunks/chunk-W7PJ5NQQ.js +0 -23
  504. package/chunks/chunk-WGRQXVBK.js +0 -207
  505. package/chunks/chunk-WIFHP4X7.js +0 -56
  506. package/chunks/chunk-WL4WNJ2Y.js +0 -39
  507. package/chunks/chunk-WNDMYNDU.js +0 -8
  508. package/chunks/chunk-WSFCRVEQ.js +0 -9
  509. package/chunks/chunk-WZS4Q3G3.js +0 -36
  510. package/chunks/chunk-X4YSGOKG.js +0 -2673
  511. package/chunks/chunk-XA4HVHJ4.js +0 -18
  512. package/chunks/chunk-XEQ2PBT2.js +0 -20
  513. package/chunks/chunk-XFB4PUXO.js +0 -78
  514. package/chunks/chunk-XIIJYVJZ.js +0 -15
  515. package/chunks/chunk-XNF5MLCQ.js +0 -14
  516. package/chunks/chunk-XQUMWHCH.js +0 -25
  517. package/chunks/chunk-YA2YCZUF.js +0 -8
  518. package/chunks/chunk-YDIBNEGA.js +0 -9
  519. package/chunks/chunk-YHMR7IBA.js +0 -24
  520. package/chunks/chunk-YWSXCFYY.js +0 -61
  521. package/chunks/chunk-YY3TSU22.js +0 -48
  522. package/chunks/chunk-ZAP3ELDE.js +0 -40
  523. package/chunks/chunk-ZJNQRKEJ.js +0 -105
  524. package/chunks/chunk-ZJR5ASR3.js +0 -26
  525. package/chunks/index.d.ts +0 -1
  526. package/chunks/index.js +0 -1
@@ -1,13 +1,35 @@
1
- import {
2
- isFtpClient,
3
- isGcsBucket,
4
- isS3ClientWithBucket,
5
- isSftpClient
6
- } from "../../../chunks/chunk-ISJONMNA.js";
7
- import "../../../chunks/chunk-WSFCRVEQ.js";
8
- export {
9
- isFtpClient,
10
- isGcsBucket,
11
- isS3ClientWithBucket,
12
- isSftpClient
13
- };
1
+ import { Bucket as GCSBucket } from '@google-cloud/storage';
2
+ import { S3Client } from '@aws-sdk/client-s3';
3
+ import { Client as FtpClient } from 'basic-ftp';
4
+ import SftpClient from 'ssh2-sftp-client';
5
+ /**
6
+ * Type guard to check if a client is a Google Cloud Storage bucket.
7
+ *
8
+ * @param {AnyClient} client - The client to check.
9
+ * @returns {boolean} `true` if the client is a `GCSBucket`, `false` otherwise.
10
+ */
11
+ export const isGcsBucket = (client) => client instanceof GCSBucket;
12
+ /**
13
+ * Type guard to check if a client is an S3 client with bucket configuration.
14
+ *
15
+ * @param {AnyClient} client - The client to check.
16
+ * @returns {boolean} `true` if the client is an `S3ClientWithBucket`, `false` otherwise.
17
+ */
18
+ export const isS3ClientWithBucket = (client) => ('bucketName' in client)
19
+ && typeof client.bucketName === 'string'
20
+ && ('client' in client)
21
+ && client.client instanceof S3Client;
22
+ /**
23
+ * Type guard to check if a client is an FTP client.
24
+ *
25
+ * @param {AnyClient} client - The client to check.
26
+ * @returns {boolean} `true` if the client is an `FtpClient`, `false` otherwise.
27
+ */
28
+ export const isFtpClient = (client) => client instanceof FtpClient;
29
+ /**
30
+ * Type guard to check if a client is an SFTP client.
31
+ *
32
+ * @param {AnyClient} client - The client to check.
33
+ * @returns {boolean} `true` if the client is an `SftpClient`, `false` otherwise.
34
+ */
35
+ export const isSftpClient = (client) => client instanceof SftpClient;
@@ -1,35 +1,31 @@
1
- import {
2
- copyDir as copyDir4
3
- } from "../../../../chunks/chunk-WZS4Q3G3.js";
4
- import {
5
- copyDir as copyDir3
6
- } from "../../../../chunks/chunk-P4J6S2WQ.js";
7
- import {
8
- copyDir as copyDir2
9
- } from "../../../../chunks/chunk-4Q5TKOIG.js";
10
- import {
11
- copyDir
12
- } from "../../../../chunks/chunk-4LTN4SCD.js";
13
- import {
14
- isFtpClient,
15
- isGcsBucket,
16
- isS3ClientWithBucket,
17
- isSftpClient
18
- } from "../../../../chunks/chunk-ISJONMNA.js";
19
- import {
20
- makeFailure
21
- } from "../../../../chunks/chunk-LUAYN7VJ.js";
22
- import "../../../../chunks/chunk-PUQUSA6S.js";
23
- import "../../../../chunks/chunk-WSFCRVEQ.js";
24
-
25
- // src/node/cloud-storage/operations/copy-dir/index.ts
26
- async function copyDir5(client, sourcePath, targetPath, options) {
27
- if (isGcsBucket(client)) return await copyDir4(client, sourcePath, targetPath, options);
28
- if (isS3ClientWithBucket(client)) return await copyDir3(client.client, client.bucketName, sourcePath, targetPath, options);
29
- if (isFtpClient(client)) return await copyDir(client, sourcePath, targetPath);
30
- if (isSftpClient(client)) return await copyDir2(client, sourcePath, targetPath);
31
- return makeFailure("Invalid client type");
1
+ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
2
+ import { isFtpClient, isGcsBucket, isS3ClientWithBucket, isSftpClient } from '../../clients/index.js';
3
+ import { copyDir as ftpCopyDir } from '../../../ftps/directory/copy-dir/index.js';
4
+ import { copyDir as sftpCopyDir } from '../../../sftp/directory/copy-dir/index.js';
5
+ import { copyDir as s3CopyDir } from '../../../@aws-s3/storage/directory/copy-dir/index.js';
6
+ import { copyDir as gcsCopyDir } from '../../../@google-cloud/storage/directory/copy-dir/index.js';
7
+ /**
8
+ * Recursively copies a directory from one path to another.
9
+ *
10
+ * The function automatically dispatches to the appropriate implementation based on
11
+ * the client type (Google Cloud Storage, S3, FTP, or SFTP).
12
+ *
13
+ * @param {AnyClient} client - The cloud storage client instance.
14
+ * @param {string} sourcePath - The source directory path to copy from.
15
+ * @param {string} targetPath - The target directory path to copy to.
16
+ * @param {GcsCopyDirOptions | S3CopyDirOptions | FtpsCopyDirOptions | SftpCopyDirOptions} [options] - Optional copy configuration.
17
+ * @returns {Promise<Outcome.Either<true, string>>}
18
+ * - On success: `Outcome.makeSuccess(true)`.
19
+ * - On failure: `Outcome.makeFailure(errStr)`.
20
+ */
21
+ export async function copyDir(client, sourcePath, targetPath, options) {
22
+ if (isGcsBucket(client))
23
+ return await gcsCopyDir(client, sourcePath, targetPath, options);
24
+ if (isS3ClientWithBucket(client))
25
+ return await s3CopyDir(client.client, client.bucketName, sourcePath, targetPath, options);
26
+ if (isFtpClient(client))
27
+ return await ftpCopyDir(client, sourcePath, targetPath);
28
+ if (isSftpClient(client))
29
+ return await sftpCopyDir(client, sourcePath, targetPath);
30
+ return Outcome.makeFailure('Invalid client type');
32
31
  }
33
- export {
34
- copyDir5 as copyDir
35
- };
@@ -1,35 +1,31 @@
1
- import {
2
- copy as copy4
3
- } from "../../../../chunks/chunk-3QI2MSDK.js";
4
- import {
5
- copy as copy3
6
- } from "../../../../chunks/chunk-U664BT44.js";
7
- import {
8
- copy as copy2
9
- } from "../../../../chunks/chunk-R66GH2MQ.js";
10
- import {
11
- copy
12
- } from "../../../../chunks/chunk-ZAP3ELDE.js";
13
- import {
14
- isFtpClient,
15
- isGcsBucket,
16
- isS3ClientWithBucket,
17
- isSftpClient
18
- } from "../../../../chunks/chunk-ISJONMNA.js";
19
- import {
20
- makeFailure
21
- } from "../../../../chunks/chunk-LUAYN7VJ.js";
22
- import "../../../../chunks/chunk-PUQUSA6S.js";
23
- import "../../../../chunks/chunk-WSFCRVEQ.js";
24
-
25
- // src/node/cloud-storage/operations/copy-file/index.ts
26
- async function copyFile(client, sourcePath, targetPath, options) {
27
- if (isGcsBucket(client)) return await copy4(client, sourcePath, targetPath, options);
28
- if (isS3ClientWithBucket(client)) return await copy3(client.client, client.bucketName, sourcePath, targetPath, options);
29
- if (isFtpClient(client)) return await copy(client, sourcePath, targetPath, options);
30
- if (isSftpClient(client)) return await copy2(client, sourcePath, targetPath, options);
31
- return makeFailure("Invalid client type");
1
+ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
2
+ import { isFtpClient, isGcsBucket, isS3ClientWithBucket, isSftpClient } from '../../clients/index.js';
3
+ import { copy as ftpCopy } from '../../../ftps/file/copy/index.js';
4
+ import { copy as sftpCopy } from '../../../sftp/file/copy/index.js';
5
+ import { copy as s3Copy } from '../../../@aws-s3/storage/file/copy/index.js';
6
+ import { copy as gcsCopy } from '../../../@google-cloud/storage/file/copy/index.js';
7
+ /**
8
+ * Copies a file from one path to another.
9
+ *
10
+ * The function automatically dispatches to the appropriate implementation based on
11
+ * the client type (Google Cloud Storage, S3, FTP, or SFTP).
12
+ *
13
+ * @param {AnyClient} client - The cloud storage client instance.
14
+ * @param {string} sourcePath - The source file path to copy from.
15
+ * @param {string} targetPath - The target file path to copy to.
16
+ * @param {GcsCopyOptions | S3CopyOptions | FtpsCopyOptions | SftpCopyOptions} [options] - Optional copy configuration.
17
+ * @returns {Promise<Outcome.Either<true, string>>}
18
+ * - On success: `Outcome.makeSuccess(true)`.
19
+ * - On failure: `Outcome.makeFailure(errStr)`.
20
+ */
21
+ export async function copyFile(client, sourcePath, targetPath, options) {
22
+ if (isGcsBucket(client))
23
+ return await gcsCopy(client, sourcePath, targetPath, options);
24
+ if (isS3ClientWithBucket(client))
25
+ return await s3Copy(client.client, client.bucketName, sourcePath, targetPath, options);
26
+ if (isFtpClient(client))
27
+ return await ftpCopy(client, sourcePath, targetPath, options);
28
+ if (isSftpClient(client))
29
+ return await sftpCopy(client, sourcePath, targetPath, options);
30
+ return Outcome.makeFailure('Invalid client type');
32
31
  }
33
- export {
34
- copyFile
35
- };
@@ -1,35 +1,31 @@
1
- import {
2
- download as download4
3
- } from "../../../../chunks/chunk-4Q4T7QQO.js";
4
- import {
5
- download as download3
6
- } from "../../../../chunks/chunk-2GJSPEO4.js";
7
- import {
8
- download as download2
9
- } from "../../../../chunks/chunk-AG4VERYN.js";
10
- import {
11
- download
12
- } from "../../../../chunks/chunk-XQUMWHCH.js";
13
- import {
14
- isFtpClient,
15
- isGcsBucket,
16
- isS3ClientWithBucket,
17
- isSftpClient
18
- } from "../../../../chunks/chunk-ISJONMNA.js";
19
- import {
20
- makeFailure
21
- } from "../../../../chunks/chunk-LUAYN7VJ.js";
22
- import "../../../../chunks/chunk-PUQUSA6S.js";
23
- import "../../../../chunks/chunk-WSFCRVEQ.js";
24
-
25
- // src/node/cloud-storage/operations/download-file/index.ts
26
- async function downloadFile(client, path, options) {
27
- if (isGcsBucket(client)) return await download4(client, path, options);
28
- if (isS3ClientWithBucket(client)) return await download3(client.client, client.bucketName, path, options);
29
- if (isFtpClient(client)) return await download(client, path, options);
30
- if (isSftpClient(client)) return await download2(client, path, options);
31
- return makeFailure("Invalid client type");
1
+ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
2
+ import { isFtpClient, isGcsBucket, isS3ClientWithBucket, isSftpClient } from '../../clients/index.js';
3
+ import { download as ftpDownload } from '../../../ftps/file/download/index.js';
4
+ import { download as sftpDownload } from '../../../sftp/file/download/index.js';
5
+ import { download as s3Download } from '../../../@aws-s3/storage/file/download/index.js';
6
+ import { download as gcsDownload } from '../../../@google-cloud/storage/file/download/index.js';
7
+ /**
8
+ * Downloads a file from cloud storage.
9
+ *
10
+ * The function automatically dispatches to the appropriate implementation based on
11
+ * the client type (Google Cloud Storage, S3, FTP, or SFTP) and streams the file's
12
+ * content back as a Node `Readable`.
13
+ *
14
+ * @param {AnyClient} client - The cloud storage client instance.
15
+ * @param {string} path - The path of the file to download.
16
+ * @param {GcsDownloadOptions | S3DownloadOptions | FtpDownloadOptions | SftpDownloadOptions} [options] - Optional download configuration.
17
+ * @returns {Promise<Outcome.Either<Readable, string>>}
18
+ * - On success: `Outcome.makeSuccess(stream)` containing the file content.
19
+ * - On failure: `Outcome.makeFailure(errStr)`.
20
+ */
21
+ export async function downloadFile(client, path, options) {
22
+ if (isGcsBucket(client))
23
+ return await gcsDownload(client, path, options);
24
+ if (isS3ClientWithBucket(client))
25
+ return await s3Download(client.client, client.bucketName, path, options);
26
+ if (isFtpClient(client))
27
+ return await ftpDownload(client, path, options);
28
+ if (isSftpClient(client))
29
+ return await sftpDownload(client, path, options);
30
+ return Outcome.makeFailure('Invalid client type');
32
31
  }
33
- export {
34
- downloadFile
35
- };
@@ -1,35 +1,31 @@
1
- import {
2
- exists as exists4
3
- } from "../../../../chunks/chunk-YHMR7IBA.js";
4
- import {
5
- exists as exists3
6
- } from "../../../../chunks/chunk-RZOR7ZC3.js";
7
- import {
8
- exists as exists2
9
- } from "../../../../chunks/chunk-JB27MAKY.js";
10
- import {
11
- exists
12
- } from "../../../../chunks/chunk-2FNCUXAX.js";
13
- import {
14
- isFtpClient,
15
- isGcsBucket,
16
- isS3ClientWithBucket,
17
- isSftpClient
18
- } from "../../../../chunks/chunk-ISJONMNA.js";
19
- import {
20
- makeFailure
21
- } from "../../../../chunks/chunk-LUAYN7VJ.js";
22
- import "../../../../chunks/chunk-PUQUSA6S.js";
23
- import "../../../../chunks/chunk-WSFCRVEQ.js";
24
-
25
- // src/node/cloud-storage/operations/exists-file/index.ts
26
- async function existsFile(client, path, options) {
27
- if (isGcsBucket(client)) return await exists4(client, path, options);
28
- if (isS3ClientWithBucket(client)) return await exists3(client.client, client.bucketName, path, options);
29
- if (isFtpClient(client)) return await exists(client, path);
30
- if (isSftpClient(client)) return await exists2(client, path);
31
- return makeFailure("Invalid client type");
1
+ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
2
+ import { isFtpClient, isGcsBucket, isS3ClientWithBucket, isSftpClient } from '../../clients/index.js';
3
+ import { exists as ftpExists } from '../../../ftps/file/exists/index.js';
4
+ import { exists as sftpExists } from '../../../sftp/file/exists/index.js';
5
+ import { exists as s3Exists } from '../../../@aws-s3/storage/file/exists/index.js';
6
+ import { exists as gcsExists } from '../../../@google-cloud/storage/file/exists/index.js';
7
+ /**
8
+ * Checks whether a file exists in cloud storage.
9
+ *
10
+ * The function automatically dispatches to the appropriate implementation based on
11
+ * the client type (Google Cloud Storage, S3, FTP, or SFTP).
12
+ *
13
+ * @param {AnyClient} client - The cloud storage client instance.
14
+ * @param {string} path - The path of the file to check.
15
+ * @param {GcsExistsOptions | S3ExistsOptions} [options] - Optional configuration.
16
+ * @returns {Promise<Outcome.Either<boolean, string>>}
17
+ * - On success: `Outcome.makeSuccess(true)` if the file exists,
18
+ * `Outcome.makeSuccess(false)` if it does not.
19
+ * - On failure: `Outcome.makeFailure(errStr)` for unexpected errors.
20
+ */
21
+ export async function existsFile(client, path, options) {
22
+ if (isGcsBucket(client))
23
+ return await gcsExists(client, path, options);
24
+ if (isS3ClientWithBucket(client))
25
+ return await s3Exists(client.client, client.bucketName, path, options);
26
+ if (isFtpClient(client))
27
+ return await ftpExists(client, path);
28
+ if (isSftpClient(client))
29
+ return await sftpExists(client, path);
30
+ return Outcome.makeFailure('Invalid client type');
32
31
  }
33
- export {
34
- existsFile
35
- };
@@ -1,35 +1,30 @@
1
- import {
2
- list as list4
3
- } from "../../../../chunks/chunk-REXSJULD.js";
4
- import {
5
- list as list3
6
- } from "../../../../chunks/chunk-3RZMW72G.js";
7
- import {
8
- list as list2
9
- } from "../../../../chunks/chunk-2IGP6V77.js";
10
- import {
11
- list
12
- } from "../../../../chunks/chunk-E7BBN5JC.js";
13
- import {
14
- isFtpClient,
15
- isGcsBucket,
16
- isS3ClientWithBucket,
17
- isSftpClient
18
- } from "../../../../chunks/chunk-ISJONMNA.js";
19
- import {
20
- makeFailure
21
- } from "../../../../chunks/chunk-LUAYN7VJ.js";
22
- import "../../../../chunks/chunk-PUQUSA6S.js";
23
- import "../../../../chunks/chunk-WSFCRVEQ.js";
24
-
25
- // src/node/cloud-storage/operations/list-dir/index.ts
26
- async function listDir(client, path, options) {
27
- if (isGcsBucket(client)) return await list4(client, path, options);
28
- if (isS3ClientWithBucket(client)) return await list3(client.client, client.bucketName, path, options);
29
- if (isFtpClient(client)) return await list(client, path);
30
- if (isSftpClient(client)) return await list2(client, path);
31
- return makeFailure("Invalid client type");
1
+ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
2
+ import { isFtpClient, isGcsBucket, isS3ClientWithBucket, isSftpClient } from '../../clients/index.js';
3
+ import { list as ftpList } from '../../../ftps/directory/list/index.js';
4
+ import { list as sftpList } from '../../../sftp/directory/list/index.js';
5
+ import { list as s3List } from '../../../@aws-s3/storage/directory/list/index.js';
6
+ import { list as gcsList } from '../../../@google-cloud/storage/directory/list/index.js';
7
+ /**
8
+ * Lists the contents of a directory in cloud storage.
9
+ *
10
+ * The function automatically dispatches to the appropriate implementation based on
11
+ * the client type (Google Cloud Storage, S3, FTP, or SFTP).
12
+ *
13
+ * @param {AnyClient} client - The cloud storage client instance.
14
+ * @param {string} path - The directory path to list.
15
+ * @param {GcsListOptions | S3ListOptions} [options] - Optional list configuration.
16
+ * @returns {Promise<Outcome.Either<string[], string>>}
17
+ * - On success: `Outcome.makeSuccess(paths)` containing an array of file/directory paths.
18
+ * - On failure: `Outcome.makeFailure(errStr)`.
19
+ */
20
+ export async function listDir(client, path, options) {
21
+ if (isGcsBucket(client))
22
+ return await gcsList(client, path, options);
23
+ if (isS3ClientWithBucket(client))
24
+ return await s3List(client.client, client.bucketName, path, options);
25
+ if (isFtpClient(client))
26
+ return await ftpList(client, path);
27
+ if (isSftpClient(client))
28
+ return await sftpList(client, path);
29
+ return Outcome.makeFailure('Invalid client type');
32
30
  }
33
- export {
34
- listDir
35
- };
@@ -1,35 +1,31 @@
1
- import {
2
- moveDir as moveDir4
3
- } from "../../../../chunks/chunk-OAX7GS7C.js";
4
- import {
5
- moveDir as moveDir3
6
- } from "../../../../chunks/chunk-B5V7D2ZL.js";
7
- import {
8
- moveDir as moveDir2
9
- } from "../../../../chunks/chunk-TAXFCVFE.js";
10
- import {
11
- moveDir
12
- } from "../../../../chunks/chunk-BCX4HPD7.js";
13
- import {
14
- isFtpClient,
15
- isGcsBucket,
16
- isS3ClientWithBucket,
17
- isSftpClient
18
- } from "../../../../chunks/chunk-ISJONMNA.js";
19
- import {
20
- makeFailure
21
- } from "../../../../chunks/chunk-LUAYN7VJ.js";
22
- import "../../../../chunks/chunk-PUQUSA6S.js";
23
- import "../../../../chunks/chunk-WSFCRVEQ.js";
24
-
25
- // src/node/cloud-storage/operations/move-dir/index.ts
26
- async function moveDir5(client, sourcePath, targetPath, options) {
27
- if (isGcsBucket(client)) return await moveDir4(client, sourcePath, targetPath, options);
28
- if (isS3ClientWithBucket(client)) return await moveDir3(client.client, client.bucketName, sourcePath, targetPath, options);
29
- if (isFtpClient(client)) return await moveDir(client, sourcePath, targetPath, options);
30
- if (isSftpClient(client)) return await moveDir2(client, sourcePath, targetPath, options);
31
- return makeFailure("Invalid client type");
1
+ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
2
+ import { isFtpClient, isGcsBucket, isS3ClientWithBucket, isSftpClient } from '../../clients/index.js';
3
+ import { moveDir as ftpMoveDir } from '../../../ftps/directory/move-dir/index.js';
4
+ import { moveDir as sftpMoveDir } from '../../../sftp/directory/move-dir/index.js';
5
+ import { moveDir as s3MoveDir } from '../../../@aws-s3/storage/directory/move-dir/index.js';
6
+ import { moveDir as gcsMoveDir } from '../../../@google-cloud/storage/directory/move-dir/index.js';
7
+ /**
8
+ * Moves a directory from one path to another.
9
+ *
10
+ * The function automatically dispatches to the appropriate implementation based on
11
+ * the client type (Google Cloud Storage, S3, FTP, or SFTP).
12
+ *
13
+ * @param {AnyClient} client - The cloud storage client instance.
14
+ * @param {string} sourcePath - The source directory path to move from.
15
+ * @param {string} targetPath - The target directory path to move to.
16
+ * @param {GcsMoveDirOptions | S3MoveDirOptions | FtpsMoveDirOptions | SftpMoveDirOptions} [options] - Optional move configuration.
17
+ * @returns {Promise<Outcome.Either<true, string>>}
18
+ * - On success: `Outcome.makeSuccess(true)`.
19
+ * - On failure: `Outcome.makeFailure(errStr)`.
20
+ */
21
+ export async function moveDir(client, sourcePath, targetPath, options) {
22
+ if (isGcsBucket(client))
23
+ return await gcsMoveDir(client, sourcePath, targetPath, options);
24
+ if (isS3ClientWithBucket(client))
25
+ return await s3MoveDir(client.client, client.bucketName, sourcePath, targetPath, options);
26
+ if (isFtpClient(client))
27
+ return await ftpMoveDir(client, sourcePath, targetPath, options);
28
+ if (isSftpClient(client))
29
+ return await sftpMoveDir(client, sourcePath, targetPath, options);
30
+ return Outcome.makeFailure('Invalid client type');
32
31
  }
33
- export {
34
- moveDir5 as moveDir
35
- };
@@ -1,35 +1,31 @@
1
- import {
2
- move as move4
3
- } from "../../../../chunks/chunk-4KLCJX2T.js";
4
- import {
5
- move as move3
6
- } from "../../../../chunks/chunk-LJ5MGLLU.js";
7
- import {
8
- move as move2
9
- } from "../../../../chunks/chunk-EYYNCLVR.js";
10
- import {
11
- move
12
- } from "../../../../chunks/chunk-WL4WNJ2Y.js";
13
- import {
14
- isFtpClient,
15
- isGcsBucket,
16
- isS3ClientWithBucket,
17
- isSftpClient
18
- } from "../../../../chunks/chunk-ISJONMNA.js";
19
- import {
20
- makeFailure
21
- } from "../../../../chunks/chunk-LUAYN7VJ.js";
22
- import "../../../../chunks/chunk-PUQUSA6S.js";
23
- import "../../../../chunks/chunk-WSFCRVEQ.js";
24
-
25
- // src/node/cloud-storage/operations/move-file/index.ts
26
- async function moveFile(client, sourcePath, targetPath, options) {
27
- if (isGcsBucket(client)) return await move4(client, sourcePath, targetPath, options);
28
- if (isS3ClientWithBucket(client)) return await move3(client.client, client.bucketName, sourcePath, targetPath, options);
29
- if (isFtpClient(client)) return await move(client, sourcePath, targetPath);
30
- if (isSftpClient(client)) return await move2(client, sourcePath, targetPath);
31
- return makeFailure("Invalid client type");
1
+ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
2
+ import { isFtpClient, isGcsBucket, isS3ClientWithBucket, isSftpClient } from '../../clients/index.js';
3
+ import { move as ftpMove } from '../../../ftps/file/move/index.js';
4
+ import { move as sftpMove } from '../../../sftp/file/move/index.js';
5
+ import { move as s3Move } from '../../../@aws-s3/storage/file/move/index.js';
6
+ import { move as gcsMove } from '../../../@google-cloud/storage/file/move/index.js';
7
+ /**
8
+ * Moves a file from one path to another.
9
+ *
10
+ * The function automatically dispatches to the appropriate implementation based on
11
+ * the client type (Google Cloud Storage, S3, FTP, or SFTP).
12
+ *
13
+ * @param {AnyClient} client - The cloud storage client instance.
14
+ * @param {string} sourcePath - The source file path to move from.
15
+ * @param {string} targetPath - The target file path to move to.
16
+ * @param {GcsMoveOptions | S3MoveOptions | FtpsMoveOptions | SftpMoveOptions} [options] - Optional move configuration.
17
+ * @returns {Promise<Outcome.Either<true, string>>}
18
+ * - On success: `Outcome.makeSuccess(true)`.
19
+ * - On failure: `Outcome.makeFailure(errStr)`.
20
+ */
21
+ export async function moveFile(client, sourcePath, targetPath, options) {
22
+ if (isGcsBucket(client))
23
+ return await gcsMove(client, sourcePath, targetPath, options);
24
+ if (isS3ClientWithBucket(client))
25
+ return await s3Move(client.client, client.bucketName, sourcePath, targetPath, options);
26
+ if (isFtpClient(client))
27
+ return await ftpMove(client, sourcePath, targetPath);
28
+ if (isSftpClient(client))
29
+ return await sftpMove(client, sourcePath, targetPath);
30
+ return Outcome.makeFailure('Invalid client type');
32
31
  }
33
- export {
34
- moveFile
35
- };
@@ -1,35 +1,30 @@
1
- import {
2
- removeDir as removeDir4
3
- } from "../../../../chunks/chunk-GQBFMP6N.js";
4
- import {
5
- removeDir as removeDir3
6
- } from "../../../../chunks/chunk-UTQNGKGQ.js";
7
- import {
8
- removeDir as removeDir2
9
- } from "../../../../chunks/chunk-B6653QJD.js";
10
- import {
11
- removeDir
12
- } from "../../../../chunks/chunk-FSNNEPY5.js";
13
- import {
14
- isFtpClient,
15
- isGcsBucket,
16
- isS3ClientWithBucket,
17
- isSftpClient
18
- } from "../../../../chunks/chunk-ISJONMNA.js";
19
- import {
20
- makeFailure
21
- } from "../../../../chunks/chunk-LUAYN7VJ.js";
22
- import "../../../../chunks/chunk-PUQUSA6S.js";
23
- import "../../../../chunks/chunk-WSFCRVEQ.js";
24
-
25
- // src/node/cloud-storage/operations/remove-dir/index.ts
26
- async function removeDir5(client, sourcePath, options) {
27
- if (isGcsBucket(client)) return await removeDir4(client, sourcePath, options);
28
- if (isS3ClientWithBucket(client)) return await removeDir3(client.client, client.bucketName, sourcePath, options);
29
- if (isFtpClient(client)) return await removeDir(client, sourcePath, options);
30
- if (isSftpClient(client)) return await removeDir2(client, sourcePath, options);
31
- return makeFailure("Invalid client type");
1
+ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
2
+ import { isFtpClient, isGcsBucket, isS3ClientWithBucket, isSftpClient } from '../../clients/index.js';
3
+ import { removeDir as ftpRemoveDir } from '../../../ftps/directory/remove-dir/index.js';
4
+ import { removeDir as sftpRemoveDir } from '../../../sftp/directory/remove-dir/index.js';
5
+ import { removeDir as s3RemoveDir } from '../../../@aws-s3/storage/directory/remove-dir/index.js';
6
+ import { removeDir as gcsRemoveDir } from '../../../@google-cloud/storage/directory/remove-dir/index.js';
7
+ /**
8
+ * Removes a directory from cloud storage.
9
+ *
10
+ * The function automatically dispatches to the appropriate implementation based on
11
+ * the client type (Google Cloud Storage, S3, FTP, or SFTP).
12
+ *
13
+ * @param {AnyClient} client - The cloud storage client instance.
14
+ * @param {string} sourcePath - The directory path to remove.
15
+ * @param {GcsRemoveDirOptions | S3RemoveDirOptions | FtpsRemoveDirOptions | SftpRemoveDirOptions} [options] - Optional remove configuration.
16
+ * @returns {Promise<Outcome.Either<true, string>>}
17
+ * - On success: `Outcome.makeSuccess(true)`.
18
+ * - On failure: `Outcome.makeFailure(errStr)`.
19
+ */
20
+ export async function removeDir(client, sourcePath, options) {
21
+ if (isGcsBucket(client))
22
+ return await gcsRemoveDir(client, sourcePath, options);
23
+ if (isS3ClientWithBucket(client))
24
+ return await s3RemoveDir(client.client, client.bucketName, sourcePath, options);
25
+ if (isFtpClient(client))
26
+ return await ftpRemoveDir(client, sourcePath, options);
27
+ if (isSftpClient(client))
28
+ return await sftpRemoveDir(client, sourcePath, options);
29
+ return Outcome.makeFailure('Invalid client type');
32
30
  }
33
- export {
34
- removeDir5 as removeDir
35
- };