@design-edito/tools 0.4.23 → 0.5.1

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 (514) 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/index.d.ts +1 -1
  4. package/agnostic/arrays/index.js +1 -1
  5. package/agnostic/arrays/is-array-of/index.d.ts +1 -1
  6. package/agnostic/arrays/is-array-of/index.js +3 -1
  7. package/agnostic/arrays/make/index.d.ts +1 -1
  8. package/agnostic/arrays/random-pick/index.js +2 -1
  9. package/agnostic/arrays/shuffle/index.js +1 -1
  10. package/agnostic/booleans/is-falsy/index.d.ts +3 -3
  11. package/agnostic/booleans/is-falsy/index.js +2 -3
  12. package/agnostic/colors/channels/index.d.ts +16 -16
  13. package/agnostic/colors/channels/index.js +15 -15
  14. package/agnostic/colors/contrast/index.d.ts +6 -6
  15. package/agnostic/colors/contrast/index.js +6 -8
  16. package/agnostic/colors/contrast/index.test.js +1 -1
  17. package/agnostic/colors/convert/index.d.ts +43 -43
  18. package/agnostic/colors/convert/index.js +60 -55
  19. package/agnostic/colors/distance/index.d.ts +5 -5
  20. package/agnostic/colors/distance/index.js +5 -4
  21. package/agnostic/colors/grayscale/index.d.ts +3 -3
  22. package/agnostic/colors/grayscale/index.js +3 -3
  23. package/agnostic/colors/index.d.ts +3 -3
  24. package/agnostic/colors/index.js +3 -3
  25. package/agnostic/colors/invert/index.d.ts +4 -4
  26. package/agnostic/colors/invert/index.js +3 -3
  27. package/agnostic/colors/lerp/index.d.ts +6 -7
  28. package/agnostic/colors/lerp/index.js +5 -6
  29. package/agnostic/colors/luminance/index.d.ts +4 -4
  30. package/agnostic/colors/luminance/index.js +3 -3
  31. package/agnostic/colors/palette/index.d.ts +3 -3
  32. package/agnostic/colors/palette/index.js +4 -3
  33. package/agnostic/colors/rotate/index.d.ts +4 -4
  34. package/agnostic/colors/rotate/index.js +4 -4
  35. package/agnostic/colors/tidy/index.d.ts +2 -2
  36. package/agnostic/colors/tidy/index.js +2 -2
  37. package/agnostic/colors/typechecks/index.d.ts +21 -21
  38. package/agnostic/colors/typechecks/index.js +22 -21
  39. package/agnostic/colors/types.d.ts +33 -33
  40. package/agnostic/css/bem/index.d.ts +11 -11
  41. package/agnostic/css/bem/index.js +9 -8
  42. package/agnostic/css/clss/index.d.ts +1 -1
  43. package/agnostic/css/clss/index.js +1 -1
  44. package/agnostic/css/index.d.ts +2 -2
  45. package/agnostic/css/index.js +2 -2
  46. package/agnostic/css/is-valid-css-class-name/index.d.ts +2 -2
  47. package/agnostic/css/is-valid-css-class-name/index.js +3 -3
  48. package/agnostic/css/scale/index.d.ts +18 -18
  49. package/agnostic/css/scale/index.js +18 -18
  50. package/agnostic/css/styles-set/index.d.ts +1 -1
  51. package/agnostic/css/styles-set/index.js +0 -2
  52. package/agnostic/errors/register/index.d.ts +1 -1
  53. package/agnostic/errors/register/index.js +3 -0
  54. package/agnostic/errors/unknown-to-string/index.d.ts +2 -2
  55. package/agnostic/errors/unknown-to-string/index.js +2 -3
  56. package/agnostic/html/deep-select/index.d.ts +3 -3
  57. package/agnostic/html/deep-select/index.js +11 -7
  58. package/agnostic/html/get-node-ancestors/index.d.ts +3 -3
  59. package/agnostic/html/get-node-ancestors/index.js +3 -3
  60. package/agnostic/html/get-position-inside-parent/index.d.ts +2 -2
  61. package/agnostic/html/get-position-inside-parent/index.js +2 -2
  62. package/agnostic/html/hyper-json/cast/index.d.ts +1 -1
  63. package/agnostic/html/hyper-json/cast/index.js +6 -5
  64. package/agnostic/html/hyper-json/method/index.d.ts +2 -2
  65. package/agnostic/html/hyper-json/serialize/index.d.ts +1 -1
  66. package/agnostic/html/hyper-json/serialize/index.js +9 -5
  67. package/agnostic/html/hyper-json/smart-tags/coalesced/addclass/index.js +1 -0
  68. package/agnostic/html/hyper-json/smart-tags/coalesced/and/index.d.ts +1 -1
  69. package/agnostic/html/hyper-json/smart-tags/coalesced/append/index.d.ts +1 -1
  70. package/agnostic/html/hyper-json/smart-tags/coalesced/append/index.js +1 -0
  71. package/agnostic/html/hyper-json/smart-tags/coalesced/at/index.d.ts +1 -1
  72. package/agnostic/html/hyper-json/smart-tags/coalesced/at/index.js +1 -0
  73. package/agnostic/html/hyper-json/smart-tags/coalesced/call/index.d.ts +1 -1
  74. package/agnostic/html/hyper-json/smart-tags/coalesced/call/index.js +1 -1
  75. package/agnostic/html/hyper-json/smart-tags/coalesced/clone/index.d.ts +1 -1
  76. package/agnostic/html/hyper-json/smart-tags/coalesced/deleteproperties/index.d.ts +1 -1
  77. package/agnostic/html/hyper-json/smart-tags/coalesced/deleteproperties/index.js +0 -1
  78. package/agnostic/html/hyper-json/smart-tags/coalesced/equals/index.d.ts +1 -1
  79. package/agnostic/html/hyper-json/smart-tags/coalesced/getattribute/index.js +1 -0
  80. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperties/index.d.ts +1 -1
  81. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperty/index.d.ts +1 -1
  82. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperty/index.js +1 -2
  83. package/agnostic/html/hyper-json/smart-tags/coalesced/hjparse/index.d.ts +1 -1
  84. package/agnostic/html/hyper-json/smart-tags/coalesced/hjstringify/index.d.ts +1 -1
  85. package/agnostic/html/hyper-json/smart-tags/coalesced/hjstringify/index.js +4 -0
  86. package/agnostic/html/hyper-json/smart-tags/coalesced/if/index.d.ts +1 -1
  87. package/agnostic/html/hyper-json/smart-tags/coalesced/if/index.js +1 -0
  88. package/agnostic/html/hyper-json/smart-tags/coalesced/index.d.ts +12 -12
  89. package/agnostic/html/hyper-json/smart-tags/coalesced/index.js +12 -12
  90. package/agnostic/html/hyper-json/smart-tags/coalesced/initialize/index.d.ts +1 -1
  91. package/agnostic/html/hyper-json/smart-tags/coalesced/initialize/index.js +1 -0
  92. package/agnostic/html/hyper-json/smart-tags/coalesced/join/index.d.ts +1 -1
  93. package/agnostic/html/hyper-json/smart-tags/coalesced/length/index.d.ts +1 -1
  94. package/agnostic/html/hyper-json/smart-tags/coalesced/map/index.d.ts +1 -1
  95. package/agnostic/html/hyper-json/smart-tags/coalesced/or/index.d.ts +1 -1
  96. package/agnostic/html/hyper-json/smart-tags/coalesced/pickrandom/index.d.ts +1 -1
  97. package/agnostic/html/hyper-json/smart-tags/coalesced/populate/index.d.ts +1 -1
  98. package/agnostic/html/hyper-json/smart-tags/coalesced/populate/index.js +1 -0
  99. package/agnostic/html/hyper-json/smart-tags/coalesced/print/index.d.ts +1 -1
  100. package/agnostic/html/hyper-json/smart-tags/coalesced/print/index.js +2 -0
  101. package/agnostic/html/hyper-json/smart-tags/coalesced/push/index.d.ts +1 -1
  102. package/agnostic/html/hyper-json/smart-tags/coalesced/pusheach/index.d.ts +1 -1
  103. package/agnostic/html/hyper-json/smart-tags/coalesced/pusheach/index.js +1 -0
  104. package/agnostic/html/hyper-json/smart-tags/coalesced/recordtoarray/index.d.ts +1 -1
  105. package/agnostic/html/hyper-json/smart-tags/coalesced/removeattribute/index.js +3 -0
  106. package/agnostic/html/hyper-json/smart-tags/coalesced/removeclass/index.js +1 -0
  107. package/agnostic/html/hyper-json/smart-tags/coalesced/renameproperty/index.d.ts +1 -1
  108. package/agnostic/html/hyper-json/smart-tags/coalesced/renameproperty/index.js +1 -0
  109. package/agnostic/html/hyper-json/smart-tags/coalesced/replace/index.d.ts +1 -1
  110. package/agnostic/html/hyper-json/smart-tags/coalesced/replace/index.js +1 -0
  111. package/agnostic/html/hyper-json/smart-tags/coalesced/select/index.js +1 -0
  112. package/agnostic/html/hyper-json/smart-tags/coalesced/set/index.d.ts +1 -1
  113. package/agnostic/html/hyper-json/smart-tags/coalesced/set/index.js +1 -0
  114. package/agnostic/html/hyper-json/smart-tags/coalesced/setattribute/index.js +3 -0
  115. package/agnostic/html/hyper-json/smart-tags/coalesced/setproperty/index.d.ts +1 -1
  116. package/agnostic/html/hyper-json/smart-tags/coalesced/setproperty/index.js +4 -2
  117. package/agnostic/html/hyper-json/smart-tags/coalesced/sorton/index.d.ts +1 -1
  118. package/agnostic/html/hyper-json/smart-tags/coalesced/sorton/index.js +5 -0
  119. package/agnostic/html/hyper-json/smart-tags/coalesced/spread/index.d.ts +1 -1
  120. package/agnostic/html/hyper-json/smart-tags/coalesced/spread/index.js +1 -0
  121. package/agnostic/html/hyper-json/smart-tags/coalesced/toarray/index.d.ts +1 -1
  122. package/agnostic/html/hyper-json/smart-tags/coalesced/toboolean/index.d.ts +1 -1
  123. package/agnostic/html/hyper-json/smart-tags/coalesced/toelement/index.d.ts +1 -1
  124. package/agnostic/html/hyper-json/smart-tags/coalesced/toggleclass/index.js +3 -2
  125. package/agnostic/html/hyper-json/smart-tags/coalesced/tonodelist/index.d.ts +1 -1
  126. package/agnostic/html/hyper-json/smart-tags/coalesced/tonull/index.d.ts +1 -1
  127. package/agnostic/html/hyper-json/smart-tags/coalesced/tonumber/index.d.ts +1 -1
  128. package/agnostic/html/hyper-json/smart-tags/coalesced/torecord/index.d.ts +1 -1
  129. package/agnostic/html/hyper-json/smart-tags/coalesced/toref/index.d.ts +1 -1
  130. package/agnostic/html/hyper-json/smart-tags/coalesced/tostring/index.d.ts +1 -1
  131. package/agnostic/html/hyper-json/smart-tags/coalesced/totext/index.d.ts +1 -1
  132. package/agnostic/html/hyper-json/smart-tags/coalesced/transformselected/index.d.ts +1 -1
  133. package/agnostic/html/hyper-json/smart-tags/coalesced/trim/index.js +1 -1
  134. package/agnostic/html/hyper-json/smart-tags/index.d.ts +1 -1
  135. package/agnostic/html/hyper-json/smart-tags/isolated/any/index.d.ts +1 -1
  136. package/agnostic/html/hyper-json/smart-tags/isolated/array/index.d.ts +1 -1
  137. package/agnostic/html/hyper-json/smart-tags/isolated/get/index.d.ts +1 -1
  138. package/agnostic/html/hyper-json/smart-tags/isolated/guess/index.d.ts +1 -1
  139. package/agnostic/html/hyper-json/smart-tags/isolated/guess/index.js +3 -1
  140. package/agnostic/html/hyper-json/smart-tags/isolated/index.d.ts +2 -2
  141. package/agnostic/html/hyper-json/smart-tags/isolated/index.js +2 -2
  142. package/agnostic/html/hyper-json/smart-tags/isolated/nodelist/index.d.ts +1 -1
  143. package/agnostic/html/hyper-json/smart-tags/isolated/nodelist/index.js +1 -0
  144. package/agnostic/html/hyper-json/smart-tags/isolated/null/index.d.ts +1 -1
  145. package/agnostic/html/hyper-json/smart-tags/isolated/record/index.d.ts +1 -1
  146. package/agnostic/html/hyper-json/smart-tags/isolated/ref/index.d.ts +1 -1
  147. package/agnostic/html/hyper-json/smart-tags/isolated/ref/index.js +3 -1
  148. package/agnostic/html/hyper-json/smart-tags/isolated/text/index.js +2 -2
  149. package/agnostic/html/hyper-json/transformer/index.d.ts +5 -5
  150. package/agnostic/html/hyper-json/tree/index.d.ts +1 -1
  151. package/agnostic/html/hyper-json/tree/index.js +14 -8
  152. package/agnostic/html/hyper-json/types/index.d.ts +11 -11
  153. package/agnostic/html/hyper-json/utils/index.d.ts +3 -3
  154. package/agnostic/html/hyper-json/utils/index.js +8 -3
  155. package/agnostic/html/index.d.ts +4 -4
  156. package/agnostic/html/index.js +4 -4
  157. package/agnostic/html/insert-node/index.d.ts +4 -4
  158. package/agnostic/html/insert-node/index.js +4 -4
  159. package/agnostic/html/replace-in-element/index.d.ts +3 -3
  160. package/agnostic/html/replace-in-element/index.js +4 -4
  161. package/agnostic/html/selector-to-element/index.d.ts +2 -2
  162. package/agnostic/html/selector-to-element/index.js +11 -11
  163. package/agnostic/html/string-to-nodes/index.d.ts +3 -3
  164. package/agnostic/html/string-to-nodes/index.js +3 -3
  165. package/agnostic/html/watch-selection/index.d.ts +4 -5
  166. package/agnostic/html/watch-selection/index.js +5 -6
  167. package/agnostic/index.d.ts +3 -3
  168. package/agnostic/index.js +3 -3
  169. package/agnostic/misc/assert/index.js +3 -1
  170. package/agnostic/misc/cast/index.d.ts +16 -16
  171. package/agnostic/misc/cast/index.js +18 -18
  172. package/agnostic/misc/connection/index.d.ts +5 -5
  173. package/agnostic/misc/connection/index.js +4 -2
  174. package/agnostic/misc/crawler/index.d.ts +18 -18
  175. package/agnostic/misc/crawler/index.js +10 -9
  176. package/agnostic/misc/crawler/index.test.js +2 -2
  177. package/agnostic/misc/crossenv/detect-runtime/index.d.ts +1 -1
  178. package/agnostic/misc/crossenv/detect-runtime/index.js +10 -11
  179. package/agnostic/misc/crossenv/window/index.d.ts +6 -6
  180. package/agnostic/misc/crossenv/window/index.js +6 -5
  181. package/agnostic/misc/data-size/index.js +2 -0
  182. package/agnostic/misc/index.d.ts +3 -3
  183. package/agnostic/misc/index.js +3 -3
  184. package/agnostic/misc/is-constructor-function/index.d.ts +2 -2
  185. package/agnostic/misc/is-constructor-function/index.js +3 -2
  186. package/agnostic/misc/is-constructor-function/index.test.js +2 -2
  187. package/agnostic/misc/is-nullish/index.d.ts +5 -5
  188. package/agnostic/misc/is-nullish/index.js +5 -4
  189. package/agnostic/misc/logs/index.d.ts +1 -1
  190. package/agnostic/misc/logs/index.js +1 -1
  191. package/agnostic/misc/logs/logger/index.js +2 -2
  192. package/agnostic/misc/lorem-ipsum/index.js +4 -4
  193. package/agnostic/misc/normalize-extension/index.d.ts +3 -3
  194. package/agnostic/misc/normalize-extension/index.js +4 -4
  195. package/agnostic/misc/outcome/index.d.ts +14 -14
  196. package/agnostic/misc/outcome/index.js +6 -4
  197. package/agnostic/numbers/absolute-modulo/index.d.ts +3 -3
  198. package/agnostic/numbers/absolute-modulo/index.js +3 -3
  199. package/agnostic/numbers/approximate-rational/index.d.ts +6 -6
  200. package/agnostic/numbers/approximate-rational/index.js +9 -9
  201. package/agnostic/numbers/clamp/index.d.ts +4 -4
  202. package/agnostic/numbers/clamp/index.js +4 -4
  203. package/agnostic/numbers/geometric-progressions/index.d.ts +5 -5
  204. package/agnostic/numbers/geometric-progressions/index.js +7 -5
  205. package/agnostic/numbers/geometric-progressions/index.test.js +2 -2
  206. package/agnostic/numbers/index.d.ts +3 -3
  207. package/agnostic/numbers/index.js +3 -3
  208. package/agnostic/numbers/interpolate/index.d.ts +8 -8
  209. package/agnostic/numbers/interpolate/index.js +8 -8
  210. package/agnostic/numbers/round/index.d.ts +9 -9
  211. package/agnostic/numbers/round/index.js +9 -9
  212. package/agnostic/objects/deep-get-property/index.d.ts +4 -4
  213. package/agnostic/objects/deep-get-property/index.js +3 -3
  214. package/agnostic/objects/enums/is-in-enum/index.d.ts +3 -3
  215. package/agnostic/objects/enums/is-in-enum/index.js +3 -3
  216. package/agnostic/objects/flatten-getters/index.d.ts +2 -2
  217. package/agnostic/objects/flatten-getters/index.js +3 -2
  218. package/agnostic/objects/index.d.ts +4 -4
  219. package/agnostic/objects/index.js +4 -4
  220. package/agnostic/objects/is-object/index.d.ts +4 -4
  221. package/agnostic/objects/is-object/index.js +4 -4
  222. package/agnostic/objects/is-record/index.d.ts +2 -2
  223. package/agnostic/objects/is-record/index.js +2 -2
  224. package/agnostic/objects/record-format/index.d.ts +9 -9
  225. package/agnostic/objects/record-format/index.js +8 -3
  226. package/agnostic/objects/record-map/index.d.ts +4 -4
  227. package/agnostic/objects/record-map/index.js +5 -3
  228. package/agnostic/objects/sort-keys/index.d.ts +3 -3
  229. package/agnostic/objects/sort-keys/index.js +4 -3
  230. package/agnostic/objects/validation/index.d.ts +3 -3
  231. package/agnostic/objects/validation/index.js +4 -3
  232. package/agnostic/optim/memoize/index.d.ts +2 -2
  233. package/agnostic/optim/memoize/index.js +4 -2
  234. package/agnostic/optim/throttle-debounce/index.d.ts +2 -2
  235. package/agnostic/optim/throttle-debounce/index.js +7 -6
  236. package/agnostic/optim/throttle-debounce/types.d.ts +2 -1
  237. package/agnostic/random/index.d.ts +1 -1
  238. package/agnostic/random/index.js +1 -1
  239. package/agnostic/random/random/index.d.ts +7 -8
  240. package/agnostic/random/random/index.js +3 -3
  241. package/agnostic/random/uuid/index.d.ts +6 -6
  242. package/agnostic/random/uuid/index.js +6 -6
  243. package/agnostic/regexps/index.d.ts +30 -60
  244. package/agnostic/regexps/index.js +27 -26
  245. package/agnostic/sanitization/file-name/index.d.ts +3 -3
  246. package/agnostic/sanitization/file-name/index.js +10 -10
  247. package/agnostic/sanitization/html/index.d.ts +6 -6
  248. package/agnostic/sanitization/html/index.js +9 -6
  249. package/agnostic/sanitization/index.d.ts +1 -1
  250. package/agnostic/sanitization/index.js +1 -1
  251. package/agnostic/sanitization/path/index.d.ts +2 -2
  252. package/agnostic/sanitization/path/index.js +2 -2
  253. package/agnostic/sanitization/user-input/index.js +1 -0
  254. package/agnostic/strings/char-codes/index.js +2 -6
  255. package/agnostic/strings/index.d.ts +3 -3
  256. package/agnostic/strings/index.js +3 -3
  257. package/agnostic/strings/normalize-indent/index.js +2 -2
  258. package/agnostic/strings/parse-table/index.d.ts +13 -13
  259. package/agnostic/strings/parse-table/index.js +31 -16
  260. package/agnostic/strings/replace-all/index.d.ts +1 -1
  261. package/agnostic/strings/replace-all/index.js +1 -0
  262. package/agnostic/strings/to-alphanum/index.js +2 -2
  263. package/agnostic/strings/trim/index.js +2 -2
  264. package/agnostic/time/dates/format-date/index.js +3 -1
  265. package/agnostic/time/dates/index.d.ts +1 -0
  266. package/agnostic/time/dates/index.js +1 -0
  267. package/agnostic/time/dates/to-french-republican/index.d.ts +16 -0
  268. package/agnostic/time/dates/to-french-republican/index.js +82 -0
  269. package/agnostic/time/dates/to-french-republican/index.test.d.ts +1 -0
  270. package/agnostic/time/dates/to-french-republican/index.test.js +112 -0
  271. package/agnostic/time/dates/to-french-republican/types.d.ts +91 -0
  272. package/agnostic/time/dates/to-french-republican/types.js +47 -0
  273. package/agnostic/time/dates/to-french-republican/utils.d.ts +32 -0
  274. package/agnostic/time/dates/to-french-republican/utils.js +155 -0
  275. package/agnostic/time/duration/index.js +2 -0
  276. package/agnostic/time/index.d.ts +2 -2
  277. package/agnostic/time/index.js +2 -2
  278. package/agnostic/time/timeout/index.js +9 -9
  279. package/agnostic/time/transitions/index.js +8 -7
  280. package/components/BeforeAfter/index.controlled.js +1 -0
  281. package/components/BeforeAfter/index.js +4 -0
  282. package/components/Button/index.d.ts +1 -1
  283. package/components/Clippable/index.js +1 -0
  284. package/components/Drawer/index.js +1 -1
  285. package/components/Gallery/index.js +2 -1
  286. package/components/Gallery/utils.js +5 -1
  287. package/components/Iframe/index.js +3 -0
  288. package/components/Image/index.js +2 -0
  289. package/components/Input/index.controlled.js +3 -2
  290. package/components/IntersectionObserver/index.js +5 -2
  291. package/components/JsonEditor/index.js +1 -1
  292. package/components/Overlayer/index.d.ts +1 -1
  293. package/components/ScrollListener/utils.d.ts +29 -0
  294. package/components/Select/index.controlled.js +3 -2
  295. package/components/Sequencer/index.controlled.js +1 -1
  296. package/components/Subtitles/index.js +3 -1
  297. package/components/Subtitles/types.d.ts +14 -0
  298. package/components/Subtitles/utils.d.ts +19 -15
  299. package/components/Subtitles/utils.js +29 -24
  300. package/components/Textarea/index.controlled.js +3 -2
  301. package/components/UIModule/index.js +3 -1
  302. package/components/Video/index.controlled.d.ts +1 -1
  303. package/components/Video/index.controlled.js +11 -10
  304. package/components/Video/index.js +27 -20
  305. package/components/Video/utils.d.ts +1 -1
  306. package/components/Video/utils.js +11 -2
  307. package/components/index.d.ts +5 -5
  308. package/components/index.js +5 -5
  309. package/components/utils/types.d.ts +5 -0
  310. package/node/@aws-s3/storage/directory/copy-dir/index.d.ts +9 -9
  311. package/node/@aws-s3/storage/directory/copy-dir/index.js +15 -12
  312. package/node/@aws-s3/storage/directory/list/index.d.ts +5 -5
  313. package/node/@aws-s3/storage/directory/list/index.js +5 -5
  314. package/node/@aws-s3/storage/directory/move-dir/index.d.ts +6 -6
  315. package/node/@aws-s3/storage/directory/move-dir/index.js +11 -7
  316. package/node/@aws-s3/storage/directory/remove-dir/index.d.ts +5 -5
  317. package/node/@aws-s3/storage/directory/remove-dir/index.js +5 -5
  318. package/node/@aws-s3/storage/file/copy/index.d.ts +8 -8
  319. package/node/@aws-s3/storage/file/copy/index.js +12 -9
  320. package/node/@aws-s3/storage/file/download/index.d.ts +6 -6
  321. package/node/@aws-s3/storage/file/download/index.js +6 -5
  322. package/node/@aws-s3/storage/file/exists/index.d.ts +6 -6
  323. package/node/@aws-s3/storage/file/exists/index.js +15 -12
  324. package/node/@aws-s3/storage/file/move/index.d.ts +9 -9
  325. package/node/@aws-s3/storage/file/move/index.js +18 -15
  326. package/node/@aws-s3/storage/file/remove/index.d.ts +5 -5
  327. package/node/@aws-s3/storage/file/remove/index.js +16 -11
  328. package/node/@aws-s3/storage/file/stat/index.d.ts +5 -5
  329. package/node/@aws-s3/storage/file/stat/index.js +10 -7
  330. package/node/@aws-s3/storage/file/upload/index.d.ts +7 -7
  331. package/node/@aws-s3/storage/file/upload/index.js +11 -9
  332. package/node/@express/@multer/index.d.ts +12 -12
  333. package/node/@express/@multer/index.js +27 -25
  334. package/node/@google-cloud/storage/bucket/get-metadata/index.d.ts +4 -4
  335. package/node/@google-cloud/storage/bucket/get-metadata/index.js +3 -3
  336. package/node/@google-cloud/storage/directory/copy-dir/index.d.ts +7 -7
  337. package/node/@google-cloud/storage/directory/copy-dir/index.js +6 -6
  338. package/node/@google-cloud/storage/directory/index.d.ts +2 -2
  339. package/node/@google-cloud/storage/directory/index.js +2 -2
  340. package/node/@google-cloud/storage/directory/list/index.d.ts +6 -6
  341. package/node/@google-cloud/storage/directory/list/index.js +5 -5
  342. package/node/@google-cloud/storage/directory/move-dir/index.d.ts +6 -6
  343. package/node/@google-cloud/storage/directory/move-dir/index.js +5 -5
  344. package/node/@google-cloud/storage/directory/remove-dir/index.d.ts +7 -7
  345. package/node/@google-cloud/storage/directory/remove-dir/index.js +6 -6
  346. package/node/@google-cloud/storage/file/copy/index.d.ts +9 -9
  347. package/node/@google-cloud/storage/file/copy/index.js +8 -8
  348. package/node/@google-cloud/storage/file/download/index.d.ts +7 -7
  349. package/node/@google-cloud/storage/file/download/index.js +5 -5
  350. package/node/@google-cloud/storage/file/exists/index.d.ts +7 -7
  351. package/node/@google-cloud/storage/file/exists/index.js +6 -6
  352. package/node/@google-cloud/storage/file/generate-signed-url/index.d.ts +7 -7
  353. package/node/@google-cloud/storage/file/generate-signed-url/index.js +6 -6
  354. package/node/@google-cloud/storage/file/get-metadata/index.d.ts +5 -5
  355. package/node/@google-cloud/storage/file/get-metadata/index.js +4 -4
  356. package/node/@google-cloud/storage/file/get-permissions/index.d.ts +6 -6
  357. package/node/@google-cloud/storage/file/get-permissions/index.js +4 -4
  358. package/node/@google-cloud/storage/file/index.d.ts +3 -3
  359. package/node/@google-cloud/storage/file/index.js +3 -3
  360. package/node/@google-cloud/storage/file/move/index.d.ts +10 -10
  361. package/node/@google-cloud/storage/file/move/index.js +9 -9
  362. package/node/@google-cloud/storage/file/remove/index.d.ts +5 -5
  363. package/node/@google-cloud/storage/file/remove/index.js +4 -4
  364. package/node/@google-cloud/storage/file/revoke-signed-urls/index.d.ts +5 -5
  365. package/node/@google-cloud/storage/file/revoke-signed-urls/index.js +5 -5
  366. package/node/@google-cloud/storage/file/stat/index.d.ts +5 -5
  367. package/node/@google-cloud/storage/file/stat/index.js +4 -4
  368. package/node/@google-cloud/storage/file/update-metadata/index.d.ts +7 -7
  369. package/node/@google-cloud/storage/file/update-metadata/index.js +5 -5
  370. package/node/@google-cloud/storage/file/upload/index.d.ts +7 -7
  371. package/node/@google-cloud/storage/file/upload/index.js +5 -5
  372. package/node/@google-cloud/storage/index.d.ts +1 -1
  373. package/node/@google-cloud/storage/index.js +1 -1
  374. package/node/cloud-storage/clients/index.d.ts +8 -8
  375. package/node/cloud-storage/clients/index.js +8 -8
  376. package/node/cloud-storage/operations/copy-dir/index.d.ts +22 -22
  377. package/node/cloud-storage/operations/copy-dir/index.js +5 -5
  378. package/node/cloud-storage/operations/copy-file/index.d.ts +22 -22
  379. package/node/cloud-storage/operations/copy-file/index.js +5 -5
  380. package/node/cloud-storage/operations/download-file/index.d.ts +19 -19
  381. package/node/cloud-storage/operations/download-file/index.js +6 -6
  382. package/node/cloud-storage/operations/exists-file/index.d.ts +15 -26
  383. package/node/cloud-storage/operations/exists-file/index.js +4 -4
  384. package/node/cloud-storage/operations/index.d.ts +2 -2
  385. package/node/cloud-storage/operations/index.js +2 -2
  386. package/node/cloud-storage/operations/list-dir/index.d.ts +15 -25
  387. package/node/cloud-storage/operations/list-dir/index.js +4 -4
  388. package/node/cloud-storage/operations/move-dir/index.d.ts +22 -22
  389. package/node/cloud-storage/operations/move-dir/index.js +5 -5
  390. package/node/cloud-storage/operations/move-file/index.d.ts +22 -22
  391. package/node/cloud-storage/operations/move-file/index.js +5 -5
  392. package/node/cloud-storage/operations/remove-dir/index.d.ts +18 -18
  393. package/node/cloud-storage/operations/remove-dir/index.js +4 -4
  394. package/node/cloud-storage/operations/remove-file/index.d.ts +18 -18
  395. package/node/cloud-storage/operations/remove-file/index.js +4 -4
  396. package/node/cloud-storage/operations/stat-file/index.d.ts +16 -16
  397. package/node/cloud-storage/operations/stat-file/index.js +4 -4
  398. package/node/cloud-storage/operations/upload-file/index.d.ts +23 -23
  399. package/node/cloud-storage/operations/upload-file/index.js +5 -5
  400. package/node/encryption/@aes-256-gcm/buffer/index.d.ts +6 -6
  401. package/node/encryption/@aes-256-gcm/buffer/index.js +6 -6
  402. package/node/encryption/@aes-256-gcm/uint8-array/index.d.ts +8 -8
  403. package/node/encryption/@aes-256-gcm/uint8-array/index.js +8 -8
  404. package/node/encryption/key/index.d.ts +6 -6
  405. package/node/encryption/key/index.js +6 -6
  406. package/node/files/get-size/index.d.ts +56 -0
  407. package/node/files/get-size/index.js +167 -0
  408. package/node/files/get-size/index.test.d.ts +1 -0
  409. package/node/files/get-size/index.test.js +143 -0
  410. package/node/files/index.d.ts +1 -0
  411. package/node/files/index.js +1 -0
  412. package/node/files/read-write/index.d.ts +16 -16
  413. package/node/files/subpaths/index.d.ts +8 -8
  414. package/node/files/subpaths/index.js +11 -13
  415. package/node/ftps/directory/copy-dir/index.d.ts +6 -6
  416. package/node/ftps/directory/copy-dir/index.js +6 -6
  417. package/node/ftps/directory/index.d.ts +1 -1
  418. package/node/ftps/directory/index.js +1 -1
  419. package/node/ftps/directory/list/index.d.ts +4 -4
  420. package/node/ftps/directory/list/index.js +3 -3
  421. package/node/ftps/directory/move-dir/index.d.ts +6 -6
  422. package/node/ftps/directory/move-dir/index.js +5 -5
  423. package/node/ftps/directory/remove-dir/index.d.ts +6 -6
  424. package/node/ftps/directory/remove-dir/index.js +8 -7
  425. package/node/ftps/file/copy/index.d.ts +6 -6
  426. package/node/ftps/file/copy/index.js +5 -5
  427. package/node/ftps/file/download/index.d.ts +6 -6
  428. package/node/ftps/file/download/index.js +5 -5
  429. package/node/ftps/file/exists/index.d.ts +3 -3
  430. package/node/ftps/file/exists/index.js +3 -3
  431. package/node/ftps/file/index.d.ts +2 -2
  432. package/node/ftps/file/index.js +2 -2
  433. package/node/ftps/file/move/index.d.ts +8 -8
  434. package/node/ftps/file/move/index.js +11 -9
  435. package/node/ftps/file/remove/index.d.ts +5 -5
  436. package/node/ftps/file/remove/index.js +4 -4
  437. package/node/ftps/file/stat/index.d.ts +4 -4
  438. package/node/ftps/file/stat/index.js +4 -4
  439. package/node/ftps/file/upload/index.d.ts +7 -7
  440. package/node/ftps/file/upload/index.js +5 -5
  441. package/node/images/create/index.d.ts +2 -2
  442. package/node/images/create/index.js +1 -1
  443. package/node/images/format/index.d.ts +8 -8
  444. package/node/images/index.d.ts +1 -1
  445. package/node/images/index.js +1 -1
  446. package/node/images/metadata/index.d.ts +2 -2
  447. package/node/images/transform/index.d.ts +2 -2
  448. package/node/images/transform/index.js +12 -2
  449. package/node/images/transform/operations/blur/index.d.ts +2 -2
  450. package/node/images/transform/operations/blur/index.js +1 -0
  451. package/node/images/transform/operations/brighten/index.d.ts +2 -2
  452. package/node/images/transform/operations/brighten/index.js +1 -0
  453. package/node/images/transform/operations/extend/index.d.ts +2 -2
  454. package/node/images/transform/operations/extend/index.js +1 -0
  455. package/node/images/transform/operations/extract/index.d.ts +2 -2
  456. package/node/images/transform/operations/extract/index.js +1 -0
  457. package/node/images/transform/operations/flatten/index.d.ts +2 -2
  458. package/node/images/transform/operations/flatten/index.js +1 -0
  459. package/node/images/transform/operations/flip/index.d.ts +2 -2
  460. package/node/images/transform/operations/flip/index.js +1 -0
  461. package/node/images/transform/operations/flop/index.d.ts +2 -2
  462. package/node/images/transform/operations/flop/index.js +1 -0
  463. package/node/images/transform/operations/hue/index.d.ts +2 -2
  464. package/node/images/transform/operations/hue/index.js +1 -0
  465. package/node/images/transform/operations/index.d.ts +2 -2
  466. package/node/images/transform/operations/index.js +2 -2
  467. package/node/images/transform/operations/level/index.d.ts +2 -2
  468. package/node/images/transform/operations/level/index.js +1 -0
  469. package/node/images/transform/operations/lighten/index.d.ts +2 -2
  470. package/node/images/transform/operations/lighten/index.js +1 -0
  471. package/node/images/transform/operations/normalize/index.d.ts +2 -2
  472. package/node/images/transform/operations/normalize/index.js +1 -0
  473. package/node/images/transform/operations/overlay/index.d.ts +2 -2
  474. package/node/images/transform/operations/resize/index.d.ts +2 -2
  475. package/node/images/transform/operations/resize/index.js +1 -0
  476. package/node/images/transform/operations/rotate/index.d.ts +2 -2
  477. package/node/images/transform/operations/rotate/index.js +1 -0
  478. package/node/images/transform/operations/saturate/index.d.ts +2 -2
  479. package/node/images/transform/operations/saturate/index.js +1 -0
  480. package/node/images/types.d.ts +41 -2
  481. package/node/images/utils/index.d.ts +10 -5
  482. package/node/index.d.ts +2 -2
  483. package/node/index.js +2 -2
  484. package/node/process/on-exit/index.js +2 -4
  485. package/node/process/prompt-continue/index.d.ts +3 -3
  486. package/node/process/prompt-continue/index.js +4 -3
  487. package/node/process/spawner/index.js +7 -6
  488. package/node/sftp/directory/copy-dir/index.d.ts +6 -6
  489. package/node/sftp/directory/copy-dir/index.js +6 -6
  490. package/node/sftp/directory/index.d.ts +1 -1
  491. package/node/sftp/directory/index.js +1 -1
  492. package/node/sftp/directory/list/index.d.ts +3 -3
  493. package/node/sftp/directory/list/index.js +4 -4
  494. package/node/sftp/directory/move-dir/index.d.ts +7 -7
  495. package/node/sftp/directory/move-dir/index.js +7 -7
  496. package/node/sftp/directory/remove-dir/index.d.ts +5 -5
  497. package/node/sftp/directory/remove-dir/index.js +8 -7
  498. package/node/sftp/file/copy/index.d.ts +6 -6
  499. package/node/sftp/file/copy/index.js +5 -5
  500. package/node/sftp/file/download/index.d.ts +7 -7
  501. package/node/sftp/file/download/index.js +5 -5
  502. package/node/sftp/file/exists/index.d.ts +3 -3
  503. package/node/sftp/file/exists/index.js +3 -3
  504. package/node/sftp/file/index.d.ts +2 -2
  505. package/node/sftp/file/index.js +2 -2
  506. package/node/sftp/file/move/index.d.ts +7 -7
  507. package/node/sftp/file/move/index.js +7 -7
  508. package/node/sftp/file/remove/index.d.ts +4 -4
  509. package/node/sftp/file/remove/index.js +4 -4
  510. package/node/sftp/file/stat/index.d.ts +3 -3
  511. package/node/sftp/file/stat/index.js +6 -5
  512. package/node/sftp/file/upload/index.d.ts +6 -6
  513. package/node/sftp/file/upload/index.js +5 -5
  514. package/package.json +47 -39
