@design-edito/tools 0.3.3 → 0.3.5

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 (414) hide show
  1. package/agnostic/arrays/dedupe/index.js +0 -2
  2. package/agnostic/arrays/find-duplicates/index.js +0 -2
  3. package/agnostic/arrays/index.js +6 -0
  4. package/agnostic/arrays/is-array-of/index.js +2 -4
  5. package/agnostic/arrays/make/index.js +0 -2
  6. package/agnostic/arrays/random-pick/index.js +20 -5
  7. package/agnostic/arrays/shuffle/index.js +0 -2
  8. package/agnostic/booleans/index.js +1 -0
  9. package/agnostic/booleans/is-falsy/index.js +10 -7
  10. package/agnostic/colors/channels/index.js +194 -12
  11. package/agnostic/colors/contrast/index.js +2 -13
  12. package/agnostic/colors/convert/index.js +553 -25
  13. package/agnostic/colors/distance/index.js +1 -10
  14. package/agnostic/colors/grayscale/index.js +6 -13
  15. package/agnostic/colors/index.js +12 -0
  16. package/agnostic/colors/invert/index.js +2 -14
  17. package/agnostic/colors/lerp/index.js +12 -19
  18. package/agnostic/colors/luminance/index.js +16 -10
  19. package/agnostic/colors/palette/index.js +1 -12
  20. package/agnostic/colors/rotate/index.js +36 -11
  21. package/agnostic/colors/tidy/index.js +55 -9
  22. package/agnostic/colors/typechecks/index.js +90 -14
  23. package/agnostic/colors/types.js +151 -4
  24. package/agnostic/css/bem/index.js +2 -9
  25. package/agnostic/css/generate-nice-color/index.js +0 -2
  26. package/agnostic/css/index.js +5 -0
  27. package/agnostic/css/is-valid-css-class-name/index.js +5 -5
  28. package/agnostic/css/scale/index.js +2 -8
  29. package/agnostic/css/styles-set/index.js +1 -6
  30. package/agnostic/errors/index.js +2 -0
  31. package/agnostic/errors/register/index.js +0 -2
  32. package/agnostic/errors/unknown-to-string/index.js +7 -4
  33. package/agnostic/html/get-node-ancestors/index.js +18 -5
  34. package/agnostic/html/get-position-inside-parent/index.js +0 -2
  35. package/agnostic/html/hyper-json/cast/index.js +105 -22
  36. package/agnostic/html/hyper-json/index.js +16 -43
  37. package/agnostic/html/hyper-json/method/index.js +11 -4
  38. package/agnostic/html/hyper-json/serialize/index.js +67 -8
  39. package/agnostic/html/hyper-json/smart-tags/coalesced/add/index.js +17 -22
  40. package/agnostic/html/hyper-json/smart-tags/coalesced/addclass/index.js +31 -22
  41. package/agnostic/html/hyper-json/smart-tags/coalesced/and/index.js +16 -22
  42. package/agnostic/html/hyper-json/smart-tags/coalesced/append/index.js +39 -22
  43. package/agnostic/html/hyper-json/smart-tags/coalesced/at/index.js +41 -22
  44. package/agnostic/html/hyper-json/smart-tags/coalesced/call/index.js +31 -22
  45. package/agnostic/html/hyper-json/smart-tags/coalesced/clone/index.js +12 -22
  46. package/agnostic/html/hyper-json/smart-tags/coalesced/deleteproperties/index.js +42 -22
  47. package/agnostic/html/hyper-json/smart-tags/coalesced/equals/index.js +28 -22
  48. package/agnostic/html/hyper-json/smart-tags/coalesced/getattribute/index.js +26 -22
  49. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperties/index.js +21 -22
  50. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperty/index.js +55 -23
  51. package/agnostic/html/hyper-json/smart-tags/coalesced/hjparse/index.js +23 -22
  52. package/agnostic/html/hyper-json/smart-tags/coalesced/hjstringify/index.js +68 -24
  53. package/agnostic/html/hyper-json/smart-tags/coalesced/if/index.js +21 -22
  54. package/agnostic/html/hyper-json/smart-tags/coalesced/index.js +52 -0
  55. package/agnostic/html/hyper-json/smart-tags/coalesced/initialize/index.js +34 -22
  56. package/agnostic/html/hyper-json/smart-tags/coalesced/join/index.js +18 -22
  57. package/agnostic/html/hyper-json/smart-tags/coalesced/length/index.js +19 -22
  58. package/agnostic/html/hyper-json/smart-tags/coalesced/map/index.js +33 -22
  59. package/agnostic/html/hyper-json/smart-tags/coalesced/negate/index.js +12 -22
  60. package/agnostic/html/hyper-json/smart-tags/coalesced/notrailing/index.js +35 -22
  61. package/agnostic/html/hyper-json/smart-tags/coalesced/or/index.js +16 -22
  62. package/agnostic/html/hyper-json/smart-tags/coalesced/pickrandom/index.js +19 -22
  63. package/agnostic/html/hyper-json/smart-tags/coalesced/populate/index.js +68 -22
  64. package/agnostic/html/hyper-json/smart-tags/coalesced/print/index.js +24 -22
  65. package/agnostic/html/hyper-json/smart-tags/coalesced/push/index.js +12 -22
  66. package/agnostic/html/hyper-json/smart-tags/coalesced/pusheach/index.js +32 -22
  67. package/agnostic/html/hyper-json/smart-tags/coalesced/recordtoarray/index.js +12 -22
  68. package/agnostic/html/hyper-json/smart-tags/coalesced/removeattribute/index.js +48 -22
  69. package/agnostic/html/hyper-json/smart-tags/coalesced/removeclass/index.js +31 -22
  70. package/agnostic/html/hyper-json/smart-tags/coalesced/renameproperty/index.js +40 -22
  71. package/agnostic/html/hyper-json/smart-tags/coalesced/replace/index.js +48 -23
  72. package/agnostic/html/hyper-json/smart-tags/coalesced/select/index.js +34 -22
  73. package/agnostic/html/hyper-json/smart-tags/coalesced/set/index.js +28 -22
  74. package/agnostic/html/hyper-json/smart-tags/coalesced/setattribute/index.js +48 -22
  75. package/agnostic/html/hyper-json/smart-tags/coalesced/setproperty/index.js +170 -23
  76. package/agnostic/html/hyper-json/smart-tags/coalesced/sorton/index.js +78 -22
  77. package/agnostic/html/hyper-json/smart-tags/coalesced/split/index.js +20 -22
  78. package/agnostic/html/hyper-json/smart-tags/coalesced/spread/index.js +22 -22
  79. package/agnostic/html/hyper-json/smart-tags/coalesced/toarray/index.js +13 -22
  80. package/agnostic/html/hyper-json/smart-tags/coalesced/toboolean/index.js +13 -22
  81. package/agnostic/html/hyper-json/smart-tags/coalesced/toelement/index.js +18 -22
  82. package/agnostic/html/hyper-json/smart-tags/coalesced/toggleclass/index.js +31 -22
  83. package/agnostic/html/hyper-json/smart-tags/coalesced/tonodelist/index.js +13 -22
  84. package/agnostic/html/hyper-json/smart-tags/coalesced/tonull/index.js +12 -22
  85. package/agnostic/html/hyper-json/smart-tags/coalesced/tonumber/index.js +13 -22
  86. package/agnostic/html/hyper-json/smart-tags/coalesced/torecord/index.js +13 -22
  87. package/agnostic/html/hyper-json/smart-tags/coalesced/toref/index.js +14 -22
  88. package/agnostic/html/hyper-json/smart-tags/coalesced/tostring/index.js +13 -22
  89. package/agnostic/html/hyper-json/smart-tags/coalesced/totext/index.js +13 -22
  90. package/agnostic/html/hyper-json/smart-tags/coalesced/transformselected/index.js +78 -22
  91. package/agnostic/html/hyper-json/smart-tags/coalesced/trim/index.js +15 -22
  92. package/agnostic/html/hyper-json/smart-tags/index.js +28 -7
  93. package/agnostic/html/hyper-json/smart-tags/isolated/any/index.js +14 -8
  94. package/agnostic/html/hyper-json/smart-tags/isolated/array/index.js +11 -8
  95. package/agnostic/html/hyper-json/smart-tags/isolated/boolean/index.js +13 -22
  96. package/agnostic/html/hyper-json/smart-tags/isolated/element/index.js +24 -22
  97. package/agnostic/html/hyper-json/smart-tags/isolated/get/index.js +20 -22
  98. package/agnostic/html/hyper-json/smart-tags/isolated/global/index.js +15 -22
  99. package/agnostic/html/hyper-json/smart-tags/isolated/guess/index.js +47 -22
  100. package/agnostic/html/hyper-json/smart-tags/isolated/index.js +14 -0
  101. package/agnostic/html/hyper-json/smart-tags/isolated/nodelist/index.js +22 -22
  102. package/agnostic/html/hyper-json/smart-tags/isolated/null/index.js +11 -8
  103. package/agnostic/html/hyper-json/smart-tags/isolated/number/index.js +19 -22
  104. package/agnostic/html/hyper-json/smart-tags/isolated/record/index.js +15 -22
  105. package/agnostic/html/hyper-json/smart-tags/isolated/ref/index.js +38 -23
  106. package/agnostic/html/hyper-json/smart-tags/isolated/string/index.js +19 -22
  107. package/agnostic/html/hyper-json/smart-tags/isolated/text/index.js +19 -22
  108. package/agnostic/html/hyper-json/transformer/index.js +124 -6
  109. package/agnostic/html/hyper-json/tree/index.js +423 -22
  110. package/agnostic/html/hyper-json/types/index.js +16 -4
  111. package/agnostic/html/hyper-json/utils/index.js +426 -22
  112. package/agnostic/html/index.js +8 -0
  113. package/agnostic/html/insert-node/index.js +14 -4
  114. package/agnostic/html/placeholders/index.js +0 -2
  115. package/agnostic/html/replace-in-element/index.js +1 -6
  116. package/agnostic/html/selector-to-element/index.js +2 -6
  117. package/agnostic/html/string-to-nodes/index.js +2 -6
  118. package/agnostic/index.js +16 -0
  119. package/agnostic/misc/assert/index.js +8 -15
  120. package/agnostic/misc/cast/index.js +1 -6
  121. package/agnostic/misc/connection/index.js +2 -6
  122. package/agnostic/misc/crawler/index.js +1 -5
  123. package/agnostic/misc/crossenv/detect-runtime/index.js +8 -10
  124. package/agnostic/misc/crossenv/index.js +2 -0
  125. package/agnostic/misc/crossenv/types.js +11 -4
  126. package/agnostic/misc/crossenv/window/index.js +22 -7
  127. package/agnostic/misc/data-size/index.js +0 -2
  128. package/agnostic/misc/index.js +12 -0
  129. package/agnostic/misc/is-constructor-function/index.js +4 -4
  130. package/agnostic/misc/is-nullish/index.js +8 -6
  131. package/agnostic/misc/logs/index.js +3 -0
  132. package/agnostic/misc/logs/logger/index.js +0 -2
  133. package/agnostic/misc/logs/make-text-block/index.js +11 -4
  134. package/agnostic/misc/logs/styles/index.js +18 -5
  135. package/agnostic/misc/lorem-ipsum/index.js +2 -8
  136. package/agnostic/misc/normalize-extension/index.js +0 -2
  137. package/agnostic/misc/outcome/index.js +10 -6
  138. package/agnostic/numbers/absolute-modulo/index.js +4 -4
  139. package/agnostic/numbers/approximate-rational/index.js +0 -2
  140. package/agnostic/numbers/clamp/index.js +6 -4
  141. package/agnostic/numbers/geometric-progressions/index.js +14 -4
  142. package/agnostic/numbers/index.js +6 -0
  143. package/agnostic/numbers/interpolate/index.js +0 -2
  144. package/agnostic/numbers/round/index.js +13 -6
  145. package/agnostic/objects/deep-get-property/index.js +1 -5
  146. package/agnostic/objects/enums/index.js +1 -0
  147. package/agnostic/objects/enums/is-in-enum/index.js +9 -4
  148. package/agnostic/objects/flatten-getters/index.js +0 -2
  149. package/agnostic/objects/index.js +8 -0
  150. package/agnostic/objects/is-object/index.js +7 -5
  151. package/agnostic/objects/is-record/index.js +5 -4
  152. package/agnostic/objects/record-format/index.js +0 -2
  153. package/agnostic/objects/record-map/index.js +10 -4
  154. package/agnostic/objects/validation/index.js +0 -2
  155. package/agnostic/optim/index.js +2 -0
  156. package/agnostic/optim/memoize/index.js +0 -2
  157. package/agnostic/optim/throttle-debounce/index.js +0 -2
  158. package/agnostic/random/hex-char/index.js +7 -5
  159. package/agnostic/random/index.js +3 -0
  160. package/agnostic/random/random/index.js +12 -5
  161. package/agnostic/random/uuid/index.js +11 -7
  162. package/agnostic/regexps/index.js +0 -2
  163. package/agnostic/sanitization/file-name/index.js +6 -4
  164. package/agnostic/sanitization/html/index.js +3 -7
  165. package/agnostic/sanitization/index.js +4 -0
  166. package/agnostic/sanitization/path/index.js +1 -5
  167. package/agnostic/sanitization/user-input/index.js +0 -2
  168. package/agnostic/strings/char-codes/index.js +0 -2
  169. package/agnostic/strings/index.js +7 -0
  170. package/agnostic/strings/matches/index.js +14 -6
  171. package/agnostic/strings/normalize-indent/index.js +0 -2
  172. package/agnostic/strings/parse-table/index.js +6 -11
  173. package/agnostic/strings/replace-all/index.js +13 -4
  174. package/agnostic/strings/to-alphanum/index.js +0 -2
  175. package/agnostic/strings/trim/index.js +7 -5
  176. package/agnostic/time/dates/format-date/index.js +0 -2
  177. package/agnostic/time/dates/index.js +1 -0
  178. package/agnostic/time/duration/index.js +0 -2
  179. package/agnostic/time/index.js +5 -0
  180. package/agnostic/time/timeout/index.js +0 -2
  181. package/agnostic/time/transitions/index.js +1 -5
  182. package/agnostic/time/wait/index.js +6 -4
  183. package/agnostic/typescript/index.js +1 -0
  184. package/components/Comp/index.js +0 -2
  185. package/components/index.js +1 -0
  186. package/node/@aws-s3/index.js +1 -0
  187. package/node/@aws-s3/storage/directory/copy-dir/index.js +53 -5
  188. package/node/@aws-s3/storage/directory/index.js +4 -0
  189. package/node/@aws-s3/storage/directory/list/index.js +22 -5
  190. package/node/@aws-s3/storage/directory/move-dir/index.js +66 -5
  191. package/node/@aws-s3/storage/directory/remove-dir/index.js +49 -5
  192. package/node/@aws-s3/storage/file/copy/index.js +34 -5
  193. package/node/@aws-s3/storage/file/download/index.js +20 -5
  194. package/node/@aws-s3/storage/file/exists/index.js +25 -5
  195. package/node/@aws-s3/storage/file/index.js +7 -0
  196. package/node/@aws-s3/storage/file/move/index.js +45 -5
  197. package/node/@aws-s3/storage/file/remove/index.js +25 -5
  198. package/node/@aws-s3/storage/file/stat/index.js +27 -5
  199. package/node/@aws-s3/storage/file/upload/index.js +45 -5
  200. package/node/@aws-s3/storage/index.js +2 -0
  201. package/node/@express/@multer/index.js +5 -12
  202. package/node/@express/index.js +1 -0
  203. package/node/@google-cloud/index.js +1 -0
  204. package/node/@google-cloud/storage/bucket/get-metadata/index.js +4 -11
  205. package/node/@google-cloud/storage/bucket/index.js +1 -0
  206. package/node/@google-cloud/storage/directory/copy-dir/index.js +26 -6
  207. package/node/@google-cloud/storage/directory/index.js +4 -0
  208. package/node/@google-cloud/storage/directory/list/index.js +18 -6
  209. package/node/@google-cloud/storage/directory/move-dir/index.js +26 -6
  210. package/node/@google-cloud/storage/directory/remove-dir/index.js +22 -6
  211. package/node/@google-cloud/storage/file/copy/index.js +24 -6
  212. package/node/@google-cloud/storage/file/download/index.js +17 -6
  213. package/node/@google-cloud/storage/file/exists/index.js +14 -6
  214. package/node/@google-cloud/storage/file/generate-signed-url/index.js +4 -11
  215. package/node/@google-cloud/storage/file/get-metadata/index.js +4 -11
  216. package/node/@google-cloud/storage/file/get-permissions/index.js +4 -11
  217. package/node/@google-cloud/storage/file/index.js +12 -0
  218. package/node/@google-cloud/storage/file/move/index.js +26 -6
  219. package/node/@google-cloud/storage/file/remove/index.js +19 -6
  220. package/node/@google-cloud/storage/file/revoke-signed-urls/index.js +5 -16
  221. package/node/@google-cloud/storage/file/stat/index.js +21 -6
  222. package/node/@google-cloud/storage/file/update-metadata/index.js +4 -11
  223. package/node/@google-cloud/storage/file/upload/index.js +31 -6
  224. package/node/@google-cloud/storage/index.js +3 -0
  225. package/node/cloud-storage/clients/index.js +9 -7
  226. package/node/cloud-storage/index.js +2 -0
  227. package/node/cloud-storage/operations/copy-dir/index.js +21 -26
  228. package/node/cloud-storage/operations/copy-file/index.js +12 -25
  229. package/node/cloud-storage/operations/download-file/index.js +12 -25
  230. package/node/cloud-storage/operations/exists-file/index.js +12 -25
  231. package/node/cloud-storage/operations/index.js +11 -0
  232. package/node/cloud-storage/operations/list-dir/index.js +12 -25
  233. package/node/cloud-storage/operations/move-dir/index.js +14 -27
  234. package/node/cloud-storage/operations/move-file/index.js +12 -25
  235. package/node/cloud-storage/operations/remove-dir/index.js +14 -27
  236. package/node/cloud-storage/operations/remove-file/index.js +12 -25
  237. package/node/cloud-storage/operations/stat-file/index.js +12 -25
  238. package/node/cloud-storage/operations/upload-file/index.js +12 -25
  239. package/node/encryption/@aes-256-gcm/buffer/index.js +7 -12
  240. package/node/encryption/@aes-256-gcm/index.js +2 -0
  241. package/node/encryption/@aes-256-gcm/uint8-array/index.js +36 -7
  242. package/node/encryption/index.js +2 -0
  243. package/node/encryption/key/index.js +0 -2
  244. package/node/files/index.js +3 -0
  245. package/node/files/is-in-directory/index.js +0 -2
  246. package/node/files/read-write/index.js +0 -2
  247. package/node/files/subpaths/index.js +3 -7
  248. package/node/ftps/directory/copy-dir/index.js +45 -6
  249. package/node/ftps/directory/index.js +4 -0
  250. package/node/ftps/directory/list/index.js +12 -6
  251. package/node/ftps/directory/move-dir/index.js +25 -6
  252. package/node/ftps/directory/remove-dir/index.js +27 -6
  253. package/node/ftps/file/copy/index.js +30 -6
  254. package/node/ftps/file/download/index.js +15 -6
  255. package/node/ftps/file/exists/index.js +17 -6
  256. package/node/ftps/file/index.js +7 -0
  257. package/node/ftps/file/move/index.js +29 -6
  258. package/node/ftps/file/remove/index.js +25 -6
  259. package/node/ftps/file/stat/index.js +21 -6
  260. package/node/ftps/file/upload/index.js +30 -6
  261. package/node/ftps/index.js +2 -0
  262. package/node/images/create/index.js +1 -11
  263. package/node/images/format/index.js +87 -104
  264. package/node/images/index.js +5 -0
  265. package/node/images/metadata/index.js +1 -11
  266. package/node/images/transform/index.js +73 -130
  267. package/node/images/transform/operations/blur/index.js +12 -7
  268. package/node/images/transform/operations/brighten/index.js +12 -7
  269. package/node/images/transform/operations/extend/index.js +24 -14
  270. package/node/images/transform/operations/extract/index.js +17 -7
  271. package/node/images/transform/operations/flatten/index.js +19 -14
  272. package/node/images/transform/operations/flip/index.js +4 -4
  273. package/node/images/transform/operations/flop/index.js +4 -4
  274. package/node/images/transform/operations/hue/index.js +14 -7
  275. package/node/images/transform/operations/index.js +15 -0
  276. package/node/images/transform/operations/level/index.js +18 -7
  277. package/node/images/transform/operations/lighten/index.js +14 -7
  278. package/node/images/transform/operations/normalize/index.js +15 -7
  279. package/node/images/transform/operations/overlay/index.js +87 -14
  280. package/node/images/transform/operations/resize/index.js +45 -14
  281. package/node/images/transform/operations/rotate/index.js +19 -14
  282. package/node/images/transform/operations/saturate/index.js +16 -7
  283. package/node/images/types.js +27 -5
  284. package/node/images/utils/index.js +35 -13
  285. package/node/index.js +11 -0
  286. package/node/process/index.js +3 -0
  287. package/node/process/on-exit/index.js +0 -2
  288. package/node/process/prompt-continue/index.js +2 -1667
  289. package/node/process/spawner/index.js +8 -20
  290. package/node/sftp/directory/copy-dir/index.js +43 -6
  291. package/node/sftp/directory/index.js +4 -0
  292. package/node/sftp/directory/list/index.js +12 -6
  293. package/node/sftp/directory/move-dir/index.js +22 -6
  294. package/node/sftp/directory/remove-dir/index.js +27 -6
  295. package/node/sftp/file/copy/index.js +28 -6
  296. package/node/sftp/file/download/index.js +15 -6
  297. package/node/sftp/file/exists/index.js +12 -6
  298. package/node/sftp/file/index.js +7 -0
  299. package/node/sftp/file/move/index.js +25 -6
  300. package/node/sftp/file/remove/index.js +18 -6
  301. package/node/sftp/file/stat/index.js +21 -6
  302. package/node/sftp/file/upload/index.js +22 -6
  303. package/node/sftp/index.js +2 -0
  304. package/package.json +2 -1
  305. package/chunks/chunk-2WSVYQ5Q.js +0 -77
  306. package/chunks/chunk-3MPXVP4L.js +0 -25
  307. package/chunks/chunk-4CIS3R7T.js +0 -10
  308. package/chunks/chunk-4WE2WEXL.js +0 -12
  309. package/chunks/chunk-54KPQCVI.js +0 -25
  310. package/chunks/chunk-5CFQCSKJ.js +0 -23
  311. package/chunks/chunk-5H3IRSOB.js +0 -8
  312. package/chunks/chunk-5NTPCRFH.js +0 -32
  313. package/chunks/chunk-5O52VUI6.js +0 -31
  314. package/chunks/chunk-5X76KDYN.js +0 -60
  315. package/chunks/chunk-65BFQP3T.js +0 -25
  316. package/chunks/chunk-66BURDRK.js +0 -29
  317. package/chunks/chunk-6BGIDRU5.js +0 -36
  318. package/chunks/chunk-6KOJFWH3.js +0 -47
  319. package/chunks/chunk-6XL25OZX.js +0 -12
  320. package/chunks/chunk-6YVXSCRH.js +0 -37
  321. package/chunks/chunk-75BICI4L.js +0 -20
  322. package/chunks/chunk-7B2E2NGH.js +0 -40
  323. package/chunks/chunk-AKNR3U25.js +0 -20
  324. package/chunks/chunk-AOEOW5XW.js +0 -40
  325. package/chunks/chunk-ASWI3EO6.js +0 -25
  326. package/chunks/chunk-ASXK7XCC.js +0 -18
  327. package/chunks/chunk-AV373PHY.js +0 -56
  328. package/chunks/chunk-AXMAF3J2.js +0 -38
  329. package/chunks/chunk-AYGAQQXD.js +0 -27
  330. package/chunks/chunk-BHGRXDTS.js +0 -28
  331. package/chunks/chunk-BQABPH3I.js +0 -31
  332. package/chunks/chunk-BQXTV2GG.js +0 -36
  333. package/chunks/chunk-BXFRBV67.js +0 -28
  334. package/chunks/chunk-D3ERTRDW.js +0 -17
  335. package/chunks/chunk-DBNCEHTT.js +0 -22
  336. package/chunks/chunk-DBZAJJUF.js +0 -39
  337. package/chunks/chunk-DNIOWD7K.js +0 -8
  338. package/chunks/chunk-DUCLFPGE.js +0 -78
  339. package/chunks/chunk-E6MSDKON.js +0 -13
  340. package/chunks/chunk-EBQRPRRC.js +0 -22
  341. package/chunks/chunk-EEPLTO3E.js +0 -31
  342. package/chunks/chunk-EPUHVR7J.js +0 -17
  343. package/chunks/chunk-FENXVJYO.js +0 -11
  344. package/chunks/chunk-FH74QWR6.js +0 -47
  345. package/chunks/chunk-FM3HGCFL.js +0 -56
  346. package/chunks/chunk-FSI422YG.js +0 -31
  347. package/chunks/chunk-FXISVWGE.js +0 -60
  348. package/chunks/chunk-H4PP6AHP.js +0 -15
  349. package/chunks/chunk-HC6ZOHCS.js +0 -14
  350. package/chunks/chunk-HEY7J6GI.js +0 -37
  351. package/chunks/chunk-HMPY32F7.js +0 -34
  352. package/chunks/chunk-HQLRJ7XW.js +0 -12
  353. package/chunks/chunk-HYPEWMYZ.js +0 -10
  354. package/chunks/chunk-IBQQCUYV.js +0 -36
  355. package/chunks/chunk-IK2S6ZYP.js +0 -29
  356. package/chunks/chunk-ISJONMNA.js +0 -16
  357. package/chunks/chunk-J5D4OQ5U.js +0 -27
  358. package/chunks/chunk-JDINERKY.js +0 -107
  359. package/chunks/chunk-JFXEMK66.js +0 -33
  360. package/chunks/chunk-JN2UETL4.js +0 -32
  361. package/chunks/chunk-JU23NBY2.js +0 -22
  362. package/chunks/chunk-JVMFT3IT.js +0 -134
  363. package/chunks/chunk-K5UF634H.js +0 -25
  364. package/chunks/chunk-KRYJVBO5.js +0 -155
  365. package/chunks/chunk-L3OCRR3V.js +0 -25
  366. package/chunks/chunk-LFHDJTZJ.js +0 -12552
  367. package/chunks/chunk-MHNUCHPP.js +0 -26
  368. package/chunks/chunk-MSAAQTCE.js +0 -207
  369. package/chunks/chunk-MZYCKOLN.js +0 -103
  370. package/chunks/chunk-NEMHJSNM.js +0 -24
  371. package/chunks/chunk-NIIAUOBO.js +0 -36
  372. package/chunks/chunk-NR7STUY3.js +0 -28
  373. package/chunks/chunk-O66PEU62.js +0 -27
  374. package/chunks/chunk-O7UCJNVF.js +0 -38
  375. package/chunks/chunk-OF2W4ZRG.js +0 -53
  376. package/chunks/chunk-OGBUSUE6.js +0 -12
  377. package/chunks/chunk-OSAXBA7G.js +0 -10
  378. package/chunks/chunk-PTJO2TGI.js +0 -23
  379. package/chunks/chunk-PTN2V757.js +0 -35
  380. package/chunks/chunk-QEKI6WGQ.js +0 -27
  381. package/chunks/chunk-QFBVETGF.js +0 -34
  382. package/chunks/chunk-QHEWBOQI.js +0 -19
  383. package/chunks/chunk-QXAJXTXV.js +0 -19
  384. package/chunks/chunk-R3AWQXMY.js +0 -20
  385. package/chunks/chunk-RGQNRTBI.js +0 -55
  386. package/chunks/chunk-RNXRHCHQ.js +0 -633
  387. package/chunks/chunk-ROWPCMQY.js +0 -29
  388. package/chunks/chunk-RW7VAKJW.js +0 -15
  389. package/chunks/chunk-S2I77NEE.js +0 -35
  390. package/chunks/chunk-S6ZFFGWH.js +0 -34
  391. package/chunks/chunk-SBBIQ5UH.js +0 -36
  392. package/chunks/chunk-TAURL7GX.js +0 -2684
  393. package/chunks/chunk-TLWVLCIQ.js +0 -39
  394. package/chunks/chunk-TTJXJX4E.js +0 -48
  395. package/chunks/chunk-ULYGDEW2.js +0 -25
  396. package/chunks/chunk-UR5BUIPU.js +0 -26
  397. package/chunks/chunk-USIYKRNX.js +0 -20
  398. package/chunks/chunk-UZ4SWSOZ.js +0 -41
  399. package/chunks/chunk-VU6JYR3W.js +0 -64
  400. package/chunks/chunk-VYDUHDXW.js +0 -35
  401. package/chunks/chunk-W5A2TON3.js +0 -10
  402. package/chunks/chunk-W5VY535B.js +0 -37
  403. package/chunks/chunk-WNDMYNDU.js +0 -8
  404. package/chunks/chunk-XA4HVHJ4.js +0 -18
  405. package/chunks/chunk-XCBH6NLF.js +0 -42
  406. package/chunks/chunk-XEQ2PBT2.js +0 -20
  407. package/chunks/chunk-XIIJYVJZ.js +0 -15
  408. package/chunks/chunk-XNF5MLCQ.js +0 -14
  409. package/chunks/chunk-Y6FD4ASO.js +0 -32
  410. package/chunks/chunk-YA2YCZUF.js +0 -8
  411. package/chunks/chunk-YDIBNEGA.js +0 -9
  412. package/chunks/chunk-YOP6WVCF.js +0 -45
  413. package/chunks/chunk-ZKIQ753F.js +0 -23
  414. package/chunks/chunk-ZTPRFEPV.js +0 -32
