@design-edito/tools 0.4.22 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (505) hide show
  1. package/agnostic/arrays/find-duplicates/index.d.ts +1 -1
  2. package/agnostic/arrays/find-duplicates/index.js +3 -2
  3. package/agnostic/arrays/is-array-of/index.d.ts +1 -1
  4. package/agnostic/arrays/is-array-of/index.js +3 -1
  5. package/agnostic/arrays/make/index.d.ts +1 -1
  6. package/agnostic/arrays/random-pick/index.js +2 -1
  7. package/agnostic/arrays/shuffle/index.js +1 -1
  8. package/agnostic/booleans/is-falsy/index.d.ts +3 -3
  9. package/agnostic/booleans/is-falsy/index.js +2 -3
  10. package/agnostic/colors/channels/index.d.ts +16 -16
  11. package/agnostic/colors/channels/index.js +15 -15
  12. package/agnostic/colors/contrast/index.d.ts +6 -6
  13. package/agnostic/colors/contrast/index.js +6 -8
  14. package/agnostic/colors/contrast/index.test.js +1 -1
  15. package/agnostic/colors/convert/index.d.ts +43 -43
  16. package/agnostic/colors/convert/index.js +60 -55
  17. package/agnostic/colors/distance/index.d.ts +5 -5
  18. package/agnostic/colors/distance/index.js +5 -4
  19. package/agnostic/colors/grayscale/index.d.ts +3 -3
  20. package/agnostic/colors/grayscale/index.js +3 -3
  21. package/agnostic/colors/index.d.ts +1 -1
  22. package/agnostic/colors/index.js +1 -1
  23. package/agnostic/colors/invert/index.d.ts +4 -4
  24. package/agnostic/colors/invert/index.js +3 -3
  25. package/agnostic/colors/lerp/index.d.ts +6 -7
  26. package/agnostic/colors/lerp/index.js +5 -6
  27. package/agnostic/colors/luminance/index.d.ts +4 -4
  28. package/agnostic/colors/luminance/index.js +3 -3
  29. package/agnostic/colors/palette/index.d.ts +3 -3
  30. package/agnostic/colors/palette/index.js +4 -3
  31. package/agnostic/colors/rotate/index.d.ts +4 -4
  32. package/agnostic/colors/rotate/index.js +4 -4
  33. package/agnostic/colors/tidy/index.d.ts +2 -2
  34. package/agnostic/colors/tidy/index.js +2 -2
  35. package/agnostic/colors/typechecks/index.d.ts +21 -21
  36. package/agnostic/colors/typechecks/index.js +22 -21
  37. package/agnostic/colors/types.d.ts +33 -33
  38. package/agnostic/css/bem/index.d.ts +11 -11
  39. package/agnostic/css/bem/index.js +9 -8
  40. package/agnostic/css/clss/index.d.ts +1 -1
  41. package/agnostic/css/clss/index.js +1 -1
  42. package/agnostic/css/index.d.ts +1 -1
  43. package/agnostic/css/index.js +1 -1
  44. package/agnostic/css/is-valid-css-class-name/index.d.ts +2 -2
  45. package/agnostic/css/is-valid-css-class-name/index.js +3 -3
  46. package/agnostic/css/scale/index.d.ts +18 -18
  47. package/agnostic/css/scale/index.js +18 -18
  48. package/agnostic/css/styles-set/index.d.ts +1 -1
  49. package/agnostic/css/styles-set/index.js +0 -2
  50. package/agnostic/errors/register/index.d.ts +1 -1
  51. package/agnostic/errors/register/index.js +3 -0
  52. package/agnostic/errors/unknown-to-string/index.d.ts +2 -2
  53. package/agnostic/errors/unknown-to-string/index.js +2 -3
  54. package/agnostic/html/deep-select/index.d.ts +3 -3
  55. package/agnostic/html/deep-select/index.js +11 -7
  56. package/agnostic/html/get-node-ancestors/index.d.ts +3 -3
  57. package/agnostic/html/get-node-ancestors/index.js +3 -3
  58. package/agnostic/html/get-position-inside-parent/index.d.ts +2 -2
  59. package/agnostic/html/get-position-inside-parent/index.js +2 -2
  60. package/agnostic/html/hyper-json/cast/index.d.ts +1 -1
  61. package/agnostic/html/hyper-json/cast/index.js +6 -5
  62. package/agnostic/html/hyper-json/method/index.d.ts +2 -2
  63. package/agnostic/html/hyper-json/serialize/index.d.ts +1 -1
  64. package/agnostic/html/hyper-json/serialize/index.js +9 -5
  65. package/agnostic/html/hyper-json/smart-tags/coalesced/addclass/index.js +1 -0
  66. package/agnostic/html/hyper-json/smart-tags/coalesced/and/index.d.ts +1 -1
  67. package/agnostic/html/hyper-json/smart-tags/coalesced/append/index.d.ts +1 -1
  68. package/agnostic/html/hyper-json/smart-tags/coalesced/append/index.js +1 -0
  69. package/agnostic/html/hyper-json/smart-tags/coalesced/at/index.d.ts +1 -1
  70. package/agnostic/html/hyper-json/smart-tags/coalesced/at/index.js +1 -0
  71. package/agnostic/html/hyper-json/smart-tags/coalesced/call/index.d.ts +1 -1
  72. package/agnostic/html/hyper-json/smart-tags/coalesced/call/index.js +1 -1
  73. package/agnostic/html/hyper-json/smart-tags/coalesced/clone/index.d.ts +1 -1
  74. package/agnostic/html/hyper-json/smart-tags/coalesced/deleteproperties/index.d.ts +1 -1
  75. package/agnostic/html/hyper-json/smart-tags/coalesced/deleteproperties/index.js +0 -1
  76. package/agnostic/html/hyper-json/smart-tags/coalesced/equals/index.d.ts +1 -1
  77. package/agnostic/html/hyper-json/smart-tags/coalesced/getattribute/index.js +1 -0
  78. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperties/index.d.ts +1 -1
  79. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperty/index.d.ts +1 -1
  80. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperty/index.js +1 -2
  81. package/agnostic/html/hyper-json/smart-tags/coalesced/hjparse/index.d.ts +1 -1
  82. package/agnostic/html/hyper-json/smart-tags/coalesced/hjstringify/index.d.ts +1 -1
  83. package/agnostic/html/hyper-json/smart-tags/coalesced/hjstringify/index.js +4 -0
  84. package/agnostic/html/hyper-json/smart-tags/coalesced/if/index.d.ts +1 -1
  85. package/agnostic/html/hyper-json/smart-tags/coalesced/if/index.js +1 -0
  86. package/agnostic/html/hyper-json/smart-tags/coalesced/index.d.ts +11 -11
  87. package/agnostic/html/hyper-json/smart-tags/coalesced/index.js +11 -11
  88. package/agnostic/html/hyper-json/smart-tags/coalesced/initialize/index.d.ts +1 -1
  89. package/agnostic/html/hyper-json/smart-tags/coalesced/initialize/index.js +1 -0
  90. package/agnostic/html/hyper-json/smart-tags/coalesced/join/index.d.ts +1 -1
  91. package/agnostic/html/hyper-json/smart-tags/coalesced/length/index.d.ts +1 -1
  92. package/agnostic/html/hyper-json/smart-tags/coalesced/map/index.d.ts +1 -1
  93. package/agnostic/html/hyper-json/smart-tags/coalesced/or/index.d.ts +1 -1
  94. package/agnostic/html/hyper-json/smart-tags/coalesced/pickrandom/index.d.ts +1 -1
  95. package/agnostic/html/hyper-json/smart-tags/coalesced/populate/index.d.ts +1 -1
  96. package/agnostic/html/hyper-json/smart-tags/coalesced/populate/index.js +1 -0
  97. package/agnostic/html/hyper-json/smart-tags/coalesced/print/index.d.ts +1 -1
  98. package/agnostic/html/hyper-json/smart-tags/coalesced/print/index.js +2 -0
  99. package/agnostic/html/hyper-json/smart-tags/coalesced/push/index.d.ts +1 -1
  100. package/agnostic/html/hyper-json/smart-tags/coalesced/pusheach/index.d.ts +1 -1
  101. package/agnostic/html/hyper-json/smart-tags/coalesced/pusheach/index.js +1 -0
  102. package/agnostic/html/hyper-json/smart-tags/coalesced/recordtoarray/index.d.ts +1 -1
  103. package/agnostic/html/hyper-json/smart-tags/coalesced/removeattribute/index.js +3 -0
  104. package/agnostic/html/hyper-json/smart-tags/coalesced/removeclass/index.js +1 -0
  105. package/agnostic/html/hyper-json/smart-tags/coalesced/renameproperty/index.d.ts +1 -1
  106. package/agnostic/html/hyper-json/smart-tags/coalesced/renameproperty/index.js +1 -0
  107. package/agnostic/html/hyper-json/smart-tags/coalesced/replace/index.d.ts +1 -1
  108. package/agnostic/html/hyper-json/smart-tags/coalesced/replace/index.js +1 -0
  109. package/agnostic/html/hyper-json/smart-tags/coalesced/select/index.js +1 -0
  110. package/agnostic/html/hyper-json/smart-tags/coalesced/set/index.d.ts +1 -1
  111. package/agnostic/html/hyper-json/smart-tags/coalesced/set/index.js +1 -0
  112. package/agnostic/html/hyper-json/smart-tags/coalesced/setattribute/index.js +3 -0
  113. package/agnostic/html/hyper-json/smart-tags/coalesced/setproperty/index.d.ts +1 -1
  114. package/agnostic/html/hyper-json/smart-tags/coalesced/setproperty/index.js +4 -2
  115. package/agnostic/html/hyper-json/smart-tags/coalesced/sorton/index.d.ts +1 -1
  116. package/agnostic/html/hyper-json/smart-tags/coalesced/sorton/index.js +5 -0
  117. package/agnostic/html/hyper-json/smart-tags/coalesced/spread/index.d.ts +1 -1
  118. package/agnostic/html/hyper-json/smart-tags/coalesced/spread/index.js +1 -0
  119. package/agnostic/html/hyper-json/smart-tags/coalesced/toarray/index.d.ts +1 -1
  120. package/agnostic/html/hyper-json/smart-tags/coalesced/toboolean/index.d.ts +1 -1
  121. package/agnostic/html/hyper-json/smart-tags/coalesced/toelement/index.d.ts +1 -1
  122. package/agnostic/html/hyper-json/smart-tags/coalesced/toggleclass/index.js +3 -2
  123. package/agnostic/html/hyper-json/smart-tags/coalesced/tonodelist/index.d.ts +1 -1
  124. package/agnostic/html/hyper-json/smart-tags/coalesced/tonull/index.d.ts +1 -1
  125. package/agnostic/html/hyper-json/smart-tags/coalesced/tonumber/index.d.ts +1 -1
  126. package/agnostic/html/hyper-json/smart-tags/coalesced/torecord/index.d.ts +1 -1
  127. package/agnostic/html/hyper-json/smart-tags/coalesced/toref/index.d.ts +1 -1
  128. package/agnostic/html/hyper-json/smart-tags/coalesced/tostring/index.d.ts +1 -1
  129. package/agnostic/html/hyper-json/smart-tags/coalesced/totext/index.d.ts +1 -1
  130. package/agnostic/html/hyper-json/smart-tags/coalesced/transformselected/index.d.ts +1 -1
  131. package/agnostic/html/hyper-json/smart-tags/coalesced/trim/index.js +1 -1
  132. package/agnostic/html/hyper-json/smart-tags/index.d.ts +1 -1
  133. package/agnostic/html/hyper-json/smart-tags/isolated/any/index.d.ts +1 -1
  134. package/agnostic/html/hyper-json/smart-tags/isolated/array/index.d.ts +1 -1
  135. package/agnostic/html/hyper-json/smart-tags/isolated/get/index.d.ts +1 -1
  136. package/agnostic/html/hyper-json/smart-tags/isolated/guess/index.d.ts +1 -1
  137. package/agnostic/html/hyper-json/smart-tags/isolated/guess/index.js +3 -1
  138. package/agnostic/html/hyper-json/smart-tags/isolated/index.d.ts +1 -1
  139. package/agnostic/html/hyper-json/smart-tags/isolated/index.js +1 -1
  140. package/agnostic/html/hyper-json/smart-tags/isolated/nodelist/index.d.ts +1 -1
  141. package/agnostic/html/hyper-json/smart-tags/isolated/nodelist/index.js +1 -0
  142. package/agnostic/html/hyper-json/smart-tags/isolated/null/index.d.ts +1 -1
  143. package/agnostic/html/hyper-json/smart-tags/isolated/record/index.d.ts +1 -1
  144. package/agnostic/html/hyper-json/smart-tags/isolated/ref/index.d.ts +1 -1
  145. package/agnostic/html/hyper-json/smart-tags/isolated/ref/index.js +3 -1
  146. package/agnostic/html/hyper-json/smart-tags/isolated/text/index.js +2 -2
  147. package/agnostic/html/hyper-json/transformer/index.d.ts +5 -5
  148. package/agnostic/html/hyper-json/tree/index.d.ts +1 -1
  149. package/agnostic/html/hyper-json/tree/index.js +14 -8
  150. package/agnostic/html/hyper-json/types/index.d.ts +11 -11
  151. package/agnostic/html/hyper-json/utils/index.d.ts +3 -3
  152. package/agnostic/html/hyper-json/utils/index.js +8 -3
  153. package/agnostic/html/index.d.ts +1 -1
  154. package/agnostic/html/index.js +1 -1
  155. package/agnostic/html/insert-node/index.d.ts +4 -4
  156. package/agnostic/html/insert-node/index.js +4 -4
  157. package/agnostic/html/replace-in-element/index.d.ts +3 -3
  158. package/agnostic/html/replace-in-element/index.js +4 -4
  159. package/agnostic/html/selector-to-element/index.d.ts +2 -2
  160. package/agnostic/html/selector-to-element/index.js +11 -11
  161. package/agnostic/html/string-to-nodes/index.d.ts +3 -3
  162. package/agnostic/html/string-to-nodes/index.js +3 -3
  163. package/agnostic/html/watch-selection/index.d.ts +4 -5
  164. package/agnostic/html/watch-selection/index.js +5 -6
  165. package/agnostic/misc/assert/index.js +3 -1
  166. package/agnostic/misc/cast/index.d.ts +16 -16
  167. package/agnostic/misc/cast/index.js +18 -18
  168. package/agnostic/misc/connection/index.d.ts +5 -5
  169. package/agnostic/misc/connection/index.js +4 -2
  170. package/agnostic/misc/crawler/index.d.ts +18 -18
  171. package/agnostic/misc/crawler/index.js +10 -9
  172. package/agnostic/misc/crawler/index.test.js +2 -2
  173. package/agnostic/misc/crossenv/detect-runtime/index.d.ts +1 -1
  174. package/agnostic/misc/crossenv/detect-runtime/index.js +10 -11
  175. package/agnostic/misc/crossenv/window/index.d.ts +6 -6
  176. package/agnostic/misc/crossenv/window/index.js +6 -5
  177. package/agnostic/misc/data-size/index.js +2 -0
  178. package/agnostic/misc/index.d.ts +3 -3
  179. package/agnostic/misc/index.js +3 -3
  180. package/agnostic/misc/is-constructor-function/index.d.ts +2 -2
  181. package/agnostic/misc/is-constructor-function/index.js +3 -2
  182. package/agnostic/misc/is-constructor-function/index.test.js +2 -2
  183. package/agnostic/misc/is-nullish/index.d.ts +5 -5
  184. package/agnostic/misc/is-nullish/index.js +5 -4
  185. package/agnostic/misc/logs/index.d.ts +1 -1
  186. package/agnostic/misc/logs/index.js +1 -1
  187. package/agnostic/misc/logs/logger/index.js +2 -2
  188. package/agnostic/misc/lorem-ipsum/index.js +4 -4
  189. package/agnostic/misc/normalize-extension/index.d.ts +3 -3
  190. package/agnostic/misc/normalize-extension/index.js +4 -4
  191. package/agnostic/misc/outcome/index.d.ts +14 -14
  192. package/agnostic/misc/outcome/index.js +6 -4
  193. package/agnostic/numbers/absolute-modulo/index.d.ts +3 -3
  194. package/agnostic/numbers/absolute-modulo/index.js +3 -3
  195. package/agnostic/numbers/approximate-rational/index.d.ts +6 -6
  196. package/agnostic/numbers/approximate-rational/index.js +9 -9
  197. package/agnostic/numbers/clamp/index.d.ts +4 -4
  198. package/agnostic/numbers/clamp/index.js +4 -4
  199. package/agnostic/numbers/geometric-progressions/index.d.ts +5 -5
  200. package/agnostic/numbers/geometric-progressions/index.js +7 -5
  201. package/agnostic/numbers/geometric-progressions/index.test.js +2 -2
  202. package/agnostic/numbers/index.d.ts +1 -1
  203. package/agnostic/numbers/index.js +1 -1
  204. package/agnostic/numbers/interpolate/index.d.ts +8 -8
  205. package/agnostic/numbers/interpolate/index.js +8 -8
  206. package/agnostic/numbers/round/index.d.ts +9 -9
  207. package/agnostic/numbers/round/index.js +9 -9
  208. package/agnostic/objects/deep-get-property/index.d.ts +4 -4
  209. package/agnostic/objects/deep-get-property/index.js +3 -3
  210. package/agnostic/objects/enums/is-in-enum/index.d.ts +3 -3
  211. package/agnostic/objects/enums/is-in-enum/index.js +3 -3
  212. package/agnostic/objects/flatten-getters/index.d.ts +2 -2
  213. package/agnostic/objects/flatten-getters/index.js +3 -2
  214. package/agnostic/objects/index.d.ts +1 -1
  215. package/agnostic/objects/index.js +1 -1
  216. package/agnostic/objects/is-object/index.d.ts +4 -4
  217. package/agnostic/objects/is-object/index.js +4 -4
  218. package/agnostic/objects/is-record/index.d.ts +2 -2
  219. package/agnostic/objects/is-record/index.js +2 -2
  220. package/agnostic/objects/record-format/index.d.ts +9 -9
  221. package/agnostic/objects/record-format/index.js +8 -3
  222. package/agnostic/objects/record-map/index.d.ts +4 -4
  223. package/agnostic/objects/record-map/index.js +5 -3
  224. package/agnostic/objects/sort-keys/index.d.ts +3 -3
  225. package/agnostic/objects/sort-keys/index.js +4 -3
  226. package/agnostic/objects/validation/index.d.ts +3 -3
  227. package/agnostic/objects/validation/index.js +4 -3
  228. package/agnostic/optim/memoize/index.d.ts +2 -2
  229. package/agnostic/optim/memoize/index.js +4 -2
  230. package/agnostic/optim/throttle-debounce/index.d.ts +2 -2
  231. package/agnostic/optim/throttle-debounce/index.js +7 -6
  232. package/agnostic/optim/throttle-debounce/types.d.ts +2 -1
  233. package/agnostic/random/random/index.d.ts +7 -8
  234. package/agnostic/random/random/index.js +3 -3
  235. package/agnostic/random/uuid/index.d.ts +6 -6
  236. package/agnostic/random/uuid/index.js +6 -6
  237. package/agnostic/regexps/index.d.ts +30 -60
  238. package/agnostic/regexps/index.js +27 -26
  239. package/agnostic/sanitization/file-name/index.d.ts +3 -3
  240. package/agnostic/sanitization/file-name/index.js +10 -10
  241. package/agnostic/sanitization/html/index.d.ts +6 -6
  242. package/agnostic/sanitization/html/index.js +9 -6
  243. package/agnostic/sanitization/path/index.d.ts +2 -2
  244. package/agnostic/sanitization/path/index.js +2 -2
  245. package/agnostic/sanitization/user-input/index.js +1 -0
  246. package/agnostic/strings/char-codes/index.js +2 -6
  247. package/agnostic/strings/index.d.ts +1 -1
  248. package/agnostic/strings/index.js +1 -1
  249. package/agnostic/strings/normalize-indent/index.js +2 -2
  250. package/agnostic/strings/parse-table/index.d.ts +13 -13
  251. package/agnostic/strings/parse-table/index.js +31 -16
  252. package/agnostic/strings/replace-all/index.d.ts +1 -1
  253. package/agnostic/strings/replace-all/index.js +1 -0
  254. package/agnostic/strings/to-alphanum/index.js +2 -2
  255. package/agnostic/strings/trim/index.js +2 -2
  256. package/agnostic/time/dates/format-date/index.js +3 -1
  257. package/agnostic/time/dates/index.d.ts +1 -0
  258. package/agnostic/time/dates/index.js +1 -0
  259. package/agnostic/time/dates/to-french-republican/index.d.ts +16 -0
  260. package/agnostic/time/dates/to-french-republican/index.js +82 -0
  261. package/agnostic/time/dates/to-french-republican/index.test.d.ts +1 -0
  262. package/agnostic/time/dates/to-french-republican/index.test.js +112 -0
  263. package/agnostic/time/dates/to-french-republican/types.d.ts +91 -0
  264. package/agnostic/time/dates/to-french-republican/types.js +47 -0
  265. package/agnostic/time/dates/to-french-republican/utils.d.ts +32 -0
  266. package/agnostic/time/dates/to-french-republican/utils.js +155 -0
  267. package/agnostic/time/duration/index.js +2 -0
  268. package/agnostic/time/index.d.ts +2 -2
  269. package/agnostic/time/index.js +2 -2
  270. package/agnostic/time/timeout/index.js +9 -9
  271. package/agnostic/time/transitions/index.js +8 -7
  272. package/components/BeforeAfter/index.controlled.js +1 -0
  273. package/components/BeforeAfter/index.js +4 -0
  274. package/components/Button/index.d.ts +2 -7
  275. package/components/Button/index.js +2 -2
  276. package/components/Clippable/index.js +1 -0
  277. package/components/Drawer/index.js +1 -1
  278. package/components/Gallery/index.js +2 -1
  279. package/components/Gallery/utils.js +5 -1
  280. package/components/Iframe/index.d.ts +16 -34
  281. package/components/Iframe/index.js +70 -27
  282. package/components/Image/index.js +2 -0
  283. package/components/Input/index.controlled.d.ts +42 -0
  284. package/components/Input/index.controlled.js +54 -0
  285. package/components/Input/index.d.ts +21 -17
  286. package/components/Input/index.js +27 -18
  287. package/components/IntersectionObserver/index.js +5 -2
  288. package/components/JsonEditor/index.js +1 -1
  289. package/components/Overlayer/index.d.ts +1 -1
  290. package/components/ScrollListener/utils.d.ts +29 -0
  291. package/components/Select/index.controlled.d.ts +43 -0
  292. package/components/Select/index.controlled.js +54 -0
  293. package/components/Select/index.d.ts +22 -18
  294. package/components/Select/index.js +27 -18
  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.d.ts +50 -0
  301. package/components/Textarea/index.controlled.js +75 -0
  302. package/components/Textarea/index.d.ts +22 -17
  303. package/components/Textarea/index.js +27 -18
  304. package/components/UIModule/index.js +3 -1
  305. package/components/Video/index.controlled.d.ts +1 -1
  306. package/components/Video/index.controlled.js +11 -10
  307. package/components/Video/index.js +27 -20
  308. package/components/Video/utils.d.ts +1 -1
  309. package/components/Video/utils.js +11 -2
  310. package/components/index.d.ts +1 -1
  311. package/components/index.js +1 -1
  312. package/components/utils/types.d.ts +5 -0
  313. package/node/@aws-s3/storage/directory/copy-dir/index.d.ts +9 -9
  314. package/node/@aws-s3/storage/directory/copy-dir/index.js +15 -12
  315. package/node/@aws-s3/storage/directory/index.d.ts +1 -1
  316. package/node/@aws-s3/storage/directory/index.js +1 -1
  317. package/node/@aws-s3/storage/directory/list/index.d.ts +5 -5
  318. package/node/@aws-s3/storage/directory/list/index.js +5 -5
  319. package/node/@aws-s3/storage/directory/move-dir/index.d.ts +6 -6
  320. package/node/@aws-s3/storage/directory/move-dir/index.js +11 -7
  321. package/node/@aws-s3/storage/directory/remove-dir/index.d.ts +5 -5
  322. package/node/@aws-s3/storage/directory/remove-dir/index.js +5 -5
  323. package/node/@aws-s3/storage/file/copy/index.d.ts +8 -8
  324. package/node/@aws-s3/storage/file/copy/index.js +12 -9
  325. package/node/@aws-s3/storage/file/download/index.d.ts +6 -6
  326. package/node/@aws-s3/storage/file/download/index.js +6 -5
  327. package/node/@aws-s3/storage/file/exists/index.d.ts +6 -6
  328. package/node/@aws-s3/storage/file/exists/index.js +15 -12
  329. package/node/@aws-s3/storage/file/index.d.ts +1 -1
  330. package/node/@aws-s3/storage/file/index.js +1 -1
  331. package/node/@aws-s3/storage/file/move/index.d.ts +9 -9
  332. package/node/@aws-s3/storage/file/move/index.js +18 -15
  333. package/node/@aws-s3/storage/file/remove/index.d.ts +5 -5
  334. package/node/@aws-s3/storage/file/remove/index.js +16 -11
  335. package/node/@aws-s3/storage/file/stat/index.d.ts +5 -5
  336. package/node/@aws-s3/storage/file/stat/index.js +10 -7
  337. package/node/@aws-s3/storage/file/upload/index.d.ts +7 -7
  338. package/node/@aws-s3/storage/file/upload/index.js +11 -9
  339. package/node/@express/@multer/index.d.ts +12 -12
  340. package/node/@express/@multer/index.js +27 -25
  341. package/node/@google-cloud/storage/bucket/get-metadata/index.d.ts +4 -4
  342. package/node/@google-cloud/storage/bucket/get-metadata/index.js +3 -3
  343. package/node/@google-cloud/storage/directory/copy-dir/index.d.ts +7 -7
  344. package/node/@google-cloud/storage/directory/copy-dir/index.js +6 -6
  345. package/node/@google-cloud/storage/directory/index.d.ts +1 -1
  346. package/node/@google-cloud/storage/directory/index.js +1 -1
  347. package/node/@google-cloud/storage/directory/list/index.d.ts +6 -6
  348. package/node/@google-cloud/storage/directory/list/index.js +5 -5
  349. package/node/@google-cloud/storage/directory/move-dir/index.d.ts +6 -6
  350. package/node/@google-cloud/storage/directory/move-dir/index.js +5 -5
  351. package/node/@google-cloud/storage/directory/remove-dir/index.d.ts +7 -7
  352. package/node/@google-cloud/storage/directory/remove-dir/index.js +6 -6
  353. package/node/@google-cloud/storage/file/copy/index.d.ts +9 -9
  354. package/node/@google-cloud/storage/file/copy/index.js +8 -8
  355. package/node/@google-cloud/storage/file/download/index.d.ts +7 -7
  356. package/node/@google-cloud/storage/file/download/index.js +5 -5
  357. package/node/@google-cloud/storage/file/exists/index.d.ts +7 -7
  358. package/node/@google-cloud/storage/file/exists/index.js +6 -6
  359. package/node/@google-cloud/storage/file/generate-signed-url/index.d.ts +7 -7
  360. package/node/@google-cloud/storage/file/generate-signed-url/index.js +6 -6
  361. package/node/@google-cloud/storage/file/get-metadata/index.d.ts +5 -5
  362. package/node/@google-cloud/storage/file/get-metadata/index.js +4 -4
  363. package/node/@google-cloud/storage/file/get-permissions/index.d.ts +6 -6
  364. package/node/@google-cloud/storage/file/get-permissions/index.js +4 -4
  365. package/node/@google-cloud/storage/file/index.d.ts +1 -1
  366. package/node/@google-cloud/storage/file/index.js +1 -1
  367. package/node/@google-cloud/storage/file/move/index.d.ts +10 -10
  368. package/node/@google-cloud/storage/file/move/index.js +9 -9
  369. package/node/@google-cloud/storage/file/remove/index.d.ts +5 -5
  370. package/node/@google-cloud/storage/file/remove/index.js +4 -4
  371. package/node/@google-cloud/storage/file/revoke-signed-urls/index.d.ts +5 -5
  372. package/node/@google-cloud/storage/file/revoke-signed-urls/index.js +5 -5
  373. package/node/@google-cloud/storage/file/stat/index.d.ts +5 -5
  374. package/node/@google-cloud/storage/file/stat/index.js +4 -4
  375. package/node/@google-cloud/storage/file/update-metadata/index.d.ts +7 -7
  376. package/node/@google-cloud/storage/file/update-metadata/index.js +5 -5
  377. package/node/@google-cloud/storage/file/upload/index.d.ts +7 -7
  378. package/node/@google-cloud/storage/file/upload/index.js +5 -5
  379. package/node/@google-cloud/storage/index.d.ts +1 -1
  380. package/node/@google-cloud/storage/index.js +1 -1
  381. package/node/cloud-storage/clients/index.d.ts +8 -8
  382. package/node/cloud-storage/clients/index.js +8 -8
  383. package/node/cloud-storage/operations/copy-dir/index.d.ts +22 -22
  384. package/node/cloud-storage/operations/copy-dir/index.js +5 -5
  385. package/node/cloud-storage/operations/copy-file/index.d.ts +22 -22
  386. package/node/cloud-storage/operations/copy-file/index.js +5 -5
  387. package/node/cloud-storage/operations/download-file/index.d.ts +19 -19
  388. package/node/cloud-storage/operations/download-file/index.js +6 -6
  389. package/node/cloud-storage/operations/exists-file/index.d.ts +15 -26
  390. package/node/cloud-storage/operations/exists-file/index.js +4 -4
  391. package/node/cloud-storage/operations/index.d.ts +1 -1
  392. package/node/cloud-storage/operations/index.js +1 -1
  393. package/node/cloud-storage/operations/list-dir/index.d.ts +15 -25
  394. package/node/cloud-storage/operations/list-dir/index.js +4 -4
  395. package/node/cloud-storage/operations/move-dir/index.d.ts +22 -22
  396. package/node/cloud-storage/operations/move-dir/index.js +5 -5
  397. package/node/cloud-storage/operations/move-file/index.d.ts +22 -22
  398. package/node/cloud-storage/operations/move-file/index.js +5 -5
  399. package/node/cloud-storage/operations/remove-dir/index.d.ts +18 -18
  400. package/node/cloud-storage/operations/remove-dir/index.js +4 -4
  401. package/node/cloud-storage/operations/remove-file/index.d.ts +18 -18
  402. package/node/cloud-storage/operations/remove-file/index.js +4 -4
  403. package/node/cloud-storage/operations/stat-file/index.d.ts +16 -16
  404. package/node/cloud-storage/operations/stat-file/index.js +4 -4
  405. package/node/cloud-storage/operations/upload-file/index.d.ts +23 -23
  406. package/node/cloud-storage/operations/upload-file/index.js +5 -5
  407. package/node/encryption/@aes-256-gcm/buffer/index.d.ts +6 -6
  408. package/node/encryption/@aes-256-gcm/buffer/index.js +6 -6
  409. package/node/encryption/@aes-256-gcm/uint8-array/index.d.ts +8 -8
  410. package/node/encryption/@aes-256-gcm/uint8-array/index.js +8 -8
  411. package/node/encryption/key/index.d.ts +6 -6
  412. package/node/encryption/key/index.js +6 -6
  413. package/node/files/read-write/index.d.ts +16 -16
  414. package/node/files/subpaths/index.d.ts +8 -8
  415. package/node/files/subpaths/index.js +11 -13
  416. package/node/ftps/directory/copy-dir/index.d.ts +6 -6
  417. package/node/ftps/directory/copy-dir/index.js +6 -6
  418. package/node/ftps/directory/list/index.d.ts +4 -4
  419. package/node/ftps/directory/list/index.js +3 -3
  420. package/node/ftps/directory/move-dir/index.d.ts +6 -6
  421. package/node/ftps/directory/move-dir/index.js +5 -5
  422. package/node/ftps/directory/remove-dir/index.d.ts +6 -6
  423. package/node/ftps/directory/remove-dir/index.js +8 -7
  424. package/node/ftps/file/copy/index.d.ts +6 -6
  425. package/node/ftps/file/copy/index.js +5 -5
  426. package/node/ftps/file/download/index.d.ts +6 -6
  427. package/node/ftps/file/download/index.js +5 -5
  428. package/node/ftps/file/exists/index.d.ts +3 -3
  429. package/node/ftps/file/exists/index.js +3 -3
  430. package/node/ftps/file/move/index.d.ts +8 -8
  431. package/node/ftps/file/move/index.js +11 -9
  432. package/node/ftps/file/remove/index.d.ts +5 -5
  433. package/node/ftps/file/remove/index.js +4 -4
  434. package/node/ftps/file/stat/index.d.ts +4 -4
  435. package/node/ftps/file/stat/index.js +4 -4
  436. package/node/ftps/file/upload/index.d.ts +7 -7
  437. package/node/ftps/file/upload/index.js +5 -5
  438. package/node/images/create/index.d.ts +2 -2
  439. package/node/images/create/index.js +1 -1
  440. package/node/images/format/index.d.ts +8 -8
  441. package/node/images/metadata/index.d.ts +2 -2
  442. package/node/images/transform/index.d.ts +2 -2
  443. package/node/images/transform/index.js +12 -2
  444. package/node/images/transform/operations/blur/index.d.ts +2 -2
  445. package/node/images/transform/operations/blur/index.js +1 -0
  446. package/node/images/transform/operations/brighten/index.d.ts +2 -2
  447. package/node/images/transform/operations/brighten/index.js +1 -0
  448. package/node/images/transform/operations/extend/index.d.ts +2 -2
  449. package/node/images/transform/operations/extend/index.js +1 -0
  450. package/node/images/transform/operations/extract/index.d.ts +2 -2
  451. package/node/images/transform/operations/extract/index.js +1 -0
  452. package/node/images/transform/operations/flatten/index.d.ts +2 -2
  453. package/node/images/transform/operations/flatten/index.js +1 -0
  454. package/node/images/transform/operations/flip/index.d.ts +2 -2
  455. package/node/images/transform/operations/flip/index.js +1 -0
  456. package/node/images/transform/operations/flop/index.d.ts +2 -2
  457. package/node/images/transform/operations/flop/index.js +1 -0
  458. package/node/images/transform/operations/hue/index.d.ts +2 -2
  459. package/node/images/transform/operations/hue/index.js +1 -0
  460. package/node/images/transform/operations/index.d.ts +1 -1
  461. package/node/images/transform/operations/index.js +1 -1
  462. package/node/images/transform/operations/level/index.d.ts +2 -2
  463. package/node/images/transform/operations/level/index.js +1 -0
  464. package/node/images/transform/operations/lighten/index.d.ts +2 -2
  465. package/node/images/transform/operations/lighten/index.js +1 -0
  466. package/node/images/transform/operations/normalize/index.d.ts +2 -2
  467. package/node/images/transform/operations/normalize/index.js +1 -0
  468. package/node/images/transform/operations/overlay/index.d.ts +2 -2
  469. package/node/images/transform/operations/resize/index.d.ts +2 -2
  470. package/node/images/transform/operations/resize/index.js +1 -0
  471. package/node/images/transform/operations/rotate/index.d.ts +2 -2
  472. package/node/images/transform/operations/rotate/index.js +1 -0
  473. package/node/images/transform/operations/saturate/index.d.ts +2 -2
  474. package/node/images/transform/operations/saturate/index.js +1 -0
  475. package/node/images/types.d.ts +41 -2
  476. package/node/images/utils/index.d.ts +10 -5
  477. package/node/index.d.ts +1 -1
  478. package/node/index.js +1 -1
  479. package/node/process/on-exit/index.js +2 -4
  480. package/node/process/prompt-continue/index.d.ts +3 -3
  481. package/node/process/prompt-continue/index.js +4 -3
  482. package/node/process/spawner/index.js +7 -6
  483. package/node/sftp/directory/copy-dir/index.d.ts +6 -6
  484. package/node/sftp/directory/copy-dir/index.js +6 -6
  485. package/node/sftp/directory/list/index.d.ts +3 -3
  486. package/node/sftp/directory/list/index.js +4 -4
  487. package/node/sftp/directory/move-dir/index.d.ts +7 -7
  488. package/node/sftp/directory/move-dir/index.js +7 -7
  489. package/node/sftp/directory/remove-dir/index.d.ts +5 -5
  490. package/node/sftp/directory/remove-dir/index.js +8 -7
  491. package/node/sftp/file/copy/index.d.ts +6 -6
  492. package/node/sftp/file/copy/index.js +5 -5
  493. package/node/sftp/file/download/index.d.ts +7 -7
  494. package/node/sftp/file/download/index.js +5 -5
  495. package/node/sftp/file/exists/index.d.ts +3 -3
  496. package/node/sftp/file/exists/index.js +3 -3
  497. package/node/sftp/file/move/index.d.ts +7 -7
  498. package/node/sftp/file/move/index.js +7 -7
  499. package/node/sftp/file/remove/index.d.ts +4 -4
  500. package/node/sftp/file/remove/index.js +4 -4
  501. package/node/sftp/file/stat/index.d.ts +3 -3
  502. package/node/sftp/file/stat/index.js +6 -5
  503. package/node/sftp/file/upload/index.d.ts +6 -6
  504. package/node/sftp/file/upload/index.js +5 -5
  505. package/package.json +40 -39
