@design-edito/tools 0.4.4 → 0.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agnostic/arrays/dedupe/index.js +0 -2
- package/agnostic/arrays/find-duplicates/index.js +0 -2
- package/agnostic/arrays/index.d.ts +2 -2
- package/agnostic/arrays/index.js +2 -2
- package/agnostic/arrays/is-array-of/index.js +4 -4
- package/agnostic/arrays/make/index.js +0 -2
- package/agnostic/arrays/random-pick/index.js +20 -5
- package/agnostic/arrays/shuffle/index.js +0 -2
- package/agnostic/booleans/is-falsy/index.js +12 -7
- package/agnostic/colors/channels/index.js +936 -13
- package/agnostic/colors/contrast/index.js +624 -12
- package/agnostic/colors/convert/index.js +845 -26
- package/agnostic/colors/distance/index.js +493 -9
- package/agnostic/colors/grayscale/index.js +751 -15
- package/agnostic/colors/index.d.ts +2 -2
- package/agnostic/colors/index.js +2 -2
- package/agnostic/colors/invert/index.js +687 -13
- package/agnostic/colors/lerp/index.js +735 -20
- package/agnostic/colors/luminance/index.js +624 -10
- package/agnostic/colors/palette/index.js +838 -11
- package/agnostic/colors/rotate/index.js +838 -11
- package/agnostic/colors/tidy/index.js +528 -9
- package/agnostic/colors/typechecks/index.js +247 -14
- package/agnostic/css/bem/index.js +23 -11
- package/agnostic/css/clss/index.js +28 -4
- package/agnostic/css/generate-nice-color/index.js +0 -2
- package/agnostic/css/index.d.ts +2 -2
- package/agnostic/css/index.js +2 -2
- package/agnostic/css/is-valid-css-class-name/index.js +5 -5
- package/agnostic/css/scale/index.js +20 -7
- package/agnostic/css/styles-set/index.js +15 -6
- package/agnostic/errors/index.d.ts +1 -1
- package/agnostic/errors/index.js +1 -1
- package/agnostic/errors/register/index.js +0 -2
- package/agnostic/errors/unknown-to-string/index.js +8 -4
- package/agnostic/html/get-node-ancestors/index.js +28 -5
- package/agnostic/html/get-position-inside-parent/index.js +0 -2
- package/agnostic/html/hyper-json/cast/index.js +2937 -21
- package/agnostic/html/hyper-json/index.js +2939 -35
- package/agnostic/html/hyper-json/method/index.js +11 -4
- package/agnostic/html/hyper-json/serialize/index.js +222 -8
- package/agnostic/html/hyper-json/smart-tags/coalesced/add/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/addclass/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/and/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/append/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/at/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/call/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/clone/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/deleteproperties/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/equals/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/getattribute/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/getproperties/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/getproperty/index.js +2937 -22
- package/agnostic/html/hyper-json/smart-tags/coalesced/hjparse/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/hjstringify/index.js +2937 -23
- package/agnostic/html/hyper-json/smart-tags/coalesced/if/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/index.d.ts +12 -12
- package/agnostic/html/hyper-json/smart-tags/coalesced/index.js +12 -12
- package/agnostic/html/hyper-json/smart-tags/coalesced/initialize/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/join/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/length/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/map/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/negate/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/notrailing/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/or/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/pickrandom/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/populate/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/print/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/push/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/pusheach/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/recordtoarray/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/removeattribute/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/removeclass/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/renameproperty/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/replace/index.js +2937 -22
- package/agnostic/html/hyper-json/smart-tags/coalesced/select/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/set/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/setattribute/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/setproperty/index.js +2937 -22
- package/agnostic/html/hyper-json/smart-tags/coalesced/sorton/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/split/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/spread/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/toarray/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/toboolean/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/toelement/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/toggleclass/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/tonodelist/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/tonull/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/tonumber/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/torecord/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/toref/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/tostring/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/totext/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/transformselected/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/coalesced/trim/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/index.js +181 -7
- package/agnostic/html/hyper-json/smart-tags/isolated/any/index.js +194 -8
- package/agnostic/html/hyper-json/smart-tags/isolated/array/index.js +194 -8
- package/agnostic/html/hyper-json/smart-tags/isolated/boolean/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/isolated/element/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/isolated/get/index.js +2938 -22
- package/agnostic/html/hyper-json/smart-tags/isolated/guess/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/isolated/nodelist/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/isolated/null/index.js +191 -8
- package/agnostic/html/hyper-json/smart-tags/isolated/number/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/isolated/record/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/isolated/ref/index.js +2937 -22
- package/agnostic/html/hyper-json/smart-tags/isolated/string/index.js +2937 -21
- package/agnostic/html/hyper-json/smart-tags/isolated/text/index.js +2937 -21
- package/agnostic/html/hyper-json/transformer/index.js +146 -6
- package/agnostic/html/hyper-json/tree/index.js +2937 -21
- package/agnostic/html/hyper-json/types/index.js +16 -4
- package/agnostic/html/hyper-json/utils/index.js +2937 -21
- package/agnostic/html/index.d.ts +2 -2
- package/agnostic/html/index.js +2 -2
- package/agnostic/html/insert-node/index.js +14 -4
- package/agnostic/html/placeholders/index.js +0 -2
- package/agnostic/html/replace-in-element/index.js +28 -5
- package/agnostic/html/selector-to-element/index.js +10 -4
- package/agnostic/html/string-to-nodes/index.js +10 -4
- package/agnostic/index.d.ts +5 -5
- package/agnostic/index.js +5 -5
- package/agnostic/misc/assert/index.js +16 -8
- package/agnostic/misc/cast/index.js +56 -13
- package/agnostic/misc/connection/index.js +10 -4
- package/agnostic/misc/crawler/index.js +6 -4
- package/agnostic/misc/crossenv/detect-runtime/index.js +0 -3
- package/agnostic/misc/crossenv/types.js +11 -4
- package/agnostic/misc/crossenv/window/index.js +22 -7
- package/agnostic/misc/data-size/index.js +0 -2
- package/agnostic/misc/index.d.ts +5 -5
- package/agnostic/misc/index.js +5 -5
- package/agnostic/misc/is-constructor-function/index.js +4 -4
- package/agnostic/misc/is-nullish/index.js +8 -6
- package/agnostic/misc/logs/logger/index.js +0 -2
- package/agnostic/misc/logs/make-text-block/index.js +11 -4
- package/agnostic/misc/logs/styles/index.js +47 -5
- package/agnostic/misc/lorem-ipsum/index.js +22 -7
- package/agnostic/misc/normalize-extension/index.js +0 -2
- package/agnostic/misc/outcome/index.js +10 -6
- package/agnostic/numbers/absolute-modulo/index.js +4 -4
- package/agnostic/numbers/approximate-rational/index.js +0 -2
- package/agnostic/numbers/clamp/index.js +6 -4
- package/agnostic/numbers/geometric-progressions/index.js +14 -4
- package/agnostic/numbers/index.d.ts +1 -1
- package/agnostic/numbers/index.js +1 -1
- package/agnostic/numbers/interpolate/index.js +0 -2
- package/agnostic/numbers/round/index.js +13 -6
- package/agnostic/objects/deep-get-property/index.js +5 -4
- package/agnostic/objects/enums/is-in-enum/index.js +9 -4
- package/agnostic/objects/flatten-getters/index.js +0 -2
- package/agnostic/objects/index.d.ts +3 -3
- package/agnostic/objects/index.js +3 -3
- package/agnostic/objects/is-object/index.js +7 -5
- package/agnostic/objects/is-record/index.js +5 -4
- package/agnostic/objects/record-format/index.js +0 -2
- package/agnostic/objects/record-map/index.js +10 -4
- package/agnostic/objects/sort-keys/index.js +0 -2
- package/agnostic/objects/validation/index.js +0 -2
- package/agnostic/optim/memoize/index.js +0 -2
- package/agnostic/optim/throttle-debounce/index.js +0 -2
- package/agnostic/random/hex-char/index.js +7 -5
- package/agnostic/random/index.d.ts +1 -1
- package/agnostic/random/index.js +1 -1
- package/agnostic/random/random/index.js +12 -5
- package/agnostic/random/uuid/index.js +18 -7
- package/agnostic/regexps/index.js +0 -2
- package/agnostic/sanitization/file-name/index.js +6 -4
- package/agnostic/sanitization/html/index.js +10 -4
- package/agnostic/sanitization/path/index.js +6 -4
- package/agnostic/sanitization/user-input/index.js +0 -2
- package/agnostic/strings/char-codes/index.js +0 -2
- package/agnostic/strings/matches/index.js +14 -6
- package/agnostic/strings/normalize-indent/index.js +0 -2
- package/agnostic/strings/parse-table/index.js +7 -5
- package/agnostic/strings/replace-all/index.js +0 -2
- package/agnostic/strings/to-alphanum/index.js +0 -2
- package/agnostic/strings/trim/index.js +7 -5
- package/agnostic/time/dates/format-date/index.js +0 -2
- package/agnostic/time/duration/index.js +0 -2
- package/agnostic/time/timeout/index.js +0 -2
- package/agnostic/time/transitions/index.js +6 -4
- package/agnostic/time/wait/index.js +6 -4
- package/components/BeforeAfter/index.js +51 -14
- package/components/Disclaimer/index.js +107 -6
- package/components/Drawer/index.js +133 -24
- package/components/EventListener/index.js +44 -11
- package/components/Gallery/index.js +42 -11
- package/components/Image/index.js +222 -34
- package/components/IntersectionObserver/index.js +107 -6
- package/components/Overlayer/index.js +51 -14
- package/components/Paginator/index.js +153 -6
- package/components/ResizeObserver/index.js +118 -6
- package/components/Scrllgngn/index.js +332 -42
- package/components/ScrollListener/index.js +135 -30
- package/components/Sequencer/index.js +139 -37
- package/components/ShadowRoot/index.js +44 -11
- package/components/Subtitles/index.js +241 -10
- package/components/Theatre/index.js +134 -6
- package/components/UIModule/index.js +74 -21
- package/components/Video/index.d.ts +10 -0
- package/components/Video/index.js +448 -94
- package/components/index.d.ts +4 -4
- package/components/index.js +4 -4
- package/components/utils/index.js +9 -4
- package/index.d.ts +0 -1
- package/index.js +0 -1
- package/node/@aws-s3/storage/directory/copy-dir/index.js +70 -5
- 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 +39 -5
- package/node/@aws-s3/storage/directory/move-dir/index.js +83 -5
- package/node/@aws-s3/storage/directory/remove-dir/index.js +66 -5
- package/node/@aws-s3/storage/file/copy/index.js +51 -5
- package/node/@aws-s3/storage/file/download/index.js +37 -5
- package/node/@aws-s3/storage/file/exists/index.js +41 -5
- 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 +62 -5
- package/node/@aws-s3/storage/file/remove/index.js +42 -5
- package/node/@aws-s3/storage/file/stat/index.js +44 -5
- package/node/@aws-s3/storage/file/upload/index.js +62 -5
- package/node/@express/@multer/index.js +19 -9
- package/node/@google-cloud/storage/bucket/get-metadata/index.js +16 -8
- package/node/@google-cloud/storage/directory/copy-dir/index.js +41 -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.js +33 -6
- package/node/@google-cloud/storage/directory/move-dir/index.js +41 -6
- package/node/@google-cloud/storage/directory/remove-dir/index.js +37 -6
- package/node/@google-cloud/storage/file/copy/index.js +39 -6
- package/node/@google-cloud/storage/file/download/index.js +32 -6
- package/node/@google-cloud/storage/file/exists/index.js +29 -6
- package/node/@google-cloud/storage/file/generate-signed-url/index.js +16 -8
- package/node/@google-cloud/storage/file/get-metadata/index.js +16 -8
- package/node/@google-cloud/storage/file/get-permissions/index.js +16 -8
- package/node/@google-cloud/storage/file/index.d.ts +3 -3
- package/node/@google-cloud/storage/file/index.js +3 -3
- package/node/@google-cloud/storage/file/move/index.js +41 -6
- package/node/@google-cloud/storage/file/remove/index.js +34 -6
- package/node/@google-cloud/storage/file/revoke-signed-urls/index.js +80 -14
- package/node/@google-cloud/storage/file/stat/index.js +36 -6
- package/node/@google-cloud/storage/file/update-metadata/index.js +16 -8
- package/node/@google-cloud/storage/file/upload/index.js +46 -6
- 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.js +9 -7
- package/node/cloud-storage/operations/copy-dir/index.js +191 -22
- package/node/cloud-storage/operations/copy-file/index.js +140 -22
- package/node/cloud-storage/operations/download-file/index.js +91 -22
- package/node/cloud-storage/operations/exists-file/index.js +91 -22
- package/node/cloud-storage/operations/index.d.ts +2 -2
- package/node/cloud-storage/operations/index.js +2 -2
- package/node/cloud-storage/operations/list-dir/index.js +86 -22
- package/node/cloud-storage/operations/move-dir/index.js +157 -22
- package/node/cloud-storage/operations/move-file/index.js +145 -22
- package/node/cloud-storage/operations/remove-dir/index.js +147 -22
- package/node/cloud-storage/operations/remove-file/index.js +109 -22
- package/node/cloud-storage/operations/stat-file/index.js +112 -22
- package/node/cloud-storage/operations/upload-file/index.js +150 -22
- package/node/encryption/@aes-256-gcm/buffer/index.js +58 -12
- 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 +53 -7
- package/node/encryption/key/index.js +0 -2
- package/node/files/index.d.ts +1 -1
- package/node/files/index.js +1 -1
- package/node/files/is-in-directory/index.js +0 -2
- package/node/files/read-write/index.js +0 -2
- package/node/files/subpaths/index.js +13 -5
- package/node/ftps/directory/copy-dir/index.js +62 -6
- package/node/ftps/directory/index.d.ts +1 -1
- package/node/ftps/directory/index.js +1 -1
- package/node/ftps/directory/list/index.js +27 -6
- package/node/ftps/directory/move-dir/index.js +38 -6
- package/node/ftps/directory/remove-dir/index.js +42 -6
- package/node/ftps/file/copy/index.js +47 -6
- package/node/ftps/file/download/index.js +32 -6
- package/node/ftps/file/exists/index.js +34 -6
- package/node/ftps/file/index.d.ts +1 -1
- package/node/ftps/file/index.js +1 -1
- package/node/ftps/file/move/index.js +44 -6
- package/node/ftps/file/remove/index.js +40 -6
- package/node/ftps/file/stat/index.js +36 -6
- package/node/ftps/file/upload/index.js +45 -6
- package/node/images/create/index.js +556 -12
- package/node/images/format/index.js +583 -19
- package/node/images/index.d.ts +1 -1
- package/node/images/index.js +1 -1
- package/node/images/metadata/index.js +563 -10
- package/node/images/transform/index.js +895 -77
- package/node/images/transform/operations/blur/index.js +21 -6
- package/node/images/transform/operations/brighten/index.js +21 -6
- package/node/images/transform/operations/extend/index.js +586 -13
- package/node/images/transform/operations/extract/index.js +26 -6
- package/node/images/transform/operations/flatten/index.js +581 -13
- package/node/images/transform/operations/flip/index.js +4 -4
- package/node/images/transform/operations/flop/index.js +4 -4
- package/node/images/transform/operations/hue/index.js +23 -6
- package/node/images/transform/operations/index.d.ts +3 -3
- package/node/images/transform/operations/index.js +3 -3
- package/node/images/transform/operations/level/index.js +27 -6
- package/node/images/transform/operations/lighten/index.js +23 -6
- package/node/images/transform/operations/normalize/index.js +24 -6
- package/node/images/transform/operations/overlay/index.js +670 -13
- package/node/images/transform/operations/resize/index.js +607 -13
- package/node/images/transform/operations/rotate/index.js +581 -13
- package/node/images/transform/operations/saturate/index.js +25 -6
- package/node/images/types.js +27 -5
- package/node/images/utils/index.js +563 -13
- package/node/index.d.ts +2 -2
- package/node/index.js +2 -2
- package/node/process/on-exit/index.js +0 -2
- package/node/process/prompt-continue/index.js +0 -2
- package/node/process/spawner/index.js +67 -13
- package/node/sftp/directory/copy-dir/index.js +60 -6
- package/node/sftp/directory/index.d.ts +1 -1
- package/node/sftp/directory/index.js +1 -1
- package/node/sftp/directory/list/index.js +27 -6
- package/node/sftp/directory/move-dir/index.js +35 -6
- package/node/sftp/directory/remove-dir/index.js +42 -6
- package/node/sftp/file/copy/index.js +45 -6
- package/node/sftp/file/download/index.js +30 -6
- package/node/sftp/file/exists/index.js +27 -6
- package/node/sftp/file/index.d.ts +2 -2
- package/node/sftp/file/index.js +2 -2
- package/node/sftp/file/move/index.js +38 -6
- package/node/sftp/file/remove/index.js +33 -6
- package/node/sftp/file/stat/index.js +36 -6
- package/node/sftp/file/upload/index.js +37 -6
- 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,26 +1,161 @@
|
|
|
1
|
+
// src/agnostic/misc/outcome/index.ts
|
|
2
|
+
function makeSuccess(payload) {
|
|
3
|
+
return { success: true, payload };
|
|
4
|
+
}
|
|
5
|
+
function makeFailure(error) {
|
|
6
|
+
return { success: false, error };
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
// src/node/cloud-storage/clients/index.ts
|
|
10
|
+
import { Bucket as GCSBucket } from "@google-cloud/storage";
|
|
11
|
+
import { S3Client } from "@aws-sdk/client-s3";
|
|
12
|
+
import { Client as FtpClient } from "basic-ftp";
|
|
13
|
+
import SftpClient from "ssh2-sftp-client";
|
|
14
|
+
var isGcsBucket = (client) => client instanceof GCSBucket;
|
|
15
|
+
var isS3ClientWithBucket = (client) => "bucketName" in client && typeof client.bucketName === "string" && "client" in client && client.client instanceof S3Client;
|
|
16
|
+
var isFtpClient = (client) => client instanceof FtpClient;
|
|
17
|
+
var isSftpClient = (client) => client instanceof SftpClient;
|
|
18
|
+
|
|
19
|
+
// src/agnostic/errors/unknown-to-string/index.ts
|
|
20
|
+
function unknownToString(unk, encoding) {
|
|
21
|
+
if (unk instanceof Error) return unk.message;
|
|
22
|
+
if (unk instanceof Buffer) return unk.toString(encoding ?? "utf-8");
|
|
23
|
+
if (typeof unk === "string") return unk;
|
|
24
|
+
if (typeof unk === "object" && unk !== null) return JSON.stringify(unk);
|
|
25
|
+
return `${unk}`;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// src/node/ftps/directory/move-dir/index.ts
|
|
29
|
+
async function moveDir(ftpClient, sourceDir, targetDir, options) {
|
|
30
|
+
const { overwrite = false, ensureDir = true } = options ?? {};
|
|
31
|
+
try {
|
|
32
|
+
if (ensureDir) {
|
|
33
|
+
const parentDir = targetDir.substring(0, targetDir.lastIndexOf("/"));
|
|
34
|
+
await ftpClient.ensureDir(parentDir);
|
|
35
|
+
}
|
|
36
|
+
if (!overwrite) {
|
|
37
|
+
try {
|
|
38
|
+
await ftpClient.size(targetDir);
|
|
39
|
+
return makeFailure(`Target ${targetDir} already exists.`);
|
|
40
|
+
} catch {
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
await ftpClient.rename(sourceDir, targetDir);
|
|
44
|
+
return makeSuccess(true);
|
|
45
|
+
} catch (err) {
|
|
46
|
+
return makeFailure(unknownToString(err));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// src/node/sftp/directory/move-dir/index.ts
|
|
51
|
+
async function moveDir2(sftp, sourceDir, targetDir, options) {
|
|
52
|
+
const { overwrite = false, ensureDir = true } = options ?? {};
|
|
53
|
+
try {
|
|
54
|
+
if (ensureDir) {
|
|
55
|
+
const parentDir = targetDir.substring(0, targetDir.lastIndexOf("/"));
|
|
56
|
+
await sftp.mkdir(parentDir, true);
|
|
57
|
+
}
|
|
58
|
+
if (!overwrite) {
|
|
59
|
+
const exists = await sftp.exists(targetDir);
|
|
60
|
+
if (exists !== false) return makeFailure(`Target ${targetDir} already exists.`);
|
|
61
|
+
}
|
|
62
|
+
await sftp.rename(sourceDir, targetDir);
|
|
63
|
+
return makeSuccess(true);
|
|
64
|
+
} catch (err) {
|
|
65
|
+
return makeFailure(unknownToString(err));
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// src/node/@aws-s3/storage/directory/move-dir/index.ts
|
|
1
70
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
} from "
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
71
|
+
ListObjectsV2Command,
|
|
72
|
+
CopyObjectCommand,
|
|
73
|
+
DeleteObjectCommand,
|
|
74
|
+
HeadObjectCommand
|
|
75
|
+
} from "@aws-sdk/client-s3";
|
|
76
|
+
async function moveDir3(client, bucketName, sourceDir, targetDir, options) {
|
|
77
|
+
const {
|
|
78
|
+
listObjectsOptions,
|
|
79
|
+
copyOptions,
|
|
80
|
+
deleteOptions,
|
|
81
|
+
overwrite = false
|
|
82
|
+
} = options ?? {};
|
|
83
|
+
const from = sourceDir.endsWith("/") ? sourceDir : `${sourceDir}/`;
|
|
84
|
+
const to = targetDir.endsWith("/") ? targetDir : `${targetDir}/`;
|
|
85
|
+
try {
|
|
86
|
+
let token;
|
|
87
|
+
do {
|
|
88
|
+
const listResp = await client.send(
|
|
89
|
+
new ListObjectsV2Command({
|
|
90
|
+
Bucket: bucketName,
|
|
91
|
+
Prefix: from,
|
|
92
|
+
ContinuationToken: token,
|
|
93
|
+
...listObjectsOptions
|
|
94
|
+
})
|
|
95
|
+
);
|
|
96
|
+
for (const obj of listResp.Contents ?? []) {
|
|
97
|
+
if (obj.Key === void 0) continue;
|
|
98
|
+
const rel = obj.Key.substring(from.length);
|
|
99
|
+
const dest = `${to}${rel}`;
|
|
100
|
+
if (!overwrite) {
|
|
101
|
+
try {
|
|
102
|
+
await client.send(
|
|
103
|
+
new HeadObjectCommand({ Bucket: bucketName, Key: dest })
|
|
104
|
+
);
|
|
105
|
+
throw new Error(`Object already exists at ${dest}.`);
|
|
106
|
+
} catch (err) {
|
|
107
|
+
if (err.$metadata?.httpStatusCode !== 404 && err.name !== "NotFound")
|
|
108
|
+
throw err;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
await client.send(
|
|
112
|
+
new CopyObjectCommand({
|
|
113
|
+
Bucket: bucketName,
|
|
114
|
+
Key: dest,
|
|
115
|
+
CopySource: `${bucketName}/${obj.Key}`,
|
|
116
|
+
...copyOptions
|
|
117
|
+
})
|
|
118
|
+
);
|
|
119
|
+
await client.send(
|
|
120
|
+
new DeleteObjectCommand({
|
|
121
|
+
Bucket: bucketName,
|
|
122
|
+
Key: obj.Key,
|
|
123
|
+
...deleteOptions
|
|
124
|
+
})
|
|
125
|
+
);
|
|
126
|
+
}
|
|
127
|
+
token = listResp.IsTruncated === true ? listResp.NextContinuationToken : void 0;
|
|
128
|
+
} while (token !== void 0);
|
|
129
|
+
return makeSuccess(true);
|
|
130
|
+
} catch (err) {
|
|
131
|
+
return makeFailure(unknownToString(err));
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// src/node/@google-cloud/storage/directory/move-dir/index.ts
|
|
136
|
+
async function moveDir4(bucket, sourceDir, targetDir, options) {
|
|
137
|
+
const { fileOptions, copyOptions, deleteOptions, overwrite = false } = options ?? {};
|
|
138
|
+
const from = sourceDir.endsWith("/") ? sourceDir : `${sourceDir}/`;
|
|
139
|
+
const to = targetDir.endsWith("/") ? targetDir : `${targetDir}/`;
|
|
140
|
+
try {
|
|
141
|
+
const [files] = await bucket.getFiles({ prefix: from });
|
|
142
|
+
for (const f of files) {
|
|
143
|
+
const rel = f.name.substring(from.length);
|
|
144
|
+
const dest = `${to}${rel}`;
|
|
145
|
+
const srcFile = bucket.file(f.name, fileOptions);
|
|
146
|
+
const destFile = bucket.file(dest, fileOptions);
|
|
147
|
+
if (!overwrite) {
|
|
148
|
+
const [exists] = await destFile.exists();
|
|
149
|
+
if (exists) throw new Error(`File already exists at ${dest}.`);
|
|
150
|
+
}
|
|
151
|
+
await srcFile.copy(dest, copyOptions);
|
|
152
|
+
await srcFile.delete(deleteOptions);
|
|
153
|
+
}
|
|
154
|
+
return makeSuccess(true);
|
|
155
|
+
} catch (err) {
|
|
156
|
+
return makeFailure(unknownToString(err));
|
|
157
|
+
}
|
|
158
|
+
}
|
|
24
159
|
|
|
25
160
|
// src/node/cloud-storage/operations/move-dir/index.ts
|
|
26
161
|
async function moveDir5(client, sourcePath, targetPath, options) {
|
|
@@ -1,26 +1,149 @@
|
|
|
1
|
+
// src/agnostic/misc/outcome/index.ts
|
|
2
|
+
function makeSuccess(payload) {
|
|
3
|
+
return { success: true, payload };
|
|
4
|
+
}
|
|
5
|
+
function makeFailure(error) {
|
|
6
|
+
return { success: false, error };
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
// src/node/cloud-storage/clients/index.ts
|
|
10
|
+
import { Bucket as GCSBucket } from "@google-cloud/storage";
|
|
11
|
+
import { S3Client } from "@aws-sdk/client-s3";
|
|
12
|
+
import { Client as FtpClient } from "basic-ftp";
|
|
13
|
+
import SftpClient from "ssh2-sftp-client";
|
|
14
|
+
var isGcsBucket = (client) => client instanceof GCSBucket;
|
|
15
|
+
var isS3ClientWithBucket = (client) => "bucketName" in client && typeof client.bucketName === "string" && "client" in client && client.client instanceof S3Client;
|
|
16
|
+
var isFtpClient = (client) => client instanceof FtpClient;
|
|
17
|
+
var isSftpClient = (client) => client instanceof SftpClient;
|
|
18
|
+
|
|
19
|
+
// src/agnostic/errors/unknown-to-string/index.ts
|
|
20
|
+
function unknownToString(unk, encoding) {
|
|
21
|
+
if (unk instanceof Error) return unk.message;
|
|
22
|
+
if (unk instanceof Buffer) return unk.toString(encoding ?? "utf-8");
|
|
23
|
+
if (typeof unk === "string") return unk;
|
|
24
|
+
if (typeof unk === "object" && unk !== null) return JSON.stringify(unk);
|
|
25
|
+
return `${unk}`;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// src/node/ftps/file/move/index.ts
|
|
29
|
+
async function move(ftpClient, sourcePath, targetPath, options) {
|
|
30
|
+
const {
|
|
31
|
+
ensureDir = true,
|
|
32
|
+
overwrite = false
|
|
33
|
+
} = options ?? {};
|
|
34
|
+
try {
|
|
35
|
+
if (ensureDir) {
|
|
36
|
+
const dirPath = targetPath.substring(0, targetPath.lastIndexOf("/"));
|
|
37
|
+
await ftpClient.ensureDir(dirPath);
|
|
38
|
+
}
|
|
39
|
+
if (!overwrite) {
|
|
40
|
+
try {
|
|
41
|
+
await ftpClient.size(targetPath);
|
|
42
|
+
return makeFailure(`File already exists at ${targetPath}.`);
|
|
43
|
+
} catch (err) {
|
|
44
|
+
if (err.code !== 550) {
|
|
45
|
+
return makeFailure(unknownToString(err));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
await ftpClient.rename(sourcePath, targetPath);
|
|
50
|
+
return makeSuccess(true);
|
|
51
|
+
} catch (err) {
|
|
52
|
+
return makeFailure(unknownToString(err));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// src/node/sftp/file/move/index.ts
|
|
57
|
+
async function move2(sftp, sourcePath, targetPath, options) {
|
|
58
|
+
const {
|
|
59
|
+
ensureDir = true,
|
|
60
|
+
overwrite = false
|
|
61
|
+
} = options ?? {};
|
|
62
|
+
try {
|
|
63
|
+
if (ensureDir) {
|
|
64
|
+
const dirPath = targetPath.substring(0, targetPath.lastIndexOf("/"));
|
|
65
|
+
await sftp.mkdir(dirPath, true);
|
|
66
|
+
}
|
|
67
|
+
if (!overwrite) {
|
|
68
|
+
const exists = await sftp.exists(targetPath) !== false;
|
|
69
|
+
if (exists) return makeFailure(`File already exists at ${targetPath}.`);
|
|
70
|
+
}
|
|
71
|
+
await sftp.rename(sourcePath, targetPath);
|
|
72
|
+
return makeSuccess(true);
|
|
73
|
+
} catch (err) {
|
|
74
|
+
return makeFailure(unknownToString(err));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// src/node/@aws-s3/storage/file/move/index.ts
|
|
1
79
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
|
|
80
|
+
HeadObjectCommand,
|
|
81
|
+
CopyObjectCommand,
|
|
82
|
+
DeleteObjectCommand
|
|
83
|
+
} from "@aws-sdk/client-s3";
|
|
84
|
+
async function move3(client, bucketName, sourcePath, targetPath, options) {
|
|
85
|
+
const {
|
|
86
|
+
copyOptions,
|
|
87
|
+
deleteOptions,
|
|
88
|
+
overwrite = false
|
|
89
|
+
} = options ?? {};
|
|
90
|
+
try {
|
|
91
|
+
if (!overwrite) {
|
|
92
|
+
try {
|
|
93
|
+
await client.send(new HeadObjectCommand({ Bucket: bucketName, Key: targetPath }));
|
|
94
|
+
return makeFailure(`Object already exists at ${targetPath}.`);
|
|
95
|
+
} catch (err) {
|
|
96
|
+
const notFound = err.$metadata?.httpStatusCode === 404 || err.name === "NotFound" || err.Code === "NotFound" || err.Code === "NoSuchKey";
|
|
97
|
+
if (!notFound) {
|
|
98
|
+
return makeFailure(unknownToString(err));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
await client.send(
|
|
103
|
+
new CopyObjectCommand({
|
|
104
|
+
Bucket: bucketName,
|
|
105
|
+
Key: targetPath,
|
|
106
|
+
CopySource: `${bucketName}/${sourcePath}`,
|
|
107
|
+
...copyOptions
|
|
108
|
+
})
|
|
109
|
+
);
|
|
110
|
+
await client.send(
|
|
111
|
+
new DeleteObjectCommand({
|
|
112
|
+
Bucket: bucketName,
|
|
113
|
+
Key: sourcePath,
|
|
114
|
+
...deleteOptions
|
|
115
|
+
})
|
|
116
|
+
);
|
|
117
|
+
return makeSuccess(true);
|
|
118
|
+
} catch (err) {
|
|
119
|
+
return makeFailure(unknownToString(err));
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
// src/node/@google-cloud/storage/file/move/index.ts
|
|
124
|
+
async function move4(bucket, sourcePath, targetPath, options) {
|
|
125
|
+
const {
|
|
126
|
+
fileOptions,
|
|
127
|
+
copyOptions,
|
|
128
|
+
deleteOptions,
|
|
129
|
+
overwrite = false
|
|
130
|
+
} = options ?? {};
|
|
131
|
+
try {
|
|
132
|
+
const srcFile = bucket.file(sourcePath, fileOptions);
|
|
133
|
+
const destFile = bucket.file(targetPath, fileOptions);
|
|
134
|
+
if (!overwrite) {
|
|
135
|
+
const [exists] = await destFile.exists();
|
|
136
|
+
if (exists) {
|
|
137
|
+
return makeFailure(`Object already exists at ${targetPath}.`);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
await srcFile.copy(destFile, copyOptions);
|
|
141
|
+
await srcFile.delete(deleteOptions);
|
|
142
|
+
return makeSuccess(true);
|
|
143
|
+
} catch (err) {
|
|
144
|
+
return makeFailure(unknownToString(err));
|
|
145
|
+
}
|
|
146
|
+
}
|
|
24
147
|
|
|
25
148
|
// src/node/cloud-storage/operations/move-file/index.ts
|
|
26
149
|
async function moveFile(client, sourcePath, targetPath, options) {
|
|
@@ -1,26 +1,151 @@
|
|
|
1
|
+
// src/agnostic/misc/outcome/index.ts
|
|
2
|
+
function makeSuccess(payload) {
|
|
3
|
+
return { success: true, payload };
|
|
4
|
+
}
|
|
5
|
+
function makeFailure(error) {
|
|
6
|
+
return { success: false, error };
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
// src/node/cloud-storage/clients/index.ts
|
|
10
|
+
import { Bucket as GCSBucket } from "@google-cloud/storage";
|
|
11
|
+
import { S3Client } from "@aws-sdk/client-s3";
|
|
12
|
+
import { Client as FtpClient } from "basic-ftp";
|
|
13
|
+
import SftpClient from "ssh2-sftp-client";
|
|
14
|
+
var isGcsBucket = (client) => client instanceof GCSBucket;
|
|
15
|
+
var isS3ClientWithBucket = (client) => "bucketName" in client && typeof client.bucketName === "string" && "client" in client && client.client instanceof S3Client;
|
|
16
|
+
var isFtpClient = (client) => client instanceof FtpClient;
|
|
17
|
+
var isSftpClient = (client) => client instanceof SftpClient;
|
|
18
|
+
|
|
19
|
+
// src/agnostic/errors/unknown-to-string/index.ts
|
|
20
|
+
function unknownToString(unk, encoding) {
|
|
21
|
+
if (unk instanceof Error) return unk.message;
|
|
22
|
+
if (unk instanceof Buffer) return unk.toString(encoding ?? "utf-8");
|
|
23
|
+
if (typeof unk === "string") return unk;
|
|
24
|
+
if (typeof unk === "object" && unk !== null) return JSON.stringify(unk);
|
|
25
|
+
return `${unk}`;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// src/node/ftps/directory/remove-dir/index.ts
|
|
29
|
+
async function removeDir(ftpClient, directoryPath, options) {
|
|
30
|
+
const { ignoreMissing = true } = options ?? {};
|
|
31
|
+
async function recurse(dir) {
|
|
32
|
+
const list = await ftpClient.list(dir);
|
|
33
|
+
for (const entry of list) {
|
|
34
|
+
const full = dir.endsWith("/") ? dir + entry.name : `${dir}/${entry.name}`;
|
|
35
|
+
if (entry.isDirectory) {
|
|
36
|
+
await recurse(full);
|
|
37
|
+
} else if (entry.isFile) {
|
|
38
|
+
await ftpClient.remove(full);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
await ftpClient.removeDir(dir);
|
|
42
|
+
}
|
|
43
|
+
try {
|
|
44
|
+
await recurse(directoryPath);
|
|
45
|
+
return makeSuccess(true);
|
|
46
|
+
} catch (err) {
|
|
47
|
+
if (ignoreMissing && err.code === 550) {
|
|
48
|
+
return makeSuccess(true);
|
|
49
|
+
}
|
|
50
|
+
return makeFailure(unknownToString(err));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// src/node/sftp/directory/remove-dir/index.ts
|
|
55
|
+
async function removeDir2(sftp, directoryPath, options) {
|
|
56
|
+
const { ignoreMissing = true } = options ?? {};
|
|
57
|
+
async function recurse(dir) {
|
|
58
|
+
const list = await sftp.list(dir);
|
|
59
|
+
for (const entry of list) {
|
|
60
|
+
const full = dir.endsWith("/") ? dir + entry.name : `${dir}/${entry.name}`;
|
|
61
|
+
if (entry.type === "d") {
|
|
62
|
+
await recurse(full);
|
|
63
|
+
} else if (entry.type === "-") {
|
|
64
|
+
await sftp.delete(full);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
await sftp.rmdir(dir);
|
|
68
|
+
}
|
|
69
|
+
try {
|
|
70
|
+
await recurse(directoryPath);
|
|
71
|
+
return makeSuccess(true);
|
|
72
|
+
} catch (err) {
|
|
73
|
+
if (ignoreMissing && (err.code === 2 || err.code === "ENOENT")) {
|
|
74
|
+
return makeSuccess(true);
|
|
75
|
+
}
|
|
76
|
+
return makeFailure(unknownToString(err));
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// src/node/@aws-s3/storage/directory/remove-dir/index.ts
|
|
1
81
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
82
|
+
ListObjectsV2Command,
|
|
83
|
+
DeleteObjectsCommand
|
|
84
|
+
} from "@aws-sdk/client-s3";
|
|
85
|
+
async function removeDir3(client, bucketName, directoryPath, options) {
|
|
86
|
+
const {
|
|
87
|
+
listObjectsOptions,
|
|
88
|
+
deleteObjectsOptions,
|
|
89
|
+
ignoreMissing = true
|
|
90
|
+
} = options ?? {};
|
|
91
|
+
const prefix = directoryPath.endsWith("/") ? directoryPath : `${directoryPath}/`;
|
|
92
|
+
let continuationToken;
|
|
93
|
+
let anyFound = false;
|
|
94
|
+
try {
|
|
95
|
+
do {
|
|
96
|
+
const listResp = await client.send(
|
|
97
|
+
new ListObjectsV2Command({
|
|
98
|
+
Bucket: bucketName,
|
|
99
|
+
Prefix: prefix,
|
|
100
|
+
ContinuationToken: continuationToken,
|
|
101
|
+
...listObjectsOptions
|
|
102
|
+
})
|
|
103
|
+
);
|
|
104
|
+
const keys = (listResp.Contents ?? []).map((o) => o.Key).filter((e) => e !== void 0);
|
|
105
|
+
if (keys.length > 0) {
|
|
106
|
+
anyFound = true;
|
|
107
|
+
for (let i = 0; i < keys.length; i += 1e3) {
|
|
108
|
+
const chunk = keys.slice(i, i + 1e3);
|
|
109
|
+
await client.send(
|
|
110
|
+
new DeleteObjectsCommand({
|
|
111
|
+
Bucket: bucketName,
|
|
112
|
+
Delete: { Objects: chunk.map((Key) => ({ Key })) },
|
|
113
|
+
...deleteObjectsOptions
|
|
114
|
+
})
|
|
115
|
+
);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
continuationToken = listResp.IsTruncated === true ? listResp.NextContinuationToken : void 0;
|
|
119
|
+
} while (continuationToken !== void 0);
|
|
120
|
+
if (!anyFound && !ignoreMissing) {
|
|
121
|
+
return makeFailure(`No objects found for prefix "${prefix}".`);
|
|
122
|
+
}
|
|
123
|
+
return makeSuccess(true);
|
|
124
|
+
} catch (err) {
|
|
125
|
+
return makeFailure(unknownToString(err));
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// src/node/@google-cloud/storage/directory/remove-dir/index.ts
|
|
130
|
+
async function removeDir4(bucket, directoryPath, options) {
|
|
131
|
+
const {
|
|
132
|
+
deleteOptions,
|
|
133
|
+
ignoreMissing = true
|
|
134
|
+
} = options ?? {};
|
|
135
|
+
const prefix = directoryPath.endsWith("/") ? directoryPath : `${directoryPath}/`;
|
|
136
|
+
try {
|
|
137
|
+
if (!ignoreMissing) {
|
|
138
|
+
const [some] = await bucket.getFiles({ prefix, maxResults: 1 });
|
|
139
|
+
if (some.length === 0) {
|
|
140
|
+
return makeFailure(`No objects found for prefix "${prefix}".`);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
await bucket.deleteFiles({ prefix, ...deleteOptions });
|
|
144
|
+
return makeSuccess(true);
|
|
145
|
+
} catch (err) {
|
|
146
|
+
return makeFailure(unknownToString(err));
|
|
147
|
+
}
|
|
148
|
+
}
|
|
24
149
|
|
|
25
150
|
// src/node/cloud-storage/operations/remove-dir/index.ts
|
|
26
151
|
async function removeDir5(client, sourcePath, options) {
|
|
@@ -1,26 +1,113 @@
|
|
|
1
|
+
// src/agnostic/misc/outcome/index.ts
|
|
2
|
+
function makeSuccess(payload) {
|
|
3
|
+
return { success: true, payload };
|
|
4
|
+
}
|
|
5
|
+
function makeFailure(error) {
|
|
6
|
+
return { success: false, error };
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
// src/node/cloud-storage/clients/index.ts
|
|
10
|
+
import { Bucket as GCSBucket } from "@google-cloud/storage";
|
|
11
|
+
import { S3Client } from "@aws-sdk/client-s3";
|
|
12
|
+
import { Client as FtpClient } from "basic-ftp";
|
|
13
|
+
import SftpClient from "ssh2-sftp-client";
|
|
14
|
+
var isGcsBucket = (client) => client instanceof GCSBucket;
|
|
15
|
+
var isS3ClientWithBucket = (client) => "bucketName" in client && typeof client.bucketName === "string" && "client" in client && client.client instanceof S3Client;
|
|
16
|
+
var isFtpClient = (client) => client instanceof FtpClient;
|
|
17
|
+
var isSftpClient = (client) => client instanceof SftpClient;
|
|
18
|
+
|
|
19
|
+
// src/agnostic/errors/unknown-to-string/index.ts
|
|
20
|
+
function unknownToString(unk, encoding) {
|
|
21
|
+
if (unk instanceof Error) return unk.message;
|
|
22
|
+
if (unk instanceof Buffer) return unk.toString(encoding ?? "utf-8");
|
|
23
|
+
if (typeof unk === "string") return unk;
|
|
24
|
+
if (typeof unk === "object" && unk !== null) return JSON.stringify(unk);
|
|
25
|
+
return `${unk}`;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// src/node/ftps/file/remove/index.ts
|
|
29
|
+
async function remove(ftpClient, targetPath, options) {
|
|
30
|
+
const { ignoreMissing = true } = options ?? {};
|
|
31
|
+
try {
|
|
32
|
+
let fileExists = true;
|
|
33
|
+
try {
|
|
34
|
+
await ftpClient.size(targetPath);
|
|
35
|
+
} catch {
|
|
36
|
+
fileExists = false;
|
|
37
|
+
}
|
|
38
|
+
if (!fileExists) {
|
|
39
|
+
if (ignoreMissing) {
|
|
40
|
+
return makeSuccess(true);
|
|
41
|
+
}
|
|
42
|
+
return makeFailure(`File not found at ${targetPath}.`);
|
|
43
|
+
}
|
|
44
|
+
await ftpClient.remove(targetPath);
|
|
45
|
+
return makeSuccess(true);
|
|
46
|
+
} catch (err) {
|
|
47
|
+
const errStr = unknownToString(err);
|
|
48
|
+
return makeFailure(errStr);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// src/node/sftp/file/remove/index.ts
|
|
53
|
+
async function remove2(sftp, targetPath, options) {
|
|
54
|
+
const { ignoreMissing = true } = options ?? {};
|
|
55
|
+
try {
|
|
56
|
+
const exists = await sftp.exists(targetPath) !== false;
|
|
57
|
+
if (!exists) {
|
|
58
|
+
if (ignoreMissing) return makeSuccess(true);
|
|
59
|
+
return makeFailure(`File not found at ${targetPath}.`);
|
|
60
|
+
}
|
|
61
|
+
await sftp.delete(targetPath);
|
|
62
|
+
return makeSuccess(true);
|
|
63
|
+
} catch (err) {
|
|
64
|
+
const errStr = unknownToString(err);
|
|
65
|
+
return makeFailure(errStr);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// src/node/@aws-s3/storage/file/remove/index.ts
|
|
1
70
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
71
|
+
HeadObjectCommand,
|
|
72
|
+
DeleteObjectCommand
|
|
73
|
+
} from "@aws-sdk/client-s3";
|
|
74
|
+
async function remove3(s3, bucketName, targetPath, options) {
|
|
75
|
+
const { ignoreMissing = true } = options ?? {};
|
|
76
|
+
try {
|
|
77
|
+
try {
|
|
78
|
+
await s3.send(new HeadObjectCommand({ Bucket: bucketName, Key: targetPath }));
|
|
79
|
+
} catch (err) {
|
|
80
|
+
const code = err?.name ?? err?.Code ?? err?.code;
|
|
81
|
+
if (code === "NotFound" || code === "NoSuchKey" || code === "NotFoundException") {
|
|
82
|
+
if (ignoreMissing) return makeSuccess(true);
|
|
83
|
+
return makeFailure(`File not found at ${targetPath}.`);
|
|
84
|
+
}
|
|
85
|
+
return makeFailure(unknownToString(err));
|
|
86
|
+
}
|
|
87
|
+
await s3.send(new DeleteObjectCommand({ Bucket: bucketName, Key: targetPath }));
|
|
88
|
+
return makeSuccess(true);
|
|
89
|
+
} catch (err) {
|
|
90
|
+
return makeFailure(unknownToString(err));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// src/node/@google-cloud/storage/file/remove/index.ts
|
|
95
|
+
async function remove4(bucket, targetPath, options) {
|
|
96
|
+
const { fileOptions, deleteOptions, ignoreMissing = true } = options ?? {};
|
|
97
|
+
try {
|
|
98
|
+
const file = bucket.file(targetPath, fileOptions);
|
|
99
|
+
const [exists] = await file.exists();
|
|
100
|
+
if (!exists) {
|
|
101
|
+
if (ignoreMissing) return makeSuccess(true);
|
|
102
|
+
return makeFailure(`File not found at ${targetPath}.`);
|
|
103
|
+
}
|
|
104
|
+
await file.delete(deleteOptions);
|
|
105
|
+
return makeSuccess(true);
|
|
106
|
+
} catch (err) {
|
|
107
|
+
const errStr = unknownToString(err);
|
|
108
|
+
return makeFailure(errStr);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
24
111
|
|
|
25
112
|
// src/node/cloud-storage/operations/remove-file/index.ts
|
|
26
113
|
async function removeFile(client, path, options) {
|