@@ -1,34 +1,21 @@
1
- import {
2
- upload as upload4
3
- } from "../../../../chunks/chunk-UZ4SWSOZ.js";
4
- import {
5
- upload as upload3
6
- } from "../../../../chunks/chunk-FM3HGCFL.js";
7
- import {
8
- upload as upload2
9
- } from "../../../../chunks/chunk-Y6FD4ASO.js";
10
- import {
11
- upload
12
- } from "../../../../chunks/chunk-AOEOW5XW.js";
1
+ // src/node/cloud-storage/operations/upload-file/index.ts
2
+ import * as Outcome from "../../../../agnostic/misc/outcome/index.js";
13
3
  import {
14
4
  isFtpClient,
15
5
  isGcsBucket,
16
6
  isS3ClientWithBucket,
17
7
  isSftpClient
18
- } from "../../../../chunks/chunk-ISJONMNA.js";
19
- import {
20
- makeFailure
21
- } from "../../../../chunks/chunk-QEKI6WGQ.js";
22
- import "../../../../chunks/chunk-FENXVJYO.js";
23
- import "../../../../chunks/chunk-XCBH6NLF.js";
24
-
25
- // src/node/cloud-storage/operations/upload-file/index.ts
8
+ } from "../../clients/index.js";
9
+ import { upload as ftpUpload } from "../../../ftps/file/upload/index.js";
10
+ import { upload as sftpUpload } from "../../../sftp/file/upload/index.js";
11
+ import { upload as s3Upload } from "../../../@aws-s3/storage/file/upload/index.js";
12
+ import { upload as gcsUpload } from "../../../@google-cloud/storage/file/upload/index.js";
26
13
  async function uploadFile(fileStream, path, client, options) {
27
- if (isGcsBucket(client)) return upload4(client, path, fileStream, options);
28
- if (isS3ClientWithBucket(client)) return upload3(client.client, client.bucketName, path, fileStream, options);
29
- if (isFtpClient(client)) return upload(client, path, fileStream, options);
30
- if (isSftpClient(client)) return upload2(client, path, fileStream, options);
31
- return makeFailure("Invalid client type");
14
+ if (isGcsBucket(client)) return gcsUpload(client, path, fileStream, options);
15
+ if (isS3ClientWithBucket(client)) return s3Upload(client.client, client.bucketName, path, fileStream, options);
16
+ if (isFtpClient(client)) return ftpUpload(client, path, fileStream, options);
17
+ if (isSftpClient(client)) return sftpUpload(client, path, fileStream, options);
18
+ return Outcome.makeFailure("Invalid client type");
32
19
  }
