@design-edito/tools 0.3.9 → 0.3.10
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/index.d.ts +1 -1
- package/agnostic/arrays/index.js +1 -1
- package/agnostic/arrays/is-array-of/index.d.ts +1 -1
- package/agnostic/arrays/is-array-of/index.js +2 -2
- package/agnostic/booleans/is-falsy/index.d.ts +1 -1
- package/agnostic/colors/channels/index.d.ts +1 -1
- package/agnostic/colors/contrast/index.d.ts +1 -1
- package/agnostic/colors/convert/index.d.ts +1 -1
- package/agnostic/colors/convert/index.js +14 -17
- package/agnostic/colors/cssColorsMap.d.ts +9 -0
- package/agnostic/colors/distance/index.d.ts +1 -1
- package/agnostic/colors/index.d.ts +3 -3
- package/agnostic/colors/index.js +3 -3
- package/agnostic/colors/invert/index.d.ts +1 -1
- package/agnostic/colors/luminance/index.d.ts +1 -1
- package/agnostic/colors/palette/index.js +2 -0
- package/agnostic/colors/tidy/index.js +2 -1
- package/agnostic/colors/typechecks/index.d.ts +1 -1
- package/agnostic/colors/typechecks/index.js +1 -3
- package/agnostic/colors/types.d.ts +0 -7
- package/agnostic/colors/types.js +0 -154
- package/agnostic/css/bem/index.d.ts +3 -3
- package/agnostic/css/bem/index.js +6 -5
- package/agnostic/css/clss/index.d.ts +2 -1
- package/agnostic/css/clss/index.js +2 -2
- package/agnostic/css/generate-nice-color/index.js +1 -0
- package/agnostic/css/index.d.ts +2 -2
- package/agnostic/css/index.js +2 -2
- package/agnostic/css/styles-set/index.d.ts +4 -4
- package/agnostic/css/styles-set/index.js +1 -1
- package/agnostic/errors/register/index.js +4 -2
- package/agnostic/html/get-node-ancestors/index.js +1 -1
- package/agnostic/html/get-position-inside-parent/index.js +1 -1
- package/agnostic/html/hyper-json/cast/index.d.ts +1 -1
- package/agnostic/html/hyper-json/method/index.d.ts +2 -2
- package/agnostic/html/hyper-json/serialize/index.d.ts +1 -1
- package/agnostic/html/hyper-json/serialize/index.js +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/and/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/append/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/at/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/call/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/call/index.js +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/clone/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/deleteproperties/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/deleteproperties/index.js +5 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/equals/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/getproperties/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/getproperty/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/getproperty/index.js +5 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/hjparse/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/hjstringify/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/if/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/index.d.ts +16 -16
- package/agnostic/html/hyper-json/smart-tags/coalesced/index.js +16 -16
- package/agnostic/html/hyper-json/smart-tags/coalesced/initialize/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/join/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/length/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/map/index.d.ts +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/map/index.js +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/or/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/pickrandom/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/populate/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/print/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/push/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/pusheach/index.d.ts +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/recordtoarray/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/removeattribute/index.d.ts +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/removeattribute/index.js +7 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/renameproperty/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/replace/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/set/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/setattribute/index.d.ts +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/setattribute/index.js +7 -4
- package/agnostic/html/hyper-json/smart-tags/coalesced/setproperty/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/setproperty/index.js +9 -9
- package/agnostic/html/hyper-json/smart-tags/coalesced/sorton/index.d.ts +2 -2
- package/agnostic/html/hyper-json/smart-tags/coalesced/spread/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/toarray/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/toboolean/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/toelement/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/tonodelist/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/tonull/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/tonumber/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/torecord/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/toref/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/tostring/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/totext/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/transformselected/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/transformselected/index.js +0 -1
- package/agnostic/html/hyper-json/smart-tags/coalesced/trim/index.js +1 -1
- package/agnostic/html/hyper-json/smart-tags/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/isolated/any/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/isolated/array/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/isolated/get/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/isolated/global/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/isolated/guess/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/isolated/guess/index.js +1 -1
- package/agnostic/html/hyper-json/smart-tags/isolated/index.d.ts +4 -4
- package/agnostic/html/hyper-json/smart-tags/isolated/index.js +4 -4
- package/agnostic/html/hyper-json/smart-tags/isolated/nodelist/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/isolated/null/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/isolated/record/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/isolated/ref/index.d.ts +1 -1
- package/agnostic/html/hyper-json/smart-tags/isolated/text/index.js +3 -1
- package/agnostic/html/hyper-json/transformer/index.d.ts +2 -2
- package/agnostic/html/hyper-json/transformer/index.js +6 -9
- package/agnostic/html/hyper-json/tree/index.d.ts +1 -1
- package/agnostic/html/hyper-json/tree/index.js +14 -10
- package/agnostic/html/hyper-json/types/index.d.ts +9 -13
- package/agnostic/html/hyper-json/utils/index.d.ts +7 -7
- package/agnostic/html/hyper-json/utils/index.js +1 -1
- package/agnostic/html/index.d.ts +1 -1
- package/agnostic/html/index.js +1 -1
- package/agnostic/html/placeholders/index.d.ts +1 -1
- package/agnostic/html/selector-to-element/index.js +1 -1
- package/agnostic/index.d.ts +6 -6
- package/agnostic/index.js +6 -6
- package/agnostic/misc/assert/index.d.ts +2 -2
- package/agnostic/misc/assert/index.js +4 -4
- package/agnostic/misc/cast/index.d.ts +1 -1
- package/agnostic/misc/connection/index.js +0 -1
- package/agnostic/misc/crawler/index.d.ts +2 -2
- package/agnostic/misc/crossenv/detect-runtime/index.js +4 -4
- package/agnostic/misc/crossenv/window/index.d.ts +1 -1
- package/agnostic/misc/crossenv/window/index.js +2 -2
- package/agnostic/misc/data-size/index.js +2 -2
- package/agnostic/misc/index.d.ts +5 -5
- package/agnostic/misc/index.js +5 -5
- package/agnostic/misc/is-constructor-function/index.d.ts +1 -1
- package/agnostic/misc/logs/index.d.ts +1 -1
- package/agnostic/misc/logs/index.js +1 -1
- package/agnostic/misc/logs/logger/index.d.ts +1 -1
- package/agnostic/misc/outcome/index.d.ts +7 -7
- package/agnostic/numbers/approximate-rational/index.js +4 -2
- package/agnostic/numbers/index.d.ts +3 -3
- package/agnostic/numbers/index.js +3 -3
- package/agnostic/objects/deep-get-property/index.js +2 -2
- package/agnostic/objects/flatten-getters/index.js +2 -1
- package/agnostic/objects/index.d.ts +4 -3
- package/agnostic/objects/index.js +4 -3
- package/agnostic/objects/record-format/index.js +1 -0
- package/agnostic/objects/sort-keys/index.d.ts +11 -0
- package/agnostic/objects/sort-keys/index.js +12 -0
- package/agnostic/objects/sort-keys/index.test.d.ts +1 -0
- package/agnostic/optim/memoize/index.js +1 -1
- package/agnostic/optim/throttle-debounce/index.d.ts +12 -10
- package/agnostic/optim/throttle-debounce/index.js +2 -2
- package/agnostic/optim/throttle-debounce/types.d.ts +1 -1
- package/agnostic/random/index.d.ts +1 -1
- package/agnostic/random/index.js +1 -1
- package/agnostic/random/random/index.js +1 -1
- package/agnostic/sanitization/html/index.js +7 -7
- package/agnostic/sanitization/index.d.ts +2 -2
- package/agnostic/sanitization/index.js +2 -2
- package/agnostic/sanitization/types.d.ts +2 -6
- package/agnostic/strings/char-codes/index.d.ts +5 -5
- package/agnostic/strings/char-codes/index.js +2 -2
- package/agnostic/strings/index.d.ts +2 -2
- package/agnostic/strings/index.js +2 -2
- package/agnostic/strings/matches/index.d.ts +2 -2
- package/agnostic/time/dates/format-date/index.js +23 -9
- package/agnostic/time/duration/index.d.ts +23 -2
- package/agnostic/time/duration/index.js +36 -4
- package/agnostic/time/index.d.ts +2 -2
- package/agnostic/time/index.js +2 -2
- package/agnostic/time/timeout/index.js +2 -2
- package/agnostic/time/wait/index.d.ts +2 -2
- package/agnostic/time/wait/index.js +1 -1
- package/components/EventListener/index.d.ts +2 -2
- package/components/EventListener/index.js +8 -8
- package/components/Input/index.d.ts +2 -2
- package/components/IntersectionObserver/index.d.ts +2 -2
- package/index.d.ts +1 -1
- package/index.js +1 -1
- package/node/@aws-s3/storage/directory/copy-dir/index.d.ts +2 -2
- package/node/@aws-s3/storage/directory/copy-dir/index.js +3 -3
- package/node/@aws-s3/storage/directory/list/index.d.ts +2 -2
- package/node/@aws-s3/storage/directory/list/index.js +1 -1
- package/node/@aws-s3/storage/directory/move-dir/index.d.ts +3 -3
- package/node/@aws-s3/storage/directory/move-dir/index.js +3 -3
- package/node/@aws-s3/storage/directory/remove-dir/index.d.ts +2 -2
- package/node/@aws-s3/storage/directory/remove-dir/index.js +4 -4
- package/node/@aws-s3/storage/file/copy/index.d.ts +1 -1
- package/node/@aws-s3/storage/file/download/index.d.ts +3 -3
- package/node/@aws-s3/storage/file/exists/index.d.ts +2 -2
- package/node/@aws-s3/storage/file/exists/index.js +1 -2
- package/node/@aws-s3/storage/file/index.d.ts +3 -3
- package/node/@aws-s3/storage/file/index.js +3 -3
- package/node/@aws-s3/storage/file/move/index.d.ts +2 -2
- package/node/@aws-s3/storage/file/remove/index.d.ts +1 -1
- package/node/@aws-s3/storage/file/stat/index.d.ts +1 -1
- package/node/@aws-s3/storage/file/upload/index.d.ts +2 -2
- package/node/@aws-s3/storage/index.d.ts +1 -1
- package/node/@aws-s3/storage/index.js +1 -1
- package/node/@express/@multer/index.d.ts +1 -1
- package/node/@google-cloud/storage/bucket/get-metadata/index.d.ts +1 -1
- package/node/@google-cloud/storage/directory/copy-dir/index.d.ts +1 -1
- package/node/@google-cloud/storage/directory/index.d.ts +1 -1
- package/node/@google-cloud/storage/directory/index.js +1 -1
- package/node/@google-cloud/storage/directory/list/index.d.ts +1 -1
- package/node/@google-cloud/storage/directory/move-dir/index.d.ts +1 -1
- package/node/@google-cloud/storage/directory/remove-dir/index.d.ts +1 -1
- package/node/@google-cloud/storage/file/copy/index.d.ts +2 -2
- package/node/@google-cloud/storage/file/download/index.d.ts +2 -2
- package/node/@google-cloud/storage/file/exists/index.d.ts +1 -1
- package/node/@google-cloud/storage/file/generate-signed-url/index.d.ts +1 -1
- package/node/@google-cloud/storage/file/get-metadata/index.d.ts +1 -1
- package/node/@google-cloud/storage/file/get-permissions/index.d.ts +1 -1
- package/node/@google-cloud/storage/file/index.d.ts +4 -4
- package/node/@google-cloud/storage/file/index.js +4 -4
- package/node/@google-cloud/storage/file/move/index.d.ts +1 -1
- package/node/@google-cloud/storage/file/remove/index.d.ts +1 -1
- package/node/@google-cloud/storage/file/revoke-signed-urls/index.d.ts +4 -4
- package/node/@google-cloud/storage/file/stat/index.d.ts +1 -1
- package/node/@google-cloud/storage/file/stat/index.js +2 -2
- package/node/@google-cloud/storage/file/update-metadata/index.d.ts +1 -1
- package/node/@google-cloud/storage/file/upload/index.d.ts +2 -2
- package/node/@google-cloud/storage/index.d.ts +1 -1
- package/node/@google-cloud/storage/index.js +1 -1
- package/node/cloud-storage/operations/copy-dir/index.d.ts +8 -8
- package/node/cloud-storage/operations/copy-dir/index.js +4 -4
- package/node/cloud-storage/operations/copy-file/index.d.ts +8 -8
- package/node/cloud-storage/operations/copy-file/index.js +4 -4
- package/node/cloud-storage/operations/download-file/index.d.ts +9 -9
- package/node/cloud-storage/operations/download-file/index.js +4 -4
- package/node/cloud-storage/operations/exists-file/index.d.ts +6 -6
- package/node/cloud-storage/operations/exists-file/index.js +4 -4
- package/node/cloud-storage/operations/index.d.ts +2 -2
- package/node/cloud-storage/operations/index.js +2 -2
- package/node/cloud-storage/operations/list-dir/index.d.ts +6 -6
- package/node/cloud-storage/operations/list-dir/index.js +4 -4
- package/node/cloud-storage/operations/move-dir/index.d.ts +8 -8
- package/node/cloud-storage/operations/move-dir/index.js +4 -4
- package/node/cloud-storage/operations/move-file/index.d.ts +8 -8
- package/node/cloud-storage/operations/move-file/index.js +4 -4
- package/node/cloud-storage/operations/remove-dir/index.d.ts +8 -8
- package/node/cloud-storage/operations/remove-dir/index.js +4 -4
- package/node/cloud-storage/operations/remove-file/index.d.ts +8 -8
- package/node/cloud-storage/operations/remove-file/index.js +4 -4
- package/node/cloud-storage/operations/stat-file/index.d.ts +8 -8
- package/node/cloud-storage/operations/stat-file/index.js +4 -4
- package/node/cloud-storage/operations/upload-file/index.d.ts +9 -9
- package/node/cloud-storage/operations/upload-file/index.js +4 -4
- package/node/files/index.d.ts +1 -1
- package/node/files/index.js +1 -1
- package/node/files/read-write/index.js +1 -1
- package/node/files/subpaths/index.d.ts +3 -3
- package/node/files/subpaths/index.js +6 -6
- package/node/ftps/directory/copy-dir/index.d.ts +1 -1
- package/node/ftps/directory/copy-dir/index.js +1 -1
- package/node/ftps/directory/list/index.d.ts +1 -1
- package/node/ftps/directory/move-dir/index.d.ts +1 -1
- package/node/ftps/directory/move-dir/index.js +1 -3
- package/node/ftps/directory/remove-dir/index.d.ts +2 -2
- package/node/ftps/file/copy/index.d.ts +1 -1
- package/node/ftps/file/copy/index.js +1 -1
- package/node/ftps/file/download/index.d.ts +2 -2
- package/node/ftps/file/exists/index.d.ts +2 -2
- package/node/ftps/file/exists/index.js +1 -1
- package/node/ftps/file/index.d.ts +2 -2
- package/node/ftps/file/index.js +2 -2
- package/node/ftps/file/move/index.d.ts +3 -3
- package/node/ftps/file/move/index.js +1 -1
- package/node/ftps/file/remove/index.d.ts +1 -1
- package/node/ftps/file/stat/index.d.ts +1 -1
- package/node/ftps/file/stat/index.js +2 -2
- package/node/ftps/file/upload/index.d.ts +2 -2
- package/node/images/format/index.d.ts +1 -1
- package/node/images/format/index.js +9 -9
- package/node/images/index.d.ts +2 -2
- package/node/images/index.js +2 -2
- package/node/images/metadata/index.d.ts +1 -1
- package/node/images/metadata/index.js +1 -1
- package/node/images/transform/index.d.ts +2 -2
- package/node/images/transform/index.js +26 -21
- package/node/images/transform/operations/blur/index.d.ts +1 -1
- package/node/images/transform/operations/brighten/index.d.ts +1 -1
- package/node/images/transform/operations/extend/index.d.ts +1 -1
- package/node/images/transform/operations/extract/index.d.ts +1 -1
- package/node/images/transform/operations/flatten/index.d.ts +1 -1
- package/node/images/transform/operations/flatten/index.js +1 -1
- package/node/images/transform/operations/flip/index.d.ts +1 -1
- package/node/images/transform/operations/flop/index.d.ts +1 -1
- package/node/images/transform/operations/hue/index.d.ts +1 -1
- package/node/images/transform/operations/index.d.ts +5 -5
- package/node/images/transform/operations/index.js +5 -5
- package/node/images/transform/operations/level/index.d.ts +1 -1
- package/node/images/transform/operations/lighten/index.d.ts +1 -1
- package/node/images/transform/operations/normalize/index.d.ts +1 -1
- package/node/images/transform/operations/overlay/index.js +1 -1
- package/node/images/transform/operations/resize/index.d.ts +1 -1
- package/node/images/transform/operations/rotate/index.d.ts +1 -1
- package/node/images/transform/operations/saturate/index.d.ts +1 -1
- package/node/index.d.ts +3 -3
- package/node/index.js +3 -3
- package/node/process/prompt-continue/index.js +1 -1
- package/node/process/spawner/index.d.ts +1 -9
- package/node/process/spawner/index.js +10 -8
- package/node/sftp/directory/copy-dir/index.d.ts +2 -1
- package/node/sftp/directory/copy-dir/index.js +2 -2
- package/node/sftp/directory/index.d.ts +1 -1
- package/node/sftp/directory/index.js +1 -1
- package/node/sftp/directory/list/index.d.ts +1 -1
- package/node/sftp/directory/move-dir/index.d.ts +1 -1
- package/node/sftp/directory/move-dir/index.js +2 -4
- package/node/sftp/directory/remove-dir/index.d.ts +2 -2
- package/node/sftp/file/copy/index.d.ts +2 -1
- package/node/sftp/file/copy/index.js +2 -2
- package/node/sftp/file/download/index.d.ts +3 -3
- package/node/sftp/file/exists/index.d.ts +1 -1
- package/node/sftp/file/index.d.ts +3 -3
- package/node/sftp/file/index.js +3 -3
- package/node/sftp/file/move/index.d.ts +3 -3
- package/node/sftp/file/move/index.js +3 -5
- package/node/sftp/file/remove/index.d.ts +1 -1
- package/node/sftp/file/remove/index.js +1 -1
- package/node/sftp/file/stat/index.d.ts +1 -1
- package/node/sftp/file/stat/index.js +1 -1
- package/node/sftp/file/upload/index.d.ts +3 -2
- package/node/sftp/file/upload/index.js +1 -1
- package/package.json +1244 -10
|
@@ -11,10 +11,10 @@ import { upload as sftpUpload } from "../../../sftp/file/upload/index.js";
|
|
|
11
11
|
import { upload as s3Upload } from "../../../@aws-s3/storage/file/upload/index.js";
|
|
12
12
|
import { upload as gcsUpload } from "../../../@google-cloud/storage/file/upload/index.js";
|
|
13
13
|
async function uploadFile(fileStream, path, client, options) {
|
|
14
|
-
if (isGcsBucket(client)) return gcsUpload(client, path, fileStream, options);
|
|
15
|
-
if (isS3ClientWithBucket(client)) return s3Upload(client.client, client.bucketName, path, fileStream, options);
|
|
16
|
-
if (isFtpClient(client)) return ftpUpload(client, path, fileStream, options);
|
|
17
|
-
if (isSftpClient(client)) return sftpUpload(client, path, fileStream, options);
|
|
14
|
+
if (isGcsBucket(client)) return await gcsUpload(client, path, fileStream, options);
|
|
15
|
+
if (isS3ClientWithBucket(client)) return await s3Upload(client.client, client.bucketName, path, fileStream, options);
|
|
16
|
+
if (isFtpClient(client)) return await ftpUpload(client, path, fileStream, options);
|
|
17
|
+
if (isSftpClient(client)) return await sftpUpload(client, path, fileStream, options);
|
|
18
18
|
return Outcome.makeFailure("Invalid client type");
|
|
19
19
|
}
|
|
20
20
|
export {
|
package/node/files/index.d.ts
CHANGED
package/node/files/index.js
CHANGED
|
@@ -7,7 +7,7 @@ async function readWrite(path, editor, opts = {}) {
|
|
|
7
7
|
readData.toString()
|
|
8
8
|
);
|
|
9
9
|
const actualWriteOptions = opts.writeOptions ?? opts.readOptions;
|
|
10
|
-
const targetOutput = opts.output
|
|
10
|
+
const targetOutput = opts.output ?? path;
|
|
11
11
|
if (opts.dryRun !== true) await fs.writeFile(targetOutput, edited, actualWriteOptions);
|
|
12
12
|
return edited;
|
|
13
13
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Stats } from 'node:fs';
|
|
1
|
+
import { type Stats } from 'node:fs';
|
|
2
2
|
/** Type of child entry in a directory. */
|
|
3
3
|
export type ChildType = 'file' | 'directory' | 'symlink';
|
|
4
4
|
export type ChildDetails = {
|
|
@@ -28,8 +28,8 @@ export type ListOptions = {
|
|
|
28
28
|
/** Whether to deduplicate paths when following symlinks. @default false */ dedupeSimlinksContents?: boolean;
|
|
29
29
|
/** Maximum recursion depth. @default Infinity */ maxDepth?: number;
|
|
30
30
|
/** Whether to return relative paths instead of absolute paths. @default false */ returnRelative?: boolean;
|
|
31
|
-
/** Patterns to exclude from the results. */ exclude?: RegExp | string |
|
|
32
|
-
/** Patterns to include in the results (takes precedence over exclude). */ include?: RegExp | string |
|
|
31
|
+
/** Patterns to exclude from the results. */ exclude?: RegExp | string | Array<RegExp | string> | null;
|
|
32
|
+
/** Patterns to include in the results (takes precedence over exclude). */ include?: RegExp | string | Array<RegExp | string> | null;
|
|
33
33
|
/** Custom filter function to further refine results. */ filter?: ((path: string, details: ChildDetails) => boolean | Promise<boolean>);
|
|
34
34
|
};
|
|
35
35
|
export declare const defaultListOptions: Required<ListOptions>;
|
|
@@ -63,10 +63,10 @@ async function listAbsoluteSubpaths(inputPath, _options = {}, __private_context
|
|
|
63
63
|
const isFile = !isDirectory && !isSymlink;
|
|
64
64
|
const isHidden = path.basename(childAbsPath).startsWith(".");
|
|
65
65
|
const type = isDirectory ? "directory" : isSymlink ? "symlink" : "file";
|
|
66
|
-
if (isDirectory && options.directories
|
|
67
|
-
if (isSymlink && options.symlinks
|
|
68
|
-
if (isFile && options.files
|
|
69
|
-
if (isHidden && options.hidden
|
|
66
|
+
if (isDirectory && !options.directories) throw true;
|
|
67
|
+
if (isSymlink && !options.symlinks) throw false;
|
|
68
|
+
if (isFile && !options.files) throw false;
|
|
69
|
+
if (isHidden && !options.hidden) throw false;
|
|
70
70
|
const realPath = isSymlink ? await fs.realpath(childAbsPath) : childAbsPath;
|
|
71
71
|
const childPathForFilters = options.returnRelative ? childRelFromRootPath : childAbsPath;
|
|
72
72
|
const isInExclude = stringMatchesSome(childPathForFilters, options.exclude ?? []);
|
|
@@ -75,7 +75,7 @@ async function listAbsoluteSubpaths(inputPath, _options = {}, __private_context
|
|
|
75
75
|
const isInFilter = await options.filter(childPathForFilters, { type, hidden: isHidden, realPath });
|
|
76
76
|
if (!isInFilter) throw true;
|
|
77
77
|
if (isSymlink) {
|
|
78
|
-
if (options.followSimlinks
|
|
78
|
+
if (!options.followSimlinks) subpaths.push(childAbsPath);
|
|
79
79
|
else {
|
|
80
80
|
const childSubpaths = await listAbsoluteSubpaths(realPath, options, {
|
|
81
81
|
..._private_context,
|
|
@@ -96,7 +96,7 @@ async function listAbsoluteSubpaths(inputPath, _options = {}, __private_context
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
} catch (err) {
|
|
99
|
-
if (typeof err !== "boolean") throw new Error(
|
|
99
|
+
if (typeof err !== "boolean") throw new Error("This try/catch block should only throw booleans");
|
|
100
100
|
const shouldDiveDeeper = err;
|
|
101
101
|
if (!shouldDiveDeeper) return [];
|
|
102
102
|
const childSubpaths = await listAbsoluteSubpaths(childAbsPath, options, {
|
|
@@ -26,7 +26,7 @@ async function copyDir(ftpClient, sourceDir, targetDir, options) {
|
|
|
26
26
|
}
|
|
27
27
|
if (ensureDir) {
|
|
28
28
|
const dirPath = dst.substring(0, dst.lastIndexOf("/"));
|
|
29
|
-
|
|
29
|
+
await ftpClient.ensureDir(dirPath);
|
|
30
30
|
}
|
|
31
31
|
const pass = new PassThrough();
|
|
32
32
|
const upload = ftpClient.uploadFrom(pass, dst);
|
|
@@ -6,9 +6,7 @@ async function moveDir(ftpClient, sourceDir, targetDir, options) {
|
|
|
6
6
|
try {
|
|
7
7
|
if (ensureDir) {
|
|
8
8
|
const parentDir = targetDir.substring(0, targetDir.lastIndexOf("/"));
|
|
9
|
-
|
|
10
|
-
await ftpClient.ensureDir(parentDir);
|
|
11
|
-
}
|
|
9
|
+
await ftpClient.ensureDir(parentDir);
|
|
12
10
|
}
|
|
13
11
|
if (!overwrite) {
|
|
14
12
|
try {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Client } from 'basic-ftp';
|
|
1
|
+
import { type Client } from 'basic-ftp';
|
|
2
2
|
import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
3
3
|
export type RemoveDirOptions = {
|
|
4
4
|
/**
|
|
@@ -17,7 +17,7 @@ export type RemoveDirOptions = {
|
|
|
17
17
|
* @param {RemoveDirOptions} [options] - Optional configuration.
|
|
18
18
|
* @param {boolean} [options.ignoreMissing=true] - Whether to ignore a missing directory.
|
|
19
19
|
* @returns {Promise<Outcome.Either<true, string>>}
|
|
20
|
-
* - On success: `Outcome.makeSuccess(true)`
|
|
20
|
+
* - On success: `Outcome.makeSuccess(true)` – deletion succeeded, or directory
|
|
21
21
|
* was absent and `ignoreMissing` is true.
|
|
22
22
|
* - On failure: `Outcome.makeFailure(errStr)` if deletion fails, or directory
|
|
23
23
|
* absent and `ignoreMissing` is false.
|
|
@@ -17,7 +17,7 @@ async function copy(ftpClient, sourcePath, targetPath, options) {
|
|
|
17
17
|
}
|
|
18
18
|
if (ensureDir) {
|
|
19
19
|
const dirPath = targetPath.substring(0, targetPath.lastIndexOf("/"));
|
|
20
|
-
|
|
20
|
+
await ftpClient.ensureDir(dirPath);
|
|
21
21
|
}
|
|
22
22
|
const pass = new PassThrough();
|
|
23
23
|
const uploadPromise = ftpClient.uploadFrom(pass, targetPath);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Readable } from 'node:stream';
|
|
2
|
-
import { Client } from 'basic-ftp';
|
|
1
|
+
import { type Readable } from 'node:stream';
|
|
2
|
+
import { type Client } from 'basic-ftp';
|
|
3
3
|
import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
4
4
|
export type DownloadOptions = {
|
|
5
5
|
startAt?: number;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Client } from 'basic-ftp';
|
|
1
|
+
import { type Client } from 'basic-ftp';
|
|
2
2
|
import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
3
3
|
/**
|
|
4
4
|
* Checks if a *file* (not a directory) exists on a specified FTP server.
|
|
@@ -15,7 +15,7 @@ import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
|
15
15
|
* @param {Client} ftpClient - The basic‑ftp client instance.
|
|
16
16
|
* @param {string} sourcePath - The full path to check on the FTP server.
|
|
17
17
|
* @returns {Promise<Outcome.Either<boolean, string>>}
|
|
18
|
-
* - Success: `Outcome.makeSuccess(true | false)` –
|
|
18
|
+
* - Success: `Outcome.makeSuccess(true | false)` – true only if a file exists.
|
|
19
19
|
* - Failure: `Outcome.makeFailure(errStr)` if an error occurs.
|
|
20
20
|
*/
|
|
21
21
|
export declare function exists(ftpClient: Client, sourcePath: string): Promise<Outcome.Either<boolean, string>>;
|
|
@@ -9,7 +9,7 @@ async function exists(ftpClient, sourcePath) {
|
|
|
9
9
|
const baseName = lastSlash === -1 ? sourcePath : sourcePath.slice(lastSlash + 1);
|
|
10
10
|
const list = await ftpClient.list(parentDir);
|
|
11
11
|
const entry = list.find((e) => e.name === baseName);
|
|
12
|
-
const isFile = entry ? entry.type === FileType.File || entry.type === FileType.SymbolicLink : false;
|
|
12
|
+
const isFile = entry !== void 0 ? entry.type === FileType.File || entry.type === FileType.SymbolicLink : false;
|
|
13
13
|
return Outcome.makeSuccess(isFile);
|
|
14
14
|
} catch (err) {
|
|
15
15
|
return Outcome.makeFailure(unknownToString(err));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * as copy from './copy/index.js'
|
|
2
|
-
export * as move from './move/index.js'
|
|
3
2
|
export * as download from './download/index.js'
|
|
4
|
-
export * as
|
|
3
|
+
export * as move from './move/index.js'
|
|
5
4
|
export * as exists from './exists/index.js'
|
|
5
|
+
export * as remove from './remove/index.js'
|
|
6
6
|
export * as stat from './stat/index.js'
|
|
7
7
|
export * as upload from './upload/index.js'
|
package/node/ftps/file/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * as copy from './copy/index.js'
|
|
2
|
-
export * as move from './move/index.js'
|
|
3
2
|
export * as download from './download/index.js'
|
|
4
|
-
export * as
|
|
3
|
+
export * as move from './move/index.js'
|
|
5
4
|
export * as exists from './exists/index.js'
|
|
5
|
+
export * as remove from './remove/index.js'
|
|
6
6
|
export * as stat from './stat/index.js'
|
|
7
7
|
export * as upload from './upload/index.js'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Client } from 'basic-ftp';
|
|
1
|
+
import { type Client } from 'basic-ftp';
|
|
2
2
|
import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
3
3
|
export type MoveOptions = {
|
|
4
4
|
/**
|
|
@@ -20,9 +20,9 @@ export type MoveOptions = {
|
|
|
20
20
|
* The function performs a simple `rename` operation, which moves the file from
|
|
21
21
|
* `sourcePath` to `targetPath`. It supports two safety features:
|
|
22
22
|
*
|
|
23
|
-
* 1. **ensureDir** –
|
|
23
|
+
* 1. **ensureDir** – If enabled, the parent directory of `targetPath`
|
|
24
24
|
* is created with `ftpClient.ensureDir` before the rename.
|
|
25
|
-
* 2. **overwrite** –
|
|
25
|
+
* 2. **overwrite** – If disabled (default) the function first checks whether
|
|
26
26
|
* an object already exists at `targetPath`; if so, it aborts.
|
|
27
27
|
*
|
|
28
28
|
* @param {Client} ftpClient - The basic‑ftp client instance.
|
|
@@ -9,7 +9,7 @@ async function move(ftpClient, sourcePath, targetPath, options) {
|
|
|
9
9
|
try {
|
|
10
10
|
if (ensureDir) {
|
|
11
11
|
const dirPath = targetPath.substring(0, targetPath.lastIndexOf("/"));
|
|
12
|
-
|
|
12
|
+
await ftpClient.ensureDir(dirPath);
|
|
13
13
|
}
|
|
14
14
|
if (!overwrite) {
|
|
15
15
|
try {
|
|
@@ -8,11 +8,11 @@ async function stat(ftp, path) {
|
|
|
8
8
|
const name = slash === -1 ? path : path.slice(slash + 1);
|
|
9
9
|
const list = await ftp.list(dir);
|
|
10
10
|
const entry = list.find((e) => e.name === name && e.isFile);
|
|
11
|
-
if (
|
|
11
|
+
if (entry === void 0) return Outcome.makeFailure(`File not found: ${path}`);
|
|
12
12
|
return Outcome.makeSuccess({
|
|
13
13
|
size: entry.size,
|
|
14
14
|
modifiedAt: entry.modifiedAt ?? void 0,
|
|
15
|
-
permissions: entry.rawModifiedAt
|
|
15
|
+
permissions: entry.rawModifiedAt.toString(),
|
|
16
16
|
raw: entry
|
|
17
17
|
});
|
|
18
18
|
} catch (err) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Readable } from 'node:stream';
|
|
2
|
-
import { Client, UploadOptions as BasicFtpUploadOptions } from 'basic-ftp';
|
|
1
|
+
import { type Readable } from 'node:stream';
|
|
2
|
+
import { type Client, type UploadOptions as BasicFtpUploadOptions } from 'basic-ftp';
|
|
3
3
|
import * as Outcome from '../../../../agnostic/misc/outcome/index.js';
|
|
4
4
|
export type UploadOptions = BasicFtpUploadOptions & {
|
|
5
5
|
ensureDir?: boolean;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import sharp from 'sharp';
|
|
1
|
+
import type sharp from 'sharp';
|
|
2
2
|
import * as Outcome from '../../../agnostic/misc/outcome/index.js';
|
|
3
3
|
import type { FormatCommonOptions, FormatJpgOptions, FormatPngOptions, FormatWebpOptions, FormatAvifOptions, FormatTiffOptions, FormatHeifOptions, FormatOptions, ImageLike } from '../types.js';
|
|
4
4
|
/** Type guard to check if options match FormatCommonOptions. */
|
|
@@ -115,7 +115,7 @@ var toSharpResizeOptions = (options) => {
|
|
|
115
115
|
height: options.height,
|
|
116
116
|
fit: options.fit,
|
|
117
117
|
position: options.position,
|
|
118
|
-
background: options.background ? toSharpColor(options.background) : void 0,
|
|
118
|
+
background: options.background !== void 0 ? toSharpColor(options.background) : void 0,
|
|
119
119
|
kernel: options.kernel,
|
|
120
120
|
withoutEnlargement: options.withoutEnlargement,
|
|
121
121
|
withoutReduction: options.withoutReduction,
|
|
@@ -216,14 +216,14 @@ async function format(input, options) {
|
|
|
216
216
|
if (isFormatHeifOptions(options)) return Outcome.makeSuccess(await resizedInstance.heif(toSharpHeifOptions(options)).toBuffer());
|
|
217
217
|
return Outcome.makeSuccess(await resizedInstance.toBuffer());
|
|
218
218
|
}
|
|
219
|
-
var toWidth = async (input, width) => (await toSharpInstance(input)).resize({ width }).toBuffer();
|
|
220
|
-
var toHeight = async (input, height) => (await toSharpInstance(input)).resize({ height }).toBuffer();
|
|
221
|
-
var toJpg = async (input, quality) => (await toSharpInstance(input)).jpeg({ quality: clamp(quality ?? 100, 1, 100) }).toBuffer();
|
|
222
|
-
var toPng = async (input, quality, compressionLevel) => (await toSharpInstance(input)).png({ quality: clamp(quality ?? 100, 1, 100), compressionLevel }).toBuffer();
|
|
223
|
-
var toWebp = async (input, quality) => (await toSharpInstance(input)).webp({ quality: clamp(quality ?? 100, 1, 100) }).toBuffer();
|
|
224
|
-
var toAvif = async (input, quality) => (await toSharpInstance(input)).avif({ quality: clamp(quality ?? 100, 1, 100) }).toBuffer();
|
|
225
|
-
var toTiff = async (input, quality, compression) => (await toSharpInstance(input)).tiff({ quality: clamp(quality ?? 100, 1, 100), compression }).toBuffer();
|
|
226
|
-
var toHeif = async (input, quality) => (await toSharpInstance(input)).heif({ quality: clamp(quality ?? 100, 1, 100) }).toBuffer();
|
|
219
|
+
var toWidth = async (input, width) => await (await toSharpInstance(input)).resize({ width }).toBuffer();
|
|
220
|
+
var toHeight = async (input, height) => await (await toSharpInstance(input)).resize({ height }).toBuffer();
|
|
221
|
+
var toJpg = async (input, quality) => await (await toSharpInstance(input)).jpeg({ quality: clamp(quality ?? 100, 1, 100) }).toBuffer();
|
|
222
|
+
var toPng = async (input, quality, compressionLevel) => await (await toSharpInstance(input)).png({ quality: clamp(quality ?? 100, 1, 100), compressionLevel }).toBuffer();
|
|
223
|
+
var toWebp = async (input, quality) => await (await toSharpInstance(input)).webp({ quality: clamp(quality ?? 100, 1, 100) }).toBuffer();
|
|
224
|
+
var toAvif = async (input, quality) => await (await toSharpInstance(input)).avif({ quality: clamp(quality ?? 100, 1, 100) }).toBuffer();
|
|
225
|
+
var toTiff = async (input, quality, compression) => await (await toSharpInstance(input)).tiff({ quality: clamp(quality ?? 100, 1, 100), compression }).toBuffer();
|
|
226
|
+
var toHeif = async (input, quality) => await (await toSharpInstance(input)).heif({ quality: clamp(quality ?? 100, 1, 100) }).toBuffer();
|
|
227
227
|
export {
|
|
228
228
|
format,
|
|
229
229
|
isFormatAvifOptions,
|
package/node/images/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export * as create from './create/index.js'
|
|
2
|
-
export * as format from './format/index.js'
|
|
3
|
-
export * as transform from './transform/index.js'
|
|
4
2
|
export * as metadata from './metadata/index.js'
|
|
3
|
+
export * as transform from './transform/index.js'
|
|
5
4
|
export * as utils from './utils/index.js'
|
|
5
|
+
export * as format from './format/index.js'
|
package/node/images/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export * as create from './create/index.js'
|
|
2
|
-
export * as format from './format/index.js'
|
|
3
|
-
export * as transform from './transform/index.js'
|
|
4
2
|
export * as metadata from './metadata/index.js'
|
|
3
|
+
export * as transform from './transform/index.js'
|
|
5
4
|
export * as utils from './utils/index.js'
|
|
5
|
+
export * as format from './format/index.js'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import sharp from 'sharp';
|
|
1
|
+
import type sharp from 'sharp';
|
|
2
2
|
import * as Outcome from '../../../agnostic/misc/outcome/index.js';
|
|
3
|
-
import { OperationDescriptor, TransformLimits, TransformErr, ImageLike } from '../types.js';
|
|
3
|
+
import { type OperationDescriptor, type TransformLimits, type TransformErr, type ImageLike } from '../types.js';
|
|
4
4
|
/**
|
|
5
5
|
* Validates and checks if an object is a valid operation descriptor.
|
|
6
6
|
*
|
|
@@ -43,13 +43,18 @@ function isOperationDescriptor(obj) {
|
|
|
43
43
|
const name = obj.name;
|
|
44
44
|
const validateOperation = (validatorFn) => {
|
|
45
45
|
const result = validatorFn(obj);
|
|
46
|
-
if (result.success) return Outcome.makeSuccess({
|
|
46
|
+
if (result.success) return Outcome.makeSuccess({
|
|
47
|
+
name: obj.name,
|
|
48
|
+
...result.payload
|
|
49
|
+
});
|
|
47
50
|
return Outcome.makeFailure(result.error);
|
|
48
51
|
};
|
|
49
52
|
const simpleOperations = /* @__PURE__ */ new Set([OpName.FLIP, OpName.FLOP]);
|
|
50
|
-
if (simpleOperations.has(name)) return Outcome.makeSuccess({
|
|
53
|
+
if (simpleOperations.has(name)) return Outcome.makeSuccess({
|
|
54
|
+
name
|
|
55
|
+
});
|
|
51
56
|
const validator = validators[name];
|
|
52
|
-
if (validator) return validateOperation(validator);
|
|
57
|
+
if (validator !== void 0) return validateOperation(validator);
|
|
53
58
|
return Outcome.makeFailure("Invalid operation descriptor");
|
|
54
59
|
}
|
|
55
60
|
async function transform(input, operationsSequence, limits) {
|
|
@@ -57,7 +62,7 @@ async function transform(input, operationsSequence, limits) {
|
|
|
57
62
|
const start = Date.now();
|
|
58
63
|
const deadline = limits?.timeoutMs !== void 0 ? start + limits.timeoutMs : void 0;
|
|
59
64
|
const runWithOpTimeout = async (op) => {
|
|
60
|
-
return limits?.opTimeoutMs === void 0 ? op() : Promise.race([op(), new Promise(
|
|
65
|
+
return limits?.opTimeoutMs === void 0 ? await op() : await Promise.race([op(), new Promise(
|
|
61
66
|
(resolve) => setTimeout(
|
|
62
67
|
() => resolve(TransformErrCodes.OP_TIMEOUT),
|
|
63
68
|
limits.opTimeoutMs
|
|
@@ -74,35 +79,35 @@ async function transform(input, operationsSequence, limits) {
|
|
|
74
79
|
result = await runWithOpTimeout(async () => {
|
|
75
80
|
switch (operation.name) {
|
|
76
81
|
case OpName.BLUR:
|
|
77
|
-
return blur(sharpInstance, operation);
|
|
82
|
+
return await blur(sharpInstance, operation);
|
|
78
83
|
case OpName.BRIGHTEN:
|
|
79
|
-
return brighten(sharpInstance, operation);
|
|
84
|
+
return await brighten(sharpInstance, operation);
|
|
80
85
|
case OpName.EXTEND:
|
|
81
|
-
return extend(sharpInstance, operation);
|
|
86
|
+
return await extend(sharpInstance, operation);
|
|
82
87
|
case OpName.EXTRACT:
|
|
83
|
-
return extract(sharpInstance, operation);
|
|
88
|
+
return await extract(sharpInstance, operation);
|
|
84
89
|
case OpName.FLATTEN:
|
|
85
|
-
return flatten(sharpInstance, operation);
|
|
90
|
+
return await flatten(sharpInstance, operation);
|
|
86
91
|
case OpName.FLIP:
|
|
87
|
-
return flip(sharpInstance);
|
|
92
|
+
return await flip(sharpInstance);
|
|
88
93
|
case OpName.FLOP:
|
|
89
|
-
return flop(sharpInstance);
|
|
94
|
+
return await flop(sharpInstance);
|
|
90
95
|
case OpName.HUE:
|
|
91
|
-
return hue(sharpInstance, operation);
|
|
96
|
+
return await hue(sharpInstance, operation);
|
|
92
97
|
case OpName.LEVEL:
|
|
93
|
-
return level(sharpInstance, operation);
|
|
98
|
+
return await level(sharpInstance, operation);
|
|
94
99
|
case OpName.LIGHTEN:
|
|
95
|
-
return lighten(sharpInstance, operation);
|
|
100
|
+
return await lighten(sharpInstance, operation);
|
|
96
101
|
case OpName.NORMALIZE:
|
|
97
|
-
return normalize(sharpInstance, operation);
|
|
102
|
+
return await normalize(sharpInstance, operation);
|
|
98
103
|
case OpName.OVERLAY:
|
|
99
|
-
return overlay(sharpInstance, operation);
|
|
104
|
+
return await overlay(sharpInstance, operation);
|
|
100
105
|
case OpName.RESIZE:
|
|
101
|
-
return resize(sharpInstance, operation);
|
|
106
|
+
return await resize(sharpInstance, operation);
|
|
102
107
|
case OpName.ROTATE:
|
|
103
|
-
return rotate(sharpInstance, operation);
|
|
108
|
+
return await rotate(sharpInstance, operation);
|
|
104
109
|
case OpName.SATURATE:
|
|
105
|
-
return saturate(sharpInstance, operation);
|
|
110
|
+
return await saturate(sharpInstance, operation);
|
|
106
111
|
default:
|
|
107
112
|
return sharpInstance;
|
|
108
113
|
}
|
|
@@ -124,11 +129,11 @@ async function transform(input, operationsSequence, limits) {
|
|
|
124
129
|
if (operation.name === OpName.RESIZE || operation.name === OpName.EXTEND || operation.name === OpName.EXTRACT || operation.name === OpName.ROTATE) {
|
|
125
130
|
try {
|
|
126
131
|
const meta = await sharpInstance.metadata();
|
|
127
|
-
if (limits.width !== void 0 && meta.width
|
|
132
|
+
if (limits.width !== void 0 && meta.width > limits.width) return Outcome.makeFailure({
|
|
128
133
|
code: TransformErrCodes.WIDTH_LIMIT_EXCEEDED,
|
|
129
134
|
details: `Image width exceeded the limit (${meta.width}px)`
|
|
130
135
|
});
|
|
131
|
-
if (limits.height !== void 0 && meta.height
|
|
136
|
+
if (limits.height !== void 0 && meta.height > limits.height) return Outcome.makeFailure({
|
|
132
137
|
code: TransformErrCodes.HEIGHT_LIMIT_EXCEEDED,
|
|
133
138
|
details: `Image height exceeded the limit (${meta.height}px)`
|
|
134
139
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import sharp from 'sharp';
|
|
1
|
+
import type sharp from 'sharp';
|
|
2
2
|
import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
|
|
3
3
|
import type { BlurOperationParams } from '../../../types.js';
|
|
4
4
|
export declare function isBlurOperationParams(obj: unknown): Outcome.Either<BlurOperationParams, string>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import sharp from 'sharp';
|
|
1
|
+
import type sharp from 'sharp';
|
|
2
2
|
import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
|
|
3
3
|
import type { BrightenOperationParams } from '../../../types.js';
|
|
4
4
|
export declare function isBrightenOperationParams(obj: unknown): Outcome.Either<BrightenOperationParams, string>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import sharp from 'sharp';
|
|
1
|
+
import type sharp from 'sharp';
|
|
2
2
|
import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
|
|
3
3
|
import type { ExtendOperationParams } from '../../../types.js';
|
|
4
4
|
export declare function isExtendOperationParams(obj: unknown): Outcome.Either<ExtendOperationParams, string>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import sharp from 'sharp';
|
|
1
|
+
import type sharp from 'sharp';
|
|
2
2
|
import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
|
|
3
3
|
import type { ExtractOperationParams } from '../../../types.js';
|
|
4
4
|
export declare function isExtractOperationParams(obj: unknown): Outcome.Either<ExtractOperationParams, string>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import sharp from 'sharp';
|
|
1
|
+
import type sharp from 'sharp';
|
|
2
2
|
import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
|
|
3
3
|
import type { FlattenOperationParams } from '../../../types.js';
|
|
4
4
|
export declare function isFlattenOperationParams(obj: unknown): Outcome.Either<FlattenOperationParams, string>;
|
|
@@ -14,7 +14,7 @@ function isFlattenOperationParams(obj) {
|
|
|
14
14
|
async function flatten(sharpInstance, params) {
|
|
15
15
|
const inputBg = params.background;
|
|
16
16
|
const rgbBackground = inputBg !== void 0 ? toSharpColor(inputBg) : void 0;
|
|
17
|
-
const background = rgbBackground
|
|
17
|
+
const background = rgbBackground ?? rgbBackground;
|
|
18
18
|
return sharpInstance.flatten({ background });
|
|
19
19
|
}
|
|
20
20
|
export {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import sharp from 'sharp';
|
|
1
|
+
import type sharp from 'sharp';
|
|
2
2
|
export declare function flip(sharpInstance: sharp.Sharp): Promise<sharp.Sharp>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import sharp from 'sharp';
|
|
1
|
+
import type sharp from 'sharp';
|
|
2
2
|
export declare function flop(sharpInstance: sharp.Sharp): Promise<sharp.Sharp>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import sharp from 'sharp';
|
|
1
|
+
import type sharp from 'sharp';
|
|
2
2
|
import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
|
|
3
3
|
import type { HueOperationParams } from '../../../types.js';
|
|
4
4
|
export declare function isHueOperationParams(obj: unknown): Outcome.Either<HueOperationParams, string>;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
export * as blur from './blur/index.js'
|
|
2
2
|
export * as brighten from './brighten/index.js'
|
|
3
|
-
export * as extend from './extend/index.js'
|
|
4
3
|
export * as extract from './extract/index.js'
|
|
4
|
+
export * as extend from './extend/index.js'
|
|
5
5
|
export * as flatten from './flatten/index.js'
|
|
6
|
-
export * as flip from './flip/index.js'
|
|
7
6
|
export * as flop from './flop/index.js'
|
|
8
7
|
export * as hue from './hue/index.js'
|
|
9
8
|
export * as level from './level/index.js'
|
|
10
|
-
export * as normalize from './normalize/index.js'
|
|
11
|
-
export * as resize from './resize/index.js'
|
|
12
|
-
export * as overlay from './overlay/index.js'
|
|
13
9
|
export * as lighten from './lighten/index.js'
|
|
10
|
+
export * as flip from './flip/index.js'
|
|
11
|
+
export * as overlay from './overlay/index.js'
|
|
14
12
|
export * as rotate from './rotate/index.js'
|
|
13
|
+
export * as resize from './resize/index.js'
|
|
14
|
+
export * as normalize from './normalize/index.js'
|
|
15
15
|
export * as saturate from './saturate/index.js'
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
export * as blur from './blur/index.js'
|
|
2
2
|
export * as brighten from './brighten/index.js'
|
|
3
|
-
export * as extend from './extend/index.js'
|
|
4
3
|
export * as extract from './extract/index.js'
|
|
4
|
+
export * as extend from './extend/index.js'
|
|
5
5
|
export * as flatten from './flatten/index.js'
|
|
6
|
-
export * as flip from './flip/index.js'
|
|
7
6
|
export * as flop from './flop/index.js'
|
|
8
7
|
export * as hue from './hue/index.js'
|
|
9
8
|
export * as level from './level/index.js'
|
|
10
|
-
export * as normalize from './normalize/index.js'
|
|
11
|
-
export * as resize from './resize/index.js'
|
|
12
|
-
export * as overlay from './overlay/index.js'
|
|
13
9
|
export * as lighten from './lighten/index.js'
|
|
10
|
+
export * as flip from './flip/index.js'
|
|
11
|
+
export * as overlay from './overlay/index.js'
|
|
14
12
|
export * as rotate from './rotate/index.js'
|
|
13
|
+
export * as resize from './resize/index.js'
|
|
14
|
+
export * as normalize from './normalize/index.js'
|
|
15
15
|
export * as saturate from './saturate/index.js'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import sharp from 'sharp';
|
|
1
|
+
import type sharp from 'sharp';
|
|
2
2
|
import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
|
|
3
3
|
import type { LevelOperationParams } from '../../../types.js';
|
|
4
4
|
export declare function isLevelOperationParams(obj: unknown): Outcome.Either<LevelOperationParams, string>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import sharp from 'sharp';
|
|
1
|
+
import type sharp from 'sharp';
|
|
2
2
|
import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
|
|
3
3
|
import type { LightenOperationParams } from '../../../types.js';
|
|
4
4
|
export declare function isLightenOperationParams(obj: unknown): Outcome.Either<LightenOperationParams, string>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import sharp from 'sharp';
|
|
1
|
+
import type sharp from 'sharp';
|
|
2
2
|
import * as Outcome from '../../../../../agnostic/misc/outcome/index.js';
|
|
3
3
|
import type { NormalizeOperationParams } from '../../../types.js';
|
|
4
4
|
export declare function isNormalizeOperationParams(obj: unknown): Outcome.Either<NormalizeOperationParams, string>;
|
|
@@ -8,7 +8,7 @@ function isOverlayOperationParams(obj) {
|
|
|
8
8
|
const schema = z.object({
|
|
9
9
|
input: z.union([
|
|
10
10
|
z.custom(isDuckTypedSharpInstance),
|
|
11
|
-
z.custom(Buffer.isBuffer),
|
|
11
|
+
z.custom((data) => Buffer.isBuffer(data)),
|
|
12
12
|
z.string(),
|
|
13
13
|
z.object({
|
|
14
14
|
width: z.number().optional(),
|