@design-edito/tools 0.4.4 → 0.4.6
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/TODO.md +269 -0
- package/agnostic/arrays/dedupe/index.js +9 -9
- package/agnostic/arrays/dedupe/index.test.js +24 -0
- package/agnostic/arrays/find-duplicates/index.js +34 -24
- package/agnostic/arrays/find-duplicates/index.test.js +31 -0
- package/agnostic/arrays/index.d.ts +1 -1
- package/agnostic/arrays/index.js +1 -1
- package/agnostic/arrays/is-array-of/index.js +28 -26
- package/agnostic/arrays/is-array-of/index.test.js +56 -0
- package/agnostic/arrays/make/index.js +11 -8
- package/agnostic/arrays/make/index.test.js +10 -0
- package/agnostic/arrays/random-pick/index.js +40 -9
- package/agnostic/arrays/random-pick/index.test.js +23 -0
- package/agnostic/arrays/shuffle/index.js +15 -13
- package/agnostic/arrays/shuffle/index.test.js +14 -0
- package/agnostic/booleans/is-falsy/index.js +26 -12
- package/agnostic/booleans/is-falsy/index.test.js +26 -0
- package/agnostic/colors/channels/index.js +145 -19
- package/agnostic/colors/channels/index.test.js +64 -0
- package/agnostic/colors/contrast/index.js +23 -30
- package/agnostic/colors/contrast/index.test.js +21 -0
- package/agnostic/colors/convert/index.js +839 -46
- package/agnostic/colors/convert/index.test.js +98 -0
- package/agnostic/colors/cssColorsMap.js +153 -0
- package/agnostic/colors/distance/index.js +65 -53
- package/agnostic/colors/distance/index.test.js +21 -0
- package/agnostic/colors/grayscale/index.js +96 -137
- package/agnostic/colors/grayscale/index.test.js +34 -0
- package/agnostic/colors/invert/index.js +33 -44
- package/agnostic/colors/invert/index.test.js +31 -0
- package/agnostic/colors/lerp/index.js +74 -88
- package/agnostic/colors/lerp/index.test.js +55 -0
- package/agnostic/colors/luminance/index.js +19 -13
- package/agnostic/colors/luminance/index.test.js +30 -0
- package/agnostic/colors/palette/index.js +80 -87
- package/agnostic/colors/palette/index.test.js +35 -0
- package/agnostic/colors/rotate/index.js +41 -14
- package/agnostic/colors/rotate/index.test.js +45 -0
- package/agnostic/colors/tidy/index.js +80 -12
- package/agnostic/colors/tidy/index.test.js +45 -0
- package/agnostic/colors/typechecks/index.js +196 -25
- package/agnostic/colors/typechecks/index.test.js +113 -0
- package/agnostic/colors/types.js +1 -0
- package/agnostic/css/bem/index.js +135 -160
- package/agnostic/css/clss/index.js +66 -7
- package/agnostic/css/clss/index.test.js +60 -0
- package/agnostic/css/generate-nice-color/index.js +26 -73
- package/agnostic/css/generate-nice-color/index.test.js +8 -0
- package/agnostic/css/index.d.ts +1 -1
- package/agnostic/css/index.js +1 -1
- package/agnostic/css/is-valid-css-class-name/index.js +15 -9
- package/agnostic/css/is-valid-css-class-name/index.test.js +36 -0
- package/agnostic/css/scale/index.js +37 -37
- package/agnostic/css/scale/index.test.js +71 -0
- package/agnostic/css/styles-set/index.js +151 -169
- package/agnostic/errors/register/index.js +45 -51
- package/agnostic/errors/unknown-to-string/index.js +18 -7
- package/agnostic/errors/unknown-to-string/index.test.js +35 -0
- package/agnostic/html/get-node-ancestors/index.js +31 -8
- package/agnostic/html/get-node-ancestors/index.test.js +58 -0
- package/agnostic/html/get-position-inside-parent/index.js +13 -10
- package/agnostic/html/get-position-inside-parent/index.test.js +56 -0
- package/agnostic/html/hyper-json/cast/index.js +137 -24
- package/agnostic/html/hyper-json/index.js +23 -50
- package/agnostic/html/hyper-json/method/index.js +10 -7
- package/agnostic/html/hyper-json/serialize/index.js +91 -11
- package/agnostic/html/hyper-json/smart-tags/coalesced/add/index.js +16 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/addclass/index.js +30 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/and/index.js +15 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/append/index.js +36 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/at/index.js +47 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/call/index.js +50 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/clone/index.js +11 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/deleteproperties/index.js +49 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/equals/index.js +24 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/getattribute/index.js +28 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/getproperties/index.js +21 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/getproperty/index.js +73 -26
- package/agnostic/html/hyper-json/smart-tags/coalesced/hjparse/index.js +24 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/hjstringify/index.js +93 -28
- package/agnostic/html/hyper-json/smart-tags/coalesced/if/index.js +22 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/index.d.ts +14 -14
- package/agnostic/html/hyper-json/smart-tags/coalesced/index.js +14 -14
- package/agnostic/html/hyper-json/smart-tags/coalesced/initialize/index.js +39 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/join/index.js +18 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/length/index.js +23 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/map/index.js +33 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/negate/index.js +11 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/notrailing/index.js +35 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/or/index.js +15 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/pickrandom/index.js +19 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/populate/index.js +61 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/print/index.js +25 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/push/index.js +11 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/pusheach/index.js +28 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/recordtoarray/index.js +11 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/removeattribute/index.js +58 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/removeclass/index.js +30 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/renameproperty/index.js +34 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/replace/index.js +56 -26
- package/agnostic/html/hyper-json/smart-tags/coalesced/select/index.js +34 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/set/index.js +31 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/setattribute/index.js +58 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/setproperty/index.js +237 -26
- package/agnostic/html/hyper-json/smart-tags/coalesced/sorton/index.js +93 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/split/index.js +22 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/spread/index.js +24 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/toarray/index.js +12 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/toboolean/index.js +12 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/toelement/index.js +19 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/toggleclass/index.js +30 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/tonodelist/index.js +12 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/tonull/index.js +11 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/tonumber/index.js +12 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/torecord/index.js +12 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/toref/index.js +12 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/tostring/index.js +12 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/totext/index.js +12 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/transformselected/index.js +86 -24
- package/agnostic/html/hyper-json/smart-tags/coalesced/trim/index.js +16 -24
- package/agnostic/html/hyper-json/smart-tags/index.js +31 -10
- package/agnostic/html/hyper-json/smart-tags/isolated/any/index.js +14 -11
- package/agnostic/html/hyper-json/smart-tags/isolated/array/index.js +14 -11
- package/agnostic/html/hyper-json/smart-tags/isolated/boolean/index.js +13 -24
- package/agnostic/html/hyper-json/smart-tags/isolated/element/index.js +26 -24
- package/agnostic/html/hyper-json/smart-tags/isolated/get/index.js +20 -24
- package/agnostic/html/hyper-json/smart-tags/isolated/guess/index.js +59 -24
- 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.js +20 -24
- package/agnostic/html/hyper-json/smart-tags/isolated/null/index.js +10 -11
- package/agnostic/html/hyper-json/smart-tags/isolated/number/index.js +18 -24
- package/agnostic/html/hyper-json/smart-tags/isolated/record/index.js +14 -24
- package/agnostic/html/hyper-json/smart-tags/isolated/ref/index.js +45 -25
- package/agnostic/html/hyper-json/smart-tags/isolated/string/index.js +18 -24
- package/agnostic/html/hyper-json/smart-tags/isolated/text/index.js +20 -24
- package/agnostic/html/hyper-json/transformer/index.js +113 -9
- package/agnostic/html/hyper-json/tree/index.js +423 -24
- package/agnostic/html/hyper-json/types/index.js +28 -7
- package/agnostic/html/hyper-json/utils/index.js +516 -24
- package/agnostic/html/index.d.ts +2 -2
- package/agnostic/html/index.js +2 -2
- package/agnostic/html/insert-node/index.js +28 -7
- package/agnostic/html/insert-node/index.test.js +73 -0
- package/agnostic/html/placeholders/index.js +26 -31
- package/agnostic/html/replace-in-element/index.js +31 -25
- package/agnostic/html/replace-in-element/index.test.js +80 -0
- package/agnostic/html/selector-to-element/index.js +53 -33
- package/agnostic/html/selector-to-element/index.test.js +69 -0
- package/agnostic/html/string-to-nodes/index.js +24 -19
- package/agnostic/html/string-to-nodes/index.test.js +54 -0
- package/agnostic/index.d.ts +1 -1
- package/agnostic/index.js +1 -1
- package/agnostic/misc/assert/index.js +60 -58
- package/agnostic/misc/cast/index.js +132 -23
- package/agnostic/misc/cast/index.test.js +134 -0
- package/agnostic/misc/connection/index.js +55 -30
- package/agnostic/misc/connection/index.test.js +143 -0
- package/agnostic/misc/crawler/index.js +68 -44
- package/agnostic/misc/crawler/index.test.js +56 -0
- package/agnostic/misc/crossenv/detect-runtime/index.js +41 -16
- package/agnostic/misc/crossenv/detect-runtime/index.test.js +24 -0
- package/agnostic/misc/crossenv/types.js +21 -7
- package/agnostic/misc/crossenv/window/index.js +49 -13
- package/agnostic/misc/crossenv/window/index.test.js +24 -0
- package/agnostic/misc/data-size/index.js +182 -296
- package/agnostic/misc/data-size/index.test.js +100 -0
- package/agnostic/misc/data-size/types.js +1 -0
- package/agnostic/misc/index.d.ts +1 -1
- package/agnostic/misc/index.js +1 -1
- package/agnostic/misc/is-constructor-function/index.js +13 -7
- package/agnostic/misc/is-constructor-function/index.test.js +36 -0
- package/agnostic/misc/is-nullish/index.js +26 -11
- package/agnostic/misc/is-nullish/index.test.js +44 -0
- package/agnostic/misc/logs/logger/index.js +115 -142
- package/agnostic/misc/logs/make-text-block/index.js +14 -7
- package/agnostic/misc/logs/styles/index.js +30 -7
- package/agnostic/misc/lorem-ipsum/index.js +51 -186
- package/agnostic/misc/lorem-ipsum/index.test.js +49 -0
- package/agnostic/misc/normalize-extension/index.js +99 -90
- package/agnostic/misc/normalize-extension/index.test.js +40 -0
- package/agnostic/misc/outcome/index.js +21 -11
- package/agnostic/misc/outcome/index.test.js +40 -0
- package/agnostic/numbers/absolute-modulo/index.js +10 -7
- package/agnostic/numbers/absolute-modulo/index.test.js +23 -0
- package/agnostic/numbers/approximate-rational/index.js +86 -71
- package/agnostic/numbers/approximate-rational/index.test.js +90 -0
- package/agnostic/numbers/clamp/index.js +13 -7
- package/agnostic/numbers/clamp/index.test.js +24 -0
- package/agnostic/numbers/geometric-progressions/index.js +26 -7
- package/agnostic/numbers/geometric-progressions/index.test.js +45 -0
- package/agnostic/numbers/index.d.ts +1 -1
- package/agnostic/numbers/index.js +1 -1
- package/agnostic/numbers/interpolate/index.js +25 -12
- package/agnostic/numbers/interpolate/index.test.js +40 -0
- package/agnostic/numbers/round/index.js +33 -11
- package/agnostic/numbers/round/index.test.js +56 -0
- package/agnostic/objects/deep-get-property/index.js +30 -26
- package/agnostic/objects/deep-get-property/index.test.js +59 -0
- package/agnostic/objects/enums/is-in-enum/index.js +18 -7
- package/agnostic/objects/enums/is-in-enum/index.test.js +100 -0
- package/agnostic/objects/flatten-getters/index.js +15 -16
- package/agnostic/objects/flatten-getters/index.test.js +78 -0
- package/agnostic/objects/index.d.ts +3 -3
- package/agnostic/objects/index.js +3 -3
- package/agnostic/objects/is-object/index.js +18 -9
- package/agnostic/objects/is-object/index.test.js +60 -0
- package/agnostic/objects/is-record/index.js +13 -7
- package/agnostic/objects/is-record/index.test.js +48 -0
- package/agnostic/objects/record-format/index.js +18 -14
- package/agnostic/objects/record-format/index.test.js +92 -0
- package/agnostic/objects/record-map/index.js +18 -7
- package/agnostic/objects/record-map/index.test.js +56 -0
- package/agnostic/objects/sort-keys/index.js +15 -13
- package/agnostic/objects/sort-keys/index.test.js +37 -0
- package/agnostic/objects/validation/index.js +21 -10
- package/agnostic/objects/validation/index.test.js +72 -0
- package/agnostic/optim/index.d.ts +1 -1
- package/agnostic/optim/index.js +1 -1
- package/agnostic/optim/memoize/index.js +24 -18
- package/agnostic/optim/memoize/index.test.js +30 -0
- package/agnostic/optim/throttle-debounce/index.js +120 -104
- package/agnostic/optim/throttle-debounce/index.test.js +44 -0
- package/agnostic/optim/throttle-debounce/types.js +1 -0
- package/agnostic/random/hex-char/index.js +9 -9
- package/agnostic/random/hex-char/index.test.js +20 -0
- package/agnostic/random/index.d.ts +1 -1
- package/agnostic/random/index.js +1 -1
- package/agnostic/random/random/index.js +19 -9
- package/agnostic/random/random/index.test.js +73 -0
- package/agnostic/random/uuid/index.js +31 -12
- package/agnostic/random/uuid/index.test.js +45 -0
- package/agnostic/regexps/index.js +126 -86
- package/agnostic/regexps/index.test.js +108 -0
- package/agnostic/sanitization/file-name/index.js +25 -7
- package/agnostic/sanitization/file-name/index.test.js +23 -0
- package/agnostic/sanitization/html/index.js +172 -116
- package/agnostic/sanitization/path/index.js +23 -13
- package/agnostic/sanitization/path/index.test.js +18 -0
- package/agnostic/sanitization/types.js +1 -0
- package/agnostic/sanitization/user-input/index.js +36 -26
- package/agnostic/sanitization/user-input/index.test.js +31 -0
- package/agnostic/strings/char-codes/index.js +123 -57
- package/agnostic/strings/matches/index.js +38 -11
- package/agnostic/strings/normalize-indent/index.js +34 -18
- package/agnostic/strings/parse-table/index.js +153 -84
- package/agnostic/strings/replace-all/index.js +36 -17
- package/agnostic/strings/to-alphanum/index.js +23 -10
- package/agnostic/strings/trim/index.js +24 -9
- package/agnostic/time/dates/format-date/index.js +140 -74
- package/agnostic/time/duration/index.js +106 -142
- package/agnostic/time/timeout/index.js +24 -18
- package/agnostic/time/transitions/index.js +200 -156
- package/agnostic/time/wait/index.js +11 -7
- package/agnostic/typescript/types.js +1 -0
- package/components/BeforeAfter/index.controlled.js +95 -0
- package/components/BeforeAfter/index.js +54 -152
- package/components/BeforeAfter/utils.js +9 -0
- package/components/Disclaimer/index.js +50 -9
- package/components/Drawer/index.js +82 -88
- package/components/EventListener/index.js +29 -47
- package/components/Gallery/index.js +146 -190
- package/components/Gallery/utils.js +12 -0
- package/components/Image/index.js +67 -106
- package/components/IntersectionObserver/index.js +62 -9
- package/components/Overlayer/index.js +59 -66
- package/components/Paginator/index.js +125 -9
- package/components/ResizeObserver/index.js +68 -9
- package/components/ResizeObserver/style.module.css +0 -0
- package/components/Scrllgngn/index.js +176 -183
- package/components/ScrollListener/index.js +97 -171
- package/components/ScrollListener/utils.js +51 -0
- package/components/Sequencer/index.controlled.js +67 -0
- package/components/Sequencer/index.js +105 -160
- package/components/ShadowRoot/index.js +42 -63
- package/components/Subtitles/index.js +107 -13
- package/components/Subtitles/types.js +1 -0
- package/components/Subtitles/utils.js +102 -0
- package/components/Theatre/index.js +89 -9
- package/components/UIModule/index.js +156 -146
- package/components/Video/index.d.ts +10 -0
- package/components/Video/index.js +292 -503
- package/components/Video/utils.js +137 -0
- package/components/_WIP_AudioQuote/index.js +1 -0
- package/components/_WIP_Icon/index.js +1 -0
- package/components/index.d.ts +2 -2
- package/components/index.js +2 -2
- package/components/public-classnames.js +18 -0
- package/components/utils/index.js +12 -7
- package/components/utils/types.js +1 -0
- package/index.d.ts +1 -2
- package/index.js +1 -2
- package/node/@aws-s3/index.test.js +6 -0
- package/node/@aws-s3/storage/directory/copy-dir/index.js +68 -9
- 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.js +33 -9
- package/node/@aws-s3/storage/directory/move-dir/index.js +69 -9
- package/node/@aws-s3/storage/directory/remove-dir/index.js +59 -9
- package/node/@aws-s3/storage/file/copy/index.js +43 -9
- package/node/@aws-s3/storage/file/download/index.js +30 -9
- package/node/@aws-s3/storage/file/exists/index.js +37 -9
- 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.js +60 -9
- package/node/@aws-s3/storage/file/remove/index.js +38 -9
- package/node/@aws-s3/storage/file/stat/index.js +34 -9
- package/node/@aws-s3/storage/file/upload/index.js +55 -9
- package/node/@design-edito/index.js +1 -0
- package/node/@express/@multer/index.js +61 -45
- package/node/@google-cloud/storage/bucket/get-metadata/index.js +25 -21
- package/node/@google-cloud/storage/directory/copy-dir/index.js +38 -9
- package/node/@google-cloud/storage/directory/list/index.js +29 -9
- package/node/@google-cloud/storage/directory/move-dir/index.js +45 -9
- package/node/@google-cloud/storage/directory/remove-dir/index.js +36 -9
- package/node/@google-cloud/storage/file/copy/index.js +37 -9
- package/node/@google-cloud/storage/file/download/index.js +28 -9
- package/node/@google-cloud/storage/file/exists/index.js +26 -9
- package/node/@google-cloud/storage/file/generate-signed-url/index.js +33 -27
- package/node/@google-cloud/storage/file/get-metadata/index.js +28 -23
- package/node/@google-cloud/storage/file/get-permissions/index.js +25 -23
- 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.js +40 -9
- package/node/@google-cloud/storage/file/remove/index.js +36 -9
- package/node/@google-cloud/storage/file/revoke-signed-urls/index.js +32 -29
- package/node/@google-cloud/storage/file/stat/index.js +35 -9
- package/node/@google-cloud/storage/file/update-metadata/index.js +30 -23
- package/node/@google-cloud/storage/file/upload/index.js +47 -9
- package/node/cloud-storage/clients/index.js +35 -13
- package/node/cloud-storage/operations/copy-dir/index.js +30 -34
- package/node/cloud-storage/operations/copy-file/index.js +30 -34
- package/node/cloud-storage/operations/download-file/index.js +30 -34
- package/node/cloud-storage/operations/exists-file/index.js +30 -34
- package/node/cloud-storage/operations/list-dir/index.js +29 -34
- package/node/cloud-storage/operations/move-dir/index.js +30 -34
- package/node/cloud-storage/operations/move-file/index.js +30 -34
- package/node/cloud-storage/operations/remove-dir/index.js +29 -34
- package/node/cloud-storage/operations/remove-file/index.js +29 -34
- package/node/cloud-storage/operations/stat-file/index.js +29 -34
- package/node/cloud-storage/operations/upload-file/index.js +30 -34
- package/node/encryption/@aes-256-gcm/buffer/index.js +31 -26
- package/node/encryption/@aes-256-gcm/index.d.ts +1 -1
- package/node/encryption/@aes-256-gcm/index.js +1 -1
- package/node/encryption/@aes-256-gcm/uint8-array/index.js +57 -11
- package/node/encryption/key/index.js +19 -14
- package/node/files/is-in-directory/index.js +11 -10
- package/node/files/read-write/index.js +11 -17
- package/node/files/subpaths/index.js +156 -113
- package/node/ftps/directory/copy-dir/index.js +58 -9
- package/node/ftps/directory/index.d.ts +1 -1
- package/node/ftps/directory/index.js +1 -1
- package/node/ftps/directory/list/index.js +25 -9
- package/node/ftps/directory/move-dir/index.js +41 -9
- package/node/ftps/directory/remove-dir/index.js +42 -9
- package/node/ftps/file/copy/index.js +45 -9
- package/node/ftps/file/download/index.js +30 -9
- package/node/ftps/file/exists/index.js +39 -9
- package/node/ftps/file/index.d.ts +1 -1
- package/node/ftps/file/index.js +1 -1
- package/node/ftps/file/move/index.js +49 -9
- package/node/ftps/file/remove/index.js +40 -9
- package/node/ftps/file/stat/index.js +31 -9
- package/node/ftps/file/upload/index.js +44 -9
- package/node/images/create/index.js +10 -18
- package/node/images/format/index.js +264 -251
- package/node/images/index.d.ts +1 -1
- package/node/images/index.js +1 -1
- package/node/images/metadata/index.js +10 -18
- package/node/images/transform/index.js +168 -203
- package/node/images/transform/operations/blur/index.js +12 -10
- package/node/images/transform/operations/brighten/index.js +12 -10
- package/node/images/transform/operations/extend/index.js +26 -17
- package/node/images/transform/operations/extract/index.js +17 -10
- package/node/images/transform/operations/flatten/index.js +21 -17
- package/node/images/transform/operations/flip/index.js +3 -7
- package/node/images/transform/operations/flop/index.js +3 -7
- package/node/images/transform/operations/hue/index.js +14 -10
- 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.js +15 -10
- package/node/images/transform/operations/lighten/index.js +14 -10
- package/node/images/transform/operations/normalize/index.js +15 -10
- package/node/images/transform/operations/overlay/index.js +90 -17
- package/node/images/transform/operations/resize/index.js +47 -17
- package/node/images/transform/operations/rotate/index.js +21 -17
- package/node/images/transform/operations/saturate/index.js +16 -10
- package/node/images/types.js +34 -9
- package/node/images/utils/index.js +85 -19
- package/node/index.d.ts +3 -3
- package/node/index.js +3 -3
- package/node/process/on-exit/index.js +45 -28
- package/node/process/prompt-continue/index.js +29 -16
- package/node/process/spawner/index.js +104 -80
- package/node/sftp/directory/copy-dir/index.js +55 -9
- package/node/sftp/directory/list/index.js +23 -9
- package/node/sftp/directory/move-dir/index.js +38 -9
- package/node/sftp/directory/remove-dir/index.js +42 -9
- package/node/sftp/file/copy/index.js +40 -9
- package/node/sftp/file/download/index.js +27 -9
- package/node/sftp/file/exists/index.js +30 -9
- package/node/sftp/file/index.d.ts +2 -2
- package/node/sftp/file/index.js +2 -2
- package/node/sftp/file/move/index.js +42 -9
- package/node/sftp/file/remove/index.js +33 -9
- package/node/sftp/file/stat/index.js +28 -9
- package/node/sftp/file/upload/index.js +36 -9
- package/package.json +1 -8
- package/chunks/chunk-2FNCUXAX.js +0 -27
- package/chunks/chunk-2GJSPEO4.js +0 -31
- package/chunks/chunk-2IGP6V77.js +0 -22
- package/chunks/chunk-3QI2MSDK.js +0 -34
- package/chunks/chunk-3RNLPW7B.js +0 -101
- package/chunks/chunk-3RZMW72G.js +0 -33
- package/chunks/chunk-4KLCJX2T.js +0 -36
- package/chunks/chunk-4LTN4SCD.js +0 -55
- package/chunks/chunk-4Q4T7QQO.js +0 -27
- package/chunks/chunk-4Q5TKOIG.js +0 -53
- package/chunks/chunk-57YKZBJR.js +0 -29
- package/chunks/chunk-5H3IRSOB.js +0 -8
- package/chunks/chunk-5NTPCRFH.js +0 -32
- package/chunks/chunk-5TM235Z3.js +0 -40
- package/chunks/chunk-5WVGUZL5.js +0 -35
- package/chunks/chunk-6XL25OZX.js +0 -12
- package/chunks/chunk-75BICI4L.js +0 -20
- package/chunks/chunk-77SWZUHV.js +0 -31
- package/chunks/chunk-AC4UMIWM.js +0 -124
- package/chunks/chunk-AG4VERYN.js +0 -25
- package/chunks/chunk-AP3VYSVF.js +0 -36
- package/chunks/chunk-ASXK7XCC.js +0 -18
- package/chunks/chunk-AVIMGMTP.js +0 -17
- package/chunks/chunk-B4HGXMP3.js +0 -20
- package/chunks/chunk-B5V7D2ZL.js +0 -77
- package/chunks/chunk-B6653QJD.js +0 -37
- package/chunks/chunk-BCX4HPD7.js +0 -33
- package/chunks/chunk-CVMYA5XK.js +0 -632
- package/chunks/chunk-DMWGHBIL.js +0 -25
- package/chunks/chunk-DNIOWD7K.js +0 -8
- package/chunks/chunk-E2ZY3SEW.js +0 -26
- package/chunks/chunk-E6MSDKON.js +0 -13
- package/chunks/chunk-E7BBN5JC.js +0 -22
- package/chunks/chunk-EX2QKFY5.js +0 -41
- package/chunks/chunk-EYYNCLVR.js +0 -33
- package/chunks/chunk-F2YJXIT7.js +0 -78
- package/chunks/chunk-FSNNEPY5.js +0 -37
- package/chunks/chunk-GG4EFNMU.js +0 -89
- package/chunks/chunk-GQBFMP6N.js +0 -32
- package/chunks/chunk-H3HRQ52T.js +0 -32
- package/chunks/chunk-H4PP6AHP.js +0 -15
- package/chunks/chunk-HC6ZOHCS.js +0 -14
- package/chunks/chunk-HMMPT3UM.js +0 -47
- package/chunks/chunk-HQLRJ7XW.js +0 -12
- package/chunks/chunk-HYGUIF2O.js +0 -23
- package/chunks/chunk-HYPEWMYZ.js +0 -10
- package/chunks/chunk-I5MRXMHR.js +0 -32
- package/chunks/chunk-I6ZP5T5V.js +0 -10
- package/chunks/chunk-IEZ3O5OF.js +0 -40
- package/chunks/chunk-IPRWXI27.js +0 -31
- package/chunks/chunk-IRKZUMWZ.js +0 -38
- package/chunks/chunk-ISJONMNA.js +0 -16
- package/chunks/chunk-JB27MAKY.js +0 -22
- package/chunks/chunk-JZ6GM444.js +0 -43
- package/chunks/chunk-K5UF634H.js +0 -25
- package/chunks/chunk-LEBGVBYD.js +0 -138
- package/chunks/chunk-LJ5MGLLU.js +0 -56
- package/chunks/chunk-LUAYN7VJ.js +0 -27
- package/chunks/chunk-MDVGDZU6.js +0 -25
- package/chunks/chunk-ML22TIBW.js +0 -37
- package/chunks/chunk-MO4TRYNI.js +0 -29
- package/chunks/chunk-MSU7JU63.js +0 -49
- package/chunks/chunk-NIBRPZJD.js +0 -58
- package/chunks/chunk-O32IRXDX.js +0 -78
- package/chunks/chunk-OAX7GS7C.js +0 -36
- package/chunks/chunk-OBSTP7YR.js +0 -257
- package/chunks/chunk-OFCSIK6J.js +0 -13
- package/chunks/chunk-OFYGPRWE.js +0 -21
- package/chunks/chunk-OGBUSUE6.js +0 -12
- package/chunks/chunk-OSAXBA7G.js +0 -10
- package/chunks/chunk-OT7QXCH6.js +0 -23
- package/chunks/chunk-P4J6S2WQ.js +0 -64
- package/chunks/chunk-PUQUSA6S.js +0 -12
- package/chunks/chunk-PYJKFOMV.js +0 -193
- package/chunks/chunk-QHEWBOQI.js +0 -19
- package/chunks/chunk-QXAJXTXV.js +0 -19
- package/chunks/chunk-R3AWQXMY.js +0 -20
- package/chunks/chunk-R66GH2MQ.js +0 -38
- package/chunks/chunk-RART44AF.js +0 -21
- package/chunks/chunk-REXSJULD.js +0 -28
- package/chunks/chunk-RJRNYRPM.js +0 -23
- package/chunks/chunk-RKX6KLPQ.js +0 -47
- package/chunks/chunk-RW7VAKJW.js +0 -15
- package/chunks/chunk-RZOR7ZC3.js +0 -35
- package/chunks/chunk-S2UZ3HZR.js +0 -31
- package/chunks/chunk-SYH5LYQC.js +0 -28
- package/chunks/chunk-TAXFCVFE.js +0 -30
- package/chunks/chunk-TNZGRXKJ.js +0 -24
- package/chunks/chunk-TRFZSKNB.js +0 -32
- package/chunks/chunk-U664BT44.js +0 -45
- package/chunks/chunk-U6SGKHHA.js +0 -32
- package/chunks/chunk-UTQNGKGQ.js +0 -60
- package/chunks/chunk-VPBZS3S4.js +0 -27
- package/chunks/chunk-W5A2TON3.js +0 -10
- package/chunks/chunk-W7PJ5NQQ.js +0 -23
- package/chunks/chunk-WGRQXVBK.js +0 -207
- package/chunks/chunk-WIFHP4X7.js +0 -56
- package/chunks/chunk-WL4WNJ2Y.js +0 -39
- package/chunks/chunk-WNDMYNDU.js +0 -8
- package/chunks/chunk-WSFCRVEQ.js +0 -9
- package/chunks/chunk-WZS4Q3G3.js +0 -36
- package/chunks/chunk-X4YSGOKG.js +0 -2673
- package/chunks/chunk-XA4HVHJ4.js +0 -18
- package/chunks/chunk-XEQ2PBT2.js +0 -20
- package/chunks/chunk-XFB4PUXO.js +0 -78
- package/chunks/chunk-XIIJYVJZ.js +0 -15
- package/chunks/chunk-XNF5MLCQ.js +0 -14
- package/chunks/chunk-XQUMWHCH.js +0 -25
- package/chunks/chunk-YA2YCZUF.js +0 -8
- package/chunks/chunk-YDIBNEGA.js +0 -9
- package/chunks/chunk-YHMR7IBA.js +0 -24
- package/chunks/chunk-YWSXCFYY.js +0 -61
- package/chunks/chunk-YY3TSU22.js +0 -48
- package/chunks/chunk-ZAP3ELDE.js +0 -40
- package/chunks/chunk-ZJNQRKEJ.js +0 -105
- package/chunks/chunk-ZJR5ASR3.js +0 -26
- package/chunks/index.d.ts +0 -1
- package/chunks/index.js +0 -1
|
@@ -1,13 +1,35 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
import { Bucket as GCSBucket } from '@google-cloud/storage';
|
|
2
|
+
import { S3Client } from '@aws-sdk/client-s3';
|
|
3
|
+
import { Client as FtpClient } from 'basic-ftp';
|
|
4
|
+
import SftpClient from 'ssh2-sftp-client';
|
|
5
|
+
/**
|
|
6
|
+
* Type guard to check if a client is a Google Cloud Storage bucket.
|
|
7
|
+
*
|
|
8
|
+
* @param {AnyClient} client - The client to check.
|
|
9
|
+
* @returns {boolean} `true` if the client is a `GCSBucket`, `false` otherwise.
|
|
10
|
+
*/
|
|
11
|
+
export const isGcsBucket = (client) => client instanceof GCSBucket;
|
|
12
|
+
/**
|
|
13
|
+
* Type guard to check if a client is an S3 client with bucket configuration.
|
|
14
|
+
*
|
|
15
|
+
* @param {AnyClient} client - The client to check.
|
|
16
|
+
* @returns {boolean} `true` if the client is an `S3ClientWithBucket`, `false` otherwise.
|
|
17
|
+
*/
|
|
18
|
+
export const isS3ClientWithBucket = (client) => ('bucketName' in client)
|
|
19
|
+
&& typeof client.bucketName === 'string'
|
|
20
|
+
&& ('client' in client)
|
|
21
|
+
&& client.client instanceof S3Client;
|
|
22
|
+
/**
|
|
23
|
+
* Type guard to check if a client is an FTP client.
|
|
24
|
+
*
|
|
25
|
+
* @param {AnyClient} client - The client to check.
|
|
26
|
+
* @returns {boolean} `true` if the client is an `FtpClient`, `false` otherwise.
|
|
27
|
+
*/
|
|
28
|
+
export const isFtpClient = (client) => client instanceof FtpClient;
|
|
29
|
+
/**
|
|
30
|
+
* Type guard to check if a client is an SFTP client.
|
|
31
|
+
*
|
|
32
|
+
* @param {AnyClient} client - The client to check.
|
|
33
|
+
* @returns {boolean} `true` if the client is an `SftpClient`, `false` otherwise.
|
|
34
|
+
*/
|
|
35
|
+
export const isSftpClient = (client) => client instanceof SftpClient;
|
|
@@ -1,35 +1,31 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
} from
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
} from
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return makeFailure("Invalid client type");
|
|
1
|
+
import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
2
|
+
import { isFtpClient, isGcsBucket, isS3ClientWithBucket, isSftpClient } from '../../clients/index.js';
|
|
3
|
+
import { copyDir as ftpCopyDir } from '../../../ftps/directory/copy-dir/index.js';
|
|
4
|
+
import { copyDir as sftpCopyDir } from '../../../sftp/directory/copy-dir/index.js';
|
|
5
|
+
import { copyDir as s3CopyDir } from '../../../@aws-s3/storage/directory/copy-dir/index.js';
|
|
6
|
+
import { copyDir as gcsCopyDir } from '../../../@google-cloud/storage/directory/copy-dir/index.js';
|
|
7
|
+
/**
|
|
8
|
+
* Recursively copies a directory from one path to another.
|
|
9
|
+
*
|
|
10
|
+
* The function automatically dispatches to the appropriate implementation based on
|
|
11
|
+
* the client type (Google Cloud Storage, S3, FTP, or SFTP).
|
|
12
|
+
*
|
|
13
|
+
* @param {AnyClient} client - The cloud storage client instance.
|
|
14
|
+
* @param {string} sourcePath - The source directory path to copy from.
|
|
15
|
+
* @param {string} targetPath - The target directory path to copy to.
|
|
16
|
+
* @param {GcsCopyDirOptions | S3CopyDirOptions | FtpsCopyDirOptions | SftpCopyDirOptions} [options] - Optional copy configuration.
|
|
17
|
+
* @returns {Promise<Outcome.Either<true, string>>}
|
|
18
|
+
* - On success: `Outcome.makeSuccess(true)`.
|
|
19
|
+
* - On failure: `Outcome.makeFailure(errStr)`.
|
|
20
|
+
*/
|
|
21
|
+
export async function copyDir(client, sourcePath, targetPath, options) {
|
|
22
|
+
if (isGcsBucket(client))
|
|
23
|
+
return await gcsCopyDir(client, sourcePath, targetPath, options);
|
|
24
|
+
if (isS3ClientWithBucket(client))
|
|
25
|
+
return await s3CopyDir(client.client, client.bucketName, sourcePath, targetPath, options);
|
|
26
|
+
if (isFtpClient(client))
|
|
27
|
+
return await ftpCopyDir(client, sourcePath, targetPath);
|
|
28
|
+
if (isSftpClient(client))
|
|
29
|
+
return await sftpCopyDir(client, sourcePath, targetPath);
|
|
30
|
+
return Outcome.makeFailure('Invalid client type');
|
|
32
31
|
}
|
|
33
|
-
export {
|
|
34
|
-
copyDir5 as copyDir
|
|
35
|
-
};
|
|
@@ -1,35 +1,31 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
} from
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
} from
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return makeFailure("Invalid client type");
|
|
1
|
+
import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
2
|
+
import { isFtpClient, isGcsBucket, isS3ClientWithBucket, isSftpClient } from '../../clients/index.js';
|
|
3
|
+
import { copy as ftpCopy } from '../../../ftps/file/copy/index.js';
|
|
4
|
+
import { copy as sftpCopy } from '../../../sftp/file/copy/index.js';
|
|
5
|
+
import { copy as s3Copy } from '../../../@aws-s3/storage/file/copy/index.js';
|
|
6
|
+
import { copy as gcsCopy } from '../../../@google-cloud/storage/file/copy/index.js';
|
|
7
|
+
/**
|
|
8
|
+
* Copies a file from one path to another.
|
|
9
|
+
*
|
|
10
|
+
* The function automatically dispatches to the appropriate implementation based on
|
|
11
|
+
* the client type (Google Cloud Storage, S3, FTP, or SFTP).
|
|
12
|
+
*
|
|
13
|
+
* @param {AnyClient} client - The cloud storage client instance.
|
|
14
|
+
* @param {string} sourcePath - The source file path to copy from.
|
|
15
|
+
* @param {string} targetPath - The target file path to copy to.
|
|
16
|
+
* @param {GcsCopyOptions | S3CopyOptions | FtpsCopyOptions | SftpCopyOptions} [options] - Optional copy configuration.
|
|
17
|
+
* @returns {Promise<Outcome.Either<true, string>>}
|
|
18
|
+
* - On success: `Outcome.makeSuccess(true)`.
|
|
19
|
+
* - On failure: `Outcome.makeFailure(errStr)`.
|
|
20
|
+
*/
|
|
21
|
+
export async function copyFile(client, sourcePath, targetPath, options) {
|
|
22
|
+
if (isGcsBucket(client))
|
|
23
|
+
return await gcsCopy(client, sourcePath, targetPath, options);
|
|
24
|
+
if (isS3ClientWithBucket(client))
|
|
25
|
+
return await s3Copy(client.client, client.bucketName, sourcePath, targetPath, options);
|
|
26
|
+
if (isFtpClient(client))
|
|
27
|
+
return await ftpCopy(client, sourcePath, targetPath, options);
|
|
28
|
+
if (isSftpClient(client))
|
|
29
|
+
return await sftpCopy(client, sourcePath, targetPath, options);
|
|
30
|
+
return Outcome.makeFailure('Invalid client type');
|
|
32
31
|
}
|
|
33
|
-
export {
|
|
34
|
-
copyFile
|
|
35
|
-
};
|
|
@@ -1,35 +1,31 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
} from
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
} from
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return makeFailure("Invalid client type");
|
|
1
|
+
import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
2
|
+
import { isFtpClient, isGcsBucket, isS3ClientWithBucket, isSftpClient } from '../../clients/index.js';
|
|
3
|
+
import { download as ftpDownload } from '../../../ftps/file/download/index.js';
|
|
4
|
+
import { download as sftpDownload } from '../../../sftp/file/download/index.js';
|
|
5
|
+
import { download as s3Download } from '../../../@aws-s3/storage/file/download/index.js';
|
|
6
|
+
import { download as gcsDownload } from '../../../@google-cloud/storage/file/download/index.js';
|
|
7
|
+
/**
|
|
8
|
+
* Downloads a file from cloud storage.
|
|
9
|
+
*
|
|
10
|
+
* The function automatically dispatches to the appropriate implementation based on
|
|
11
|
+
* the client type (Google Cloud Storage, S3, FTP, or SFTP) and streams the file's
|
|
12
|
+
* content back as a Node `Readable`.
|
|
13
|
+
*
|
|
14
|
+
* @param {AnyClient} client - The cloud storage client instance.
|
|
15
|
+
* @param {string} path - The path of the file to download.
|
|
16
|
+
* @param {GcsDownloadOptions | S3DownloadOptions | FtpDownloadOptions | SftpDownloadOptions} [options] - Optional download configuration.
|
|
17
|
+
* @returns {Promise<Outcome.Either<Readable, string>>}
|
|
18
|
+
* - On success: `Outcome.makeSuccess(stream)` containing the file content.
|
|
19
|
+
* - On failure: `Outcome.makeFailure(errStr)`.
|
|
20
|
+
*/
|
|
21
|
+
export async function downloadFile(client, path, options) {
|
|
22
|
+
if (isGcsBucket(client))
|
|
23
|
+
return await gcsDownload(client, path, options);
|
|
24
|
+
if (isS3ClientWithBucket(client))
|
|
25
|
+
return await s3Download(client.client, client.bucketName, path, options);
|
|
26
|
+
if (isFtpClient(client))
|
|
27
|
+
return await ftpDownload(client, path, options);
|
|
28
|
+
if (isSftpClient(client))
|
|
29
|
+
return await sftpDownload(client, path, options);
|
|
30
|
+
return Outcome.makeFailure('Invalid client type');
|
|
32
31
|
}
|
|
33
|
-
export {
|
|
34
|
-
downloadFile
|
|
35
|
-
};
|
|
@@ -1,35 +1,31 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
} from
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
} from
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return makeFailure("Invalid client type");
|
|
1
|
+
import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
2
|
+
import { isFtpClient, isGcsBucket, isS3ClientWithBucket, isSftpClient } from '../../clients/index.js';
|
|
3
|
+
import { exists as ftpExists } from '../../../ftps/file/exists/index.js';
|
|
4
|
+
import { exists as sftpExists } from '../../../sftp/file/exists/index.js';
|
|
5
|
+
import { exists as s3Exists } from '../../../@aws-s3/storage/file/exists/index.js';
|
|
6
|
+
import { exists as gcsExists } from '../../../@google-cloud/storage/file/exists/index.js';
|
|
7
|
+
/**
|
|
8
|
+
* Checks whether a file exists in cloud storage.
|
|
9
|
+
*
|
|
10
|
+
* The function automatically dispatches to the appropriate implementation based on
|
|
11
|
+
* the client type (Google Cloud Storage, S3, FTP, or SFTP).
|
|
12
|
+
*
|
|
13
|
+
* @param {AnyClient} client - The cloud storage client instance.
|
|
14
|
+
* @param {string} path - The path of the file to check.
|
|
15
|
+
* @param {GcsExistsOptions | S3ExistsOptions} [options] - Optional configuration.
|
|
16
|
+
* @returns {Promise<Outcome.Either<boolean, string>>}
|
|
17
|
+
* - On success: `Outcome.makeSuccess(true)` if the file exists,
|
|
18
|
+
* `Outcome.makeSuccess(false)` if it does not.
|
|
19
|
+
* - On failure: `Outcome.makeFailure(errStr)` for unexpected errors.
|
|
20
|
+
*/
|
|
21
|
+
export async function existsFile(client, path, options) {
|
|
22
|
+
if (isGcsBucket(client))
|
|
23
|
+
return await gcsExists(client, path, options);
|
|
24
|
+
if (isS3ClientWithBucket(client))
|
|
25
|
+
return await s3Exists(client.client, client.bucketName, path, options);
|
|
26
|
+
if (isFtpClient(client))
|
|
27
|
+
return await ftpExists(client, path);
|
|
28
|
+
if (isSftpClient(client))
|
|
29
|
+
return await sftpExists(client, path);
|
|
30
|
+
return Outcome.makeFailure('Invalid client type');
|
|
32
31
|
}
|
|
33
|
-
export {
|
|
34
|
-
existsFile
|
|
35
|
-
};
|
|
@@ -1,35 +1,30 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
} from
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
} from
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
if (isSftpClient(client)) return await list2(client, path);
|
|
31
|
-
return makeFailure("Invalid client type");
|
|
1
|
+
import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
2
|
+
import { isFtpClient, isGcsBucket, isS3ClientWithBucket, isSftpClient } from '../../clients/index.js';
|
|
3
|
+
import { list as ftpList } from '../../../ftps/directory/list/index.js';
|
|
4
|
+
import { list as sftpList } from '../../../sftp/directory/list/index.js';
|
|
5
|
+
import { list as s3List } from '../../../@aws-s3/storage/directory/list/index.js';
|
|
6
|
+
import { list as gcsList } from '../../../@google-cloud/storage/directory/list/index.js';
|
|
7
|
+
/**
|
|
8
|
+
* Lists the contents of a directory in cloud storage.
|
|
9
|
+
*
|
|
10
|
+
* The function automatically dispatches to the appropriate implementation based on
|
|
11
|
+
* the client type (Google Cloud Storage, S3, FTP, or SFTP).
|
|
12
|
+
*
|
|
13
|
+
* @param {AnyClient} client - The cloud storage client instance.
|
|
14
|
+
* @param {string} path - The directory path to list.
|
|
15
|
+
* @param {GcsListOptions | S3ListOptions} [options] - Optional list configuration.
|
|
16
|
+
* @returns {Promise<Outcome.Either<string[], string>>}
|
|
17
|
+
* - On success: `Outcome.makeSuccess(paths)` containing an array of file/directory paths.
|
|
18
|
+
* - On failure: `Outcome.makeFailure(errStr)`.
|
|
19
|
+
*/
|
|
20
|
+
export async function listDir(client, path, options) {
|
|
21
|
+
if (isGcsBucket(client))
|
|
22
|
+
return await gcsList(client, path, options);
|
|
23
|
+
if (isS3ClientWithBucket(client))
|
|
24
|
+
return await s3List(client.client, client.bucketName, path, options);
|
|
25
|
+
if (isFtpClient(client))
|
|
26
|
+
return await ftpList(client, path);
|
|
27
|
+
if (isSftpClient(client))
|
|
28
|
+
return await sftpList(client, path);
|
|
29
|
+
return Outcome.makeFailure('Invalid client type');
|
|
32
30
|
}
|
|
33
|
-
export {
|
|
34
|
-
listDir
|
|
35
|
-
};
|
|
@@ -1,35 +1,31 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
} from
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
} from
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return makeFailure("Invalid client type");
|
|
1
|
+
import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
2
|
+
import { isFtpClient, isGcsBucket, isS3ClientWithBucket, isSftpClient } from '../../clients/index.js';
|
|
3
|
+
import { moveDir as ftpMoveDir } from '../../../ftps/directory/move-dir/index.js';
|
|
4
|
+
import { moveDir as sftpMoveDir } from '../../../sftp/directory/move-dir/index.js';
|
|
5
|
+
import { moveDir as s3MoveDir } from '../../../@aws-s3/storage/directory/move-dir/index.js';
|
|
6
|
+
import { moveDir as gcsMoveDir } from '../../../@google-cloud/storage/directory/move-dir/index.js';
|
|
7
|
+
/**
|
|
8
|
+
* Moves a directory from one path to another.
|
|
9
|
+
*
|
|
10
|
+
* The function automatically dispatches to the appropriate implementation based on
|
|
11
|
+
* the client type (Google Cloud Storage, S3, FTP, or SFTP).
|
|
12
|
+
*
|
|
13
|
+
* @param {AnyClient} client - The cloud storage client instance.
|
|
14
|
+
* @param {string} sourcePath - The source directory path to move from.
|
|
15
|
+
* @param {string} targetPath - The target directory path to move to.
|
|
16
|
+
* @param {GcsMoveDirOptions | S3MoveDirOptions | FtpsMoveDirOptions | SftpMoveDirOptions} [options] - Optional move configuration.
|
|
17
|
+
* @returns {Promise<Outcome.Either<true, string>>}
|
|
18
|
+
* - On success: `Outcome.makeSuccess(true)`.
|
|
19
|
+
* - On failure: `Outcome.makeFailure(errStr)`.
|
|
20
|
+
*/
|
|
21
|
+
export async function moveDir(client, sourcePath, targetPath, options) {
|
|
22
|
+
if (isGcsBucket(client))
|
|
23
|
+
return await gcsMoveDir(client, sourcePath, targetPath, options);
|
|
24
|
+
if (isS3ClientWithBucket(client))
|
|
25
|
+
return await s3MoveDir(client.client, client.bucketName, sourcePath, targetPath, options);
|
|
26
|
+
if (isFtpClient(client))
|
|
27
|
+
return await ftpMoveDir(client, sourcePath, targetPath, options);
|
|
28
|
+
if (isSftpClient(client))
|
|
29
|
+
return await sftpMoveDir(client, sourcePath, targetPath, options);
|
|
30
|
+
return Outcome.makeFailure('Invalid client type');
|
|
32
31
|
}
|
|
33
|
-
export {
|
|
34
|
-
moveDir5 as moveDir
|
|
35
|
-
};
|
|
@@ -1,35 +1,31 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
} from
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
} from
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return makeFailure("Invalid client type");
|
|
1
|
+
import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
2
|
+
import { isFtpClient, isGcsBucket, isS3ClientWithBucket, isSftpClient } from '../../clients/index.js';
|
|
3
|
+
import { move as ftpMove } from '../../../ftps/file/move/index.js';
|
|
4
|
+
import { move as sftpMove } from '../../../sftp/file/move/index.js';
|
|
5
|
+
import { move as s3Move } from '../../../@aws-s3/storage/file/move/index.js';
|
|
6
|
+
import { move as gcsMove } from '../../../@google-cloud/storage/file/move/index.js';
|
|
7
|
+
/**
|
|
8
|
+
* Moves a file from one path to another.
|
|
9
|
+
*
|
|
10
|
+
* The function automatically dispatches to the appropriate implementation based on
|
|
11
|
+
* the client type (Google Cloud Storage, S3, FTP, or SFTP).
|
|
12
|
+
*
|
|
13
|
+
* @param {AnyClient} client - The cloud storage client instance.
|
|
14
|
+
* @param {string} sourcePath - The source file path to move from.
|
|
15
|
+
* @param {string} targetPath - The target file path to move to.
|
|
16
|
+
* @param {GcsMoveOptions | S3MoveOptions | FtpsMoveOptions | SftpMoveOptions} [options] - Optional move configuration.
|
|
17
|
+
* @returns {Promise<Outcome.Either<true, string>>}
|
|
18
|
+
* - On success: `Outcome.makeSuccess(true)`.
|
|
19
|
+
* - On failure: `Outcome.makeFailure(errStr)`.
|
|
20
|
+
*/
|
|
21
|
+
export async function moveFile(client, sourcePath, targetPath, options) {
|
|
22
|
+
if (isGcsBucket(client))
|
|
23
|
+
return await gcsMove(client, sourcePath, targetPath, options);
|
|
24
|
+
if (isS3ClientWithBucket(client))
|
|
25
|
+
return await s3Move(client.client, client.bucketName, sourcePath, targetPath, options);
|
|
26
|
+
if (isFtpClient(client))
|
|
27
|
+
return await ftpMove(client, sourcePath, targetPath);
|
|
28
|
+
if (isSftpClient(client))
|
|
29
|
+
return await sftpMove(client, sourcePath, targetPath);
|
|
30
|
+
return Outcome.makeFailure('Invalid client type');
|
|
32
31
|
}
|
|
33
|
-
export {
|
|
34
|
-
moveFile
|
|
35
|
-
};
|
|
@@ -1,35 +1,30 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
} from
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
} from
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
if (isSftpClient(client)) return await removeDir2(client, sourcePath, options);
|
|
31
|
-
return makeFailure("Invalid client type");
|
|
1
|
+
import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
2
|
+
import { isFtpClient, isGcsBucket, isS3ClientWithBucket, isSftpClient } from '../../clients/index.js';
|
|
3
|
+
import { removeDir as ftpRemoveDir } from '../../../ftps/directory/remove-dir/index.js';
|
|
4
|
+
import { removeDir as sftpRemoveDir } from '../../../sftp/directory/remove-dir/index.js';
|
|
5
|
+
import { removeDir as s3RemoveDir } from '../../../@aws-s3/storage/directory/remove-dir/index.js';
|
|
6
|
+
import { removeDir as gcsRemoveDir } from '../../../@google-cloud/storage/directory/remove-dir/index.js';
|
|
7
|
+
/**
|
|
8
|
+
* Removes a directory from cloud storage.
|
|
9
|
+
*
|
|
10
|
+
* The function automatically dispatches to the appropriate implementation based on
|
|
11
|
+
* the client type (Google Cloud Storage, S3, FTP, or SFTP).
|
|
12
|
+
*
|
|
13
|
+
* @param {AnyClient} client - The cloud storage client instance.
|
|
14
|
+
* @param {string} sourcePath - The directory path to remove.
|
|
15
|
+
* @param {GcsRemoveDirOptions | S3RemoveDirOptions | FtpsRemoveDirOptions | SftpRemoveDirOptions} [options] - Optional remove configuration.
|
|
16
|
+
* @returns {Promise<Outcome.Either<true, string>>}
|
|
17
|
+
* - On success: `Outcome.makeSuccess(true)`.
|
|
18
|
+
* - On failure: `Outcome.makeFailure(errStr)`.
|
|
19
|
+
*/
|
|
20
|
+
export async function removeDir(client, sourcePath, options) {
|
|
21
|
+
if (isGcsBucket(client))
|
|
22
|
+
return await gcsRemoveDir(client, sourcePath, options);
|
|
23
|
+
if (isS3ClientWithBucket(client))
|
|
24
|
+
return await s3RemoveDir(client.client, client.bucketName, sourcePath, options);
|
|
25
|
+
if (isFtpClient(client))
|
|
26
|
+
return await ftpRemoveDir(client, sourcePath, options);
|
|
27
|
+
if (isSftpClient(client))
|
|
28
|
+
return await sftpRemoveDir(client, sourcePath, options);
|
|
29
|
+
return Outcome.makeFailure('Invalid client type');
|
|
32
30
|
}
|
|
33
|
-
export {
|
|
34
|
-
removeDir5 as removeDir
|
|
35
|
-
};
|