@design-edito/tools 0.4.22 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agnostic/arrays/find-duplicates/index.d.ts +1 -1
- package/agnostic/arrays/find-duplicates/index.js +3 -2
- 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 +1 -1
- package/agnostic/colors/index.js +1 -1
- 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 +1 -1
- package/agnostic/css/index.js +1 -1
- 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 +11 -11
- package/agnostic/html/hyper-json/smart-tags/coalesced/index.js +11 -11
- 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 +1 -1
- package/agnostic/html/hyper-json/smart-tags/isolated/index.js +1 -1
- 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 +1 -1
- package/agnostic/html/index.js +1 -1
- 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/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 +1 -1
- package/agnostic/numbers/index.js +1 -1
- 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 +1 -1
- package/agnostic/objects/index.js +1 -1
- 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/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/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 +1 -1
- package/agnostic/strings/index.js +1 -1
- 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 +2 -7
- package/components/Button/index.js +2 -2
- 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.d.ts +16 -34
- package/components/Iframe/index.js +70 -27
- package/components/Image/index.js +2 -0
- package/components/Input/index.controlled.d.ts +42 -0
- package/components/Input/index.controlled.js +54 -0
- package/components/Input/index.d.ts +21 -17
- package/components/Input/index.js +27 -18
- 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.d.ts +43 -0
- package/components/Select/index.controlled.js +54 -0
- package/components/Select/index.d.ts +22 -18
- package/components/Select/index.js +27 -18
- 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.d.ts +50 -0
- package/components/Textarea/index.controlled.js +75 -0
- package/components/Textarea/index.d.ts +22 -17
- package/components/Textarea/index.js +27 -18
- 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 +1 -1
- package/components/index.js +1 -1
- 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/index.d.ts +1 -1
- package/node/@aws-s3/storage/directory/index.js +1 -1
- 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/index.d.ts +1 -1
- package/node/@aws-s3/storage/file/index.js +1 -1
- 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 +1 -1
- package/node/@google-cloud/storage/directory/index.js +1 -1
- 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 +1 -1
- package/node/@google-cloud/storage/file/index.js +1 -1
- 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 +1 -1
- package/node/cloud-storage/operations/index.js +1 -1
- 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/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/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/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/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 +1 -1
- package/node/images/transform/operations/index.js +1 -1
- 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 +1 -1
- package/node/index.js +1 -1
- 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/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/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 +40 -39
|
@@ -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 FTP server, streaming the
|
|
6
6
|
* data instead of buffering it in memory.
|
|
7
7
|
*
|
|
8
|
-
* @param
|
|
9
|
-
* @param
|
|
10
|
-
* @param
|
|
11
|
-
* @param
|
|
12
|
-
* @returns
|
|
8
|
+
* @param ftpClient - The basic‑ftp 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
1
|
import { type Readable } from 'node:stream';
|
|
2
|
-
import {
|
|
2
|
+
import type { Client } from 'basic-ftp';
|
|
3
3
|
import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
4
4
|
export type DownloadOptions = {
|
|
5
5
|
startAt?: number;
|
|
@@ -11,11 +11,11 @@ export type DownloadOptions = {
|
|
|
11
11
|
* returning the file content as a Readable stream. The download process can be customized
|
|
12
12
|
* using optional download options.
|
|
13
13
|
*
|
|
14
|
-
* @param
|
|
15
|
-
* @param
|
|
16
|
-
* @param
|
|
17
|
-
* @param
|
|
18
|
-
* @returns
|
|
14
|
+
* @param ftpClient - The basic-ftp client instance used to interact with the FTP server.
|
|
15
|
+
* @param sourcePath - The path of the file to be downloaded from the FTP server.
|
|
16
|
+
* @param [options] - Optional settings for configuring the download process.
|
|
17
|
+
* @param [options.startAt] - The byte offset at which to start downloading the file.
|
|
18
|
+
* @returns A promise that resolves to an Outcome.Either.
|
|
19
19
|
* - On success: Outcome.makeSuccess(stream) containing the downloaded file's content as a Readable stream.
|
|
20
20
|
* - On failure: Outcome.makeFailure(errStr) with an error message if the download fails.
|
|
21
21
|
*/
|
|
@@ -8,11 +8,11 @@ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
|
8
8
|
* returning the file content as a Readable stream. The download process can be customized
|
|
9
9
|
* using optional download options.
|
|
10
10
|
*
|
|
11
|
-
* @param
|
|
12
|
-
* @param
|
|
13
|
-
* @param
|
|
14
|
-
* @param
|
|
15
|
-
* @returns
|
|
11
|
+
* @param ftpClient - The basic-ftp client instance used to interact with the FTP server.
|
|
12
|
+
* @param sourcePath - The path of the file to be downloaded from the FTP server.
|
|
13
|
+
* @param [options] - Optional settings for configuring the download process.
|
|
14
|
+
* @param [options.startAt] - The byte offset at which to start downloading the file.
|
|
15
|
+
* @returns A promise that resolves to an Outcome.Either.
|
|
16
16
|
* - On success: Outcome.makeSuccess(stream) containing the downloaded file's content as a Readable stream.
|
|
17
17
|
* - On failure: Outcome.makeFailure(errStr) with an error message if the download fails.
|
|
18
18
|
*/
|
|
@@ -12,9 +12,9 @@ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
|
12
12
|
* `FileType.SymbolicLink`, mirroring the SFTP behaviour where `'-'` and `'l'`
|
|
13
13
|
* are considered files.
|
|
14
14
|
*
|
|
15
|
-
* @param
|
|
16
|
-
* @param
|
|
17
|
-
* @returns
|
|
15
|
+
* @param ftpClient - The basic‑ftp client instance.
|
|
16
|
+
* @param sourcePath - The full path to check on the FTP server.
|
|
17
|
+
* @returns
|
|
18
18
|
* - Success: `Outcome.makeSuccess(true | false)` – true only if a file exists.
|
|
19
19
|
* - Failure: `Outcome.makeFailure(errStr)` if an error occurs.
|
|
20
20
|
*/
|
|
@@ -13,9 +13,9 @@ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
|
13
13
|
* `FileType.SymbolicLink`, mirroring the SFTP behaviour where `'-'` and `'l'`
|
|
14
14
|
* are considered files.
|
|
15
15
|
*
|
|
16
|
-
* @param
|
|
17
|
-
* @param
|
|
18
|
-
* @returns
|
|
16
|
+
* @param ftpClient - The basic‑ftp client instance.
|
|
17
|
+
* @param sourcePath - The full path to check on the FTP server.
|
|
18
|
+
* @returns
|
|
19
19
|
* - Success: `Outcome.makeSuccess(true | false)` – true only if a file exists.
|
|
20
20
|
* - Failure: `Outcome.makeFailure(errStr)` if an error occurs.
|
|
21
21
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Client } from 'basic-ftp';
|
|
2
2
|
import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
3
3
|
export type MoveOptions = {
|
|
4
4
|
/**
|
|
@@ -25,13 +25,13 @@ export type MoveOptions = {
|
|
|
25
25
|
* 2. **overwrite** – If disabled (default) the function first checks whether
|
|
26
26
|
* an object 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 ftpClient - The basic‑ftp 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
|
*/
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { unknownToString } from '../../../../agnostic/errors/unknown-to-string/index.js';
|
|
2
2
|
import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
3
|
+
import { deepGetProperty } from '../../../../agnostic/objects/deep-get-property/index.js';
|
|
3
4
|
/**
|
|
4
5
|
* Moves (renames) a file on an FTP server.
|
|
5
6
|
*
|
|
@@ -11,13 +12,13 @@ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
|
11
12
|
* 2. **overwrite** – If disabled (default) the function first checks whether
|
|
12
13
|
* an object already exists at `targetPath`; if so, it aborts.
|
|
13
14
|
*
|
|
14
|
-
* @param
|
|
15
|
-
* @param
|
|
16
|
-
* @param
|
|
17
|
-
* @param
|
|
18
|
-
* @param
|
|
19
|
-
* @param
|
|
20
|
-
* @returns
|
|
15
|
+
* @param ftpClient - The basic‑ftp client instance.
|
|
16
|
+
* @param sourcePath - The full path of the source file.
|
|
17
|
+
* @param targetPath - The full destination path.
|
|
18
|
+
* @param [options] - Optional move configuration.
|
|
19
|
+
* @param [options.ensureDir=true] - Whether to create missing parent directories.
|
|
20
|
+
* @param [options.overwrite=false] - Whether to overwrite an existing destination.
|
|
21
|
+
* @returns
|
|
21
22
|
* - On success: `Outcome.makeSuccess(true)`.
|
|
22
23
|
* - On failure: `Outcome.makeFailure(errStr)`.
|
|
23
24
|
*/
|
|
@@ -34,9 +35,10 @@ export async function move(ftpClient, sourcePath, targetPath, options) {
|
|
|
34
35
|
return Outcome.makeFailure(`File already exists at ${targetPath}.`);
|
|
35
36
|
}
|
|
36
37
|
catch (err) {
|
|
37
|
-
|
|
38
|
+
const code = deepGetProperty(err, 'code');
|
|
39
|
+
// 550 = "not found"; any other error -> propagate
|
|
40
|
+
if (code !== 550)
|
|
38
41
|
return Outcome.makeFailure(unknownToString(err));
|
|
39
|
-
}
|
|
40
42
|
// 550 means destination does not exist – proceed
|
|
41
43
|
}
|
|
42
44
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Client } from 'basic-ftp';
|
|
2
2
|
import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
3
3
|
export type RemoveOptions = {
|
|
4
4
|
ignoreMissing?: boolean;
|
|
@@ -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 ftpClient - The basic-ftp client instance used to interact with the FTP server.
|
|
14
|
+
* @param targetPath - The path of the file to delete on the FTP 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 ftpClient - The basic-ftp client instance used to interact with the FTP server.
|
|
11
|
+
* @param targetPath - The path of the file to delete on the FTP 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
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Client as FtpClient, FileInfo } from 'basic-ftp';
|
|
2
2
|
import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
3
3
|
export interface Stat {
|
|
4
4
|
size?: number;
|
|
@@ -10,8 +10,8 @@ export interface Stat {
|
|
|
10
10
|
* Retrieves metadata for a single file on an FTP server by listing its parent
|
|
11
11
|
* directory and matching the entry.
|
|
12
12
|
*
|
|
13
|
-
* @param
|
|
14
|
-
* @param
|
|
15
|
-
* @returns
|
|
13
|
+
* @param ftp – basic‑ftp client.
|
|
14
|
+
* @param path – Remote file path.
|
|
15
|
+
* @returns
|
|
16
16
|
*/
|
|
17
17
|
export declare function stat(ftp: FtpClient, path: string): Promise<Outcome.Either<Stat, string>>;
|
|
@@ -4,9 +4,9 @@ import { unknownToString } from '../../../../agnostic/errors/unknown-to-string/i
|
|
|
4
4
|
* Retrieves metadata for a single file on an FTP server by listing its parent
|
|
5
5
|
* directory and matching the entry.
|
|
6
6
|
*
|
|
7
|
-
* @param
|
|
8
|
-
* @param
|
|
9
|
-
* @returns
|
|
7
|
+
* @param ftp – basic‑ftp client.
|
|
8
|
+
* @param path – Remote file path.
|
|
9
|
+
* @returns
|
|
10
10
|
*/
|
|
11
11
|
export async function stat(ftp, path) {
|
|
12
12
|
try {
|
|
@@ -21,7 +21,7 @@ export async function stat(ftp, path) {
|
|
|
21
21
|
return Outcome.makeSuccess({
|
|
22
22
|
size: entry.size,
|
|
23
23
|
modifiedAt: entry.modifiedAt ?? undefined,
|
|
24
|
-
permissions: entry.rawModifiedAt
|
|
24
|
+
permissions: entry.rawModifiedAt,
|
|
25
25
|
raw: entry
|
|
26
26
|
});
|
|
27
27
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import type { Readable } from 'node:stream';
|
|
2
|
+
import type { Client, UploadOptions as BasicFtpUploadOptions } from 'basic-ftp';
|
|
3
3
|
import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
4
4
|
export type UploadOptions = BasicFtpUploadOptions & {
|
|
5
5
|
ensureDir?: boolean;
|
|
@@ -13,11 +13,11 @@ export type UploadOptions = BasicFtpUploadOptions & {
|
|
|
13
13
|
* If the `ensureDir` option is true, it ensures that the target directory exists before uploading.
|
|
14
14
|
* If the `overwrite` option is false, it prevents overwriting an existing file.
|
|
15
15
|
*
|
|
16
|
-
* @param
|
|
17
|
-
* @param
|
|
18
|
-
* @param
|
|
19
|
-
* @param
|
|
20
|
-
* @returns
|
|
16
|
+
* @param ftpClient - The basic-ftp client instance used to interact with the FTP server.
|
|
17
|
+
* @param targetPath - The target path where the file will be stored on the FTP server.
|
|
18
|
+
* @param fileStream - The file content to be uploaded.
|
|
19
|
+
* @param [options] - Optional settings for configuring the upload process.
|
|
20
|
+
* @returns A promise that resolves to an Outcome.Either.
|
|
21
21
|
* - On success: Outcome.makeSuccess(true) indicating the upload was successful.
|
|
22
22
|
* - On failure: Outcome.makeFailure(errStr) with an error message if the upload fails.
|
|
23
23
|
*/
|
|
@@ -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, it prevents overwriting an existing file.
|
|
10
10
|
*
|
|
11
|
-
* @param
|
|
12
|
-
* @param
|
|
13
|
-
* @param
|
|
14
|
-
* @param
|
|
15
|
-
* @returns
|
|
11
|
+
* @param ftpClient - The basic-ftp client instance used to interact with the FTP server.
|
|
12
|
+
* @param targetPath - The target path where the file will be stored on the FTP 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
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { Sharp } from 'sharp';
|
|
2
2
|
import type { CreateOptions } from '../types.js';
|
|
3
3
|
/**
|
|
4
4
|
* Creates a new image using Sharp with the specified options.
|
|
@@ -6,4 +6,4 @@ import type { CreateOptions } from '../types.js';
|
|
|
6
6
|
* @param options - Image creation options. See `CreateOptions` for details.
|
|
7
7
|
* @returns A Sharp instance ready for further image operations.
|
|
8
8
|
*/
|
|
9
|
-
export declare function create(options: CreateOptions):
|
|
9
|
+
export declare function create(options: CreateOptions): Sharp;
|
|
@@ -6,6 +6,6 @@ import { toCreateOptions } from '../utils/index.js';
|
|
|
6
6
|
* @param options - Image creation options. See `CreateOptions` for details.
|
|
7
7
|
* @returns A Sharp instance ready for further image operations.
|
|
8
8
|
*/
|
|
9
|
-
export
|
|
9
|
+
export function create(options) {
|
|
10
10
|
return sharp({ create: toCreateOptions(options) });
|
|
11
11
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { ResizeOptions, JpegOptions, PngOptions, WebpOptions, AvifOptions, TiffOptions, HeifOptions } from 'sharp';
|
|
2
2
|
import * as Outcome from '../../../agnostic/misc/outcome/index.js';
|
|
3
3
|
import type { FormatCommonOptions, FormatJpgOptions, FormatPngOptions, FormatWebpOptions, FormatAvifOptions, FormatTiffOptions, FormatHeifOptions, FormatOptions, ImageLike } from '../types.js';
|
|
4
4
|
/** Type guard to check if options match FormatCommonOptions. */
|
|
@@ -18,19 +18,19 @@ export declare const isFormatHeifOptions: (options: unknown) => options is Forma
|
|
|
18
18
|
/** Type guard to check if options match FormatOptions. */
|
|
19
19
|
export declare const isFormatOptions: (options: unknown) => options is FormatOptions;
|
|
20
20
|
/** Converts FormatCommonOptions to Sharp resize options. */
|
|
21
|
-
export declare const toSharpResizeOptions: (options: FormatCommonOptions) =>
|
|
21
|
+
export declare const toSharpResizeOptions: (options: FormatCommonOptions) => ResizeOptions;
|
|
22
22
|
/** Converts FormatJpgOptions to Sharp JPEG options. */
|
|
23
|
-
export declare const toSharpJpegOptions: (options: FormatJpgOptions) =>
|
|
23
|
+
export declare const toSharpJpegOptions: (options: FormatJpgOptions) => JpegOptions;
|
|
24
24
|
/** Converts FormatPngOptions to Sharp PNG options. */
|
|
25
|
-
export declare const toSharpPngOptions: (options: FormatPngOptions) =>
|
|
25
|
+
export declare const toSharpPngOptions: (options: FormatPngOptions) => PngOptions;
|
|
26
26
|
/** Converts FormatWebpOptions to Sharp WebP options. */
|
|
27
|
-
export declare const toSharpWebpOptions: (options: FormatWebpOptions) =>
|
|
27
|
+
export declare const toSharpWebpOptions: (options: FormatWebpOptions) => WebpOptions;
|
|
28
28
|
/** Converts FormatAvifOptions to Sharp AVIF options. */
|
|
29
|
-
export declare const toSharpAvifOptions: (options: FormatAvifOptions) =>
|
|
29
|
+
export declare const toSharpAvifOptions: (options: FormatAvifOptions) => AvifOptions;
|
|
30
30
|
/** Converts FormatTiffOptions to Sharp TIFF options. */
|
|
31
|
-
export declare const toSharpTiffOptions: (options: FormatTiffOptions) =>
|
|
31
|
+
export declare const toSharpTiffOptions: (options: FormatTiffOptions) => TiffOptions;
|
|
32
32
|
/** Converts FormatHeifOptions to Sharp HEIF options. */
|
|
33
|
-
export declare const toSharpHeifOptions: (options: FormatHeifOptions) =>
|
|
33
|
+
export declare const toSharpHeifOptions: (options: FormatHeifOptions) => HeifOptions;
|
|
34
34
|
/**
|
|
35
35
|
* Formats an image with the specified options.
|
|
36
36
|
*
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { Metadata } from 'sharp';
|
|
2
2
|
import type { ImageLike } from '../types.js';
|
|
3
3
|
/**
|
|
4
4
|
* Retrieves metadata from an image.
|
|
@@ -6,4 +6,4 @@ import type { ImageLike } from '../types.js';
|
|
|
6
6
|
* @param imageInput - The image to get metadata from. Can be a Sharp instance, Buffer, CreateOptions, or file path.
|
|
7
7
|
* @returns Image metadata including dimensions, format, color space, and other properties.
|
|
8
8
|
*/
|
|
9
|
-
export declare function metadata(imageInput: ImageLike): Promise<
|
|
9
|
+
export declare function metadata(imageInput: ImageLike): Promise<Metadata>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { Sharp } from 'sharp';
|
|
2
2
|
import * as Outcome from '../../../agnostic/misc/outcome/index.js';
|
|
3
3
|
import { type OperationDescriptor, type TransformLimits, type TransformErr, type ImageLike } from '../types.js';
|
|
4
4
|
/**
|
|
@@ -24,4 +24,4 @@ export declare function isOperationDescriptor(obj: unknown): Outcome.Either<Oper
|
|
|
24
24
|
* - On success: `Outcome.makeSuccess(sharpInstance)` with the transformed Sharp instance.
|
|
25
25
|
* - On failure: `Outcome.makeFailure(error)` with error code and details.
|
|
26
26
|
*/
|
|
27
|
-
export declare function transform(input: ImageLike, operationsSequence: OperationDescriptor[], limits?: TransformLimits): Promise<Outcome.Either<
|
|
27
|
+
export declare function transform(input: ImageLike, operationsSequence: OperationDescriptor[], limits?: TransformLimits): Promise<Outcome.Either<Sharp, TransformErr>>;
|
|
@@ -46,22 +46,28 @@ export function isOperationDescriptor(obj) {
|
|
|
46
46
|
return Outcome.makeFailure('Invalid operation descriptor');
|
|
47
47
|
if (!('name' in obj) || typeof obj.name !== 'string')
|
|
48
48
|
return Outcome.makeFailure('Field named \'name\' in operation descriptor is required and must be a string');
|
|
49
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- not yet proven; verified below via Set.has(...)/object-key lookup, which are safe regardless of this type
|
|
49
50
|
const name = obj.name;
|
|
50
51
|
const validateOperation = (validatorFn) => {
|
|
51
52
|
const result = validatorFn(obj);
|
|
53
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions, @typescript-eslint/no-unsafe-type-assertion
|
|
52
54
|
if (result.success)
|
|
53
55
|
return Outcome.makeSuccess({
|
|
54
|
-
name
|
|
56
|
+
name,
|
|
55
57
|
...result.payload
|
|
56
58
|
});
|
|
57
59
|
return Outcome.makeFailure(result.error);
|
|
58
60
|
};
|
|
59
61
|
const simpleOperations = new Set([OpName.FLIP, OpName.FLOP]);
|
|
62
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- Set.has(...) performs the real runtime membership check regardless of this cast
|
|
60
63
|
if (simpleOperations.has(name))
|
|
61
64
|
return Outcome.makeSuccess({
|
|
65
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- membership was just confirmed by simpleOperations.has(...) above
|
|
62
66
|
name: name
|
|
63
67
|
});
|
|
68
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- the object-key lookup that follows returns undefined for any non-matching name, which is handled below
|
|
64
69
|
const validator = validators[name];
|
|
70
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
65
71
|
if (validator !== undefined)
|
|
66
72
|
return validateOperation(validator);
|
|
67
73
|
return Outcome.makeFailure('Invalid operation descriptor');
|
|
@@ -90,7 +96,9 @@ export async function transform(input, operationsSequence, limits) {
|
|
|
90
96
|
const runWithOpTimeout = async (op) => {
|
|
91
97
|
return limits?.opTimeoutMs === undefined
|
|
92
98
|
? await op()
|
|
93
|
-
: await Promise.race([op(), new Promise(resolve =>
|
|
99
|
+
: await Promise.race([op(), new Promise(resolve => {
|
|
100
|
+
setTimeout(() => resolve(TransformErrCodes.OP_TIMEOUT), limits.opTimeoutMs);
|
|
101
|
+
})]);
|
|
94
102
|
};
|
|
95
103
|
for (const operation of operationsSequence) {
|
|
96
104
|
// Process timeout check
|
|
@@ -103,6 +111,7 @@ export async function transform(input, operationsSequence, limits) {
|
|
|
103
111
|
// Apply transformation
|
|
104
112
|
let result;
|
|
105
113
|
try {
|
|
114
|
+
// eslint-disable-next-line no-loop-func
|
|
106
115
|
result = await runWithOpTimeout(async () => {
|
|
107
116
|
switch (operation.name) {
|
|
108
117
|
case OpName.BLUR: return await blur(sharpInstance, operation);
|
|
@@ -120,6 +129,7 @@ export async function transform(input, operationsSequence, limits) {
|
|
|
120
129
|
case OpName.RESIZE: return await resize(sharpInstance, operation);
|
|
121
130
|
case OpName.ROTATE: return await rotate(sharpInstance, operation);
|
|
122
131
|
case OpName.SATURATE: return await saturate(sharpInstance, operation);
|
|
132
|
+
// eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
|
|
123
133
|
default: return sharpInstance;
|
|
124
134
|
}
|
|
125
135
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { Sharp } from 'sharp';
|
|
2
2
|
import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
|
|
3
3
|
import type { BlurOperationParams } from '../../../types.js';
|
|
4
4
|
export declare function isBlurOperationParams(obj: unknown): Outcome.Either<BlurOperationParams, string>;
|
|
5
|
-
export declare function blur(sharpInstance:
|
|
5
|
+
export declare function blur(sharpInstance: Sharp, params: BlurOperationParams): Promise<Sharp>;
|
|
@@ -7,6 +7,7 @@ export function isBlurOperationParams(obj) {
|
|
|
7
7
|
return Outcome.makeFailure(result.error.message);
|
|
8
8
|
return Outcome.makeSuccess(result.data);
|
|
9
9
|
}
|
|
10
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
10
11
|
export async function blur(sharpInstance, params) {
|
|
11
12
|
return sharpInstance.blur(params.sigma);
|
|
12
13
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { Sharp } from 'sharp';
|
|
2
2
|
import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
|
|
3
3
|
import type { BrightenOperationParams } from '../../../types.js';
|
|
4
4
|
export declare function isBrightenOperationParams(obj: unknown): Outcome.Either<BrightenOperationParams, string>;
|
|
5
|
-
export declare function brighten(sharpInstance:
|
|
5
|
+
export declare function brighten(sharpInstance: Sharp, params: BrightenOperationParams): Promise<Sharp>;
|
|
@@ -7,6 +7,7 @@ export function isBrightenOperationParams(obj) {
|
|
|
7
7
|
return Outcome.makeFailure(result.error.message);
|
|
8
8
|
return Outcome.makeSuccess(result.data);
|
|
9
9
|
}
|
|
10
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
10
11
|
export async function brighten(sharpInstance, params) {
|
|
11
12
|
return sharpInstance.modulate({ brightness: params.factor });
|
|
12
13
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { Sharp } from 'sharp';
|
|
2
2
|
import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
|
|
3
3
|
import type { ExtendOperationParams } from '../../../types.js';
|
|
4
4
|
export declare function isExtendOperationParams(obj: unknown): Outcome.Either<ExtendOperationParams, string>;
|
|
5
|
-
export declare function extend(sharpInstance:
|
|
5
|
+
export declare function extend(sharpInstance: Sharp, params: ExtendOperationParams): Promise<Sharp>;
|
|
@@ -16,6 +16,7 @@ export function isExtendOperationParams(obj) {
|
|
|
16
16
|
return Outcome.makeFailure(result.error.message);
|
|
17
17
|
return Outcome.makeSuccess(result.data);
|
|
18
18
|
}
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
19
20
|
export async function extend(sharpInstance, params) {
|
|
20
21
|
return sharpInstance.extend({
|
|
21
22
|
...params,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { Sharp } from 'sharp';
|
|
2
2
|
import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
|
|
3
3
|
import type { ExtractOperationParams } from '../../../types.js';
|
|
4
4
|
export declare function isExtractOperationParams(obj: unknown): Outcome.Either<ExtractOperationParams, string>;
|
|
5
|
-
export declare function extract(sharpInstance:
|
|
5
|
+
export declare function extract(sharpInstance: Sharp, params: ExtractOperationParams): Promise<Sharp>;
|
|
@@ -12,6 +12,7 @@ export function isExtractOperationParams(obj) {
|
|
|
12
12
|
return Outcome.makeFailure(result.error.message);
|
|
13
13
|
return Outcome.makeSuccess(result.data);
|
|
14
14
|
}
|
|
15
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
15
16
|
export async function extract(sharpInstance, params) {
|
|
16
17
|
return sharpInstance.extract(params);
|
|
17
18
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { Sharp } from 'sharp';
|
|
2
2
|
import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
|
|
3
3
|
import type { FlattenOperationParams } from '../../../types.js';
|
|
4
4
|
export declare function isFlattenOperationParams(obj: unknown): Outcome.Either<FlattenOperationParams, string>;
|
|
5
|
-
export declare function flatten(sharpInstance:
|
|
5
|
+
export declare function flatten(sharpInstance: Sharp, params: FlattenOperationParams): Promise<Sharp>;
|
|
@@ -11,6 +11,7 @@ export function isFlattenOperationParams(obj) {
|
|
|
11
11
|
return Outcome.makeFailure(result.error.message);
|
|
12
12
|
return Outcome.makeSuccess(result.data);
|
|
13
13
|
}
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
14
15
|
export async function flatten(sharpInstance, params) {
|
|
15
16
|
const inputBg = params.background;
|
|
16
17
|
const rgbBackground = inputBg !== undefined
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type
|
|
2
|
-
export declare function flip(sharpInstance:
|
|
1
|
+
import type { Sharp } from 'sharp';
|
|
2
|
+
export declare function flip(sharpInstance: Sharp): Promise<Sharp>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type
|
|
2
|
-
export declare function flop(sharpInstance:
|
|
1
|
+
import type { Sharp } from 'sharp';
|
|
2
|
+
export declare function flop(sharpInstance: Sharp): Promise<Sharp>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { Sharp } from 'sharp';
|
|
2
2
|
import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
|
|
3
3
|
import type { HueOperationParams } from '../../../types.js';
|
|
4
4
|
export declare function isHueOperationParams(obj: unknown): Outcome.Either<HueOperationParams, string>;
|
|
5
|
-
export declare function hue(sharpInstance:
|
|
5
|
+
export declare function hue(sharpInstance: Sharp, params: HueOperationParams): Promise<Sharp>;
|
|
@@ -9,6 +9,7 @@ export function isHueOperationParams(obj) {
|
|
|
9
9
|
return Outcome.makeFailure(result.error.message);
|
|
10
10
|
return Outcome.makeSuccess(result.data);
|
|
11
11
|
}
|
|
12
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
12
13
|
export async function hue(sharpInstance, params) {
|
|
13
14
|
return sharpInstance.modulate({ hue: params.rotateDeg });
|
|
14
15
|
}
|
|
@@ -11,5 +11,5 @@ export * as lighten from './lighten/index.js'
|
|
|
11
11
|
export * as normalize from './normalize/index.js'
|
|
12
12
|
export * as overlay from './overlay/index.js'
|
|
13
13
|
export * as resize from './resize/index.js'
|
|
14
|
-
export * as rotate from './rotate/index.js'
|
|
15
14
|
export * as saturate from './saturate/index.js'
|
|
15
|
+
export * as rotate from './rotate/index.js'
|
|
@@ -11,5 +11,5 @@ export * as lighten from './lighten/index.js'
|
|
|
11
11
|
export * as normalize from './normalize/index.js'
|
|
12
12
|
export * as overlay from './overlay/index.js'
|
|
13
13
|
export * as resize from './resize/index.js'
|
|
14
|
-
export * as rotate from './rotate/index.js'
|
|
15
14
|
export * as saturate from './saturate/index.js'
|
|
15
|
+
export * as rotate from './rotate/index.js'
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { Sharp } from 'sharp';
|
|
2
2
|
import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
|
|
3
3
|
import type { LevelOperationParams } from '../../../types.js';
|
|
4
4
|
export declare function isLevelOperationParams(obj: unknown): Outcome.Either<LevelOperationParams, string>;
|
|
5
|
-
export declare function level(sharpInstance:
|
|
5
|
+
export declare function level(sharpInstance: Sharp, params: LevelOperationParams): Promise<Sharp>;
|
|
@@ -10,6 +10,7 @@ export function isLevelOperationParams(obj) {
|
|
|
10
10
|
return Outcome.makeFailure(result.error.message);
|
|
11
11
|
return Outcome.makeSuccess(result.data);
|
|
12
12
|
}
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
13
14
|
export async function level(sharpInstance, params) {
|
|
14
15
|
return sharpInstance.linear(params.multiplier, params.offset);
|
|
15
16
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { Sharp } from 'sharp';
|
|
2
2
|
import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
|
|
3
3
|
import type { LightenOperationParams } from '../../../types.js';
|
|
4
4
|
export declare function isLightenOperationParams(obj: unknown): Outcome.Either<LightenOperationParams, string>;
|
|
5
|
-
export declare function lighten(sharpInstance:
|
|
5
|
+
export declare function lighten(sharpInstance: Sharp, params: LightenOperationParams): Promise<Sharp>;
|
|
@@ -9,6 +9,7 @@ export function isLightenOperationParams(obj) {
|
|
|
9
9
|
return Outcome.makeFailure(result.error.message);
|
|
10
10
|
return Outcome.makeSuccess(result.data);
|
|
11
11
|
}
|
|
12
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
12
13
|
export async function lighten(sharpInstance, params) {
|
|
13
14
|
return sharpInstance.modulate({ lightness: params.amount });
|
|
14
15
|
}
|