@@ -1,3 +1,4 @@
1
+ /* eslint-disable no-console */
1
2
  import { spawn, spawnSync } from 'node:child_process';
2
3
  import ansiRegex from 'ansi-regex';
3
4
  import chalk from 'chalk';
@@ -23,7 +24,7 @@ import { unknownToString } from '../../../agnostic/errors/unknown-to-string/inde
23
24
  export async function spawner(label, command, args, options) {
24
25
  return await new Promise((resolve, reject) => {
25
26
  if (label !== null)
26
- console.log('\n' + styles.info(label) + '\n');
27
+ console.log(`\n${styles.info(label)}\n`);
27
28
  const printableArgs = options?.argsPrintFormat !== undefined
28
29
  ? options.argsPrintFormat(args)
29
30
  : args;
@@ -48,7 +49,7 @@ export async function spawner(label, command, args, options) {
48
49
  });
49
50
  prcss.on('close', code => {
50
51
  if (code !== 0 && options?.throwOnError === true)
51
- reject(new Error(stderr + '\n' + stdout));
52
+ reject(new Error(`${stderr}\n${stdout}`));
52
53
  else if (code !== 0)
53
54
  return resolve(Outcome.makeFailure({ stdout, stderr, err }));
54
55
  else
@@ -75,14 +76,14 @@ export async function spawner(label, command, args, options) {
75
76
  */
76
77
  export function spawnerSync(label, command, args, options) {
77
78
  if (label !== null)
78
- console.log('\n' + styles.info(label) + '\n');
79
+ console.log(`\n${styles.info(label)}\n}`);
79
80
  const printableArgs = options?.argsPrintFormat !== undefined
80
81
  ? options.argsPrintFormat(args)
81
82
  : args;
82
83
  console.log(styles.light(`> ${command} ${printableArgs.join(' ')}\n`));
83
84
  const result = spawnSync(command, args, { stdio: 'pipe', encoding: 'utf8', ...options });
84
- const stderr = result.stderr?.toString().trim();
85
- const stdout = result.stdout?.toString().trim();
85
+ const stderr = result.stderr.toString().trim();
86
+ const stdout = result.stdout.toString().trim();
86
87
  const err = result.error;
87
88
  if (err !== undefined) {
88
89
  console.log(styles.light(chalk.italic('err:\n')));
@@ -100,7 +101,7 @@ export function spawnerSync(label, command, args, options) {
100
101
  console.log('');
101
102
  }
102
103
  if (result.status !== 0 && options?.throwOnError === true)
103
- throw new Error(stderr + '\n' + stdout);
104
+ throw new Error(`${stderr}\n${stdout}`);
104
105
  else if (result.status !== 0)
105
106
  return Outcome.makeFailure({ stdout, stderr, err });
106
107
  return Outcome.makeSuccess({ stdout, stderr, err });
@@ -1,4 +1,4 @@
1
- import { type TransferOptions } from 'ssh2-sftp-client';
1
+ import type { TransferOptions } from 'ssh2-sftp-client';
2
2
  import type Client from 'ssh2-sftp-client';
3
3
  import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
4
4
  export type CopyDirOptions = TransferOptions & {
@@ -18,11 +18,11 @@ export type CopyDirOptions = TransferOptions & {
18
18
  * Recursively copies every file under `sourceDir` to the same relative path
19
19
  * beneath `targetDir` on an SFTP server, streaming data to minimize memory usage.
20
20
  *
21
- * @param {Client} sftp - The SFTP client instance.
22
- * @param {string} sourceDir - The source directory path to copy from.
23
- * @param {string} targetDir - The target directory path to copy to.
24
- * @param {CopyDirOptions} [options] - Optional parameters for the operation.
25
- * @returns {Promise<Outcome.Either<true, string>>}
21
+ * @param sftp - The SFTP client instance.
22
+ * @param sourceDir - The source directory path to copy from.
23
+ * @param targetDir - The target directory path to copy to.
24
+ * @param [options] - Optional parameters for the operation.
25
+ * @returns
26
26
  * - On success: `Outcome.makeSuccess(true)` indicating the copy was successful.
27
27
  * - On failure: `Outcome.makeFailure(errStr)` with an error message if the copy fails.
28
28
  */
@@ -5,11 +5,11 @@ import { unknownToString } from '../../../../agnostic/errors/unknown-to-string/i
5
5
  * Recursively copies every file under `sourceDir` to the same relative path
6
6
  * beneath `targetDir` on an SFTP server, streaming data to minimize memory usage.
7
7
  *
8
- * @param {Client} sftp - The SFTP client instance.
9
- * @param {string} sourceDir - The source directory path to copy from.
10
- * @param {string} targetDir - The target directory path to copy to.
11
- * @param {CopyDirOptions} [options] - Optional parameters for the operation.
12
- * @returns {Promise<Outcome.Either<true, string>>}
8
+ * @param sftp - The SFTP client instance.
9
+ * @param sourceDir - The source directory path to copy from.
10
+ * @param targetDir - The target directory path to copy to.
11
+ * @param [options] - Optional parameters for the operation.
12
+ * @returns
13
13
  * - On success: `Outcome.makeSuccess(true)` indicating the copy was successful.
14
14
  * - On failure: `Outcome.makeFailure(errStr)` with an error message if the copy fails.
15
15
  */
@@ -18,7 +18,7 @@ export async function copyDir(sftp, sourceDir, targetDir, options) {
18
18
  async function recurse(dir) {
19
19
  const list = await sftp.list(dir);
20
20
  for (const entry of list) {
21
- const src = dir.endsWith('/') ? dir + entry.name : dir + '/' + entry.name;
21
+ const src = dir.endsWith('/') ? `${dir}${entry.name}` : `${dir}/${entry.name}`;
22
22
  const rel = src.substring(sourceDir.length + (sourceDir.endsWith('/') ? 0 : 1));
23
23
  const dst = targetDir.endsWith('/') ? targetDir + rel : `${targetDir}/${rel}`;
24
24
  if (entry.type === 'd') {
@@ -1,4 +1,4 @@
1
- export * as copyDir from './copy-dir/index.js'
2
1
  export * as list from './list/index.js'
2
+ export * as copyDir from './copy-dir/index.js'
3
3
  export * as moveDir from './move-dir/index.js'
4
4
  export * as removeDir from './remove-dir/index.js'
@@ -1,4 +1,4 @@
1
- export * as copyDir from './copy-dir/index.js'
2
1
  export * as list from './list/index.js'
2
+ export * as copyDir from './copy-dir/index.js'
3
3
  export * as moveDir from './move-dir/index.js'
4
4
  export * as removeDir from './remove-dir/index.js'
@@ -5,8 +5,8 @@ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
5
5
  *
6
6
  * This function returns only the immediate files (not recursive) under the specified directory.
7
7
  *
8
- * @param {Client} sftp - The ssh2-sftp-client instance used to interact with the SFTP server.
9
- * @param {string} directoryPath - The directory path to list files under.
10
- * @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 sftp - The ssh2-sftp-client instance used to interact with the SFTP server.
9
+ * @param directoryPath - The directory path to list files under.
10
+ * @returns Returns either a success with an array of file paths, or a failure with an error message.
11
11
  */
12
12
  export declare function list(sftp: Client, directoryPath: string): Promise<Outcome.Either<string[], string>>;
@@ -5,16 +5,16 @@ import { unknownToString } from '../../../../agnostic/errors/unknown-to-string/i
5
5
  *
6
6
  * This function returns only the immediate files (not recursive) under the specified directory.
7
7
  *
8
- * @param {Client} sftp - The ssh2-sftp-client instance used to interact with the SFTP server.
9
- * @param {string} directoryPath - The directory path to list files under.
10
- * @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 sftp - The ssh2-sftp-client instance used to interact with the SFTP server.
9
+ * @param directoryPath - The directory path to list files under.
10
+ * @returns Returns either a success with an array of file paths, or a failure with an error message.
11
11
  */
12
12
  export async function list(sftp, directoryPath) {
13
13
  try {
14
14
  const list = await sftp.list(directoryPath);
15
15
  const files = list
16
16
  .filter(entry => entry.type === '-')
17
- .map(entry => (directoryPath.endsWith('/') ? directoryPath + entry.name : directoryPath + '/' + entry.name));
17
+ .map(entry => (directoryPath.endsWith('/') ? `${directoryPath}${entry.name}` : `${directoryPath}/${entry.name}`));
18
18
  return Outcome.makeSuccess(files);
19
19
  }
20
20
  catch (err) {
@@ -13,13 +13,13 @@ export type MoveDirOptions = {
13
13
  * If `ensureDir` is true (default), the parent directory of `targetDir` is
14
14
  * created if it does not exist.
15
15
  *
16
- * @param {Client} sftp - The SFTP client instance.
17
- * @param {string} sourceDir - The source directory path to move from.
18
- * @param {string} targetDir - The target directory path to move to.
19
- * @param {MoveDirOptions} [options] - Optional parameters for the operation.
20
- * @param {boolean} [options.overwrite=false] - If false and `targetDir` exists, abort.
21
- * @param {boolean} [options.ensureDir=true] - Whether to create the parent directory of `targetDir`.
22
- * @returns {Promise<Outcome.Either<true, string>>} A promise that resolves to an `Outcome.Either`:
16
+ * @param sftp - The SFTP client instance.
17
+ * @param sourceDir - The source directory path to move from.
18
+ * @param targetDir - The target directory path to move to.
19
+ * @param [options] - Optional parameters for the operation.
20
+ * @param [options.overwrite=false] - If false and `targetDir` exists, abort.
21
+ * @param [options.ensureDir=true] - Whether to create the parent directory of `targetDir`.
22
+ * @returns A promise that resolves to an `Outcome.Either`:
23
23
  * - On success: `Outcome.makeSuccess(true)` indicating the move was successful.
24
24
  * - On failure: `Outcome.makeFailure(errStr)` with an error message if the move fails.
25
25
  */
@@ -7,13 +7,13 @@ import { unknownToString } from '../../../../agnostic/errors/unknown-to-string/i
7
7
  * If `ensureDir` is true (default), the parent directory of `targetDir` is
8
8
  * created if it does not exist.
9
9
  *
10
- * @param {Client} sftp - The SFTP client instance.
11
- * @param {string} sourceDir - The source directory path to move from.
12
- * @param {string} targetDir - The target directory path to move to.
13
- * @param {MoveDirOptions} [options] - Optional parameters for the operation.
14
- * @param {boolean} [options.overwrite=false] - If false and `targetDir` exists, abort.
15
- * @param {boolean} [options.ensureDir=true] - Whether to create the parent directory of `targetDir`.
16
- * @returns {Promise<Outcome.Either<true, string>>} A promise that resolves to an `Outcome.Either`:
10
+ * @param sftp - The SFTP client instance.
11
+ * @param sourceDir - The source directory path to move from.
12
+ * @param targetDir - The target directory path to move to.
13
+ * @param [options] - Optional parameters for the operation.
14
+ * @param [options.overwrite=false] - If false and `targetDir` exists, abort.
15
+ * @param [options.ensureDir=true] - Whether to create the parent directory of `targetDir`.
16
+ * @returns A promise that resolves to an `Outcome.Either`:
17
17
  * - On success: `Outcome.makeSuccess(true)` indicating the move was successful.
18
18
  * - On failure: `Outcome.makeFailure(errStr)` with an error message if the move fails.
19
19
  */
@@ -12,11 +12,11 @@ export type RemoveDirOptions = {
12
12
  /**
13
13
  * Recursively deletes a directory (and all contents) on an SFTP server.
14
14
  *
15
- * @param {Client} sftp - The SFTP client instance.
16
- * @param {string} directoryPath - The path of the directory to delete.
17
- * @param {RemoveDirOptions} [options] - Optional configuration.
18
- * @param {boolean} [options.ignoreMissing=true] - Whether to ignore a missing directory.
19
- * @returns {Promise<Outcome.Either<true, string>>}
15
+ * @param sftp - The SFTP client instance.
16
+ * @param directoryPath - The path of the directory to delete.
17
+ * @param [options] - Optional configuration.
18
+ * @param [options.ignoreMissing=true] - Whether to ignore a missing directory.
19
+ * @returns
20
20
  * - On success: `Outcome.makeSuccess(true)` – deletion succeeded, or the
21
21
  * directory was absent and `ignoreMissing` is true.
22
22
  * - On failure: `Outcome.makeFailure(errStr)` if deletion fails, or directory
@@ -1,13 +1,14 @@
1
1
  import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
2
2
  import { unknownToString } from '../../../../agnostic/errors/unknown-to-string/index.js';
3
+ import { deepGetProperty } from '../../../../agnostic/objects/deep-get-property/index.js';
3
4
  /**
4
5
  * Recursively deletes a directory (and all contents) on an SFTP server.
5
6
  *
6
- * @param {Client} sftp - The SFTP client instance.
7
- * @param {string} directoryPath - The path of the directory to delete.
8
- * @param {RemoveDirOptions} [options] - Optional configuration.
9
- * @param {boolean} [options.ignoreMissing=true] - Whether to ignore a missing directory.
10
- * @returns {Promise<Outcome.Either<true, string>>}
7
+ * @param sftp - The SFTP client instance.
8
+ * @param directoryPath - The path of the directory to delete.
9
+ * @param [options] - Optional configuration.
10
+ * @param [options.ignoreMissing=true] - Whether to ignore a missing directory.
11
+ * @returns
11
12
  * - On success: `Outcome.makeSuccess(true)` – deletion succeeded, or the
12
13
  * directory was absent and `ignoreMissing` is true.
13
14
  * - On failure: `Outcome.makeFailure(errStr)` if deletion fails, or directory
@@ -33,10 +34,10 @@ export async function removeDir(sftp, directoryPath, options) {
33
34
  return Outcome.makeSuccess(true);
34
35
  }
35
36
  catch (err) {
37
+ const code = deepGetProperty(err, 'code');
36
38
  // ssh2-sftp-client uses code 2 / ENOENT for “No such file or directory”
37
- if (ignoreMissing && (err.code === 2 || err.code === 'ENOENT')) {
39
+ if (ignoreMissing && (code === 2 || code === 'ENOENT'))
38
40
  return Outcome.makeSuccess(true);
39
- }
40
41
  return Outcome.makeFailure(unknownToString(err));
41
42
  }
42
43
  }
@@ -1,4 +1,4 @@
1
- import { type TransferOptions } from 'ssh2-sftp-client';
1
+ import type { TransferOptions } from 'ssh2-sftp-client';
2
2
  import type Client from 'ssh2-sftp-client';
3
3
  import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
4
4
  export type CopyOptions = TransferOptions & {
@@ -18,11 +18,11 @@ export type CopyOptions = TransferOptions & {
18
18
  * Copies a file from one path to another on the same SFTP server using streams
19
19
  * (avoids loading the entire file into memory).
20
20
  *
21
- * @param {Client} sftp - The ssh2‑sftp‑client instance.
22
- * @param {string} sourcePath - The path of the source file.
23
- * @param {string} targetPath - The destination path.
24
- * @param {CopyOptions} [options] - Optional copy configuration.
25
- * @returns {Promise<Outcome.Either<true, string>>}
21
+ * @param sftp - The ssh2‑sftp‑client instance.
22
+ * @param sourcePath - The path of the source file.
23
+ * @param targetPath - The destination path.
24
+ * @param [options] - Optional copy configuration.
25
+ * @returns
26
26
  * - On success: `Outcome.makeSuccess(true)`.
27
27
  * - On failure: `Outcome.makeFailure(errStr)`.
28
28
  */
@@ -5,11 +5,11 @@ import { unknownToString } from '../../../../agnostic/errors/unknown-to-string/i
5
5
  * Copies a file from one path to another on the same SFTP server using streams
6
6
  * (avoids loading the entire file into memory).
7
7
  *
8
- * @param {Client} sftp - The ssh2‑sftp‑client instance.
9
- * @param {string} sourcePath - The path of the source file.
10
- * @param {string} targetPath - The destination path.
11
- * @param {CopyOptions} [options] - Optional copy configuration.
12
- * @returns {Promise<Outcome.Either<true, string>>}
8
+ * @param sftp - The ssh2‑sftp‑client instance.
9
+ * @param sourcePath - The path of the source file.
10
+ * @param targetPath - The destination path.
11
+ * @param [options] - Optional copy configuration.
12
+ * @returns
13
13
  * - On success: `Outcome.makeSuccess(true)`.
14
14
  * - On failure: `Outcome.makeFailure(errStr)`.
15
15
  */
@@ -1,5 +1,5 @@
1
- import { type Readable } from 'node:stream';
2
- import { type ReadStreamOptions } from 'ssh2';
1
+ import type { Readable } from 'node:stream';
2
+ import type { ReadStreamOptions } from 'ssh2';
3
3
  import type Client from 'ssh2-sftp-client';
4
4
  import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
5
5
  export type DownloadOptions = ReadStreamOptions;
@@ -10,11 +10,11 @@ export type DownloadOptions = ReadStreamOptions;
10
10
  * returning the file content as a Readable stream. The download process can be customized
11
11
  * using optional download options.
12
12
  *
13
- * @param {Client} sftp - The ssh2-sftp-client instance used to interact with the SFTP server.
14
- * @param {string} sourcePath - The path of the file to be downloaded from the SFTP server.
15
- * @param {DownloadOptions} [options] - Optional settings for configuring the download process.
16
- * @returns {Promise<Outcome.Either<Readable, string>>} A promise that resolves to an Outcome.Either.
13
+ * @param sftp - The ssh2-sftp-client instance used to interact with the SFTP server.
14
+ * @param sourcePath - The path of the file to be downloaded from the SFTP server.
15
+ * @param [options] - Optional settings for configuring the download process.
16
+ * @returns A promise that resolves to an Outcome.Either.
17
17
  * - On success: Outcome.makeSuccess(stream) containing the downloaded file's content as a Readable stream.
18
18
  * - On failure: Outcome.makeFailure(errStr) with an error message if the download fails.
19
19
  */
20
- export declare function download(sftp: Client, sourcePath: string, options?: DownloadOptions): Promise<Outcome.Either<Readable, string>>;
20
+ export declare function download(sftp: Client, sourcePath: string, options?: DownloadOptions): Outcome.Either<Readable, string>;
@@ -7,14 +7,14 @@ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
7
7
  * returning the file content as a Readable stream. The download process can be customized
8
8
  * using optional download options.
9
9
  *
10
- * @param {Client} sftp - The ssh2-sftp-client instance used to interact with the SFTP server.
11
- * @param {string} sourcePath - The path of the file to be downloaded from the SFTP server.
12
- * @param {DownloadOptions} [options] - Optional settings for configuring the download process.
13
- * @returns {Promise<Outcome.Either<Readable, string>>} A promise that resolves to an Outcome.Either.
10
+ * @param sftp - The ssh2-sftp-client instance used to interact with the SFTP server.
11
+ * @param sourcePath - The path of the file to be downloaded from the SFTP server.
12
+ * @param [options] - Optional settings for configuring the download process.
13
+ * @returns A promise that resolves to an Outcome.Either.
14
14
  * - On success: Outcome.makeSuccess(stream) containing the downloaded file's content as a Readable stream.
15
15
  * - On failure: Outcome.makeFailure(errStr) with an error message if the download fails.
16
16
  */
17
- export async function download(sftp, sourcePath, options) {
17
+ export function download(sftp, sourcePath, options) {
18
18
  try {
19
19
  const stream = sftp.createReadStream(sourcePath, options);
20
20
  stream.on('error', (err) => { throw err; });
@@ -12,9 +12,9 @@ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
12
12
  * For the purpose of this util we treat a regular file (`'-'`) **or** a
13
13
  * symlink (`'l'`) as a “file”. A directory (`'d'`) returns `false`.
14
14
  *
15
- * @param {Client} sftp - The ssh2‑sftp‑client instance.
16
- * @param {string} sourcePath - The path to check.
17
- * @returns {Promise<Outcome.Either<boolean, string>>}
15
+ * @param sftp - The ssh2‑sftp‑client instance.
16
+ * @param sourcePath - The path to check.
17
+ * @returns
18
18
  * - Success: `Outcome.makeSuccess(true | false)` indicating file existence.
19
19
  * - Failure: `Outcome.makeFailure(errStr)` if an error occurs.
20
20
  */
@@ -12,9 +12,9 @@ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
12
12
  * For the purpose of this util we treat a regular file (`'-'`) **or** a
13
13
  * symlink (`'l'`) as a “file”. A directory (`'d'`) returns `false`.
14
14
  *
15
- * @param {Client} sftp - The ssh2‑sftp‑client instance.
16
- * @param {string} sourcePath - The path to check.
17
- * @returns {Promise<Outcome.Either<boolean, string>>}
15
+ * @param sftp - The ssh2‑sftp‑client instance.
16
+ * @param sourcePath - The path to check.
17
+ * @returns
18
18
  * - Success: `Outcome.makeSuccess(true | false)` indicating file existence.
19
19
  * - Failure: `Outcome.makeFailure(errStr)` if an error occurs.
20
20
  */
@@ -1,7 +1,7 @@
1
- export * as download from './download/index.js'
2
1
  export * as copy from './copy/index.js'
2
+ export * as download from './download/index.js'
3
+ export * as remove from './remove/index.js'
3
4
  export * as exists from './exists/index.js'
4
5
  export * as move from './move/index.js'
5
- export * as remove from './remove/index.js'
6
6
  export * as stat from './stat/index.js'
7
7
  export * as upload from './upload/index.js'
@@ -1,7 +1,7 @@
1
- export * as download from './download/index.js'
2
1
  export * as copy from './copy/index.js'
2
+ export * as download from './download/index.js'
3
+ export * as remove from './remove/index.js'
3
4
  export * as exists from './exists/index.js'
4
5
  export * as move from './move/index.js'
5
- export * as remove from './remove/index.js'
6
6
  export * as stat from './stat/index.js'
7
7
  export * as upload from './upload/index.js'
@@ -25,13 +25,13 @@ export type MoveOptions = {
25
25
  * 2. **overwrite** – If disabled (default) the function first checks whether
26
26
  * something already exists at `targetPath`; if so, it aborts.
27
27
  *
28
- * @param {Client} sftp - The ssh2‑sftp‑client instance.
29
- * @param {string} sourcePath - The full path of the source file.
30
- * @param {string} targetPath - The full destination path.
31
- * @param {MoveOptions} [options] - Optional move configuration.
32
- * @param {boolean} [options.ensureDir=true] - Whether to create missing parent directories.
33
- * @param {boolean} [options.overwrite=false] - Whether to overwrite an existing destination.
34
- * @returns {Promise<Outcome.Either<true, string>>}
28
+ * @param sftp - The ssh2‑sftp‑client instance.
29
+ * @param sourcePath - The full path of the source file.
30
+ * @param targetPath - The full destination path.
31
+ * @param [options] - Optional move configuration.
32
+ * @param [options.ensureDir=true] - Whether to create missing parent directories.
33
+ * @param [options.overwrite=false] - Whether to overwrite an existing destination.
34
+ * @returns
35
35
  * - On success: `Outcome.makeSuccess(true)`.
36
36
  * - On failure: `Outcome.makeFailure(errStr)`.
37
37
  */
@@ -11,13 +11,13 @@ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
11
11
  * 2. **overwrite** – If disabled (default) the function first checks whether
12
12
  * something already exists at `targetPath`; if so, it aborts.
13
13
  *
14
- * @param {Client} sftp - The ssh2‑sftp‑client instance.
15
- * @param {string} sourcePath - The full path of the source file.
16
- * @param {string} targetPath - The full destination path.
17
- * @param {MoveOptions} [options] - Optional move configuration.
18
- * @param {boolean} [options.ensureDir=true] - Whether to create missing parent directories.
19
- * @param {boolean} [options.overwrite=false] - Whether to overwrite an existing destination.
20
- * @returns {Promise<Outcome.Either<true, string>>}
14
+ * @param sftp - The ssh2‑sftp‑client instance.
15
+ * @param sourcePath - The full path of the source file.
16
+ * @param targetPath - The full destination path.
17
+ * @param [options] - Optional move configuration.
18
+ * @param [options.ensureDir=true] - Whether to create missing parent directories.
19
+ * @param [options.overwrite=false] - Whether to overwrite an existing destination.
20
+ * @returns
21
21
  * - On success: `Outcome.makeSuccess(true)`.
22
22
  * - On failure: `Outcome.makeFailure(errStr)`.
23
23
  */
@@ -10,10 +10,10 @@ export type RemoveOptions = {
10
10
  * The deletion process can be customized using optional delete options.
11
11
  * If the `ignoreMissing` option is true, it does not treat a missing file as an error.
12
12
  *
13
- * @param {SftpClient} sftp - The ssh2-sftp-client instance used to interact with the SFTP server.
14
- * @param {string} targetPath - The path of the file to delete on the SFTP server.
15
- * @param {RemoveOptions} [options] - Optional settings for configuring the deletion process.
16
- * @returns {Promise<Outcome.Either<true, string>>} A promise that resolves to an Outcome.Either.
13
+ * @param sftp - The ssh2-sftp-client instance used to interact with the SFTP server.
14
+ * @param targetPath - The path of the file to delete on the SFTP server.
15
+ * @param [options] - Optional settings for configuring the deletion process.
16
+ * @returns A promise that resolves to an Outcome.Either.
17
17
  * - On success: Outcome.makeSuccess(true) indicating the deletion was successful.
18
18
  * - On failure: Outcome.makeFailure(errStr) with an error message if the deletion fails.
19
19
  */
@@ -7,10 +7,10 @@ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
7
7
  * The deletion process can be customized using optional delete options.
8
8
  * If the `ignoreMissing` option is true, it does not treat a missing file as an error.
9
9
  *
10
- * @param {SftpClient} sftp - The ssh2-sftp-client instance used to interact with the SFTP server.
11
- * @param {string} targetPath - The path of the file to delete on the SFTP server.
12
- * @param {RemoveOptions} [options] - Optional settings for configuring the deletion process.
13
- * @returns {Promise<Outcome.Either<true, string>>} A promise that resolves to an Outcome.Either.
10
+ * @param sftp - The ssh2-sftp-client instance used to interact with the SFTP server.
11
+ * @param targetPath - The path of the file to delete on the SFTP server.
12
+ * @param [options] - Optional settings for configuring the deletion process.
13
+ * @returns A promise that resolves to an Outcome.Either.
14
14
  * - On success: Outcome.makeSuccess(true) indicating the deletion was successful.
15
15
  * - On failure: Outcome.makeFailure(errStr) with an error message if the deletion fails.
16
16
  */
@@ -11,8 +11,8 @@ export interface Stat {
11
11
  /**
12
12
  * Retrieves metadata for a file on an SFTP server.
13
13
  *
14
- * @param {SftpClient} sftp – ssh2-sftp-client.
15
- * @param {string} path – Remote file path.
16
- * @returns {Promise<Outcome.Either<Stat, string>>}
14
+ * @param sftp – ssh2-sftp-client.
15
+ * @param path – Remote file path.
16
+ * @returns
17
17
  */
18
18
  export declare function stat(sftp: SftpClient, path: string): Promise<Outcome.Either<Stat, string>>;
@@ -1,11 +1,12 @@
1
1
  import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
2
2
  import { unknownToString } from '../../../../agnostic/errors/unknown-to-string/index.js';
3
+ import { deepGetProperty } from '../../../../agnostic/objects/deep-get-property/index.js';
3
4
  /**
4
5
  * Retrieves metadata for a file on an SFTP server.
5
6
  *
6
- * @param {SftpClient} sftp – ssh2-sftp-client.
7
- * @param {string} path – Remote file path.
8
- * @returns {Promise<Outcome.Either<Stat, string>>}
7
+ * @param sftp – ssh2-sftp-client.
8
+ * @param path – Remote file path.
9
+ * @returns
9
10
  */
10
11
  export async function stat(sftp, path) {
11
12
  try {
@@ -20,9 +21,9 @@ export async function stat(sftp, path) {
20
21
  });
21
22
  }
22
23
  catch (err) {
23
- if (err.code === 2 || err.code === 'ENOENT') {
24
+ const code = deepGetProperty(err, 'code');
25
+ if (code === 2 || code === 'ENOENT')
24
26
  return Outcome.makeFailure(`File not found: ${path}`);
25
- }
26
27
  return Outcome.makeFailure(unknownToString(err));
27
28
  }
28
29
  }
@@ -1,6 +1,6 @@
1
1
  import type { Readable } from 'node:stream';
2
2
  import type Client from 'ssh2-sftp-client';
3
- import { type TransferOptions } from 'ssh2-sftp-client';
3
+ import type { TransferOptions } from 'ssh2-sftp-client';
4
4
  import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
5
5
  export type UploadOptions = TransferOptions & {
6
6
  ensureDir?: boolean;
@@ -14,11 +14,11 @@ export type UploadOptions = TransferOptions & {
14
14
  * If the `ensureDir` option is true, it ensures that the target directory exists before uploading.
15
15
  * If the `overwrite` option is false and a file already exists at the target path, the upload is aborted.
16
16
  *
17
- * @param {Client} sftp - The ssh2-sftp-client instance used to interact with the SFTP server.
18
- * @param {string} targetPath - The target path where the file will be stored on the SFTP server.
19
- * @param {Readable} fileStream - The file content to be uploaded.
20
- * @param {UploadOptions} [options] - Optional settings for configuring the upload process.
21
- * @returns {Promise<Outcome.Either<true, string>>} A promise that resolves to an Outcome.Either.
17
+ * @param sftp - The ssh2-sftp-client instance used to interact with the SFTP server.
18
+ * @param targetPath - The target path where the file will be stored on the SFTP server.
19
+ * @param fileStream - The file content to be uploaded.
20
+ * @param [options] - Optional settings for configuring the upload process.
21
+ * @returns A promise that resolves to an Outcome.Either.
22
22
  * - On success: Outcome.makeSuccess(true) indicating the upload was successful.
23
23
  * - On failure: Outcome.makeFailure(errStr) with an error message if the upload fails.
24
24
  */
@@ -8,11 +8,11 @@ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
8
8
  * If the `ensureDir` option is true, it ensures that the target directory exists before uploading.
9
9
  * If the `overwrite` option is false and a file already exists at the target path, the upload is aborted.
10
10
  *
11
- * @param {Client} sftp - The ssh2-sftp-client instance used to interact with the SFTP server.
12
- * @param {string} targetPath - The target path where the file will be stored on the SFTP server.
13
- * @param {Readable} fileStream - The file content to be uploaded.
14
- * @param {UploadOptions} [options] - Optional settings for configuring the upload process.
15
- * @returns {Promise<Outcome.Either<true, string>>} A promise that resolves to an Outcome.Either.
11
+ * @param sftp - The ssh2-sftp-client instance used to interact with the SFTP server.
12
+ * @param targetPath - The target path where the file will be stored on the SFTP server.
13
+ * @param fileStream - The file content to be uploaded.
14
+ * @param [options] - Optional settings for configuring the upload process.
15
+ * @returns A promise that resolves to an Outcome.Either.
16
16
  * - On success: Outcome.makeSuccess(true) indicating the upload was successful.
17
17
  * - On failure: Outcome.makeFailure(errStr) with an error message if the upload fails.
18
18
  */