@@ -10,10 +10,10 @@ import { stat as gcsStat } from '../../../@google-cloud/storage/file/stat/index.
10
10
  * The function automatically dispatches to the appropriate implementation based on
11
11
  * the client type (Google Cloud Storage, S3, FTP, or SFTP).
12
12
  *
13
- * @param {AnyClient} client - The cloud storage client instance.
14
- * @param {string} path - The file path to stat.
15
- * @param {GcsStatOptions | S3StatOptions} [options] - Optional stat configuration.
16
- * @returns {Promise<Outcome.Either<GcsStat | S3Stat | FtpStat | SftpStat, string>>}
13
+ * @param client - The cloud storage client instance.
14
+ * @param path - The file path to stat.
15
+ * @param [options] - Optional stat configuration.
16
+ * @returns
17
17
  * - On success: `Outcome.makeSuccess(stat)` containing file metadata.
18
18
  * - On failure: `Outcome.makeFailure(errStr)`.
19
19
  */
@@ -1,6 +1,6 @@
1
- import { type Readable } from 'node:stream';
2
- import { type Bucket as GCSBucket } from '@google-cloud/storage';
3
- import { type Client as FtpClient } from 'basic-ftp';
1
+ import type { Readable } from 'node:stream';
2
+ import type { Bucket as GCSBucket } from '@google-cloud/storage';
3
+ import type { Client as FtpClient } from 'basic-ftp';
4
4
  import type SftpClient from 'ssh2-sftp-client';