33
20
  export {
34
21
  uploadFile
@@ -1,26 +1,21 @@
1
- import {
2
- decryptUint8Array,
3
- encryptUint8Array
4
- } from "../../../../chunks/chunk-FH74QWR6.js";
5
- import {
6
- makeSuccess
7
- } from "../../../../chunks/chunk-QEKI6WGQ.js";
8
- import "../../../../chunks/chunk-FENXVJYO.js";
9
- import "../../../../chunks/chunk-XCBH6NLF.js";
10
-
11
1
  // src/node/encryption/@aes-256-gcm/buffer/index.ts
12
2
  import { Buffer } from "node:buffer";
3
+ import * as Outcome from "../../../../agnostic/misc/outcome/index.js";
4
+ import {
5
+ encryptUint8Array,
6
+ decryptUint8Array
7
+ } from "../uint8-array/index.js";
13
8
  function encrypt(inputBuffer, encryptionKey) {
14
9
  const fileArray = new Uint8Array(inputBuffer);
15
10
  const encryptionOutcome = encryptUint8Array(fileArray, encryptionKey);
16
11
  if (!encryptionOutcome.success) return encryptionOutcome;
17
- return makeSuccess(Buffer.from(encryptionOutcome.payload));
12
+ return Outcome.makeSuccess(Buffer.from(encryptionOutcome.payload));
18
13
  }
19
14
  function decrypt(encryptedBuffer, encryptionKey) {
20
15
  const encryptedArray = new Uint8Array(encryptedBuffer);
21
16
  const decryptionOutcome = decryptUint8Array(encryptedArray, encryptionKey);
22
17
  if (!decryptionOutcome.success) return decryptionOutcome;
23
- return makeSuccess(Buffer.from(decryptionOutcome.payload));
18
+ return Outcome.makeSuccess(Buffer.from(decryptionOutcome.payload));
24
19
  }
25
20
  export {
26
21
  decrypt,
@@ -0,0 +1,2 @@
1
+ export * as buffer from './buffer/index.js'
2
+ export * as uint8Array from './uint8-array/index.js'
@@ -1,10 +1,39 @@
1
- import {
2
- decryptUint8Array,
3
- encryptUint8Array
4
- } from "../../../../chunks/chunk-FH74QWR6.js";
5
- import "../../../../chunks/chunk-QEKI6WGQ.js";
6
- import "../../../../chunks/chunk-FENXVJYO.js";
7
- import "../../../../chunks/chunk-XCBH6NLF.js";
1
+ // src/node/encryption/@aes-256-gcm/uint8-array/index.ts
2
+ import { Buffer } from "node:buffer";
3
+ import { createCipheriv, createDecipheriv, randomBytes } from "node:crypto";
4
+ import { unknownToString } from "../../../../agnostic/errors/unknown-to-string/index.js";
5
+ import * as Outcome from "../../../../agnostic/misc/outcome/index.js";
6
+ function encryptUint8Array(fileArray, encryptionKey) {
7
+ const ivLength = 12;
8
+ const keyBuffer = Buffer.from(encryptionKey, "utf-8");
9
+ if (keyBuffer.length !== 32) return Outcome.makeFailure("Encryption key must be 32 bytes for AES-256-GCM.");
10
+ try {
11
+ const iv = randomBytes(ivLength);
12
+ const cipher = createCipheriv("aes-256-gcm", keyBuffer, iv);
13
+ let encrypted = cipher.update(fileArray);
14
+ encrypted = Buffer.concat([encrypted, cipher.final()]);
15
+ return Outcome.makeSuccess(new Uint8Array(Buffer.concat([iv, encrypted])));
16
+ } catch (err) {
17
+ const errStr = unknownToString(err);
18
+ return Outcome.makeFailure(errStr);
19
+ }
20
+ }
21
+ function decryptUint8Array(encryptedFile, encryptionKey) {
22
+ const ivLength = 12;
23
+ const iv = encryptedFile.subarray(0, ivLength);
24
+ const keyBuffer = Buffer.from(encryptionKey, "utf-8");
25
+ if (keyBuffer.length !== 32) return Outcome.makeFailure("Encryption key must be 32 bytes for AES-256-GCM.");
26
+ try {
27
+ const encryptedData = encryptedFile.subarray(ivLength);
28
+ const decipher = createDecipheriv("aes-256-gcm", keyBuffer, iv);
29
+ let decrypted = decipher.update(encryptedData);
30
+ decrypted = Buffer.concat([decrypted, decipher.final()]);
31
+ return Outcome.makeSuccess(new Uint8Array(decrypted));
32
+ } catch (err) {
33
+ const errStr = unknownToString(err);
34
+ return Outcome.makeFailure(errStr);
35
+ }
36
+ }
8
37
  export {
9
38
  decryptUint8Array,
10
39
  encryptUint8Array
@@ -0,0 +1,2 @@
1
+ export * as aes_256Gcm from './@aes-256-gcm/index.js'
2
+ export * as key from './key/index.js'
@@ -1,5 +1,3 @@
1
- import "../../../chunks/chunk-XCBH6NLF.js";
2
-
3
1
  // src/node/encryption/key/index.ts
4
2
  import { pbkdf2Sync, randomBytes } from "node:crypto";
5
3
  function generate(passphrase, outputByteLength, options) {
@@ -0,0 +1,3 @@
1
+ export * as isInDirectory from './is-in-directory/index.js'
2
+ export * as readWrite from './read-write/index.js'
3
+ export * as subpaths from './subpaths/index.js'
@@ -1,5 +1,3 @@
1
- import "../../../chunks/chunk-XCBH6NLF.js";
2
-
3
1
  // src/node/files/is-in-directory/index.ts
4
2
  import path from "node:path";
5
3
  function isInDirectory(childPath, parentPath) {
@@ -1,5 +1,3 @@
1
- import "../../../chunks/chunk-XCBH6NLF.js";
2
-
3
1
  // src/node/files/read-write/index.ts
4
2
  import { promises as fs } from "node:fs";
5
3
  async function readWrite(path, editor, opts = {}) {
@@ -1,11 +1,7 @@
1
- import {
2
- matchesSome
3
- } from "../../../chunks/chunk-R3AWQXMY.js";
4
- import "../../../chunks/chunk-XCBH6NLF.js";
5
-
6
1
  // src/node/files/subpaths/index.ts
7
2
  import { promises as fs } from "node:fs";
8
3
  import path from "node:path";
4
+ import { matchesSome as stringMatchesSome } from "../../../agnostic/strings/matches/index.js";
9
5
  var defaultListContext = {
10
6
  depth: 0,
11
7
  lstats: null,
@@ -73,8 +69,8 @@ async function listAbsoluteSubpaths(inputPath, _options = {}, __private_context
73
69
  if (isHidden && options.hidden === false) throw false;
74
70
  const realPath = isSymlink ? await fs.realpath(childAbsPath) : childAbsPath;
75
71
  const childPathForFilters = options.returnRelative ? childRelFromRootPath : childAbsPath;
76
- const isInExclude = matchesSome(childPathForFilters, options.exclude ?? []);
77
- const isInInclude = matchesSome(childPathForFilters, options.include ?? []);
72
+ const isInExclude = stringMatchesSome(childPathForFilters, options.exclude ?? []);
73
+ const isInInclude = stringMatchesSome(childPathForFilters, options.include ?? []);
78
74
  if (isInExclude && !isInInclude) throw false;
79
75
  const isInFilter = await options.filter(childPathForFilters, { type, hidden: isHidden, realPath });
80
76
  if (!isInFilter) throw true;
@@ -1,9 +1,48 @@
1
- import {
2
- copyDir
3
- } from "../../../../chunks/chunk-RGQNRTBI.js";
4
- import "../../../../chunks/chunk-QEKI6WGQ.js";
5
- import "../../../../chunks/chunk-FENXVJYO.js";
6
- import "../../../../chunks/chunk-XCBH6NLF.js";
1
+ // src/node/ftps/directory/copy-dir/index.ts
2
+ import { PassThrough } from "node:stream";
3
+ import * as Outcome from "../../../../agnostic/misc/outcome/index.js";
4
+ import { unknownToString } from "../../../../agnostic/errors/unknown-to-string/index.js";
5
+ async function copyDir(ftpClient, sourceDir, targetDir, options) {
6
+ const {
7
+ overwrite = false,
8
+ ensureDir = true
9
+ } = options ?? {};
10
+ async function recurse(dir) {
11
+ const list = await ftpClient.list(dir);
12
+ for (const entry of list) {
13
+ const src = dir.endsWith("/") ? dir + entry.name : dir + "/" + entry.name;
14
+ const rel = src.substring(sourceDir.length + (sourceDir.endsWith("/") ? 0 : 1));
15
+ const dst = targetDir.endsWith("/") ? targetDir + rel : `${targetDir}/${rel}`;
16
+ if (entry.isDirectory) {
17
+ if (ensureDir) await ftpClient.ensureDir(dst);
18
+ await recurse(src);
19
+ } else if (entry.isFile) {
20
+ if (!overwrite) {
21
+ try {
22
+ await ftpClient.size(dst);
23
+ throw new Error(`File already exists at ${dst}.`);
24
+ } catch {
25
+ }
26
+ }
27
+ if (ensureDir) {
28
+ const dirPath = dst.substring(0, dst.lastIndexOf("/"));
29
+ if (dirPath) await ftpClient.ensureDir(dirPath);
30
+ }
31
+ const pass = new PassThrough();
32
+ const upload = ftpClient.uploadFrom(pass, dst);
33
+ await ftpClient.downloadTo(pass, src);
34
+ await upload;
35
+ }
36
+ }
37
+ }
38
+ try {
39
+ if (ensureDir) await ftpClient.ensureDir(targetDir);
40
+ await recurse(sourceDir);
41
+ return Outcome.makeSuccess(true);
42
+ } catch (err) {
43
+ return Outcome.makeFailure(unknownToString(err));
44
+ }
45
+ }
7
46
  export {
8
47
  copyDir
9
48
  };
@@ -0,0 +1,4 @@
1
+ export * as copyDir from './copy-dir/index.js'
2
+ export * as list from './list/index.js'
3
+ export * as moveDir from './move-dir/index.js'
4
+ export * as removeDir from './remove-dir/index.js'
@@ -1,9 +1,15 @@
1
- import {
2
- list
3
- } from "../../../../chunks/chunk-DBNCEHTT.js";
4
- import "../../../../chunks/chunk-QEKI6WGQ.js";
5
- import "../../../../chunks/chunk-FENXVJYO.js";
6
- import "../../../../chunks/chunk-XCBH6NLF.js";
1
+ // src/node/ftps/directory/list/index.ts
2
+ import * as Outcome from "../../../../agnostic/misc/outcome/index.js";
3
+ import { unknownToString } from "../../../../agnostic/errors/unknown-to-string/index.js";
4
+ async function list(ftpClient, directoryPath) {
5
+ try {
6
+ const list2 = await ftpClient.list(directoryPath);
7
+ const files = list2.filter((entry) => entry.isFile).map((entry) => directoryPath.endsWith("/") ? `${directoryPath}${entry.name}` : `${directoryPath}/${entry.name}`);
8
+ return Outcome.makeSuccess(files);
9
+ } catch (err) {
10
+ return Outcome.makeFailure(unknownToString(err));
11
+ }
12
+ }
7
13
  export {
8
14
  list
9
15
  };
@@ -1,9 +1,28 @@
1
- import {
2
- moveDir
3
- } from "../../../../chunks/chunk-PTN2V757.js";
4
- import "../../../../chunks/chunk-QEKI6WGQ.js";
5
- import "../../../../chunks/chunk-FENXVJYO.js";
6
- import "../../../../chunks/chunk-XCBH6NLF.js";
1
+ // src/node/ftps/directory/move-dir/index.ts
2
+ import * as Outcome from "../../../../agnostic/misc/outcome/index.js";
3
+ import { unknownToString } from "../../../../agnostic/errors/unknown-to-string/index.js";
4
+ async function moveDir(ftpClient, sourceDir, targetDir, options) {
5
+ const { overwrite = false, ensureDir = true } = options ?? {};
6
+ try {
7
+ if (ensureDir) {
8
+ const parentDir = targetDir.substring(0, targetDir.lastIndexOf("/"));
9
+ if (parentDir) {
10
+ await ftpClient.ensureDir(parentDir);
11
+ }
12
+ }
13
+ if (!overwrite) {
14
+ try {
15
+ await ftpClient.size(targetDir);
16
+ return Outcome.makeFailure(`Target ${targetDir} already exists.`);
17
+ } catch {
18
+ }
19
+ }
20
+ await ftpClient.rename(sourceDir, targetDir);
21
+ return Outcome.makeSuccess(true);
22
+ } catch (err) {
23
+ return Outcome.makeFailure(unknownToString(err));
24
+ }
25
+ }
7
26
  export {
8
27
  moveDir
9
28
  };
@@ -1,9 +1,30 @@
1
- import {
2
- removeDir
3
- } from "../../../../chunks/chunk-W5VY535B.js";
4
- import "../../../../chunks/chunk-QEKI6WGQ.js";
5
- import "../../../../chunks/chunk-FENXVJYO.js";
6
- import "../../../../chunks/chunk-XCBH6NLF.js";
1
+ // src/node/ftps/directory/remove-dir/index.ts
2
+ import * as Outcome from "../../../../agnostic/misc/outcome/index.js";
3
+ import { unknownToString } from "../../../../agnostic/errors/unknown-to-string/index.js";
4
+ async function removeDir(ftpClient, directoryPath, options) {
5
+ const { ignoreMissing = true } = options ?? {};
6
+ async function recurse(dir) {
7
+ const list = await ftpClient.list(dir);
8
+ for (const entry of list) {
9
+ const full = dir.endsWith("/") ? dir + entry.name : `${dir}/${entry.name}`;
10
+ if (entry.isDirectory) {
11
+ await recurse(full);
12
+ } else if (entry.isFile) {
13
+ await ftpClient.remove(full);
14
+ }
15
+ }
16
+ await ftpClient.removeDir(dir);
17
+ }
18
+ try {
19
+ await recurse(directoryPath);
20
+ return Outcome.makeSuccess(true);
21
+ } catch (err) {
22
+ if (ignoreMissing && err.code === 550) {
23
+ return Outcome.makeSuccess(true);
24
+ }
25
+ return Outcome.makeFailure(unknownToString(err));
26
+ }
27
+ }
7
28
  export {
8
29
  removeDir
9
30
  };
@@ -1,9 +1,33 @@
1
- import {
2
- copy
3
- } from "../../../../chunks/chunk-7B2E2NGH.js";
4
- import "../../../../chunks/chunk-QEKI6WGQ.js";
5
- import "../../../../chunks/chunk-FENXVJYO.js";
6
- import "../../../../chunks/chunk-XCBH6NLF.js";
1
+ // src/node/ftps/file/copy/index.ts
2
+ import { PassThrough } from "node:stream";
3
+ import * as Outcome from "../../../../agnostic/misc/outcome/index.js";
4
+ import { unknownToString } from "../../../../agnostic/errors/unknown-to-string/index.js";
5
+ async function copy(ftpClient, sourcePath, targetPath, options) {
6
+ const {
7
+ overwrite = false,
8
+ ensureDir = true
9
+ } = options ?? {};
10
+ try {
11
+ if (!overwrite) {
12
+ try {
13
+ await ftpClient.size(targetPath);
14
+ return Outcome.makeFailure(`File already exists at ${targetPath}.`);
15
+ } catch {
16
+ }
17
+ }
18
+ if (ensureDir) {
19
+ const dirPath = targetPath.substring(0, targetPath.lastIndexOf("/"));
20
+ if (dirPath) await ftpClient.ensureDir(dirPath);
21
+ }
22
+ const pass = new PassThrough();
23
+ const uploadPromise = ftpClient.uploadFrom(pass, targetPath);
24
+ await ftpClient.downloadTo(pass, sourcePath);
25
+ await uploadPromise;
26
+ return Outcome.makeSuccess(true);
27
+ } catch (err) {
28
+ return Outcome.makeFailure(unknownToString(err));
29
+ }
30
+ }
7
31
  export {
8
32
  copy
9
33
  };
@@ -1,9 +1,18 @@
1
- import {
2
- download
3
- } from "../../../../chunks/chunk-54KPQCVI.js";
4
- import "../../../../chunks/chunk-QEKI6WGQ.js";
5
- import "../../../../chunks/chunk-FENXVJYO.js";
6
- import "../../../../chunks/chunk-XCBH6NLF.js";
1
+ // src/node/ftps/file/download/index.ts
2
+ import { PassThrough } from "node:stream";
3
+ import { unknownToString } from "../../../../agnostic/errors/unknown-to-string/index.js";
4
+ import * as Outcome from "../../../../agnostic/misc/outcome/index.js";
5
+ async function download(ftpClient, sourcePath, options) {
6
+ const { startAt } = options ?? {};
7
+ const stream = new PassThrough();
8
+ try {
9
+ await ftpClient.downloadTo(stream, sourcePath, startAt);
10
+ return Outcome.makeSuccess(stream);
11
+ } catch (err) {
12
+ const errStr = unknownToString(err);
13
+ return Outcome.makeFailure(errStr);
14
+ }
15
+ }
7
16
  export {
8
17
  download
9
18
  };
@@ -1,9 +1,20 @@
1
- import {
2
- exists
3
- } from "../../../../chunks/chunk-J5D4OQ5U.js";
4
- import "../../../../chunks/chunk-QEKI6WGQ.js";
5
- import "../../../../chunks/chunk-FENXVJYO.js";
6
- import "../../../../chunks/chunk-XCBH6NLF.js";
1
+ // src/node/ftps/file/exists/index.ts
2
+ import { FileType } from "basic-ftp";
3
+ import { unknownToString } from "../../../../agnostic/errors/unknown-to-string/index.js";
4
+ import * as Outcome from "../../../../agnostic/misc/outcome/index.js";
5
+ async function exists(ftpClient, sourcePath) {
6
+ try {
7
+ const lastSlash = sourcePath.lastIndexOf("/");
8
+ const parentDir = lastSlash === -1 ? "." : sourcePath.slice(0, lastSlash) || "/";
9
+ const baseName = lastSlash === -1 ? sourcePath : sourcePath.slice(lastSlash + 1);
10
+ const list = await ftpClient.list(parentDir);
11
+ const entry = list.find((e) => e.name === baseName);
12
+ const isFile = entry ? entry.type === FileType.File || entry.type === FileType.SymbolicLink : false;
13
+ return Outcome.makeSuccess(isFile);
14
+ } catch (err) {
15
+ return Outcome.makeFailure(unknownToString(err));
16
+ }
17
+ }
7
18
  export {
8
19
  exists
9
20
  };
@@ -0,0 +1,7 @@
1
+ export * as copy from './copy/index.js'
2
+ export * as download from './download/index.js'
3
+ export * as exists from './exists/index.js'
4
+ export * as move from './move/index.js'
5
+ export * as remove from './remove/index.js'
6
+ export * as upload from './upload/index.js'
7
+ export * as stat from './stat/index.js'
@@ -1,9 +1,32 @@
1
- import {
2
- move
3
- } from "../../../../chunks/chunk-DBZAJJUF.js";
4
- import "../../../../chunks/chunk-QEKI6WGQ.js";
5
- import "../../../../chunks/chunk-FENXVJYO.js";
6
- import "../../../../chunks/chunk-XCBH6NLF.js";
1
+ // src/node/ftps/file/move/index.ts
2
+ import { unknownToString } from "../../../../agnostic/errors/unknown-to-string/index.js";
3
+ import * as Outcome from "../../../../agnostic/misc/outcome/index.js";
4
+ async function move(ftpClient, sourcePath, targetPath, options) {
5
+ const {
6
+ ensureDir = true,
7
+ overwrite = false
8
+ } = options ?? {};
9
+ try {
10
+ if (ensureDir) {
11
+ const dirPath = targetPath.substring(0, targetPath.lastIndexOf("/"));
12
+ if (dirPath) await ftpClient.ensureDir(dirPath);
13
+ }
14
+ if (!overwrite) {
15
+ try {
16
+ await ftpClient.size(targetPath);
17
+ return Outcome.makeFailure(`File already exists at ${targetPath}.`);
18
+ } catch (err) {
19
+ if (err.code !== 550) {
20
+ return Outcome.makeFailure(unknownToString(err));
21
+ }
22
+ }
23
+ }
24
+ await ftpClient.rename(sourcePath, targetPath);
25
+ return Outcome.makeSuccess(true);
26
+ } catch (err) {
27
+ return Outcome.makeFailure(unknownToString(err));
28
+ }
29
+ }
7
30
  export {
8
31
  move
9
32
  };
@@ -1,9 +1,28 @@
1
- import {
2
- remove
3
- } from "../../../../chunks/chunk-S2I77NEE.js";
4
- import "../../../../chunks/chunk-QEKI6WGQ.js";
5
- import "../../../../chunks/chunk-FENXVJYO.js";
6
- import "../../../../chunks/chunk-XCBH6NLF.js";
1
+ // src/node/ftps/file/remove/index.ts
2
+ import { unknownToString } from "../../../../agnostic/errors/unknown-to-string/index.js";
3
+ import * as Outcome from "../../../../agnostic/misc/outcome/index.js";
4
+ async function remove(ftpClient, targetPath, options) {
5
+ const { ignoreMissing = true } = options ?? {};
6
+ try {
7
+ let fileExists = true;
8
+ try {
9
+ await ftpClient.size(targetPath);
10
+ } catch {
11
+ fileExists = false;
12
+ }
13
+ if (!fileExists) {
14
+ if (ignoreMissing) {
15
+ return Outcome.makeSuccess(true);
16
+ }
17
+ return Outcome.makeFailure(`File not found at ${targetPath}.`);
18
+ }
19
+ await ftpClient.remove(targetPath);
20
+ return Outcome.makeSuccess(true);
21
+ } catch (err) {
22
+ const errStr = unknownToString(err);
23
+ return Outcome.makeFailure(errStr);
24
+ }
25
+ }
7
26
  export {
8
27
  remove
9
28
  };
@@ -1,9 +1,24 @@
1
- import {
2
- stat
3
- } from "../../../../chunks/chunk-BQABPH3I.js";
4
- import "../../../../chunks/chunk-QEKI6WGQ.js";
5
- import "../../../../chunks/chunk-FENXVJYO.js";
6
- import "../../../../chunks/chunk-XCBH6NLF.js";
1
+ // src/node/ftps/file/stat/index.ts
2
+ import * as Outcome from "../../../../agnostic/misc/outcome/index.js";
3
+ import { unknownToString } from "../../../../agnostic/errors/unknown-to-string/index.js";
4
+ async function stat(ftp, path) {
5
+ try {
6
+ const slash = path.lastIndexOf("/");
7
+ const dir = slash === -1 ? "." : path.slice(0, slash) || "/";
8
+ const name = slash === -1 ? path : path.slice(slash + 1);
9
+ const list = await ftp.list(dir);
10
+ const entry = list.find((e) => e.name === name && e.isFile);
11
+ if (!entry) return Outcome.makeFailure(`File not found: ${path}`);
12
+ return Outcome.makeSuccess({
13
+ size: entry.size,
14
+ modifiedAt: entry.modifiedAt ?? void 0,
15
+ permissions: entry.rawModifiedAt ? entry.rawModifiedAt.toString() : void 0,
16
+ raw: entry
17
+ });
18
+ } catch (err) {
19
+ return Outcome.makeFailure(unknownToString(err));
20
+ }
21
+ }
7
22
  export {
8
23
  stat
9
24
  };
@@ -1,9 +1,33 @@
1
- import {
2
- upload
3
- } from "../../../../chunks/chunk-AOEOW5XW.js";
4
- import "../../../../chunks/chunk-QEKI6WGQ.js";
5
- import "../../../../chunks/chunk-FENXVJYO.js";
6
- import "../../../../chunks/chunk-XCBH6NLF.js";
1
+ // src/node/ftps/file/upload/index.ts
2
+ import { unknownToString } from "../../../../agnostic/errors/unknown-to-string/index.js";
3
+ import * as Outcome from "../../../../agnostic/misc/outcome/index.js";
4
+ async function upload(ftpClient, targetPath, fileStream, options) {
5
+ const {
6
+ ensureDir = true,
7
+ overwrite = false
8
+ } = options ?? {};
9
+ try {
10
+ if (ensureDir) {
11
+ const dirPath = targetPath.substring(0, targetPath.lastIndexOf("/"));
12
+ await ftpClient.ensureDir(dirPath);
13
+ }
14
+ let fileExists = false;
15
+ try {
16
+ await ftpClient.size(targetPath);
17
+ fileExists = true;
18
+ } catch {
19
+ fileExists = false;
20
+ }
21
+ if (fileExists && !overwrite) {
22
+ return Outcome.makeFailure(`File already exists at ${targetPath}.`);
23
+ }
24
+ await ftpClient.uploadFrom(fileStream, targetPath, options);
25
+ return Outcome.makeSuccess(true);
26
+ } catch (err) {
27
+ const errStr = unknownToString(err);
28
+ return Outcome.makeFailure(errStr);
29
+ }
30
+ }
7
31
  export {
8
32
  upload
9
33
  };
@@ -0,0 +1,2 @@
1
+ export * as directory from './directory/index.js'
2
+ export * as file from './file/index.js'
@@ -1,16 +1,6 @@
1
- import {
2
- toCreateOptions
3
- } from "../../../chunks/chunk-6KOJFWH3.js";
4
- import "../../../chunks/chunk-RNXRHCHQ.js";
5
- import "../../../chunks/chunk-DNIOWD7K.js";
6
- import "../../../chunks/chunk-OSAXBA7G.js";
7
- import "../../../chunks/chunk-JDINERKY.js";
8
- import "../../../chunks/chunk-HQLRJ7XW.js";
9
- import "../../../chunks/chunk-KRYJVBO5.js";
10
- import "../../../chunks/chunk-XCBH6NLF.js";
11
-
12
1
  // src/node/images/create/index.ts
13
2
  import sharp from "sharp";
3
+ import { toCreateOptions } from "../utils/index.js";
14
4
  async function create(options) {
15
5
  return sharp({ create: toCreateOptions(options) });
16
6
  }