@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,11 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
|
|
1
|
+
// src/agnostic/errors/unknown-to-string/index.ts
|
|
2
|
+
function unknownToString(unk, encoding) {
|
|
3
|
+
if (unk instanceof Error) return unk.message;
|
|
4
|
+
if (unk instanceof Buffer) return unk.toString(encoding ?? "utf-8");
|
|
5
|
+
if (typeof unk === "string") return unk;
|
|
6
|
+
if (typeof unk === "object" && unk !== null) return JSON.stringify(unk);
|
|
7
|
+
return `${unk}`;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
// src/agnostic/misc/outcome/index.ts
|
|
11
|
+
function makeSuccess(payload) {
|
|
12
|
+
return { success: true, payload };
|
|
13
|
+
}
|
|
14
|
+
function makeFailure(error) {
|
|
15
|
+
return { success: false, error };
|
|
16
|
+
}
|
|
9
17
|
|
|
10
18
|
// src/node/@google-cloud/storage/file/get-permissions/index.ts
|
|
11
19
|
async function getPermissions(bucket, sourcePath, options) {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export * as copy from './copy/index.js'
|
|
2
2
|
export * as download from './download/index.js'
|
|
3
3
|
export * as exists from './exists/index.js'
|
|
4
|
-
export * as getMetadata from './get-metadata/index.js'
|
|
5
4
|
export * as generateSignedUrl from './generate-signed-url/index.js'
|
|
6
|
-
export * as
|
|
5
|
+
export * as getMetadata from './get-metadata/index.js'
|
|
7
6
|
export * as move from './move/index.js'
|
|
8
7
|
export * as remove from './remove/index.js'
|
|
9
8
|
export * as revokeSignedUrls from './revoke-signed-urls/index.js'
|
|
10
|
-
export * as stat from './stat/index.js'
|
|
11
9
|
export * as updateMetadata from './update-metadata/index.js'
|
|
12
10
|
export * as upload from './upload/index.js'
|
|
11
|
+
export * as stat from './stat/index.js'
|
|
12
|
+
export * as getPermissions from './get-permissions/index.js'
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export * as copy from './copy/index.js'
|
|
2
2
|
export * as download from './download/index.js'
|
|
3
3
|
export * as exists from './exists/index.js'
|
|
4
|
-
export * as getMetadata from './get-metadata/index.js'
|
|
5
4
|
export * as generateSignedUrl from './generate-signed-url/index.js'
|
|
6
|
-
export * as
|
|
5
|
+
export * as getMetadata from './get-metadata/index.js'
|
|
7
6
|
export * as move from './move/index.js'
|
|
8
7
|
export * as remove from './remove/index.js'
|
|
9
8
|
export * as revokeSignedUrls from './revoke-signed-urls/index.js'
|
|
10
|
-
export * as stat from './stat/index.js'
|
|
11
9
|
export * as updateMetadata from './update-metadata/index.js'
|
|
12
10
|
export * as upload from './upload/index.js'
|
|
11
|
+
export * as stat from './stat/index.js'
|
|
12
|
+
export * as getPermissions from './get-permissions/index.js'
|
|
@@ -1,9 +1,44 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
// src/agnostic/errors/unknown-to-string/index.ts
|
|
2
|
+
function unknownToString(unk, encoding) {
|
|
3
|
+
if (unk instanceof Error) return unk.message;
|
|
4
|
+
if (unk instanceof Buffer) return unk.toString(encoding ?? "utf-8");
|
|
5
|
+
if (typeof unk === "string") return unk;
|
|
6
|
+
if (typeof unk === "object" && unk !== null) return JSON.stringify(unk);
|
|
7
|
+
return `${unk}`;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
// src/agnostic/misc/outcome/index.ts
|
|
11
|
+
function makeSuccess(payload) {
|
|
12
|
+
return { success: true, payload };
|
|
13
|
+
}
|
|
14
|
+
function makeFailure(error) {
|
|
15
|
+
return { success: false, error };
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// src/node/@google-cloud/storage/file/move/index.ts
|
|
19
|
+
async function move(bucket, sourcePath, targetPath, options) {
|
|
20
|
+
const {
|
|
21
|
+
fileOptions,
|
|
22
|
+
copyOptions,
|
|
23
|
+
deleteOptions,
|
|
24
|
+
overwrite = false
|
|
25
|
+
} = options ?? {};
|
|
26
|
+
try {
|
|
27
|
+
const srcFile = bucket.file(sourcePath, fileOptions);
|
|
28
|
+
const destFile = bucket.file(targetPath, fileOptions);
|
|
29
|
+
if (!overwrite) {
|
|
30
|
+
const [exists] = await destFile.exists();
|
|
31
|
+
if (exists) {
|
|
32
|
+
return makeFailure(`Object already exists at ${targetPath}.`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
await srcFile.copy(destFile, copyOptions);
|
|
36
|
+
await srcFile.delete(deleteOptions);
|
|
37
|
+
return makeSuccess(true);
|
|
38
|
+
} catch (err) {
|
|
39
|
+
return makeFailure(unknownToString(err));
|
|
40
|
+
}
|
|
41
|
+
}
|
|
7
42
|
export {
|
|
8
43
|
move
|
|
9
44
|
};
|
|
@@ -1,9 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
// src/agnostic/errors/unknown-to-string/index.ts
|
|
2
|
+
function unknownToString(unk, encoding) {
|
|
3
|
+
if (unk instanceof Error) return unk.message;
|
|
4
|
+
if (unk instanceof Buffer) return unk.toString(encoding ?? "utf-8");
|
|
5
|
+
if (typeof unk === "string") return unk;
|
|
6
|
+
if (typeof unk === "object" && unk !== null) return JSON.stringify(unk);
|
|
7
|
+
return `${unk}`;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
// src/agnostic/misc/outcome/index.ts
|
|
11
|
+
function makeSuccess(payload) {
|
|
12
|
+
return { success: true, payload };
|
|
13
|
+
}
|
|
14
|
+
function makeFailure(error) {
|
|
15
|
+
return { success: false, error };
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// src/node/@google-cloud/storage/file/remove/index.ts
|
|
19
|
+
async function remove(bucket, targetPath, options) {
|
|
20
|
+
const { fileOptions, deleteOptions, ignoreMissing = true } = options ?? {};
|
|
21
|
+
try {
|
|
22
|
+
const file = bucket.file(targetPath, fileOptions);
|
|
23
|
+
const [exists] = await file.exists();
|
|
24
|
+
if (!exists) {
|
|
25
|
+
if (ignoreMissing) return makeSuccess(true);
|
|
26
|
+
return makeFailure(`File not found at ${targetPath}.`);
|
|
27
|
+
}
|
|
28
|
+
await file.delete(deleteOptions);
|
|
29
|
+
return makeSuccess(true);
|
|
30
|
+
} catch (err) {
|
|
31
|
+
const errStr = unknownToString(err);
|
|
32
|
+
return makeFailure(errStr);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
7
35
|
export {
|
|
8
36
|
remove
|
|
9
37
|
};
|
|
@@ -1,17 +1,83 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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/agnostic/errors/unknown-to-string/index.ts
|
|
10
|
+
function unknownToString(unk, encoding) {
|
|
11
|
+
if (unk instanceof Error) return unk.message;
|
|
12
|
+
if (unk instanceof Buffer) return unk.toString(encoding ?? "utf-8");
|
|
13
|
+
if (typeof unk === "string") return unk;
|
|
14
|
+
if (typeof unk === "object" && unk !== null) return JSON.stringify(unk);
|
|
15
|
+
return `${unk}`;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// src/node/@google-cloud/storage/file/download/index.ts
|
|
19
|
+
async function download(bucket, sourcePath, options) {
|
|
20
|
+
const { fileOptions, downloadOptions } = options ?? {};
|
|
21
|
+
try {
|
|
22
|
+
const file = bucket.file(sourcePath, fileOptions);
|
|
23
|
+
const stream = file.createReadStream(downloadOptions);
|
|
24
|
+
stream.on("error", (err) => {
|
|
25
|
+
throw err;
|
|
26
|
+
});
|
|
27
|
+
return makeSuccess(stream);
|
|
28
|
+
} catch (err) {
|
|
29
|
+
const errStr = unknownToString(err);
|
|
30
|
+
return makeFailure(errStr);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// src/node/@google-cloud/storage/file/remove/index.ts
|
|
35
|
+
async function remove(bucket, targetPath, options) {
|
|
36
|
+
const { fileOptions, deleteOptions, ignoreMissing = true } = options ?? {};
|
|
37
|
+
try {
|
|
38
|
+
const file = bucket.file(targetPath, fileOptions);
|
|
39
|
+
const [exists] = await file.exists();
|
|
40
|
+
if (!exists) {
|
|
41
|
+
if (ignoreMissing) return makeSuccess(true);
|
|
42
|
+
return makeFailure(`File not found at ${targetPath}.`);
|
|
43
|
+
}
|
|
44
|
+
await file.delete(deleteOptions);
|
|
45
|
+
return makeSuccess(true);
|
|
46
|
+
} catch (err) {
|
|
47
|
+
const errStr = unknownToString(err);
|
|
48
|
+
return makeFailure(errStr);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// src/node/@google-cloud/storage/file/upload/index.ts
|
|
53
|
+
async function upload(bucket, targetPath, fileStream, options) {
|
|
54
|
+
const { fileOptions, saveOptions, overwrite = false } = options ?? {};
|
|
55
|
+
const file = bucket.file(targetPath, fileOptions);
|
|
56
|
+
if (!overwrite) {
|
|
57
|
+
try {
|
|
58
|
+
const [exists] = await file.exists();
|
|
59
|
+
if (exists) {
|
|
60
|
+
return makeFailure(`File already exists at ${targetPath}.`);
|
|
61
|
+
}
|
|
62
|
+
} catch (err) {
|
|
63
|
+
const errStr = unknownToString(err);
|
|
64
|
+
return makeFailure(errStr);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
try {
|
|
68
|
+
await new Promise((resolve, reject) => {
|
|
69
|
+
const writeStream = file.createWriteStream(saveOptions);
|
|
70
|
+
fileStream.pipe(writeStream);
|
|
71
|
+
fileStream.on("error", reject);
|
|
72
|
+
writeStream.on("finish", resolve);
|
|
73
|
+
writeStream.on("error", reject);
|
|
74
|
+
});
|
|
75
|
+
return makeSuccess(true);
|
|
76
|
+
} catch (err) {
|
|
77
|
+
const errStr = unknownToString(err);
|
|
78
|
+
return makeFailure(errStr);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
15
81
|
|
|
16
82
|
// src/node/@google-cloud/storage/file/revoke-signed-urls/index.ts
|
|
17
83
|
async function revokeSignedUrls(bucket, targetPath, options) {
|
|
@@ -1,9 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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/agnostic/errors/unknown-to-string/index.ts
|
|
10
|
+
function unknownToString(unk, encoding) {
|
|
11
|
+
if (unk instanceof Error) return unk.message;
|
|
12
|
+
if (unk instanceof Buffer) return unk.toString(encoding ?? "utf-8");
|
|
13
|
+
if (typeof unk === "string") return unk;
|
|
14
|
+
if (typeof unk === "object" && unk !== null) return JSON.stringify(unk);
|
|
15
|
+
return `${unk}`;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// src/node/@google-cloud/storage/file/stat/index.ts
|
|
19
|
+
async function stat(bucket, path, options) {
|
|
20
|
+
const { fileOptions, getMetadataOptions } = options ?? {};
|
|
21
|
+
try {
|
|
22
|
+
const [meta] = await bucket.file(path, fileOptions).getMetadata(getMetadataOptions);
|
|
23
|
+
const res = {
|
|
24
|
+
size: meta.size !== void 0 ? Number(meta.size) : void 0,
|
|
25
|
+
modifiedAt: meta.updated !== void 0 ? new Date(meta.updated) : void 0,
|
|
26
|
+
checksum: meta.md5Hash ?? meta.crc32c,
|
|
27
|
+
contentType: meta.contentType,
|
|
28
|
+
metadata: meta.metadata,
|
|
29
|
+
storageClass: meta.storageClass,
|
|
30
|
+
raw: meta
|
|
31
|
+
};
|
|
32
|
+
return makeSuccess(res);
|
|
33
|
+
} catch (err) {
|
|
34
|
+
return makeFailure(unknownToString(err));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
7
37
|
export {
|
|
8
38
|
stat
|
|
9
39
|
};
|
|
@@ -1,11 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
|
|
1
|
+
// src/agnostic/errors/unknown-to-string/index.ts
|
|
2
|
+
function unknownToString(unk, encoding) {
|
|
3
|
+
if (unk instanceof Error) return unk.message;
|
|
4
|
+
if (unk instanceof Buffer) return unk.toString(encoding ?? "utf-8");
|
|
5
|
+
if (typeof unk === "string") return unk;
|
|
6
|
+
if (typeof unk === "object" && unk !== null) return JSON.stringify(unk);
|
|
7
|
+
return `${unk}`;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
// src/agnostic/misc/outcome/index.ts
|
|
11
|
+
function makeSuccess(payload) {
|
|
12
|
+
return { success: true, payload };
|
|
13
|
+
}
|
|
14
|
+
function makeFailure(error) {
|
|
15
|
+
return { success: false, error };
|
|
16
|
+
}
|
|
9
17
|
|
|
10
18
|
// src/node/@google-cloud/storage/file/update-metadata/index.ts
|
|
11
19
|
async function updateFileMetadata(bucket, targetPath, metadata, options) {
|
|
@@ -1,9 +1,49 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
// src/agnostic/errors/unknown-to-string/index.ts
|
|
2
|
+
function unknownToString(unk, encoding) {
|
|
3
|
+
if (unk instanceof Error) return unk.message;
|
|
4
|
+
if (unk instanceof Buffer) return unk.toString(encoding ?? "utf-8");
|
|
5
|
+
if (typeof unk === "string") return unk;
|
|
6
|
+
if (typeof unk === "object" && unk !== null) return JSON.stringify(unk);
|
|
7
|
+
return `${unk}`;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
// src/agnostic/misc/outcome/index.ts
|
|
11
|
+
function makeSuccess(payload) {
|
|
12
|
+
return { success: true, payload };
|
|
13
|
+
}
|
|
14
|
+
function makeFailure(error) {
|
|
15
|
+
return { success: false, error };
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// src/node/@google-cloud/storage/file/upload/index.ts
|
|
19
|
+
async function upload(bucket, targetPath, fileStream, options) {
|
|
20
|
+
const { fileOptions, saveOptions, overwrite = false } = options ?? {};
|
|
21
|
+
const file = bucket.file(targetPath, fileOptions);
|
|
22
|
+
if (!overwrite) {
|
|
23
|
+
try {
|
|
24
|
+
const [exists] = await file.exists();
|
|
25
|
+
if (exists) {
|
|
26
|
+
return makeFailure(`File already exists at ${targetPath}.`);
|
|
27
|
+
}
|
|
28
|
+
} catch (err) {
|
|
29
|
+
const errStr = unknownToString(err);
|
|
30
|
+
return makeFailure(errStr);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
try {
|
|
34
|
+
await new Promise((resolve, reject) => {
|
|
35
|
+
const writeStream = file.createWriteStream(saveOptions);
|
|
36
|
+
fileStream.pipe(writeStream);
|
|
37
|
+
fileStream.on("error", reject);
|
|
38
|
+
writeStream.on("finish", resolve);
|
|
39
|
+
writeStream.on("error", reject);
|
|
40
|
+
});
|
|
41
|
+
return makeSuccess(true);
|
|
42
|
+
} catch (err) {
|
|
43
|
+
const errStr = unknownToString(err);
|
|
44
|
+
return makeFailure(errStr);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
7
47
|
export {
|
|
8
48
|
upload
|
|
9
49
|
};
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
// src/node/cloud-storage/clients/index.ts
|
|
2
|
+
import { Bucket as GCSBucket } from "@google-cloud/storage";
|
|
3
|
+
import { S3Client } from "@aws-sdk/client-s3";
|
|
4
|
+
import { Client as FtpClient } from "basic-ftp";
|
|
5
|
+
import SftpClient from "ssh2-sftp-client";
|
|
6
|
+
var isGcsBucket = (client) => client instanceof GCSBucket;
|
|
7
|
+
var isS3ClientWithBucket = (client) => "bucketName" in client && typeof client.bucketName === "string" && "client" in client && client.client instanceof S3Client;
|
|
8
|
+
var isFtpClient = (client) => client instanceof FtpClient;
|
|
9
|
+
var isSftpClient = (client) => client instanceof SftpClient;
|
|
8
10
|
export {
|
|
9
11
|
isFtpClient,
|
|
10
12
|
isGcsBucket,
|
|
@@ -1,26 +1,195 @@
|
|
|
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/node/ftps/directory/copy-dir/index.ts
|
|
20
|
+
import { PassThrough } from "node:stream";
|
|
21
|
+
|
|
22
|
+
// src/agnostic/errors/unknown-to-string/index.ts
|
|
23
|
+
function unknownToString(unk, encoding) {
|
|
24
|
+
if (unk instanceof Error) return unk.message;
|
|
25
|
+
if (unk instanceof Buffer) return unk.toString(encoding ?? "utf-8");
|
|
26
|
+
if (typeof unk === "string") return unk;
|
|
27
|
+
if (typeof unk === "object" && unk !== null) return JSON.stringify(unk);
|
|
28
|
+
return `${unk}`;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// src/node/ftps/directory/copy-dir/index.ts
|
|
32
|
+
async function copyDir(ftpClient, sourceDir, targetDir, options) {
|
|
33
|
+
const {
|
|
34
|
+
overwrite = false,
|
|
35
|
+
ensureDir = true
|
|
36
|
+
} = options ?? {};
|
|
37
|
+
async function recurse(dir) {
|
|
38
|
+
const list = await ftpClient.list(dir);
|
|
39
|
+
for (const entry of list) {
|
|
40
|
+
const src = dir.endsWith("/") ? dir + entry.name : dir + "/" + entry.name;
|
|
41
|
+
const rel = src.substring(sourceDir.length + (sourceDir.endsWith("/") ? 0 : 1));
|
|
42
|
+
const dst = targetDir.endsWith("/") ? targetDir + rel : `${targetDir}/${rel}`;
|
|
43
|
+
if (entry.isDirectory) {
|
|
44
|
+
if (ensureDir) await ftpClient.ensureDir(dst);
|
|
45
|
+
await recurse(src);
|
|
46
|
+
} else if (entry.isFile) {
|
|
47
|
+
if (!overwrite) {
|
|
48
|
+
try {
|
|
49
|
+
await ftpClient.size(dst);
|
|
50
|
+
throw new Error(`File already exists at ${dst}.`);
|
|
51
|
+
} catch {
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (ensureDir) {
|
|
55
|
+
const dirPath = dst.substring(0, dst.lastIndexOf("/"));
|
|
56
|
+
await ftpClient.ensureDir(dirPath);
|
|
57
|
+
}
|
|
58
|
+
const pass = new PassThrough();
|
|
59
|
+
const upload = ftpClient.uploadFrom(pass, dst);
|
|
60
|
+
await ftpClient.downloadTo(pass, src);
|
|
61
|
+
await upload;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
try {
|
|
66
|
+
if (ensureDir) await ftpClient.ensureDir(targetDir);
|
|
67
|
+
await recurse(sourceDir);
|
|
68
|
+
return makeSuccess(true);
|
|
69
|
+
} catch (err) {
|
|
70
|
+
return makeFailure(unknownToString(err));
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// src/node/sftp/directory/copy-dir/index.ts
|
|
75
|
+
import { PassThrough as PassThrough2 } from "node:stream";
|
|
76
|
+
async function copyDir2(sftp, sourceDir, targetDir, options) {
|
|
77
|
+
const {
|
|
78
|
+
overwrite = false,
|
|
79
|
+
ensureDir = true,
|
|
80
|
+
...transferOptions
|
|
81
|
+
} = options ?? {};
|
|
82
|
+
async function recurse(dir) {
|
|
83
|
+
const list = await sftp.list(dir);
|
|
84
|
+
for (const entry of list) {
|
|
85
|
+
const src = dir.endsWith("/") ? dir + entry.name : dir + "/" + entry.name;
|
|
86
|
+
const rel = src.substring(sourceDir.length + (sourceDir.endsWith("/") ? 0 : 1));
|
|
87
|
+
const dst = targetDir.endsWith("/") ? targetDir + rel : `${targetDir}/${rel}`;
|
|
88
|
+
if (entry.type === "d") {
|
|
89
|
+
if (ensureDir) await sftp.mkdir(dst, true);
|
|
90
|
+
await recurse(src);
|
|
91
|
+
} else if (entry.type === "-") {
|
|
92
|
+
if (!overwrite) {
|
|
93
|
+
const exists = await sftp.exists(dst);
|
|
94
|
+
if (exists !== false) throw new Error(`File already exists at ${dst}.`);
|
|
95
|
+
}
|
|
96
|
+
if (ensureDir) {
|
|
97
|
+
const dirPath = dst.substring(0, dst.lastIndexOf("/"));
|
|
98
|
+
await sftp.mkdir(dirPath, true);
|
|
99
|
+
}
|
|
100
|
+
const pass = new PassThrough2();
|
|
101
|
+
const upload = sftp.put(pass, dst, transferOptions);
|
|
102
|
+
await sftp.get(src, pass, transferOptions);
|
|
103
|
+
await upload;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
try {
|
|
108
|
+
if (ensureDir) await sftp.mkdir(targetDir, true);
|
|
109
|
+
await recurse(sourceDir);
|
|
110
|
+
return makeSuccess(true);
|
|
111
|
+
} catch (err) {
|
|
112
|
+
return makeFailure(unknownToString(err));
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
// src/node/@aws-s3/storage/directory/copy-dir/index.ts
|
|
1
117
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
118
|
+
ListObjectsV2Command,
|
|
119
|
+
CopyObjectCommand,
|
|
120
|
+
HeadObjectCommand
|
|
121
|
+
} from "@aws-sdk/client-s3";
|
|
122
|
+
async function copyDir3(client, bucketName, sourceDir, targetDir, options) {
|
|
123
|
+
const { listObjectsOptions, copyOptions, overwrite = false } = options ?? {};
|
|
124
|
+
const from = sourceDir.endsWith("/") ? sourceDir : `${sourceDir}/`;
|
|
125
|
+
const to = targetDir.endsWith("/") ? targetDir : `${targetDir}/`;
|
|
126
|
+
try {
|
|
127
|
+
let token;
|
|
128
|
+
do {
|
|
129
|
+
const listResp = await client.send(
|
|
130
|
+
new ListObjectsV2Command({
|
|
131
|
+
Bucket: bucketName,
|
|
132
|
+
Prefix: from,
|
|
133
|
+
ContinuationToken: token,
|
|
134
|
+
...listObjectsOptions
|
|
135
|
+
})
|
|
136
|
+
);
|
|
137
|
+
for (const obj of listResp.Contents ?? []) {
|
|
138
|
+
if (obj.Key === void 0) continue;
|
|
139
|
+
const rel = obj.Key.substring(from.length);
|
|
140
|
+
const dest = `${to}${rel}`;
|
|
141
|
+
if (!overwrite) {
|
|
142
|
+
try {
|
|
143
|
+
await client.send(new HeadObjectCommand({ Bucket: bucketName, Key: dest }));
|
|
144
|
+
continue;
|
|
145
|
+
} catch (err) {
|
|
146
|
+
const code = err?.name ?? err?.$metadata?.httpStatusCode;
|
|
147
|
+
if (code !== "NotFound" && code !== 404) {
|
|
148
|
+
return makeFailure(unknownToString(err));
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
await client.send(
|
|
153
|
+
new CopyObjectCommand({
|
|
154
|
+
Bucket: bucketName,
|
|
155
|
+
Key: dest,
|
|
156
|
+
CopySource: `${bucketName}/${obj.Key}`,
|
|
157
|
+
...copyOptions
|
|
158
|
+
})
|
|
159
|
+
);
|
|
160
|
+
}
|
|
161
|
+
token = listResp.IsTruncated === true ? listResp.NextContinuationToken : void 0;
|
|
162
|
+
} while (token !== void 0);
|
|
163
|
+
return makeSuccess(true);
|
|
164
|
+
} catch (err) {
|
|
165
|
+
return makeFailure(unknownToString(err));
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
// src/node/@google-cloud/storage/directory/copy-dir/index.ts
|
|
170
|
+
async function copyDir4(bucket, sourceDir, targetDir, options) {
|
|
171
|
+
const { getFileOptions, copyOptions, overwrite = false } = options ?? {};
|
|
172
|
+
const from = sourceDir.endsWith("/") ? sourceDir : `${sourceDir}/`;
|
|
173
|
+
const to = targetDir.endsWith("/") ? targetDir : `${targetDir}/`;
|
|
174
|
+
try {
|
|
175
|
+
const [files] = await bucket.getFiles({ ...getFileOptions, prefix: from });
|
|
176
|
+
for (const f of files) {
|
|
177
|
+
const rel = f.name.substring(from.length);
|
|
178
|
+
const dest = `${to}${rel}`;
|
|
179
|
+
if (!overwrite) {
|
|
180
|
+
const destFile = bucket.file(dest);
|
|
181
|
+
const [exists] = await destFile.exists();
|
|
182
|
+
if (exists) {
|
|
183
|
+
continue;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
await f.copy(dest, copyOptions);
|
|
187
|
+
}
|
|
188
|
+
return makeSuccess(true);
|
|
189
|
+
} catch (err) {
|
|
190
|
+
return makeFailure(unknownToString(err));
|
|
191
|
+
}
|
|
192
|
+
}
|
|
24
193
|
|
|
25
194
|
// src/node/cloud-storage/operations/copy-dir/index.ts
|
|
26
195
|
async function copyDir5(client, sourcePath, targetPath, options) {
|