5
5
  import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
6
6
  import { type S3ClientWithBucket } from '../../clients/index.js';
@@ -13,11 +13,11 @@ type Returned = Outcome.Either<true, string>;
13
13
  /**
14
14
  * Uploads a file stream to a Google Cloud Storage bucket.
15
15
  *
16
- * @param {Readable} fileStream - The file content as a stream.
17
- * @param {string} path - The path to upload the file to.
18
- * @param {GCSBucket} client - The Google Cloud Storage bucket instance.
19
- * @param {GcsUploadOptions} [options] - Optional upload configuration.
20
- * @returns {Promise<Outcome.Either<true, string>>}
16
+ * @param fileStream - The file content as a stream.
17
+ * @param path - The path to upload the file to.
18
+ * @param client - The Google Cloud Storage bucket instance.
19
+ * @param [options] - Optional upload configuration.
20
+ * @returns
21
21
  * - On success: `Outcome.makeSuccess(true)`.
22
22
  * - On failure: `Outcome.makeFailure(errStr)`.
23
23
  */
@@ -25,11 +25,11 @@ export declare function uploadFile(fileStream: Readable, path: string, client: G
25
25
  /**
26
26
  * Uploads a file stream to an S3 bucket.
27
27
  *
28
- * @param {Readable} fileStream - The file content as a stream.
29
- * @param {string} path - The path to upload the file to.
30
- * @param {S3ClientWithBucket} client - The S3 client with bucket configuration.
31
- * @param {S3UploadOptions} [options] - Optional upload configuration.
32
- * @returns {Promise<Outcome.Either<true, string>>}
28
+ * @param fileStream - The file content as a stream.
29
+ * @param path - The path to upload the file to.
30
+ * @param client - The S3 client with bucket configuration.
31
+ * @param [options] - Optional upload configuration.
32
+ * @returns
33
33
  * - On success: `Outcome.makeSuccess(true)`.
34
34
  * - On failure: `Outcome.makeFailure(errStr)`.
35
35
  */
@@ -37,11 +37,11 @@ export declare function uploadFile(fileStream: Readable, path: string, client: S
37
37
  /**
38
38
  * Uploads a file stream to an FTP server.
39
39
  *
40
- * @param {Readable} fileStream - The file content as a stream.
41
- * @param {string} path - The path to upload the file to.
42
- * @param {FtpClient} client - The FTP client instance.
43
- * @param {FtpUploadOptions} [options] - Optional upload configuration.
44
- * @returns {Promise<Outcome.Either<true, string>>}
40
+ * @param fileStream - The file content as a stream.
41
+ * @param path - The path to upload the file to.
42
+ * @param client - The FTP client instance.
43
+ * @param [options] - Optional upload configuration.
44
+ * @returns
45
45
  * - On success: `Outcome.makeSuccess(true)`.
46
46
  * - On failure: `Outcome.makeFailure(errStr)`.
47
47
  */
@@ -49,11 +49,11 @@ export declare function uploadFile(fileStream: Readable, path: string, client: F
49
49
  /**
50
50
  * Uploads a file stream to an SFTP server.
51
51
  *
52
- * @param {Readable} fileStream - The file content as a stream.
53
- * @param {string} path - The path to upload the file to.
54
- * @param {SftpClient} client - The SFTP client instance.
55
- * @param {SftpUploadOptions} [options] - Optional upload configuration.
56
- * @returns {Promise<Outcome.Either<true, string>>}
52
+ * @param fileStream - The file content as a stream.
53
+ * @param path - The path to upload the file to.
54
+ * @param client - The SFTP client instance.
55
+ * @param [options] - Optional upload configuration.
56
+ * @returns
57
57
  * - On success: `Outcome.makeSuccess(true)`.
58
58
  * - On failure: `Outcome.makeFailure(errStr)`.
59
59
  */
@@ -10,11 +10,11 @@ import { upload as gcsUpload } from '../../../@google-cloud/storage/file/upload/
10
10
  * The function automatically dispatches to the appropriate implementation based on
11
11
  * the client type (Google Cloud Storage, S3, FTP, or SFTP).
12
12
  *
13
- * @param {Readable} fileStream - The file content as a stream.
14
- * @param {string} path - The path to upload the file to.
15
- * @param {AnyClient} client - The cloud storage client instance.
16
- * @param {GcsUploadOptions | S3UploadOptions | FtpUploadOptions | SftpUploadOptions} [options] - Optional upload configuration.
17
- * @returns {Promise<Outcome.Either<true, string>>}
13
+ * @param fileStream - The file content as a stream.
14
+ * @param path - The path to upload the file to.
15
+ * @param client - The cloud storage client instance.
16
+ * @param [options] - Optional upload configuration.
17
+ * @returns
18
18
  * - On success: `Outcome.makeSuccess(true)`.
19
19
  * - On failure: `Outcome.makeFailure(errStr)`.
20
20
  */
@@ -3,18 +3,18 @@ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
3
3
  /**
4
4
  * Encrypts a `Buffer` by converting it to a `Uint8Array`, performing encryption, and then returning the result as a `Buffer`.
5
5
  *
6
- * @param {Buffer} inputBuffer - The input data to encrypt.
7
- * @param {string} encryptionKey - The encryption key to use.
6
+ * @param inputBuffer - The input data to encrypt.
7
+ * @param encryptionKey - The encryption key to use.
8
8
  *
9
- * @returns {Outcome.Either<Buffer, string>} The result of the encryption. Success returns the encrypted data as a `Buffer` (with IV prepended), or failure returns an error message.
9
+ * @returns The result of the encryption. Success returns the encrypted data as a `Buffer` (with IV prepended), or failure returns an error message.
10
10
  */
11
11
  export declare function encrypt(inputBuffer: Buffer, encryptionKey: string): Outcome.Either<Buffer, string>;
12
12
  /**
13
13
  * Decrypts an encrypted `Buffer` by converting it to a `Uint8Array`, performing decryption, and then returning the result as a `Buffer`.
14
14
  *
15
- * @param {Buffer} encryptedBuffer - The encrypted data to decrypt.
16
- * @param {string} encryptionKey - The encryption key to use.
15
+ * @param encryptedBuffer - The encrypted data to decrypt.
16
+ * @param encryptionKey - The encryption key to use.
17
17
  *
18
- * @returns {Outcome.Either<Buffer, string>} The result of the decryption. Success returns the decrypted data as a `Buffer`, or failure returns an error message.
18
+ * @returns The result of the decryption. Success returns the decrypted data as a `Buffer`, or failure returns an error message.
19
19
  */
20
20
  export declare function decrypt(encryptedBuffer: Buffer, encryptionKey: string): Outcome.Either<Buffer, string>;
@@ -4,10 +4,10 @@ import { encryptUint8Array, decryptUint8Array } from '../uint8-array/index.js';
4
4
  /**
5
5
  * Encrypts a `Buffer` by converting it to a `Uint8Array`, performing encryption, and then returning the result as a `Buffer`.
6
6
  *
7
- * @param {Buffer} inputBuffer - The input data to encrypt.
8
- * @param {string} encryptionKey - The encryption key to use.
7
+ * @param inputBuffer - The input data to encrypt.
8
+ * @param encryptionKey - The encryption key to use.
9
9
  *
10
- * @returns {Outcome.Either<Buffer, string>} The result of the encryption. Success returns the encrypted data as a `Buffer` (with IV prepended), or failure returns an error message.
10
+ * @returns The result of the encryption. Success returns the encrypted data as a `Buffer` (with IV prepended), or failure returns an error message.
11
11
  */
12
12
  export function encrypt(inputBuffer, encryptionKey) {
13
13
  const fileArray = new Uint8Array(inputBuffer);
@@ -19,10 +19,10 @@ export function encrypt(inputBuffer, encryptionKey) {
19
19
  /**
20
20
  * Decrypts an encrypted `Buffer` by converting it to a `Uint8Array`, performing decryption, and then returning the result as a `Buffer`.
21
21
  *
22
- * @param {Buffer} encryptedBuffer - The encrypted data to decrypt.
23
- * @param {string} encryptionKey - The encryption key to use.
22
+ * @param encryptedBuffer - The encrypted data to decrypt.
23
+ * @param encryptionKey - The encryption key to use.
24
24
  *
25
- * @returns {Outcome.Either<Buffer, string>} The result of the decryption. Success returns the decrypted data as a `Buffer`, or failure returns an error message.
25
+ * @returns The result of the decryption. Success returns the decrypted data as a `Buffer`, or failure returns an error message.
26
26
  */
27
27
  export function decrypt(encryptedBuffer, encryptionKey) {
28
28
  const encryptedArray = new Uint8Array(encryptedBuffer);
@@ -2,20 +2,20 @@ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
2
2
  /**
3
3
  * Encrypts a `Uint8Array` using AES-256-GCM encryption and the specified encryption key.
4
4
  *
5
- * @param {Uint8Array} fileArray - The input data to encrypt.
6
- * @param {string} encryptionKey - The encryption key to use.
7
- * @param {number} [options.ivLength=16] - The length of the initialization vector (IV). Defaults to 16 bytes.
5
+ * @param fileArray - The input data to encrypt.
6
+ * @param encryptionKey - The encryption key to use.
7
+ * @param [options.ivLength=16] - The length of the initialization vector (IV). Defaults to 16 bytes.
8
8
  *
9
- * @returns {Outcome.Either<Uint8Array, string>} The result of the encryption. Success returns the encrypted data as a `Uint8Array` (with IV prepended), or failure returns an error message.
9
+ * @returns The result of the encryption. Success returns the encrypted data as a `Uint8Array` (with IV prepended), or failure returns an error message.
10
10
  */
11
11
  export declare function encryptUint8Array(fileArray: Uint8Array, encryptionKey: string): Outcome.Either<Uint8Array, string>;
12
12
  /**
13
13
  * Decrypts an encrypted `Uint8Array` using AES-256-GCM encryption and the specified encryption key.
14
14
  *
15
- * @param {Uint8Array} encryptedFile - The encrypted data to decrypt.
16
- * @param {string} encryptionKey - The encryption key to use.
17
- * @param {number} [options.ivLength=16] - The length of the initialization vector (IV). Defaults to 16 bytes.
15
+ * @param encryptedFile - The encrypted data to decrypt.
16
+ * @param encryptionKey - The encryption key to use.
17
+ * @param [options.ivLength=16] - The length of the initialization vector (IV). Defaults to 16 bytes.
18
18
  *
19
- * @returns {Outcome.Either<Uint8Array, string>} The result of the decryption. Success returns the decrypted data as a `Uint8Array`, or failure returns an error message.
19
+ * @returns The result of the decryption. Success returns the decrypted data as a `Uint8Array`, or failure returns an error message.
20
20
  */
21
21
  export declare function decryptUint8Array(encryptedFile: Uint8Array, encryptionKey: string): Outcome.Either<Uint8Array, string>;
@@ -5,11 +5,11 @@ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
5
5
  /**
6
6
  * Encrypts a `Uint8Array` using AES-256-GCM encryption and the specified encryption key.
7
7
  *
8
- * @param {Uint8Array} fileArray - The input data to encrypt.
9
- * @param {string} encryptionKey - The encryption key to use.
10
- * @param {number} [options.ivLength=16] - The length of the initialization vector (IV). Defaults to 16 bytes.
8
+ * @param fileArray - The input data to encrypt.
9
+ * @param encryptionKey - The encryption key to use.
10
+ * @param [options.ivLength=16] - The length of the initialization vector (IV). Defaults to 16 bytes.
11
11
  *
12
- * @returns {Outcome.Either<Uint8Array, string>} The result of the encryption. Success returns the encrypted data as a `Uint8Array` (with IV prepended), or failure returns an error message.
12
+ * @returns The result of the encryption. Success returns the encrypted data as a `Uint8Array` (with IV prepended), or failure returns an error message.
13
13
  */
14
14
  export function encryptUint8Array(fileArray, encryptionKey) {
15
15
  const ivLength = 12;
@@ -31,11 +31,11 @@ export function encryptUint8Array(fileArray, encryptionKey) {
31
31
  /**
32
32
  * Decrypts an encrypted `Uint8Array` using AES-256-GCM encryption and the specified encryption key.
33
33
  *
34
- * @param {Uint8Array} encryptedFile - The encrypted data to decrypt.
35
- * @param {string} encryptionKey - The encryption key to use.
36
- * @param {number} [options.ivLength=16] - The length of the initialization vector (IV). Defaults to 16 bytes.
34
+ * @param encryptedFile - The encrypted data to decrypt.
35
+ * @param encryptionKey - The encryption key to use.
36
+ * @param [options.ivLength=16] - The length of the initialization vector (IV). Defaults to 16 bytes.
37
37
  *
38
- * @returns {Outcome.Either<Uint8Array, string>} The result of the decryption. Success returns the decrypted data as a `Uint8Array`, or failure returns an error message.
38
+ * @returns The result of the decryption. Success returns the decrypted data as a `Uint8Array`, or failure returns an error message.
39
39
  */
40
40
  export function decryptUint8Array(encryptedFile, encryptionKey) {
41
41
  const ivLength = 12;
@@ -5,12 +5,12 @@ export type GenerateOptions = {
5
5
  /**
6
6
  * Generates an encryption key from a passphrase using PBKDF2.
7
7
  *
8
- * @param {string} passphrase - The passphrase to derive the key from.
9
- * @param {number} outputByteLength - The length of the output encryption key in bytes.
10
- * @param {GenerateOptions} [options] - Optional options.
11
- * @param {number} [options.saltLength=16] - The length of the salt in bytes. Defaults to 16 bytes.
12
- * @param {number} [options.iterations=100000] - The number of PBKDF2 iterations. Defaults to 100,000 iterations.
8
+ * @param passphrase - The passphrase to derive the key from.
9
+ * @param outputByteLength - The length of the output encryption key in bytes.
10
+ * @param [options] - Optional options.
11
+ * @param [options.saltLength=16] - The length of the salt in bytes. Defaults to 16 bytes.
12
+ * @param [options.iterations=100000] - The number of PBKDF2 iterations. Defaults to 100,000 iterations.
13
13
  *
14
- * @returns {string} The derived encryption key and salt, concatenated as a string in the format `salt:encryptionKey`.
14
+ * @returns The derived encryption key and salt, concatenated as a string in the format `salt:encryptionKey`.
15
15
  */
16
16
  export declare function generate(passphrase: string, outputByteLength: number, options?: GenerateOptions): string;
@@ -2,13 +2,13 @@ import { pbkdf2Sync, randomBytes } from 'node:crypto';
2
2
  /**
3
3
  * Generates an encryption key from a passphrase using PBKDF2.
4
4
  *
5
- * @param {string} passphrase - The passphrase to derive the key from.
6
- * @param {number} outputByteLength - The length of the output encryption key in bytes.
7
- * @param {GenerateOptions} [options] - Optional options.
8
- * @param {number} [options.saltLength=16] - The length of the salt in bytes. Defaults to 16 bytes.
9
- * @param {number} [options.iterations=100000] - The number of PBKDF2 iterations. Defaults to 100,000 iterations.
5
+ * @param passphrase - The passphrase to derive the key from.
6
+ * @param outputByteLength - The length of the output encryption key in bytes.
7
+ * @param [options] - Optional options.
8
+ * @param [options.saltLength=16] - The length of the salt in bytes. Defaults to 16 bytes.
9
+ * @param [options.iterations=100000] - The number of PBKDF2 iterations. Defaults to 100,000 iterations.
10
10
  *
11
- * @returns {string} The derived encryption key and salt, concatenated as a string in the format `salt:encryptionKey`.
11
+ * @returns The derived encryption key and salt, concatenated as a string in the format `salt:encryptionKey`.
12
12
  */
13
13
  export function generate(passphrase, outputByteLength, options) {
14
14
  const { saltLength = 16, iterations = 100000 } = options ?? {};
@@ -23,14 +23,14 @@ export type Replacements = Record<string, string>;
23
23
  * - **Replacements mode**: Pass an object with string replacements.
24
24
  * - **Function mode**: Pass a function that transforms the file content.
25
25
  *
26
- * @param {Path} path - The path to the file to read and edit.
27
- * @param {Replacements} editor - Object mapping strings to replace with their replacements.
28
- * @param {Options} [opts] - Optional configuration.
29
- * @param {Parameters<typeof fs.readFile>[1]} [opts.readOptions] - Extra `readFile` params.
30
- * @param {Parameters<typeof fs.writeFile>[2]} [opts.writeOptions] - Extra `writeFile` params.
31
- * @param {Path} [opts.output] - Output path (defaults to `path`).
32
- * @param {boolean} [opts.dryRun=false] - If `true`, skip writing to disk.
33
- * @returns {Promise<string>} The edited file content as a string.
26
+ * @param path - The path to the file to read and edit.
27
+ * @param editor - Object mapping strings to replace with their replacements.
28
+ * @param [opts] - Optional configuration.
29
+ * @param [opts.readOptions] - Extra `readFile` params.
30
+ * @param [opts.writeOptions] - Extra `writeFile` params.
31
+ * @param [opts.output] - Output path (defaults to `path`).
32
+ * @param [opts.dryRun=false] - If `true`, skip writing to disk.
33
+ * @returns The edited file content as a string.
34
34
  */
35
35
  export declare function readWrite(path: Path, editor: Replacements, opts?: Options): Promise<string>;
36
36
  /**
@@ -40,14 +40,14 @@ export declare function readWrite(path: Path, editor: Replacements, opts?: Optio
40
40
  * - **Replacements mode**: Pass an object with string replacements.
41
41
  * - **Function mode**: Pass a function that transforms the file content.
42
42
  *
43
- * @param {Path} path - The path to the file to read and edit.
44
- * @param {EditorFunc<T>} editor - Function that transforms the file content.
45
- * @param {Options} [opts] - Optional configuration.
46
- * @param {Parameters<typeof fs.readFile>[1]} [opts.readOptions] - Extra `readFile` params.
47
- * @param {Parameters<typeof fs.writeFile>[2]} [opts.writeOptions] - Extra `writeFile` params.
48
- * @param {Path} [opts.output] - Output path (defaults to `path`).
49
- * @param {boolean} [opts.dryRun=false] - If `true`, skip writing to disk.
50
- * @returns {Promise<T>} The edited file content of type `T`.
43
+ * @param path - The path to the file to read and edit.
44
+ * @param editor - Function that transforms the file content.
45
+ * @param [opts] - Optional configuration.
46
+ * @param [opts.readOptions] - Extra `readFile` params.
47
+ * @param [opts.writeOptions] - Extra `writeFile` params.
48
+ * @param [opts.output] - Output path (defaults to `path`).
49
+ * @param [opts.dryRun=false] - If `true`, skip writing to disk.
50
+ * @returns The edited file content of type `T`.
51
51
  */
52
52
  export declare function readWrite<T extends WriteFileData>(path: Path, editor: EditorFunc<T>, opts?: Options): Promise<T>;
53
53
  export {};
@@ -15,8 +15,8 @@ export declare const defaultListContext: Required<ListContext>;
15
15
  /**
16
16
  * Fills missing properties in a list context with default values.
17
17
  *
18
- * @param {ListContext} input - The partial list context to fill.
19
- * @returns {Required<ListContext>} A complete list context with all properties set.
18
+ * @param input - The partial list context to fill.
19
+ * @returns A complete list context with all properties set.
20
20
  */
21
21
  export declare const fillListContext: (input: ListContext) => Required<ListContext>;
22
22
  export type ListOptions = {
@@ -36,8 +36,8 @@ export declare const defaultListOptions: Required<ListOptions>;
36
36
  /**
37
37
  * Fills missing properties in list options with default values.
38
38
  *
39
- * @param {ListOptions} input - The partial list options to fill.
40
- * @returns {Required<ListOptions>} A complete list options object with all properties set.
39
+ * @param input - The partial list options to fill.
40
+ * @returns A complete list options object with all properties set.
41
41
  */
42
42
  export declare const fillOptions: (input: ListOptions) => Required<ListOptions>;
43
43
  /**
@@ -54,10 +54,10 @@ export declare function list(...args: Parameters<typeof listAbsoluteSubpaths>):
54
54
  /**
55
55
  * Internal function that lists absolute subpaths recursively.
56
56
  *
57
- * @param {string} inputPath - The directory path to list.
58
- * @param {ListOptions} [_options] - Optional configuration.
59
- * @param {ListContext} [__private_context] - Internal recursion context.
60
- * @returns {Promise<string[]>} Array of absolute subpaths.
57
+ * @param inputPath - The directory path to list.
58
+ * @param [_options] - Optional configuration.
59
+ * @param [__private_context] - Internal recursion context.
60
+ * @returns Array of absolute subpaths.
61
61
  */
62
62
  declare function listAbsoluteSubpaths(inputPath: string, _options?: ListOptions, __private_context?: ListContext): Promise<string[]>;
63
63
  export {};
@@ -1,4 +1,3 @@
1
- /* eslint-disable @typescript-eslint/no-throw-literal */
2
1
  import { promises as fs } from 'node:fs';
3
2
  import path from 'node:path';
4
3
  import { matchesSome as stringMatchesSome } from '../../../agnostic/strings/matches/index.js';
@@ -10,8 +9,8 @@ export const defaultListContext = {
10
9
  /**
11
10
  * Fills missing properties in a list context with default values.
12
11
  *
13
- * @param {ListContext} input - The partial list context to fill.
14
- * @returns {Required<ListContext>} A complete list context with all properties set.
12
+ * @param input - The partial list context to fill.
13
+ * @returns A complete list context with all properties set.
15
14
  */
16
15
  export const fillListContext = (input) => {
17
16
  return {
@@ -35,8 +34,8 @@ export const defaultListOptions = {
35
34
  /**
36
35
  * Fills missing properties in list options with default values.
37
36
  *
38
- * @param {ListOptions} input - The partial list options to fill.
39
- * @returns {Required<ListOptions>} A complete list options object with all properties set.
37
+ * @param input - The partial list options to fill.
38
+ * @returns A complete list options object with all properties set.
40
39
  */
41
40
  export const fillOptions = (input) => {
42
41
  return {
@@ -65,10 +64,10 @@ export async function list(...args) {
65
64
  /**
66
65
  * Internal function that lists absolute subpaths recursively.
67
66
  *
68
- * @param {string} inputPath - The directory path to list.
69
- * @param {ListOptions} [_options] - Optional configuration.
70
- * @param {ListContext} [__private_context] - Internal recursion context.
71
- * @returns {Promise<string[]>} Array of absolute subpaths.
67
+ * @param inputPath - The directory path to list.
68
+ * @param [_options] - Optional configuration.
69
+ * @param [__private_context] - Internal recursion context.
70
+ * @returns Array of absolute subpaths.
72
71
  */
73
72
  async function listAbsoluteSubpaths(inputPath, _options = {},
74
73
  // eslint-disable-next-line @typescript-eslint/naming-convention
@@ -76,9 +75,7 @@ __private_context = {}) {
76
75
  const options = fillOptions(_options);
77
76
  // eslint-disable-next-line @typescript-eslint/naming-convention
78
77
  const _private_context = fillListContext(__private_context);
79
- if (_private_context.rootPath === null) {
80
- _private_context.rootPath = inputPath;
81
- }
78
+ _private_context.rootPath ??= inputPath;
82
79
  const subpaths = [];
83
80
  if (_private_context.depth > options.maxDepth)
84
81
  return subpaths;
@@ -132,6 +129,7 @@ __private_context = {}) {
132
129
  }
133
130
  }
134
131
  else {
132
+ // eslint-disable-next-line no-lonely-if
135
133
  if (isDirectory) {
136
134
  const childSubpaths = await listAbsoluteSubpaths(childAbsPath, options, {
137
135
  ..._private_context,
@@ -147,7 +145,7 @@ __private_context = {}) {
147
145
  }
148
146
  catch (err) {
149
147
  if (typeof err !== 'boolean')
150
- throw new Error('This try/catch block should only throw booleans');
148
+ throw new Error('This try/catch block should only throw booleans', { cause: err });
151
149
  const shouldDiveDeeper = err;
152
150
  if (!shouldDiveDeeper)
153
151
  return [];
@@ -1,4 +1,4 @@
1
- import { type Client } from 'basic-ftp';
1
+ import type { Client } from 'basic-ftp';
2
2
  import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
3
3
  export type CopyDirOptions = {
4
4
  /**
@@ -17,11 +17,11 @@ export type CopyDirOptions = {
17
17
  * Recursively copies every file under `sourceDir` to the same relative path
18
18
  * beneath `targetDir` on an FTP server, streaming data to avoid buffering.
19
19
  *
20
- * @param {Client} ftpClient - The FTP client instance.
21
- * @param {string} sourceDir - The source directory path to copy from.
22
- * @param {string} targetDir - The target directory path to copy to.
23
- * @param {CopyDirOptions} [options] - Optional parameters for the operation.
24
- * @returns {Promise<Outcome.Either<true, string>>}
20
+ * @param ftpClient - The FTP client instance.
21
+ * @param sourceDir - The source directory path to copy from.
22
+ * @param targetDir - The target directory path to copy to.
23
+ * @param [options] - Optional parameters for the operation.
24
+ * @returns
25
25
  * - Success: `Outcome.makeSuccess(true)` if the copy succeeds.
26
26
  * - Failure: `Outcome.makeFailure(errStr)` if an error occurs.
27
27
  */
@@ -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 FTP server, streaming data to avoid buffering.
7
7
  *
8
- * @param {Client} ftpClient - The FTP 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 ftpClient - The FTP 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
  * - Success: `Outcome.makeSuccess(true)` if the copy succeeds.
14
14
  * - Failure: `Outcome.makeFailure(errStr)` if an error occurs.
15
15
  */
@@ -18,7 +18,7 @@ export async function copyDir(ftpClient, sourceDir, targetDir, options) {
18
18
  async function recurse(dir) {
19
19
  const list = await ftpClient.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.isDirectory) {
@@ -1,12 +1,12 @@
1
- import { type Client } from 'basic-ftp';
1
+ import type { Client } from 'basic-ftp';
2
2
  import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
3
3
  /**
4
4
  * Lists all direct children files under a given directory on an FTP server.
5
5
  *
6
6
  * This function returns only the immediate files (not recursive) under the specified directory.
7
7
  *
8
- * @param {Client} ftpClient - The basic-ftp client instance used to interact with the FTP 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 ftpClient - The basic-ftp client instance used to interact with the FTP 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(ftpClient: Client, directoryPath: string): Promise<Outcome.Either<string[], string>>;
@@ -5,9 +5,9 @@ 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} ftpClient - The basic-ftp client instance used to interact with the FTP 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 ftpClient - The basic-ftp client instance used to interact with the FTP 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(ftpClient, directoryPath) {
13
13
  try {
@@ -1,4 +1,4 @@
1
- import { type Client } from 'basic-ftp';
1
+ import type { Client } from 'basic-ftp';
2
2
  import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
3
3
  export type MoveDirOptions = {
4
4
  /** If false and `targetDir` exists, the operation is aborted. Defaults to false. */
@@ -15,11 +15,11 @@ export type MoveDirOptions = {
15
15
  * If `ensureDir` is true (default), the parent directory of `targetDir` is
16
16
  * created if it does not exist.
17
17
  *
18
- * @param {Client} ftpClient - The FTP client instance.
19
- * @param {string} sourceDir - The source directory path to move from.
20
- * @param {string} targetDir - The target directory path to move to.
21
- * @param {MoveDirOptions} [options] - Optional parameters for the operation.
22
- * @returns {Promise<Outcome.Either<true, string>>} A promise that resolves to an `Outcome.Either`:
18
+ * @param ftpClient - The FTP client instance.
19
+ * @param sourceDir - The source directory path to move from.
20
+ * @param targetDir - The target directory path to move to.
21
+ * @param [options] - Optional parameters for the operation.
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
  */
@@ -9,11 +9,11 @@ import { unknownToString } from '../../../../agnostic/errors/unknown-to-string/i
9
9
  * If `ensureDir` is true (default), the parent directory of `targetDir` is
10
10
  * created if it does not exist.
11
11
  *
12
- * @param {Client} ftpClient - The FTP client instance.
13
- * @param {string} sourceDir - The source directory path to move from.
14
- * @param {string} targetDir - The target directory path to move to.
15
- * @param {MoveDirOptions} [options] - Optional parameters for the operation.
16
- * @returns {Promise<Outcome.Either<true, string>>} A promise that resolves to an `Outcome.Either`:
12
+ * @param ftpClient - The FTP client instance.
13
+ * @param sourceDir - The source directory path to move from.
14
+ * @param targetDir - The target directory path to move to.
15
+ * @param [options] - Optional parameters for the operation.
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
  */
@@ -1,4 +1,4 @@
1
- import { type Client } from 'basic-ftp';
1
+ import type { Client } from 'basic-ftp';
2
2
  import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
3
3
  export type RemoveDirOptions = {
4
4
  /**
@@ -12,11 +12,11 @@ export type RemoveDirOptions = {
12
12
  /**
13
13
  * Recursively deletes a directory (and all contents) on an FTP server.
14
14
  *
15
- * @param {Client} ftpClient - The FTP 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 ftpClient - The FTP 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 directory
21
21
  * 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 FTP server.
5
6
  *
6
- * @param {Client} ftpClient - The FTP 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 ftpClient - The FTP 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 directory
12
13
  * 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(ftpClient, directoryPath, options) {
33
34
  return Outcome.makeSuccess(true);
34
35
  }
35
36
  catch (err) {
37
+ const code = deepGetProperty(err, 'code');
36
38
  // 550 (“No such file or directory”) when the path is missing
37
- if (ignoreMissing && err.code === 550) {
39
+ if (ignoreMissing && code === 550)
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 Client } from 'basic-ftp';
1
+ import type { Client } from 'basic-ftp';
2
2
  import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
3
3
  export type CopyOptions = {
4
4
  /**
@@ -17,11 +17,11 @@ export type CopyOptions = {
17
17
  * Copies a file from one path to another on the same FTP server, streaming the
18
18
  * data instead of buffering it in memory.
19
19
  *
20
- * @param {Client} ftpClient - The basic‑ftp client instance.
21
- * @param {string} sourcePath - The path of the source file.
22
- * @param {string} targetPath - The destination path.
23
- * @param {CopyOptions} [options] - Optional copy configuration.
24
- * @returns {Promise<Outcome.Either<true, string>>}
20
+ * @param ftpClient - The basic‑ftp client instance.
21
+ * @param sourcePath - The path of the source file.
22
+ * @param targetPath - The destination path.
23
+ * @param [options] - Optional copy configuration.
24
+ * @returns
25
25
  * - On success: `Outcome.makeSuccess(true)`.
26
26
  * - On failure: `Outcome.makeFailure(errStr)`.
27
27
  */