@design-edito/tools 0.4.23 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agnostic/arrays/find-duplicates/index.d.ts +1 -1
- package/agnostic/arrays/find-duplicates/index.js +3 -2
- package/agnostic/arrays/index.d.ts +1 -1
- package/agnostic/arrays/index.js +1 -1
- package/agnostic/arrays/is-array-of/index.d.ts +1 -1
- package/agnostic/arrays/is-array-of/index.js +3 -1
- package/agnostic/arrays/make/index.d.ts +1 -1
- package/agnostic/arrays/random-pick/index.js +2 -1
- package/agnostic/arrays/shuffle/index.js +1 -1
- package/agnostic/booleans/is-falsy/index.d.ts +3 -3
- package/agnostic/booleans/is-falsy/index.js +2 -3
- package/agnostic/colors/channels/index.d.ts +16 -16
- package/agnostic/colors/channels/index.js +15 -15
- package/agnostic/colors/contrast/index.d.ts +6 -6
- package/agnostic/colors/contrast/index.js +6 -8
- package/agnostic/colors/contrast/index.test.js +1 -1
- package/agnostic/colors/convert/index.d.ts +43 -43
- package/agnostic/colors/convert/index.js +60 -55
- package/agnostic/colors/distance/index.d.ts +5 -5
- package/agnostic/colors/distance/index.js +5 -4
- package/agnostic/colors/grayscale/index.d.ts +3 -3
- package/agnostic/colors/grayscale/index.js +3 -3
- package/agnostic/colors/index.d.ts +3 -3
- package/agnostic/colors/index.js +3 -3
- package/agnostic/colors/invert/index.d.ts +4 -4
- package/agnostic/colors/invert/index.js +3 -3
- package/agnostic/colors/lerp/index.d.ts +6 -7
- package/agnostic/colors/lerp/index.js +5 -6
- package/agnostic/colors/luminance/index.d.ts +4 -4
- package/agnostic/colors/luminance/index.js +3 -3
- package/agnostic/colors/palette/index.d.ts +3 -3
- package/agnostic/colors/palette/index.js +4 -3
- package/agnostic/colors/rotate/index.d.ts +4 -4
- package/agnostic/colors/rotate/index.js +4 -4
- package/agnostic/colors/tidy/index.d.ts +2 -2
- package/agnostic/colors/tidy/index.js +2 -2
- package/agnostic/colors/typechecks/index.d.ts +21 -21
- package/agnostic/colors/typechecks/index.js +22 -21
- package/agnostic/colors/types.d.ts +33 -33
- package/agnostic/css/bem/index.d.ts +11 -11
- package/agnostic/css/bem/index.js +9 -8
- package/agnostic/css/clss/index.d.ts +1 -1
- package/agnostic/css/clss/index.js +1 -1
- package/agnostic/css/index.d.ts +2 -2
- package/agnostic/css/index.js +2 -2
- package/agnostic/css/is-valid-css-class-name/index.d.ts +2 -2
- package/agnostic/css/is-valid-css-class-name/index.js +3 -3
- package/agnostic/css/scale/index.d.ts +18 -18
- package/agnostic/css/scale/index.js +18 -18
- package/agnostic/css/styles-set/index.d.ts +1 -1
- package/agnostic/css/styles-set/index.js +0 -2
- package/agnostic/errors/register/index.d.ts +1 -1
- package/agnostic/errors/register/index.js +3 -0
- package/agnostic/errors/unknown-to-string/index.d.ts +2 -2
- package/agnostic/errors/unknown-to-string/index.js +2 -3
- package/agnostic/html/deep-select/index.d.ts +3 -3
- package/agnostic/html/deep-select/index.js +11 -7
- package/agnostic/html/get-node-ancestors/index.d.ts +3 -3
- package/agnostic/html/get-node-ancestors/index.js +3 -3
- package/agnostic/html/get-position-inside-parent/index.d.ts +2 -2
- package/agnostic/html/get-position-inside-parent/index.js +2 -2
- package/agnostic/html/hyper-json/cast/index.d.ts +1 -1
- package/agnostic/html/hyper-json/cast/index.js +6 -5
- package/agnostic/html/hyper-json/method/index.d.ts +2 -2
- package/agnostic/html/hyper-json/serialize/index.d.ts +1 -1
- package/agnostic/html/hyper-json/serialize/index.js +9 -5
- package/agnostic/html/hyper-json/smart-tags/coalesced/addclass/index.js +1 -0
- package/agnostic/html/hyper-json/smart-tags/coalesced/and/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/append/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/append/index.js +1 -0
- package/agnostic/html/hyper-json/smart-tags/coalesced/at/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/at/index.js +1 -0
- package/agnostic/html/hyper-json/smart-tags/coalesced/call/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/call/index.js +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/clone/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/deleteproperties/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/deleteproperties/index.js +0 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/equals/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/getattribute/index.js +1 -0
- package/agnostic/html/hyper-json/smart-tags/coalesced/getproperties/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/getproperty/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/getproperty/index.js +1 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/hjparse/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/hjstringify/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/hjstringify/index.js +4 -0
- package/agnostic/html/hyper-json/smart-tags/coalesced/if/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/if/index.js +1 -0
- package/agnostic/html/hyper-json/smart-tags/coalesced/index.d.ts +12 -12
- package/agnostic/html/hyper-json/smart-tags/coalesced/index.js +12 -12
- package/agnostic/html/hyper-json/smart-tags/coalesced/initialize/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/initialize/index.js +1 -0
- package/agnostic/html/hyper-json/smart-tags/coalesced/join/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/length/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/map/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/or/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/pickrandom/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/populate/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/populate/index.js +1 -0
- package/agnostic/html/hyper-json/smart-tags/coalesced/print/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/print/index.js +2 -0
- package/agnostic/html/hyper-json/smart-tags/coalesced/push/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/pusheach/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/pusheach/index.js +1 -0
- package/agnostic/html/hyper-json/smart-tags/coalesced/recordtoarray/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/removeattribute/index.js +3 -0
- package/agnostic/html/hyper-json/smart-tags/coalesced/removeclass/index.js +1 -0
- package/agnostic/html/hyper-json/smart-tags/coalesced/renameproperty/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/renameproperty/index.js +1 -0
- package/agnostic/html/hyper-json/smart-tags/coalesced/replace/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/replace/index.js +1 -0
- package/agnostic/html/hyper-json/smart-tags/coalesced/select/index.js +1 -0
- package/agnostic/html/hyper-json/smart-tags/coalesced/set/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/set/index.js +1 -0
- package/agnostic/html/hyper-json/smart-tags/coalesced/setattribute/index.js +3 -0
- package/agnostic/html/hyper-json/smart-tags/coalesced/setproperty/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/setproperty/index.js +4 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/sorton/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/sorton/index.js +5 -0
- package/agnostic/html/hyper-json/smart-tags/coalesced/spread/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/spread/index.js +1 -0
- package/agnostic/html/hyper-json/smart-tags/coalesced/toarray/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/toboolean/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/toelement/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/toggleclass/index.js +3 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/tonodelist/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/tonull/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/tonumber/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/torecord/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/toref/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/tostring/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/totext/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/transformselected/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/trim/index.js +1 -1
- package/agnostic/html/hyper-json/smart-tags/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/isolated/any/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/isolated/array/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/isolated/get/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/isolated/guess/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/isolated/guess/index.js +3 -1
- package/agnostic/html/hyper-json/smart-tags/isolated/index.d.ts +2 -2
- package/agnostic/html/hyper-json/smart-tags/isolated/index.js +2 -2
- package/agnostic/html/hyper-json/smart-tags/isolated/nodelist/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/isolated/nodelist/index.js +1 -0
- package/agnostic/html/hyper-json/smart-tags/isolated/null/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/isolated/record/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/isolated/ref/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/isolated/ref/index.js +3 -1
- package/agnostic/html/hyper-json/smart-tags/isolated/text/index.js +2 -2
- package/agnostic/html/hyper-json/transformer/index.d.ts +5 -5
- package/agnostic/html/hyper-json/tree/index.d.ts +1 -1
- package/agnostic/html/hyper-json/tree/index.js +14 -8
- package/agnostic/html/hyper-json/types/index.d.ts +11 -11
- package/agnostic/html/hyper-json/utils/index.d.ts +3 -3
- package/agnostic/html/hyper-json/utils/index.js +8 -3
- package/agnostic/html/index.d.ts +4 -4
- package/agnostic/html/index.js +4 -4
- package/agnostic/html/insert-node/index.d.ts +4 -4
- package/agnostic/html/insert-node/index.js +4 -4
- package/agnostic/html/replace-in-element/index.d.ts +3 -3
- package/agnostic/html/replace-in-element/index.js +4 -4
- package/agnostic/html/selector-to-element/index.d.ts +2 -2
- package/agnostic/html/selector-to-element/index.js +11 -11
- package/agnostic/html/string-to-nodes/index.d.ts +3 -3
- package/agnostic/html/string-to-nodes/index.js +3 -3
- package/agnostic/html/watch-selection/index.d.ts +4 -5
- package/agnostic/html/watch-selection/index.js +5 -6
- package/agnostic/index.d.ts +3 -3
- package/agnostic/index.js +3 -3
- package/agnostic/misc/assert/index.js +3 -1
- package/agnostic/misc/cast/index.d.ts +16 -16
- package/agnostic/misc/cast/index.js +18 -18
- package/agnostic/misc/connection/index.d.ts +5 -5
- package/agnostic/misc/connection/index.js +4 -2
- package/agnostic/misc/crawler/index.d.ts +18 -18
- package/agnostic/misc/crawler/index.js +10 -9
- package/agnostic/misc/crawler/index.test.js +2 -2
- package/agnostic/misc/crossenv/detect-runtime/index.d.ts +1 -1
- package/agnostic/misc/crossenv/detect-runtime/index.js +10 -11
- package/agnostic/misc/crossenv/window/index.d.ts +6 -6
- package/agnostic/misc/crossenv/window/index.js +6 -5
- package/agnostic/misc/data-size/index.js +2 -0
- package/agnostic/misc/index.d.ts +3 -3
- package/agnostic/misc/index.js +3 -3
- package/agnostic/misc/is-constructor-function/index.d.ts +2 -2
- package/agnostic/misc/is-constructor-function/index.js +3 -2
- package/agnostic/misc/is-constructor-function/index.test.js +2 -2
- package/agnostic/misc/is-nullish/index.d.ts +5 -5
- package/agnostic/misc/is-nullish/index.js +5 -4
- package/agnostic/misc/logs/index.d.ts +1 -1
- package/agnostic/misc/logs/index.js +1 -1
- package/agnostic/misc/logs/logger/index.js +2 -2
- package/agnostic/misc/lorem-ipsum/index.js +4 -4
- package/agnostic/misc/normalize-extension/index.d.ts +3 -3
- package/agnostic/misc/normalize-extension/index.js +4 -4
- package/agnostic/misc/outcome/index.d.ts +14 -14
- package/agnostic/misc/outcome/index.js +6 -4
- package/agnostic/numbers/absolute-modulo/index.d.ts +3 -3
- package/agnostic/numbers/absolute-modulo/index.js +3 -3
- package/agnostic/numbers/approximate-rational/index.d.ts +6 -6
- package/agnostic/numbers/approximate-rational/index.js +9 -9
- package/agnostic/numbers/clamp/index.d.ts +4 -4
- package/agnostic/numbers/clamp/index.js +4 -4
- package/agnostic/numbers/geometric-progressions/index.d.ts +5 -5
- package/agnostic/numbers/geometric-progressions/index.js +7 -5
- package/agnostic/numbers/geometric-progressions/index.test.js +2 -2
- package/agnostic/numbers/index.d.ts +3 -3
- package/agnostic/numbers/index.js +3 -3
- package/agnostic/numbers/interpolate/index.d.ts +8 -8
- package/agnostic/numbers/interpolate/index.js +8 -8
- package/agnostic/numbers/round/index.d.ts +9 -9
- package/agnostic/numbers/round/index.js +9 -9
- package/agnostic/objects/deep-get-property/index.d.ts +4 -4
- package/agnostic/objects/deep-get-property/index.js +3 -3
- package/agnostic/objects/enums/is-in-enum/index.d.ts +3 -3
- package/agnostic/objects/enums/is-in-enum/index.js +3 -3
- package/agnostic/objects/flatten-getters/index.d.ts +2 -2
- package/agnostic/objects/flatten-getters/index.js +3 -2
- package/agnostic/objects/index.d.ts +4 -4
- package/agnostic/objects/index.js +4 -4
- package/agnostic/objects/is-object/index.d.ts +4 -4
- package/agnostic/objects/is-object/index.js +4 -4
- package/agnostic/objects/is-record/index.d.ts +2 -2
- package/agnostic/objects/is-record/index.js +2 -2
- package/agnostic/objects/record-format/index.d.ts +9 -9
- package/agnostic/objects/record-format/index.js +8 -3
- package/agnostic/objects/record-map/index.d.ts +4 -4
- package/agnostic/objects/record-map/index.js +5 -3
- package/agnostic/objects/sort-keys/index.d.ts +3 -3
- package/agnostic/objects/sort-keys/index.js +4 -3
- package/agnostic/objects/validation/index.d.ts +3 -3
- package/agnostic/objects/validation/index.js +4 -3
- package/agnostic/optim/memoize/index.d.ts +2 -2
- package/agnostic/optim/memoize/index.js +4 -2
- package/agnostic/optim/throttle-debounce/index.d.ts +2 -2
- package/agnostic/optim/throttle-debounce/index.js +7 -6
- package/agnostic/optim/throttle-debounce/types.d.ts +2 -1
- package/agnostic/random/index.d.ts +1 -1
- package/agnostic/random/index.js +1 -1
- package/agnostic/random/random/index.d.ts +7 -8
- package/agnostic/random/random/index.js +3 -3
- package/agnostic/random/uuid/index.d.ts +6 -6
- package/agnostic/random/uuid/index.js +6 -6
- package/agnostic/regexps/index.d.ts +30 -60
- package/agnostic/regexps/index.js +27 -26
- package/agnostic/sanitization/file-name/index.d.ts +3 -3
- package/agnostic/sanitization/file-name/index.js +10 -10
- package/agnostic/sanitization/html/index.d.ts +6 -6
- package/agnostic/sanitization/html/index.js +9 -6
- package/agnostic/sanitization/index.d.ts +1 -1
- package/agnostic/sanitization/index.js +1 -1
- package/agnostic/sanitization/path/index.d.ts +2 -2
- package/agnostic/sanitization/path/index.js +2 -2
- package/agnostic/sanitization/user-input/index.js +1 -0
- package/agnostic/strings/char-codes/index.js +2 -6
- package/agnostic/strings/index.d.ts +3 -3
- package/agnostic/strings/index.js +3 -3
- package/agnostic/strings/normalize-indent/index.js +2 -2
- package/agnostic/strings/parse-table/index.d.ts +13 -13
- package/agnostic/strings/parse-table/index.js +31 -16
- package/agnostic/strings/replace-all/index.d.ts +1 -1
- package/agnostic/strings/replace-all/index.js +1 -0
- package/agnostic/strings/to-alphanum/index.js +2 -2
- package/agnostic/strings/trim/index.js +2 -2
- package/agnostic/time/dates/format-date/index.js +3 -1
- package/agnostic/time/dates/index.d.ts +1 -0
- package/agnostic/time/dates/index.js +1 -0
- package/agnostic/time/dates/to-french-republican/index.d.ts +16 -0
- package/agnostic/time/dates/to-french-republican/index.js +82 -0
- package/agnostic/time/dates/to-french-republican/index.test.d.ts +1 -0
- package/agnostic/time/dates/to-french-republican/index.test.js +112 -0
- package/agnostic/time/dates/to-french-republican/types.d.ts +91 -0
- package/agnostic/time/dates/to-french-republican/types.js +47 -0
- package/agnostic/time/dates/to-french-republican/utils.d.ts +32 -0
- package/agnostic/time/dates/to-french-republican/utils.js +155 -0
- package/agnostic/time/duration/index.js +2 -0
- package/agnostic/time/index.d.ts +2 -2
- package/agnostic/time/index.js +2 -2
- package/agnostic/time/timeout/index.js +9 -9
- package/agnostic/time/transitions/index.js +8 -7
- package/components/BeforeAfter/index.controlled.js +1 -0
- package/components/BeforeAfter/index.js +4 -0
- package/components/Button/index.d.ts +1 -1
- package/components/Clippable/index.js +1 -0
- package/components/Drawer/index.js +1 -1
- package/components/Gallery/index.js +2 -1
- package/components/Gallery/utils.js +5 -1
- package/components/Iframe/index.js +3 -0
- package/components/Image/index.js +2 -0
- package/components/Input/index.controlled.js +3 -2
- package/components/IntersectionObserver/index.js +5 -2
- package/components/JsonEditor/index.js +1 -1
- package/components/Overlayer/index.d.ts +1 -1
- package/components/ScrollListener/utils.d.ts +29 -0
- package/components/Select/index.controlled.js +3 -2
- package/components/Sequencer/index.controlled.js +1 -1
- package/components/Subtitles/index.js +3 -1
- package/components/Subtitles/types.d.ts +14 -0
- package/components/Subtitles/utils.d.ts +19 -15
- package/components/Subtitles/utils.js +29 -24
- package/components/Textarea/index.controlled.js +3 -2
- package/components/UIModule/index.js +3 -1
- package/components/Video/index.controlled.d.ts +1 -1
- package/components/Video/index.controlled.js +11 -10
- package/components/Video/index.js +27 -20
- package/components/Video/utils.d.ts +1 -1
- package/components/Video/utils.js +11 -2
- package/components/index.d.ts +5 -5
- package/components/index.js +5 -5
- package/components/utils/types.d.ts +5 -0
- package/node/@aws-s3/storage/directory/copy-dir/index.d.ts +9 -9
- package/node/@aws-s3/storage/directory/copy-dir/index.js +15 -12
- package/node/@aws-s3/storage/directory/list/index.d.ts +5 -5
- package/node/@aws-s3/storage/directory/list/index.js +5 -5
- package/node/@aws-s3/storage/directory/move-dir/index.d.ts +6 -6
- package/node/@aws-s3/storage/directory/move-dir/index.js +11 -7
- package/node/@aws-s3/storage/directory/remove-dir/index.d.ts +5 -5
- package/node/@aws-s3/storage/directory/remove-dir/index.js +5 -5
- package/node/@aws-s3/storage/file/copy/index.d.ts +8 -8
- package/node/@aws-s3/storage/file/copy/index.js +12 -9
- package/node/@aws-s3/storage/file/download/index.d.ts +6 -6
- package/node/@aws-s3/storage/file/download/index.js +6 -5
- package/node/@aws-s3/storage/file/exists/index.d.ts +6 -6
- package/node/@aws-s3/storage/file/exists/index.js +15 -12
- package/node/@aws-s3/storage/file/move/index.d.ts +9 -9
- package/node/@aws-s3/storage/file/move/index.js +18 -15
- package/node/@aws-s3/storage/file/remove/index.d.ts +5 -5
- package/node/@aws-s3/storage/file/remove/index.js +16 -11
- package/node/@aws-s3/storage/file/stat/index.d.ts +5 -5
- package/node/@aws-s3/storage/file/stat/index.js +10 -7
- package/node/@aws-s3/storage/file/upload/index.d.ts +7 -7
- package/node/@aws-s3/storage/file/upload/index.js +11 -9
- package/node/@express/@multer/index.d.ts +12 -12
- package/node/@express/@multer/index.js +27 -25
- package/node/@google-cloud/storage/bucket/get-metadata/index.d.ts +4 -4
- package/node/@google-cloud/storage/bucket/get-metadata/index.js +3 -3
- package/node/@google-cloud/storage/directory/copy-dir/index.d.ts +7 -7
- package/node/@google-cloud/storage/directory/copy-dir/index.js +6 -6
- package/node/@google-cloud/storage/directory/index.d.ts +2 -2
- package/node/@google-cloud/storage/directory/index.js +2 -2
- package/node/@google-cloud/storage/directory/list/index.d.ts +6 -6
- package/node/@google-cloud/storage/directory/list/index.js +5 -5
- package/node/@google-cloud/storage/directory/move-dir/index.d.ts +6 -6
- package/node/@google-cloud/storage/directory/move-dir/index.js +5 -5
- package/node/@google-cloud/storage/directory/remove-dir/index.d.ts +7 -7
- package/node/@google-cloud/storage/directory/remove-dir/index.js +6 -6
- package/node/@google-cloud/storage/file/copy/index.d.ts +9 -9
- package/node/@google-cloud/storage/file/copy/index.js +8 -8
- package/node/@google-cloud/storage/file/download/index.d.ts +7 -7
- package/node/@google-cloud/storage/file/download/index.js +5 -5
- package/node/@google-cloud/storage/file/exists/index.d.ts +7 -7
- package/node/@google-cloud/storage/file/exists/index.js +6 -6
- package/node/@google-cloud/storage/file/generate-signed-url/index.d.ts +7 -7
- package/node/@google-cloud/storage/file/generate-signed-url/index.js +6 -6
- package/node/@google-cloud/storage/file/get-metadata/index.d.ts +5 -5
- package/node/@google-cloud/storage/file/get-metadata/index.js +4 -4
- package/node/@google-cloud/storage/file/get-permissions/index.d.ts +6 -6
- package/node/@google-cloud/storage/file/get-permissions/index.js +4 -4
- package/node/@google-cloud/storage/file/index.d.ts +3 -3
- package/node/@google-cloud/storage/file/index.js +3 -3
- package/node/@google-cloud/storage/file/move/index.d.ts +10 -10
- package/node/@google-cloud/storage/file/move/index.js +9 -9
- package/node/@google-cloud/storage/file/remove/index.d.ts +5 -5
- package/node/@google-cloud/storage/file/remove/index.js +4 -4
- package/node/@google-cloud/storage/file/revoke-signed-urls/index.d.ts +5 -5
- package/node/@google-cloud/storage/file/revoke-signed-urls/index.js +5 -5
- package/node/@google-cloud/storage/file/stat/index.d.ts +5 -5
- package/node/@google-cloud/storage/file/stat/index.js +4 -4
- package/node/@google-cloud/storage/file/update-metadata/index.d.ts +7 -7
- package/node/@google-cloud/storage/file/update-metadata/index.js +5 -5
- package/node/@google-cloud/storage/file/upload/index.d.ts +7 -7
- package/node/@google-cloud/storage/file/upload/index.js +5 -5
- package/node/@google-cloud/storage/index.d.ts +1 -1
- package/node/@google-cloud/storage/index.js +1 -1
- package/node/cloud-storage/clients/index.d.ts +8 -8
- package/node/cloud-storage/clients/index.js +8 -8
- package/node/cloud-storage/operations/copy-dir/index.d.ts +22 -22
- package/node/cloud-storage/operations/copy-dir/index.js +5 -5
- package/node/cloud-storage/operations/copy-file/index.d.ts +22 -22
- package/node/cloud-storage/operations/copy-file/index.js +5 -5
- package/node/cloud-storage/operations/download-file/index.d.ts +19 -19
- package/node/cloud-storage/operations/download-file/index.js +6 -6
- package/node/cloud-storage/operations/exists-file/index.d.ts +15 -26
- package/node/cloud-storage/operations/exists-file/index.js +4 -4
- package/node/cloud-storage/operations/index.d.ts +2 -2
- package/node/cloud-storage/operations/index.js +2 -2
- package/node/cloud-storage/operations/list-dir/index.d.ts +15 -25
- package/node/cloud-storage/operations/list-dir/index.js +4 -4
- package/node/cloud-storage/operations/move-dir/index.d.ts +22 -22
- package/node/cloud-storage/operations/move-dir/index.js +5 -5
- package/node/cloud-storage/operations/move-file/index.d.ts +22 -22
- package/node/cloud-storage/operations/move-file/index.js +5 -5
- package/node/cloud-storage/operations/remove-dir/index.d.ts +18 -18
- package/node/cloud-storage/operations/remove-dir/index.js +4 -4
- package/node/cloud-storage/operations/remove-file/index.d.ts +18 -18
- package/node/cloud-storage/operations/remove-file/index.js +4 -4
- package/node/cloud-storage/operations/stat-file/index.d.ts +16 -16
- package/node/cloud-storage/operations/stat-file/index.js +4 -4
- package/node/cloud-storage/operations/upload-file/index.d.ts +23 -23
- package/node/cloud-storage/operations/upload-file/index.js +5 -5
- package/node/encryption/@aes-256-gcm/buffer/index.d.ts +6 -6
- package/node/encryption/@aes-256-gcm/buffer/index.js +6 -6
- package/node/encryption/@aes-256-gcm/uint8-array/index.d.ts +8 -8
- package/node/encryption/@aes-256-gcm/uint8-array/index.js +8 -8
- package/node/encryption/key/index.d.ts +6 -6
- package/node/encryption/key/index.js +6 -6
- package/node/files/get-size/index.d.ts +56 -0
- package/node/files/get-size/index.js +167 -0
- package/node/files/get-size/index.test.d.ts +1 -0
- package/node/files/get-size/index.test.js +143 -0
- package/node/files/index.d.ts +1 -0
- package/node/files/index.js +1 -0
- package/node/files/read-write/index.d.ts +16 -16
- package/node/files/subpaths/index.d.ts +8 -8
- package/node/files/subpaths/index.js +11 -13
- package/node/ftps/directory/copy-dir/index.d.ts +6 -6
- package/node/ftps/directory/copy-dir/index.js +6 -6
- package/node/ftps/directory/index.d.ts +1 -1
- package/node/ftps/directory/index.js +1 -1
- package/node/ftps/directory/list/index.d.ts +4 -4
- package/node/ftps/directory/list/index.js +3 -3
- package/node/ftps/directory/move-dir/index.d.ts +6 -6
- package/node/ftps/directory/move-dir/index.js +5 -5
- package/node/ftps/directory/remove-dir/index.d.ts +6 -6
- package/node/ftps/directory/remove-dir/index.js +8 -7
- package/node/ftps/file/copy/index.d.ts +6 -6
- package/node/ftps/file/copy/index.js +5 -5
- package/node/ftps/file/download/index.d.ts +6 -6
- package/node/ftps/file/download/index.js +5 -5
- package/node/ftps/file/exists/index.d.ts +3 -3
- package/node/ftps/file/exists/index.js +3 -3
- package/node/ftps/file/index.d.ts +2 -2
- package/node/ftps/file/index.js +2 -2
- package/node/ftps/file/move/index.d.ts +8 -8
- package/node/ftps/file/move/index.js +11 -9
- package/node/ftps/file/remove/index.d.ts +5 -5
- package/node/ftps/file/remove/index.js +4 -4
- package/node/ftps/file/stat/index.d.ts +4 -4
- package/node/ftps/file/stat/index.js +4 -4
- package/node/ftps/file/upload/index.d.ts +7 -7
- package/node/ftps/file/upload/index.js +5 -5
- package/node/images/create/index.d.ts +2 -2
- package/node/images/create/index.js +1 -1
- package/node/images/format/index.d.ts +8 -8
- package/node/images/index.d.ts +1 -1
- package/node/images/index.js +1 -1
- package/node/images/metadata/index.d.ts +2 -2
- package/node/images/transform/index.d.ts +2 -2
- package/node/images/transform/index.js +12 -2
- package/node/images/transform/operations/blur/index.d.ts +2 -2
- package/node/images/transform/operations/blur/index.js +1 -0
- package/node/images/transform/operations/brighten/index.d.ts +2 -2
- package/node/images/transform/operations/brighten/index.js +1 -0
- package/node/images/transform/operations/extend/index.d.ts +2 -2
- package/node/images/transform/operations/extend/index.js +1 -0
- package/node/images/transform/operations/extract/index.d.ts +2 -2
- package/node/images/transform/operations/extract/index.js +1 -0
- package/node/images/transform/operations/flatten/index.d.ts +2 -2
- package/node/images/transform/operations/flatten/index.js +1 -0
- package/node/images/transform/operations/flip/index.d.ts +2 -2
- package/node/images/transform/operations/flip/index.js +1 -0
- package/node/images/transform/operations/flop/index.d.ts +2 -2
- package/node/images/transform/operations/flop/index.js +1 -0
- package/node/images/transform/operations/hue/index.d.ts +2 -2
- package/node/images/transform/operations/hue/index.js +1 -0
- package/node/images/transform/operations/index.d.ts +2 -2
- package/node/images/transform/operations/index.js +2 -2
- package/node/images/transform/operations/level/index.d.ts +2 -2
- package/node/images/transform/operations/level/index.js +1 -0
- package/node/images/transform/operations/lighten/index.d.ts +2 -2
- package/node/images/transform/operations/lighten/index.js +1 -0
- package/node/images/transform/operations/normalize/index.d.ts +2 -2
- package/node/images/transform/operations/normalize/index.js +1 -0
- package/node/images/transform/operations/overlay/index.d.ts +2 -2
- package/node/images/transform/operations/resize/index.d.ts +2 -2
- package/node/images/transform/operations/resize/index.js +1 -0
- package/node/images/transform/operations/rotate/index.d.ts +2 -2
- package/node/images/transform/operations/rotate/index.js +1 -0
- package/node/images/transform/operations/saturate/index.d.ts +2 -2
- package/node/images/transform/operations/saturate/index.js +1 -0
- package/node/images/types.d.ts +41 -2
- package/node/images/utils/index.d.ts +10 -5
- package/node/index.d.ts +2 -2
- package/node/index.js +2 -2
- package/node/process/on-exit/index.js +2 -4
- package/node/process/prompt-continue/index.d.ts +3 -3
- package/node/process/prompt-continue/index.js +4 -3
- package/node/process/spawner/index.js +7 -6
- package/node/sftp/directory/copy-dir/index.d.ts +6 -6
- package/node/sftp/directory/copy-dir/index.js +6 -6
- package/node/sftp/directory/index.d.ts +1 -1
- package/node/sftp/directory/index.js +1 -1
- package/node/sftp/directory/list/index.d.ts +3 -3
- package/node/sftp/directory/list/index.js +4 -4
- package/node/sftp/directory/move-dir/index.d.ts +7 -7
- package/node/sftp/directory/move-dir/index.js +7 -7
- package/node/sftp/directory/remove-dir/index.d.ts +5 -5
- package/node/sftp/directory/remove-dir/index.js +8 -7
- package/node/sftp/file/copy/index.d.ts +6 -6
- package/node/sftp/file/copy/index.js +5 -5
- package/node/sftp/file/download/index.d.ts +7 -7
- package/node/sftp/file/download/index.js +5 -5
- package/node/sftp/file/exists/index.d.ts +3 -3
- package/node/sftp/file/exists/index.js +3 -3
- package/node/sftp/file/index.d.ts +2 -2
- package/node/sftp/file/index.js +2 -2
- package/node/sftp/file/move/index.d.ts +7 -7
- package/node/sftp/file/move/index.js +7 -7
- package/node/sftp/file/remove/index.d.ts +4 -4
- package/node/sftp/file/remove/index.js +4 -4
- package/node/sftp/file/stat/index.d.ts +3 -3
- package/node/sftp/file/stat/index.js +6 -5
- package/node/sftp/file/upload/index.d.ts +6 -6
- package/node/sftp/file/upload/index.js +5 -5
- package/package.json +47 -39
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable no-console */
|
|
1
2
|
import { spawn, spawnSync } from 'node:child_process';
|
|
2
3
|
import ansiRegex from 'ansi-regex';
|
|
3
4
|
import chalk from 'chalk';
|
|
@@ -23,7 +24,7 @@ import { unknownToString } from '../../../agnostic/errors/unknown-to-string/inde
|
|
|
23
24
|
export async function spawner(label, command, args, options) {
|
|
24
25
|
return await new Promise((resolve, reject) => {
|
|
25
26
|
if (label !== null)
|
|
26
|
-
console.log(
|
|
27
|
+
console.log(`\n${styles.info(label)}\n`);
|
|
27
28
|
const printableArgs = options?.argsPrintFormat !== undefined
|
|
28
29
|
? options.argsPrintFormat(args)
|
|
29
30
|
: args;
|
|
@@ -48,7 +49,7 @@ export async function spawner(label, command, args, options) {
|
|
|
48
49
|
});
|
|
49
50
|
prcss.on('close', code => {
|
|
50
51
|
if (code !== 0 && options?.throwOnError === true)
|
|
51
|
-
reject(new Error(stderr
|
|
52
|
+
reject(new Error(`${stderr}\n${stdout}`));
|
|
52
53
|
else if (code !== 0)
|
|
53
54
|
return resolve(Outcome.makeFailure({ stdout, stderr, err }));
|
|
54
55
|
else
|
|
@@ -75,14 +76,14 @@ export async function spawner(label, command, args, options) {
|
|
|
75
76
|
*/
|
|
76
77
|
export function spawnerSync(label, command, args, options) {
|
|
77
78
|
if (label !== null)
|
|
78
|
-
console.log(
|
|
79
|
+
console.log(`\n${styles.info(label)}\n}`);
|
|
79
80
|
const printableArgs = options?.argsPrintFormat !== undefined
|
|
80
81
|
? options.argsPrintFormat(args)
|
|
81
82
|
: args;
|
|
82
83
|
console.log(styles.light(`> ${command} ${printableArgs.join(' ')}\n`));
|
|
83
84
|
const result = spawnSync(command, args, { stdio: 'pipe', encoding: 'utf8', ...options });
|
|
84
|
-
const stderr = result.stderr
|
|
85
|
-
const stdout = result.stdout
|
|
85
|
+
const stderr = result.stderr.toString().trim();
|
|
86
|
+
const stdout = result.stdout.toString().trim();
|
|
86
87
|
const err = result.error;
|
|
87
88
|
if (err !== undefined) {
|
|
88
89
|
console.log(styles.light(chalk.italic('err:\n')));
|
|
@@ -100,7 +101,7 @@ export function spawnerSync(label, command, args, options) {
|
|
|
100
101
|
console.log('');
|
|
101
102
|
}
|
|
102
103
|
if (result.status !== 0 && options?.throwOnError === true)
|
|
103
|
-
throw new Error(stderr
|
|
104
|
+
throw new Error(`${stderr}\n${stdout}`);
|
|
104
105
|
else if (result.status !== 0)
|
|
105
106
|
return Outcome.makeFailure({ stdout, stderr, err });
|
|
106
107
|
return Outcome.makeSuccess({ stdout, stderr, err });
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { TransferOptions } from 'ssh2-sftp-client';
|
|
2
2
|
import type Client from 'ssh2-sftp-client';
|
|
3
3
|
import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
4
4
|
export type CopyDirOptions = TransferOptions & {
|
|
@@ -18,11 +18,11 @@ export type CopyDirOptions = TransferOptions & {
|
|
|
18
18
|
* Recursively copies every file under `sourceDir` to the same relative path
|
|
19
19
|
* beneath `targetDir` on an SFTP server, streaming data to minimize memory usage.
|
|
20
20
|
*
|
|
21
|
-
* @param
|
|
22
|
-
* @param
|
|
23
|
-
* @param
|
|
24
|
-
* @param
|
|
25
|
-
* @returns
|
|
21
|
+
* @param sftp - The SFTP client instance.
|
|
22
|
+
* @param sourceDir - The source directory path to copy from.
|
|
23
|
+
* @param targetDir - The target directory path to copy to.
|
|
24
|
+
* @param [options] - Optional parameters for the operation.
|
|
25
|
+
* @returns
|
|
26
26
|
* - On success: `Outcome.makeSuccess(true)` indicating the copy was successful.
|
|
27
27
|
* - On failure: `Outcome.makeFailure(errStr)` with an error message if the copy fails.
|
|
28
28
|
*/
|
|
@@ -5,11 +5,11 @@ import { unknownToString } from '../../../../agnostic/errors/unknown-to-string/i
|
|
|
5
5
|
* Recursively copies every file under `sourceDir` to the same relative path
|
|
6
6
|
* beneath `targetDir` on an SFTP server, streaming data to minimize memory usage.
|
|
7
7
|
*
|
|
8
|
-
* @param
|
|
9
|
-
* @param
|
|
10
|
-
* @param
|
|
11
|
-
* @param
|
|
12
|
-
* @returns
|
|
8
|
+
* @param sftp - The SFTP client instance.
|
|
9
|
+
* @param sourceDir - The source directory path to copy from.
|
|
10
|
+
* @param targetDir - The target directory path to copy to.
|
|
11
|
+
* @param [options] - Optional parameters for the operation.
|
|
12
|
+
* @returns
|
|
13
13
|
* - On success: `Outcome.makeSuccess(true)` indicating the copy was successful.
|
|
14
14
|
* - On failure: `Outcome.makeFailure(errStr)` with an error message if the copy fails.
|
|
15
15
|
*/
|
|
@@ -18,7 +18,7 @@ export async function copyDir(sftp, sourceDir, targetDir, options) {
|
|
|
18
18
|
async function recurse(dir) {
|
|
19
19
|
const list = await sftp.list(dir);
|
|
20
20
|
for (const entry of list) {
|
|
21
|
-
const src = dir.endsWith('/') ? dir
|
|
21
|
+
const src = dir.endsWith('/') ? `${dir}${entry.name}` : `${dir}/${entry.name}`;
|
|
22
22
|
const rel = src.substring(sourceDir.length + (sourceDir.endsWith('/') ? 0 : 1));
|
|
23
23
|
const dst = targetDir.endsWith('/') ? targetDir + rel : `${targetDir}/${rel}`;
|
|
24
24
|
if (entry.type === 'd') {
|
|
@@ -5,8 +5,8 @@ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
|
5
5
|
*
|
|
6
6
|
* This function returns only the immediate files (not recursive) under the specified directory.
|
|
7
7
|
*
|
|
8
|
-
* @param
|
|
9
|
-
* @param
|
|
10
|
-
* @returns
|
|
8
|
+
* @param sftp - The ssh2-sftp-client instance used to interact with the SFTP server.
|
|
9
|
+
* @param directoryPath - The directory path to list files under.
|
|
10
|
+
* @returns Returns either a success with an array of file paths, or a failure with an error message.
|
|
11
11
|
*/
|
|
12
12
|
export declare function list(sftp: Client, directoryPath: string): Promise<Outcome.Either<string[], string>>;
|
|
@@ -5,16 +5,16 @@ import { unknownToString } from '../../../../agnostic/errors/unknown-to-string/i
|
|
|
5
5
|
*
|
|
6
6
|
* This function returns only the immediate files (not recursive) under the specified directory.
|
|
7
7
|
*
|
|
8
|
-
* @param
|
|
9
|
-
* @param
|
|
10
|
-
* @returns
|
|
8
|
+
* @param sftp - The ssh2-sftp-client instance used to interact with the SFTP server.
|
|
9
|
+
* @param directoryPath - The directory path to list files under.
|
|
10
|
+
* @returns Returns either a success with an array of file paths, or a failure with an error message.
|
|
11
11
|
*/
|
|
12
12
|
export async function list(sftp, directoryPath) {
|
|
13
13
|
try {
|
|
14
14
|
const list = await sftp.list(directoryPath);
|
|
15
15
|
const files = list
|
|
16
16
|
.filter(entry => entry.type === '-')
|
|
17
|
-
.map(entry => (directoryPath.endsWith('/') ? directoryPath
|
|
17
|
+
.map(entry => (directoryPath.endsWith('/') ? `${directoryPath}${entry.name}` : `${directoryPath}/${entry.name}`));
|
|
18
18
|
return Outcome.makeSuccess(files);
|
|
19
19
|
}
|
|
20
20
|
catch (err) {
|
|
@@ -13,13 +13,13 @@ export type MoveDirOptions = {
|
|
|
13
13
|
* If `ensureDir` is true (default), the parent directory of `targetDir` is
|
|
14
14
|
* created if it does not exist.
|
|
15
15
|
*
|
|
16
|
-
* @param
|
|
17
|
-
* @param
|
|
18
|
-
* @param
|
|
19
|
-
* @param
|
|
20
|
-
* @param
|
|
21
|
-
* @param
|
|
22
|
-
* @returns
|
|
16
|
+
* @param sftp - The SFTP client instance.
|
|
17
|
+
* @param sourceDir - The source directory path to move from.
|
|
18
|
+
* @param targetDir - The target directory path to move to.
|
|
19
|
+
* @param [options] - Optional parameters for the operation.
|
|
20
|
+
* @param [options.overwrite=false] - If false and `targetDir` exists, abort.
|
|
21
|
+
* @param [options.ensureDir=true] - Whether to create the parent directory of `targetDir`.
|
|
22
|
+
* @returns A promise that resolves to an `Outcome.Either`:
|
|
23
23
|
* - On success: `Outcome.makeSuccess(true)` indicating the move was successful.
|
|
24
24
|
* - On failure: `Outcome.makeFailure(errStr)` with an error message if the move fails.
|
|
25
25
|
*/
|
|
@@ -7,13 +7,13 @@ import { unknownToString } from '../../../../agnostic/errors/unknown-to-string/i
|
|
|
7
7
|
* If `ensureDir` is true (default), the parent directory of `targetDir` is
|
|
8
8
|
* created if it does not exist.
|
|
9
9
|
*
|
|
10
|
-
* @param
|
|
11
|
-
* @param
|
|
12
|
-
* @param
|
|
13
|
-
* @param
|
|
14
|
-
* @param
|
|
15
|
-
* @param
|
|
16
|
-
* @returns
|
|
10
|
+
* @param sftp - The SFTP client instance.
|
|
11
|
+
* @param sourceDir - The source directory path to move from.
|
|
12
|
+
* @param targetDir - The target directory path to move to.
|
|
13
|
+
* @param [options] - Optional parameters for the operation.
|
|
14
|
+
* @param [options.overwrite=false] - If false and `targetDir` exists, abort.
|
|
15
|
+
* @param [options.ensureDir=true] - Whether to create the parent directory of `targetDir`.
|
|
16
|
+
* @returns A promise that resolves to an `Outcome.Either`:
|
|
17
17
|
* - On success: `Outcome.makeSuccess(true)` indicating the move was successful.
|
|
18
18
|
* - On failure: `Outcome.makeFailure(errStr)` with an error message if the move fails.
|
|
19
19
|
*/
|
|
@@ -12,11 +12,11 @@ export type RemoveDirOptions = {
|
|
|
12
12
|
/**
|
|
13
13
|
* Recursively deletes a directory (and all contents) on an SFTP server.
|
|
14
14
|
*
|
|
15
|
-
* @param
|
|
16
|
-
* @param
|
|
17
|
-
* @param
|
|
18
|
-
* @param
|
|
19
|
-
* @returns
|
|
15
|
+
* @param sftp - The SFTP client instance.
|
|
16
|
+
* @param directoryPath - The path of the directory to delete.
|
|
17
|
+
* @param [options] - Optional configuration.
|
|
18
|
+
* @param [options.ignoreMissing=true] - Whether to ignore a missing directory.
|
|
19
|
+
* @returns
|
|
20
20
|
* - On success: `Outcome.makeSuccess(true)` – deletion succeeded, or the
|
|
21
21
|
* directory was absent and `ignoreMissing` is true.
|
|
22
22
|
* - On failure: `Outcome.makeFailure(errStr)` if deletion fails, or directory
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
2
2
|
import { unknownToString } from '../../../../agnostic/errors/unknown-to-string/index.js';
|
|
3
|
+
import { deepGetProperty } from '../../../../agnostic/objects/deep-get-property/index.js';
|
|
3
4
|
/**
|
|
4
5
|
* Recursively deletes a directory (and all contents) on an SFTP server.
|
|
5
6
|
*
|
|
6
|
-
* @param
|
|
7
|
-
* @param
|
|
8
|
-
* @param
|
|
9
|
-
* @param
|
|
10
|
-
* @returns
|
|
7
|
+
* @param sftp - The SFTP client instance.
|
|
8
|
+
* @param directoryPath - The path of the directory to delete.
|
|
9
|
+
* @param [options] - Optional configuration.
|
|
10
|
+
* @param [options.ignoreMissing=true] - Whether to ignore a missing directory.
|
|
11
|
+
* @returns
|
|
11
12
|
* - On success: `Outcome.makeSuccess(true)` – deletion succeeded, or the
|
|
12
13
|
* directory was absent and `ignoreMissing` is true.
|
|
13
14
|
* - On failure: `Outcome.makeFailure(errStr)` if deletion fails, or directory
|
|
@@ -33,10 +34,10 @@ export async function removeDir(sftp, directoryPath, options) {
|
|
|
33
34
|
return Outcome.makeSuccess(true);
|
|
34
35
|
}
|
|
35
36
|
catch (err) {
|
|
37
|
+
const code = deepGetProperty(err, 'code');
|
|
36
38
|
// ssh2-sftp-client uses code 2 / ENOENT for “No such file or directory”
|
|
37
|
-
if (ignoreMissing && (
|
|
39
|
+
if (ignoreMissing && (code === 2 || code === 'ENOENT'))
|
|
38
40
|
return Outcome.makeSuccess(true);
|
|
39
|
-
}
|
|
40
41
|
return Outcome.makeFailure(unknownToString(err));
|
|
41
42
|
}
|
|
42
43
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { TransferOptions } from 'ssh2-sftp-client';
|
|
2
2
|
import type Client from 'ssh2-sftp-client';
|
|
3
3
|
import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
4
4
|
export type CopyOptions = TransferOptions & {
|
|
@@ -18,11 +18,11 @@ export type CopyOptions = TransferOptions & {
|
|
|
18
18
|
* Copies a file from one path to another on the same SFTP server using streams
|
|
19
19
|
* (avoids loading the entire file into memory).
|
|
20
20
|
*
|
|
21
|
-
* @param
|
|
22
|
-
* @param
|
|
23
|
-
* @param
|
|
24
|
-
* @param
|
|
25
|
-
* @returns
|
|
21
|
+
* @param sftp - The ssh2‑sftp‑client instance.
|
|
22
|
+
* @param sourcePath - The path of the source file.
|
|
23
|
+
* @param targetPath - The destination path.
|
|
24
|
+
* @param [options] - Optional copy configuration.
|
|
25
|
+
* @returns
|
|
26
26
|
* - On success: `Outcome.makeSuccess(true)`.
|
|
27
27
|
* - On failure: `Outcome.makeFailure(errStr)`.
|
|
28
28
|
*/
|
|
@@ -5,11 +5,11 @@ import { unknownToString } from '../../../../agnostic/errors/unknown-to-string/i
|
|
|
5
5
|
* Copies a file from one path to another on the same SFTP server using streams
|
|
6
6
|
* (avoids loading the entire file into memory).
|
|
7
7
|
*
|
|
8
|
-
* @param
|
|
9
|
-
* @param
|
|
10
|
-
* @param
|
|
11
|
-
* @param
|
|
12
|
-
* @returns
|
|
8
|
+
* @param sftp - The ssh2‑sftp‑client instance.
|
|
9
|
+
* @param sourcePath - The path of the source file.
|
|
10
|
+
* @param targetPath - The destination path.
|
|
11
|
+
* @param [options] - Optional copy configuration.
|
|
12
|
+
* @returns
|
|
13
13
|
* - On success: `Outcome.makeSuccess(true)`.
|
|
14
14
|
* - On failure: `Outcome.makeFailure(errStr)`.
|
|
15
15
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import type { Readable } from 'node:stream';
|
|
2
|
+
import type { ReadStreamOptions } from 'ssh2';
|
|
3
3
|
import type Client from 'ssh2-sftp-client';
|
|
4
4
|
import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
5
5
|
export type DownloadOptions = ReadStreamOptions;
|
|
@@ -10,11 +10,11 @@ export type DownloadOptions = ReadStreamOptions;
|
|
|
10
10
|
* returning the file content as a Readable stream. The download process can be customized
|
|
11
11
|
* using optional download options.
|
|
12
12
|
*
|
|
13
|
-
* @param
|
|
14
|
-
* @param
|
|
15
|
-
* @param
|
|
16
|
-
* @returns
|
|
13
|
+
* @param sftp - The ssh2-sftp-client instance used to interact with the SFTP server.
|
|
14
|
+
* @param sourcePath - The path of the file to be downloaded from the SFTP server.
|
|
15
|
+
* @param [options] - Optional settings for configuring the download process.
|
|
16
|
+
* @returns A promise that resolves to an Outcome.Either.
|
|
17
17
|
* - On success: Outcome.makeSuccess(stream) containing the downloaded file's content as a Readable stream.
|
|
18
18
|
* - On failure: Outcome.makeFailure(errStr) with an error message if the download fails.
|
|
19
19
|
*/
|
|
20
|
-
export declare function download(sftp: Client, sourcePath: string, options?: DownloadOptions):
|
|
20
|
+
export declare function download(sftp: Client, sourcePath: string, options?: DownloadOptions): Outcome.Either<Readable, string>;
|
|
@@ -7,14 +7,14 @@ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
|
7
7
|
* returning the file content as a Readable stream. The download process can be customized
|
|
8
8
|
* using optional download options.
|
|
9
9
|
*
|
|
10
|
-
* @param
|
|
11
|
-
* @param
|
|
12
|
-
* @param
|
|
13
|
-
* @returns
|
|
10
|
+
* @param sftp - The ssh2-sftp-client instance used to interact with the SFTP server.
|
|
11
|
+
* @param sourcePath - The path of the file to be downloaded from the SFTP server.
|
|
12
|
+
* @param [options] - Optional settings for configuring the download process.
|
|
13
|
+
* @returns A promise that resolves to an Outcome.Either.
|
|
14
14
|
* - On success: Outcome.makeSuccess(stream) containing the downloaded file's content as a Readable stream.
|
|
15
15
|
* - On failure: Outcome.makeFailure(errStr) with an error message if the download fails.
|
|
16
16
|
*/
|
|
17
|
-
export
|
|
17
|
+
export function download(sftp, sourcePath, options) {
|
|
18
18
|
try {
|
|
19
19
|
const stream = sftp.createReadStream(sourcePath, options);
|
|
20
20
|
stream.on('error', (err) => { throw err; });
|
|
@@ -12,9 +12,9 @@ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
|
12
12
|
* For the purpose of this util we treat a regular file (`'-'`) **or** a
|
|
13
13
|
* symlink (`'l'`) as a “file”. A directory (`'d'`) returns `false`.
|
|
14
14
|
*
|
|
15
|
-
* @param
|
|
16
|
-
* @param
|
|
17
|
-
* @returns
|
|
15
|
+
* @param sftp - The ssh2‑sftp‑client instance.
|
|
16
|
+
* @param sourcePath - The path to check.
|
|
17
|
+
* @returns
|
|
18
18
|
* - Success: `Outcome.makeSuccess(true | false)` indicating file existence.
|
|
19
19
|
* - Failure: `Outcome.makeFailure(errStr)` if an error occurs.
|
|
20
20
|
*/
|
|
@@ -12,9 +12,9 @@ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
|
12
12
|
* For the purpose of this util we treat a regular file (`'-'`) **or** a
|
|
13
13
|
* symlink (`'l'`) as a “file”. A directory (`'d'`) returns `false`.
|
|
14
14
|
*
|
|
15
|
-
* @param
|
|
16
|
-
* @param
|
|
17
|
-
* @returns
|
|
15
|
+
* @param sftp - The ssh2‑sftp‑client instance.
|
|
16
|
+
* @param sourcePath - The path to check.
|
|
17
|
+
* @returns
|
|
18
18
|
* - Success: `Outcome.makeSuccess(true | false)` indicating file existence.
|
|
19
19
|
* - Failure: `Outcome.makeFailure(errStr)` if an error occurs.
|
|
20
20
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export * as download from './download/index.js'
|
|
2
1
|
export * as copy from './copy/index.js'
|
|
2
|
+
export * as download from './download/index.js'
|
|
3
|
+
export * as remove from './remove/index.js'
|
|
3
4
|
export * as exists from './exists/index.js'
|
|
4
5
|
export * as move from './move/index.js'
|
|
5
|
-
export * as remove from './remove/index.js'
|
|
6
6
|
export * as stat from './stat/index.js'
|
|
7
7
|
export * as upload from './upload/index.js'
|
package/node/sftp/file/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export * as download from './download/index.js'
|
|
2
1
|
export * as copy from './copy/index.js'
|
|
2
|
+
export * as download from './download/index.js'
|
|
3
|
+
export * as remove from './remove/index.js'
|
|
3
4
|
export * as exists from './exists/index.js'
|
|
4
5
|
export * as move from './move/index.js'
|
|
5
|
-
export * as remove from './remove/index.js'
|
|
6
6
|
export * as stat from './stat/index.js'
|
|
7
7
|
export * as upload from './upload/index.js'
|
|
@@ -25,13 +25,13 @@ export type MoveOptions = {
|
|
|
25
25
|
* 2. **overwrite** – If disabled (default) the function first checks whether
|
|
26
26
|
* something already exists at `targetPath`; if so, it aborts.
|
|
27
27
|
*
|
|
28
|
-
* @param
|
|
29
|
-
* @param
|
|
30
|
-
* @param
|
|
31
|
-
* @param
|
|
32
|
-
* @param
|
|
33
|
-
* @param
|
|
34
|
-
* @returns
|
|
28
|
+
* @param sftp - The ssh2‑sftp‑client instance.
|
|
29
|
+
* @param sourcePath - The full path of the source file.
|
|
30
|
+
* @param targetPath - The full destination path.
|
|
31
|
+
* @param [options] - Optional move configuration.
|
|
32
|
+
* @param [options.ensureDir=true] - Whether to create missing parent directories.
|
|
33
|
+
* @param [options.overwrite=false] - Whether to overwrite an existing destination.
|
|
34
|
+
* @returns
|
|
35
35
|
* - On success: `Outcome.makeSuccess(true)`.
|
|
36
36
|
* - On failure: `Outcome.makeFailure(errStr)`.
|
|
37
37
|
*/
|
|
@@ -11,13 +11,13 @@ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
|
11
11
|
* 2. **overwrite** – If disabled (default) the function first checks whether
|
|
12
12
|
* something already exists at `targetPath`; if so, it aborts.
|
|
13
13
|
*
|
|
14
|
-
* @param
|
|
15
|
-
* @param
|
|
16
|
-
* @param
|
|
17
|
-
* @param
|
|
18
|
-
* @param
|
|
19
|
-
* @param
|
|
20
|
-
* @returns
|
|
14
|
+
* @param sftp - The ssh2‑sftp‑client instance.
|
|
15
|
+
* @param sourcePath - The full path of the source file.
|
|
16
|
+
* @param targetPath - The full destination path.
|
|
17
|
+
* @param [options] - Optional move configuration.
|
|
18
|
+
* @param [options.ensureDir=true] - Whether to create missing parent directories.
|
|
19
|
+
* @param [options.overwrite=false] - Whether to overwrite an existing destination.
|
|
20
|
+
* @returns
|
|
21
21
|
* - On success: `Outcome.makeSuccess(true)`.
|
|
22
22
|
* - On failure: `Outcome.makeFailure(errStr)`.
|
|
23
23
|
*/
|
|
@@ -10,10 +10,10 @@ export type RemoveOptions = {
|
|
|
10
10
|
* The deletion process can be customized using optional delete options.
|
|
11
11
|
* If the `ignoreMissing` option is true, it does not treat a missing file as an error.
|
|
12
12
|
*
|
|
13
|
-
* @param
|
|
14
|
-
* @param
|
|
15
|
-
* @param
|
|
16
|
-
* @returns
|
|
13
|
+
* @param sftp - The ssh2-sftp-client instance used to interact with the SFTP server.
|
|
14
|
+
* @param targetPath - The path of the file to delete on the SFTP server.
|
|
15
|
+
* @param [options] - Optional settings for configuring the deletion process.
|
|
16
|
+
* @returns A promise that resolves to an Outcome.Either.
|
|
17
17
|
* - On success: Outcome.makeSuccess(true) indicating the deletion was successful.
|
|
18
18
|
* - On failure: Outcome.makeFailure(errStr) with an error message if the deletion fails.
|
|
19
19
|
*/
|
|
@@ -7,10 +7,10 @@ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
|
7
7
|
* The deletion process can be customized using optional delete options.
|
|
8
8
|
* If the `ignoreMissing` option is true, it does not treat a missing file as an error.
|
|
9
9
|
*
|
|
10
|
-
* @param
|
|
11
|
-
* @param
|
|
12
|
-
* @param
|
|
13
|
-
* @returns
|
|
10
|
+
* @param sftp - The ssh2-sftp-client instance used to interact with the SFTP server.
|
|
11
|
+
* @param targetPath - The path of the file to delete on the SFTP server.
|
|
12
|
+
* @param [options] - Optional settings for configuring the deletion process.
|
|
13
|
+
* @returns A promise that resolves to an Outcome.Either.
|
|
14
14
|
* - On success: Outcome.makeSuccess(true) indicating the deletion was successful.
|
|
15
15
|
* - On failure: Outcome.makeFailure(errStr) with an error message if the deletion fails.
|
|
16
16
|
*/
|
|
@@ -11,8 +11,8 @@ export interface Stat {
|
|
|
11
11
|
/**
|
|
12
12
|
* Retrieves metadata for a file on an SFTP server.
|
|
13
13
|
*
|
|
14
|
-
* @param
|
|
15
|
-
* @param
|
|
16
|
-
* @returns
|
|
14
|
+
* @param sftp – ssh2-sftp-client.
|
|
15
|
+
* @param path – Remote file path.
|
|
16
|
+
* @returns
|
|
17
17
|
*/
|
|
18
18
|
export declare function stat(sftp: SftpClient, path: string): Promise<Outcome.Either<Stat, string>>;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
2
2
|
import { unknownToString } from '../../../../agnostic/errors/unknown-to-string/index.js';
|
|
3
|
+
import { deepGetProperty } from '../../../../agnostic/objects/deep-get-property/index.js';
|
|
3
4
|
/**
|
|
4
5
|
* Retrieves metadata for a file on an SFTP server.
|
|
5
6
|
*
|
|
6
|
-
* @param
|
|
7
|
-
* @param
|
|
8
|
-
* @returns
|
|
7
|
+
* @param sftp – ssh2-sftp-client.
|
|
8
|
+
* @param path – Remote file path.
|
|
9
|
+
* @returns
|
|
9
10
|
*/
|
|
10
11
|
export async function stat(sftp, path) {
|
|
11
12
|
try {
|
|
@@ -20,9 +21,9 @@ export async function stat(sftp, path) {
|
|
|
20
21
|
});
|
|
21
22
|
}
|
|
22
23
|
catch (err) {
|
|
23
|
-
|
|
24
|
+
const code = deepGetProperty(err, 'code');
|
|
25
|
+
if (code === 2 || code === 'ENOENT')
|
|
24
26
|
return Outcome.makeFailure(`File not found: ${path}`);
|
|
25
|
-
}
|
|
26
27
|
return Outcome.makeFailure(unknownToString(err));
|
|
27
28
|
}
|
|
28
29
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Readable } from 'node:stream';
|
|
2
2
|
import type Client from 'ssh2-sftp-client';
|
|
3
|
-
import {
|
|
3
|
+
import type { TransferOptions } from 'ssh2-sftp-client';
|
|
4
4
|
import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
5
5
|
export type UploadOptions = TransferOptions & {
|
|
6
6
|
ensureDir?: boolean;
|
|
@@ -14,11 +14,11 @@ export type UploadOptions = TransferOptions & {
|
|
|
14
14
|
* If the `ensureDir` option is true, it ensures that the target directory exists before uploading.
|
|
15
15
|
* If the `overwrite` option is false and a file already exists at the target path, the upload is aborted.
|
|
16
16
|
*
|
|
17
|
-
* @param
|
|
18
|
-
* @param
|
|
19
|
-
* @param
|
|
20
|
-
* @param
|
|
21
|
-
* @returns
|
|
17
|
+
* @param sftp - The ssh2-sftp-client instance used to interact with the SFTP server.
|
|
18
|
+
* @param targetPath - The target path where the file will be stored on the SFTP server.
|
|
19
|
+
* @param fileStream - The file content to be uploaded.
|
|
20
|
+
* @param [options] - Optional settings for configuring the upload process.
|
|
21
|
+
* @returns A promise that resolves to an Outcome.Either.
|
|
22
22
|
* - On success: Outcome.makeSuccess(true) indicating the upload was successful.
|
|
23
23
|
* - On failure: Outcome.makeFailure(errStr) with an error message if the upload fails.
|
|
24
24
|
*/
|
|
@@ -8,11 +8,11 @@ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
|
8
8
|
* If the `ensureDir` option is true, it ensures that the target directory exists before uploading.
|
|
9
9
|
* If the `overwrite` option is false and a file already exists at the target path, the upload is aborted.
|
|
10
10
|
*
|
|
11
|
-
* @param
|
|
12
|
-
* @param
|
|
13
|
-
* @param
|
|
14
|
-
* @param
|
|
15
|
-
* @returns
|
|
11
|
+
* @param sftp - The ssh2-sftp-client instance used to interact with the SFTP server.
|
|
12
|
+
* @param targetPath - The target path where the file will be stored on the SFTP server.
|
|
13
|
+
* @param fileStream - The file content to be uploaded.
|
|
14
|
+
* @param [options] - Optional settings for configuring the upload process.
|
|
15
|
+
* @returns A promise that resolves to an Outcome.Either.
|
|
16
16
|
* - On success: Outcome.makeSuccess(true) indicating the upload was successful.
|
|
17
17
|
* - On failure: Outcome.makeFailure(errStr) with an error message if the upload fails.
|
|
18
18
|
*/
|