@uploadcare/file-uploader 0.50.1-alpha.2
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/LICENSE +21 -0
- package/README.md +165 -0
- package/abstract/ActivityBlock.d.ts +68 -0
- package/abstract/ActivityBlock.d.ts.map +1 -0
- package/abstract/ActivityBlock.js +207 -0
- package/abstract/Block.d.ts +99 -0
- package/abstract/Block.d.ts.map +1 -0
- package/abstract/Block.js +349 -0
- package/abstract/CTX.d.ts +31 -0
- package/abstract/CTX.d.ts.map +1 -0
- package/abstract/CTX.js +38 -0
- package/abstract/LocaleManager.d.ts +38 -0
- package/abstract/LocaleManager.d.ts.map +1 -0
- package/abstract/LocaleManager.js +127 -0
- package/abstract/SecureUploadsManager.d.ts +22 -0
- package/abstract/SecureUploadsManager.d.ts.map +1 -0
- package/abstract/SecureUploadsManager.js +87 -0
- package/abstract/SolutionBlock.d.ts +23 -0
- package/abstract/SolutionBlock.d.ts.map +1 -0
- package/abstract/SolutionBlock.js +23 -0
- package/abstract/TypedCollection.d.ts +127 -0
- package/abstract/TypedCollection.d.ts.map +1 -0
- package/abstract/TypedCollection.js +245 -0
- package/abstract/TypedData.d.ts +47 -0
- package/abstract/TypedData.d.ts.map +1 -0
- package/abstract/TypedData.js +77 -0
- package/abstract/UploaderBlock.d.ts +114 -0
- package/abstract/UploaderBlock.d.ts.map +1 -0
- package/abstract/UploaderBlock.js +444 -0
- package/abstract/UploaderPublicApi.d.ts +90 -0
- package/abstract/UploaderPublicApi.d.ts.map +1 -0
- package/abstract/UploaderPublicApi.js +316 -0
- package/abstract/ValidationManager.d.ts +31 -0
- package/abstract/ValidationManager.d.ts.map +1 -0
- package/abstract/ValidationManager.js +162 -0
- package/abstract/a11y.d.ts +20 -0
- package/abstract/a11y.d.ts.map +1 -0
- package/abstract/a11y.js +118 -0
- package/abstract/buildOutputCollectionState.d.ts +8 -0
- package/abstract/buildOutputCollectionState.d.ts.map +1 -0
- package/abstract/buildOutputCollectionState.js +136 -0
- package/abstract/connectBlocksFrom.d.ts +8 -0
- package/abstract/connectBlocksFrom.d.ts.map +1 -0
- package/abstract/connectBlocksFrom.js +34 -0
- package/abstract/l10nProcessor.d.ts +7 -0
- package/abstract/l10nProcessor.d.ts.map +1 -0
- package/abstract/l10nProcessor.js +80 -0
- package/abstract/localeRegistry.d.ts +5 -0
- package/abstract/localeRegistry.d.ts.map +1 -0
- package/abstract/localeRegistry.js +63 -0
- package/abstract/registerBlocks.d.ts +5 -0
- package/abstract/registerBlocks.d.ts.map +1 -0
- package/abstract/registerBlocks.js +31 -0
- package/abstract/sharedConfigKey.d.ts +2 -0
- package/abstract/sharedConfigKey.d.ts.map +1 -0
- package/abstract/sharedConfigKey.js +8 -0
- package/abstract/uploadEntrySchema.d.ts +64 -0
- package/abstract/uploadEntrySchema.d.ts.map +1 -0
- package/abstract/uploadEntrySchema.js +138 -0
- package/blocks/ActivityHeader/ActivityHeader.d.ts +4 -0
- package/blocks/ActivityHeader/ActivityHeader.d.ts.map +1 -0
- package/blocks/ActivityHeader/ActivityHeader.js +3 -0
- package/blocks/ActivityHeader/activity-header.css +14 -0
- package/blocks/CameraSource/CameraSource.d.ts +39 -0
- package/blocks/CameraSource/CameraSource.d.ts.map +1 -0
- package/blocks/CameraSource/CameraSource.js +253 -0
- package/blocks/CameraSource/camera-source.css +107 -0
- package/blocks/CloudImageEditor/index.css +1 -0
- package/blocks/CloudImageEditor/index.d.ts +2 -0
- package/blocks/CloudImageEditor/index.d.ts.map +1 -0
- package/blocks/CloudImageEditor/index.js +1 -0
- package/blocks/CloudImageEditor/src/CloudImageEditorBlock.d.ts +58 -0
- package/blocks/CloudImageEditor/src/CloudImageEditorBlock.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/CloudImageEditorBlock.js +228 -0
- package/blocks/CloudImageEditor/src/CropFrame.d.ts +146 -0
- package/blocks/CloudImageEditor/src/CropFrame.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/CropFrame.js +511 -0
- package/blocks/CloudImageEditor/src/EditorButtonControl.d.ts +10 -0
- package/blocks/CloudImageEditor/src/EditorButtonControl.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/EditorButtonControl.js +44 -0
- package/blocks/CloudImageEditor/src/EditorCropButtonControl.d.ts +6 -0
- package/blocks/CloudImageEditor/src/EditorCropButtonControl.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/EditorCropButtonControl.js +39 -0
- package/blocks/CloudImageEditor/src/EditorFilterControl.d.ts +18 -0
- package/blocks/CloudImageEditor/src/EditorFilterControl.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/EditorFilterControl.js +155 -0
- package/blocks/CloudImageEditor/src/EditorImageCropper.d.ts +106 -0
- package/blocks/CloudImageEditor/src/EditorImageCropper.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/EditorImageCropper.js +551 -0
- package/blocks/CloudImageEditor/src/EditorImageFader.d.ts +132 -0
- package/blocks/CloudImageEditor/src/EditorImageFader.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/EditorImageFader.js +454 -0
- package/blocks/CloudImageEditor/src/EditorOperationControl.d.ts +9 -0
- package/blocks/CloudImageEditor/src/EditorOperationControl.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/EditorOperationControl.js +39 -0
- package/blocks/CloudImageEditor/src/EditorScroller.d.ts +7 -0
- package/blocks/CloudImageEditor/src/EditorScroller.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/EditorScroller.js +33 -0
- package/blocks/CloudImageEditor/src/EditorSlider.d.ts +24 -0
- package/blocks/CloudImageEditor/src/EditorSlider.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/EditorSlider.js +118 -0
- package/blocks/CloudImageEditor/src/EditorToolbar.d.ts +104 -0
- package/blocks/CloudImageEditor/src/EditorToolbar.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/EditorToolbar.js +441 -0
- package/blocks/CloudImageEditor/src/crop-utils.d.ts +123 -0
- package/blocks/CloudImageEditor/src/crop-utils.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/crop-utils.js +729 -0
- package/blocks/CloudImageEditor/src/cropper-constants.d.ts +11 -0
- package/blocks/CloudImageEditor/src/cropper-constants.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/cropper-constants.js +11 -0
- package/blocks/CloudImageEditor/src/css/common.css +1157 -0
- package/blocks/CloudImageEditor/src/css/icons.css +12 -0
- package/blocks/CloudImageEditor/src/css/index.css +2 -0
- package/blocks/CloudImageEditor/src/elements/button/BtnUi.d.ts +20 -0
- package/blocks/CloudImageEditor/src/elements/button/BtnUi.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/elements/button/BtnUi.js +90 -0
- package/blocks/CloudImageEditor/src/elements/line-loader/LineLoaderUi.d.ts +11 -0
- package/blocks/CloudImageEditor/src/elements/line-loader/LineLoaderUi.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/elements/line-loader/LineLoaderUi.js +52 -0
- package/blocks/CloudImageEditor/src/elements/presence-toggle/PresenceToggle.d.ts +17 -0
- package/blocks/CloudImageEditor/src/elements/presence-toggle/PresenceToggle.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/elements/presence-toggle/PresenceToggle.js +71 -0
- package/blocks/CloudImageEditor/src/elements/slider/SliderUi.d.ts +16 -0
- package/blocks/CloudImageEditor/src/elements/slider/SliderUi.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/elements/slider/SliderUi.js +178 -0
- package/blocks/CloudImageEditor/src/index.d.ts +15 -0
- package/blocks/CloudImageEditor/src/index.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/index.js +14 -0
- package/blocks/CloudImageEditor/src/lib/FocusVisible.d.ts +15 -0
- package/blocks/CloudImageEditor/src/lib/FocusVisible.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/lib/FocusVisible.js +33 -0
- package/blocks/CloudImageEditor/src/lib/applyFocusVisiblePolyfill.d.ts +10 -0
- package/blocks/CloudImageEditor/src/lib/applyFocusVisiblePolyfill.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/lib/applyFocusVisiblePolyfill.js +256 -0
- package/blocks/CloudImageEditor/src/lib/classNames.d.ts +3 -0
- package/blocks/CloudImageEditor/src/lib/classNames.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/lib/classNames.js +34 -0
- package/blocks/CloudImageEditor/src/lib/linspace.d.ts +8 -0
- package/blocks/CloudImageEditor/src/lib/linspace.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/lib/linspace.js +14 -0
- package/blocks/CloudImageEditor/src/lib/parseCropPreset.d.ts +2 -0
- package/blocks/CloudImageEditor/src/lib/parseCropPreset.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/lib/parseCropPreset.js +14 -0
- package/blocks/CloudImageEditor/src/lib/parseTabs.d.ts +2 -0
- package/blocks/CloudImageEditor/src/lib/parseTabs.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/lib/parseTabs.js +14 -0
- package/blocks/CloudImageEditor/src/lib/pick.d.ts +7 -0
- package/blocks/CloudImageEditor/src/lib/pick.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/lib/pick.js +15 -0
- package/blocks/CloudImageEditor/src/lib/preloadImage.d.ts +11 -0
- package/blocks/CloudImageEditor/src/lib/preloadImage.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/lib/preloadImage.js +38 -0
- package/blocks/CloudImageEditor/src/lib/transformationUtils.d.ts +14 -0
- package/blocks/CloudImageEditor/src/lib/transformationUtils.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/lib/transformationUtils.js +167 -0
- package/blocks/CloudImageEditor/src/state.d.ts +38 -0
- package/blocks/CloudImageEditor/src/state.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/state.js +92 -0
- package/blocks/CloudImageEditor/src/svg-sprite.d.ts +3 -0
- package/blocks/CloudImageEditor/src/svg-sprite.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/svg-sprite.js +1 -0
- package/blocks/CloudImageEditor/src/template.d.ts +2 -0
- package/blocks/CloudImageEditor/src/template.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/template.js +36 -0
- package/blocks/CloudImageEditor/src/toolbar-constants.d.ts +58 -0
- package/blocks/CloudImageEditor/src/toolbar-constants.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/toolbar-constants.js +114 -0
- package/blocks/CloudImageEditor/src/types.d.ts +58 -0
- package/blocks/CloudImageEditor/src/types.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/types.js +61 -0
- package/blocks/CloudImageEditor/src/util.d.ts +2 -0
- package/blocks/CloudImageEditor/src/util.d.ts.map +1 -0
- package/blocks/CloudImageEditor/src/util.js +19 -0
- package/blocks/CloudImageEditorActivity/CloudImageEditorActivity.d.ts +31 -0
- package/blocks/CloudImageEditorActivity/CloudImageEditorActivity.d.ts.map +1 -0
- package/blocks/CloudImageEditorActivity/CloudImageEditorActivity.js +113 -0
- package/blocks/CloudImageEditorActivity/index.css +13 -0
- package/blocks/CloudImageEditorActivity/test.d.ts +2 -0
- package/blocks/CloudImageEditorActivity/test.d.ts.map +1 -0
- package/blocks/CloudImageEditorActivity/test.js +9 -0
- package/blocks/Config/Config.d.ts +67 -0
- package/blocks/Config/Config.d.ts.map +1 -0
- package/blocks/Config/Config.js +246 -0
- package/blocks/Config/config.css +3 -0
- package/blocks/Config/initialConfig.d.ts +6 -0
- package/blocks/Config/initialConfig.d.ts.map +1 -0
- package/blocks/Config/initialConfig.js +69 -0
- package/blocks/Config/normalizeConfigValue.d.ts +3 -0
- package/blocks/Config/normalizeConfigValue.d.ts.map +1 -0
- package/blocks/Config/normalizeConfigValue.js +177 -0
- package/blocks/Copyright/Copyright.d.ts +4 -0
- package/blocks/Copyright/Copyright.d.ts.map +1 -0
- package/blocks/Copyright/Copyright.js +24 -0
- package/blocks/Copyright/copyright.css +31 -0
- package/blocks/DropArea/DropArea.d.ts +49 -0
- package/blocks/DropArea/DropArea.d.ts.map +1 -0
- package/blocks/DropArea/DropArea.js +273 -0
- package/blocks/DropArea/addDropzone.d.ts +21 -0
- package/blocks/DropArea/addDropzone.d.ts.map +1 -0
- package/blocks/DropArea/addDropzone.js +137 -0
- package/blocks/DropArea/drop-area.css +188 -0
- package/blocks/DropArea/getDropItems.d.ts +16 -0
- package/blocks/DropArea/getDropItems.d.ts.map +1 -0
- package/blocks/DropArea/getDropItems.js +167 -0
- package/blocks/ExternalSource/ExternalSource.d.ts +98 -0
- package/blocks/ExternalSource/ExternalSource.d.ts.map +1 -0
- package/blocks/ExternalSource/ExternalSource.js +268 -0
- package/blocks/ExternalSource/buildStyles.d.ts +27 -0
- package/blocks/ExternalSource/buildStyles.d.ts.map +1 -0
- package/blocks/ExternalSource/buildStyles.js +133 -0
- package/blocks/ExternalSource/external-source.css +65 -0
- package/blocks/ExternalSource/messages.d.ts +3 -0
- package/blocks/ExternalSource/messages.d.ts.map +1 -0
- package/blocks/ExternalSource/messages.js +35 -0
- package/blocks/ExternalSource/query-string.d.ts +8 -0
- package/blocks/ExternalSource/query-string.d.ts.map +1 -0
- package/blocks/ExternalSource/query-string.js +14 -0
- package/blocks/FileItem/FileItem.d.ts +97 -0
- package/blocks/FileItem/FileItem.d.ts.map +1 -0
- package/blocks/FileItem/FileItem.js +460 -0
- package/blocks/FileItem/file-item.css +140 -0
- package/blocks/FormInput/FormInput.d.ts +7 -0
- package/blocks/FormInput/FormInput.d.ts.map +1 -0
- package/blocks/FormInput/FormInput.js +92 -0
- package/blocks/Icon/Icon.d.ts +12 -0
- package/blocks/Icon/Icon.d.ts.map +1 -0
- package/blocks/Icon/Icon.js +44 -0
- package/blocks/Icon/icon.css +12 -0
- package/blocks/Img/Img.d.ts +4 -0
- package/blocks/Img/Img.d.ts.map +1 -0
- package/blocks/Img/Img.js +21 -0
- package/blocks/Img/ImgBase.d.ts +80 -0
- package/blocks/Img/ImgBase.d.ts.map +1 -0
- package/blocks/Img/ImgBase.js +408 -0
- package/blocks/Img/ImgConfig.d.ts +31 -0
- package/blocks/Img/ImgConfig.d.ts.map +1 -0
- package/blocks/Img/ImgConfig.js +102 -0
- package/blocks/Img/configurations.d.ts +12 -0
- package/blocks/Img/configurations.d.ts.map +1 -0
- package/blocks/Img/configurations.js +14 -0
- package/blocks/Img/props-map.d.ts +29 -0
- package/blocks/Img/props-map.d.ts.map +1 -0
- package/blocks/Img/props-map.js +34 -0
- package/blocks/Img/test.css +16 -0
- package/blocks/Img/utils/parseObjectToString.d.ts +2 -0
- package/blocks/Img/utils/parseObjectToString.d.ts.map +1 -0
- package/blocks/Img/utils/parseObjectToString.js +13 -0
- package/blocks/Modal/Modal.d.ts +24 -0
- package/blocks/Modal/Modal.d.ts.map +1 -0
- package/blocks/Modal/Modal.js +116 -0
- package/blocks/Modal/modal.css +92 -0
- package/blocks/ProgressBar/ProgressBar.d.ts +10 -0
- package/blocks/ProgressBar/ProgressBar.d.ts.map +1 -0
- package/blocks/ProgressBar/ProgressBar.js +38 -0
- package/blocks/ProgressBar/progress-bar.css +25 -0
- package/blocks/ProgressBarCommon/ProgressBarCommon.d.ts +8 -0
- package/blocks/ProgressBarCommon/ProgressBarCommon.d.ts.map +1 -0
- package/blocks/ProgressBarCommon/ProgressBarCommon.js +44 -0
- package/blocks/ProgressBarCommon/progress-bar-common.css +16 -0
- package/blocks/Range/Range.d.ts +16 -0
- package/blocks/Range/Range.d.ts.map +1 -0
- package/blocks/Range/Range.js +44 -0
- package/blocks/Range/range.css +65 -0
- package/blocks/Select/Select.d.ts +9 -0
- package/blocks/Select/Select.d.ts.map +1 -0
- package/blocks/Select/Select.js +35 -0
- package/blocks/Select/select.css +22 -0
- package/blocks/SimpleBtn/SimpleBtn.d.ts +26 -0
- package/blocks/SimpleBtn/SimpleBtn.d.ts.map +1 -0
- package/blocks/SimpleBtn/SimpleBtn.js +54 -0
- package/blocks/SimpleBtn/simple-btn.css +64 -0
- package/blocks/SourceBtn/SourceBtn.d.ts +58 -0
- package/blocks/SourceBtn/SourceBtn.d.ts.map +1 -0
- package/blocks/SourceBtn/SourceBtn.js +145 -0
- package/blocks/SourceBtn/source-btn.css +45 -0
- package/blocks/SourceList/SourceList.d.ts +4 -0
- package/blocks/SourceList/SourceList.d.ts.map +1 -0
- package/blocks/SourceList/SourceList.js +20 -0
- package/blocks/StartFrom/StartFrom.d.ts +7 -0
- package/blocks/StartFrom/StartFrom.d.ts.map +1 -0
- package/blocks/StartFrom/StartFrom.js +14 -0
- package/blocks/StartFrom/start-from.css +32 -0
- package/blocks/UploadCtxProvider/EventEmitter.d.ts +107 -0
- package/blocks/UploadCtxProvider/EventEmitter.d.ts.map +1 -0
- package/blocks/UploadCtxProvider/EventEmitter.js +132 -0
- package/blocks/UploadCtxProvider/UploadCtxProvider.d.ts +35 -0
- package/blocks/UploadCtxProvider/UploadCtxProvider.d.ts.map +1 -0
- package/blocks/UploadCtxProvider/UploadCtxProvider.js +45 -0
- package/blocks/UploadList/UploadList.d.ts +59 -0
- package/blocks/UploadList/UploadList.d.ts.map +1 -0
- package/blocks/UploadList/UploadList.js +237 -0
- package/blocks/UploadList/upload-list.css +74 -0
- package/blocks/UrlSource/UrlSource.d.ts +9 -0
- package/blocks/UrlSource/UrlSource.d.ts.map +1 -0
- package/blocks/UrlSource/UrlSource.js +61 -0
- package/blocks/UrlSource/url-source.css +24 -0
- package/blocks/svg-backgrounds/svg-backgrounds.d.ts +17 -0
- package/blocks/svg-backgrounds/svg-backgrounds.d.ts.map +1 -0
- package/blocks/svg-backgrounds/svg-backgrounds.js +45 -0
- package/blocks/themes/uc-basic/common.css +116 -0
- package/blocks/themes/uc-basic/config.css +4 -0
- package/blocks/themes/uc-basic/index.css +32 -0
- package/blocks/themes/uc-basic/svg-sprite.d.ts +3 -0
- package/blocks/themes/uc-basic/svg-sprite.d.ts.map +1 -0
- package/blocks/themes/uc-basic/svg-sprite.js +1 -0
- package/blocks/themes/uc-basic/theme.css +232 -0
- package/blocks/utils/UploadSource.d.ts +9 -0
- package/blocks/utils/UploadSource.d.ts.map +1 -0
- package/blocks/utils/UploadSource.js +8 -0
- package/blocks/utils/abilities.d.ts +2 -0
- package/blocks/utils/abilities.d.ts.map +1 -0
- package/blocks/utils/abilities.js +3 -0
- package/blocks/utils/comma-separated.d.ts +3 -0
- package/blocks/utils/comma-separated.d.ts.map +1 -0
- package/blocks/utils/comma-separated.js +19 -0
- package/blocks/utils/debounce.d.ts +10 -0
- package/blocks/utils/debounce.d.ts.map +1 -0
- package/blocks/utils/debounce.js +22 -0
- package/blocks/utils/resizeImage.d.ts +6 -0
- package/blocks/utils/resizeImage.d.ts.map +1 -0
- package/blocks/utils/resizeImage.js +40 -0
- package/blocks/utils/throttle.d.ts +4 -0
- package/blocks/utils/throttle.d.ts.map +1 -0
- package/blocks/utils/throttle.js +45 -0
- package/blocks/utils/userAgent.d.ts +6 -0
- package/blocks/utils/userAgent.d.ts.map +1 -0
- package/blocks/utils/userAgent.js +14 -0
- package/env.d.ts +4 -0
- package/env.d.ts.map +1 -0
- package/env.js +3 -0
- package/index.d.ts +39 -0
- package/index.d.ts.map +1 -0
- package/index.js +51 -0
- package/index.ssr.d.ts +961 -0
- package/index.ssr.d.ts.map +1 -0
- package/index.ssr.js +1461 -0
- package/locales/file-uploader/ar.d.ts +114 -0
- package/locales/file-uploader/ar.d.ts.map +1 -0
- package/locales/file-uploader/ar.js +113 -0
- package/locales/file-uploader/az.d.ts +106 -0
- package/locales/file-uploader/az.d.ts.map +1 -0
- package/locales/file-uploader/az.js +105 -0
- package/locales/file-uploader/ca.d.ts +108 -0
- package/locales/file-uploader/ca.d.ts.map +1 -0
- package/locales/file-uploader/ca.js +108 -0
- package/locales/file-uploader/cs.d.ts +110 -0
- package/locales/file-uploader/cs.d.ts.map +1 -0
- package/locales/file-uploader/cs.js +110 -0
- package/locales/file-uploader/da.d.ts +106 -0
- package/locales/file-uploader/da.d.ts.map +1 -0
- package/locales/file-uploader/da.js +106 -0
- package/locales/file-uploader/de.d.ts +106 -0
- package/locales/file-uploader/de.d.ts.map +1 -0
- package/locales/file-uploader/de.js +107 -0
- package/locales/file-uploader/el.d.ts +106 -0
- package/locales/file-uploader/el.d.ts.map +1 -0
- package/locales/file-uploader/el.js +107 -0
- package/locales/file-uploader/en.d.ts +106 -0
- package/locales/file-uploader/en.d.ts.map +1 -0
- package/locales/file-uploader/en.js +105 -0
- package/locales/file-uploader/es.d.ts +108 -0
- package/locales/file-uploader/es.d.ts.map +1 -0
- package/locales/file-uploader/es.js +108 -0
- package/locales/file-uploader/et.d.ts +106 -0
- package/locales/file-uploader/et.d.ts.map +1 -0
- package/locales/file-uploader/et.js +105 -0
- package/locales/file-uploader/fr.d.ts +108 -0
- package/locales/file-uploader/fr.d.ts.map +1 -0
- package/locales/file-uploader/fr.js +108 -0
- package/locales/file-uploader/he.d.ts +108 -0
- package/locales/file-uploader/he.d.ts.map +1 -0
- package/locales/file-uploader/he.js +107 -0
- package/locales/file-uploader/hy.d.ts +106 -0
- package/locales/file-uploader/hy.d.ts.map +1 -0
- package/locales/file-uploader/hy.js +105 -0
- package/locales/file-uploader/is.d.ts +106 -0
- package/locales/file-uploader/is.d.ts.map +1 -0
- package/locales/file-uploader/is.js +105 -0
- package/locales/file-uploader/it.d.ts +108 -0
- package/locales/file-uploader/it.d.ts.map +1 -0
- package/locales/file-uploader/it.js +108 -0
- package/locales/file-uploader/ja.d.ts +106 -0
- package/locales/file-uploader/ja.d.ts.map +1 -0
- package/locales/file-uploader/ja.js +105 -0
- package/locales/file-uploader/ka.d.ts +106 -0
- package/locales/file-uploader/ka.d.ts.map +1 -0
- package/locales/file-uploader/ka.js +105 -0
- package/locales/file-uploader/kk.d.ts +106 -0
- package/locales/file-uploader/kk.d.ts.map +1 -0
- package/locales/file-uploader/kk.js +105 -0
- package/locales/file-uploader/ko.d.ts +106 -0
- package/locales/file-uploader/ko.d.ts.map +1 -0
- package/locales/file-uploader/ko.js +104 -0
- package/locales/file-uploader/lv.d.ts +108 -0
- package/locales/file-uploader/lv.d.ts.map +1 -0
- package/locales/file-uploader/lv.js +107 -0
- package/locales/file-uploader/nb.d.ts +106 -0
- package/locales/file-uploader/nb.d.ts.map +1 -0
- package/locales/file-uploader/nb.js +105 -0
- package/locales/file-uploader/nl.d.ts +106 -0
- package/locales/file-uploader/nl.d.ts.map +1 -0
- package/locales/file-uploader/nl.js +106 -0
- package/locales/file-uploader/pl.d.ts +110 -0
- package/locales/file-uploader/pl.d.ts.map +1 -0
- package/locales/file-uploader/pl.js +109 -0
- package/locales/file-uploader/pt.d.ts +108 -0
- package/locales/file-uploader/pt.d.ts.map +1 -0
- package/locales/file-uploader/pt.js +108 -0
- package/locales/file-uploader/ro.d.ts +108 -0
- package/locales/file-uploader/ro.d.ts.map +1 -0
- package/locales/file-uploader/ro.js +108 -0
- package/locales/file-uploader/ru.d.ts +110 -0
- package/locales/file-uploader/ru.d.ts.map +1 -0
- package/locales/file-uploader/ru.js +109 -0
- package/locales/file-uploader/sk.d.ts +110 -0
- package/locales/file-uploader/sk.d.ts.map +1 -0
- package/locales/file-uploader/sk.js +109 -0
- package/locales/file-uploader/sr.d.ts +108 -0
- package/locales/file-uploader/sr.d.ts.map +1 -0
- package/locales/file-uploader/sr.js +107 -0
- package/locales/file-uploader/sv.d.ts +106 -0
- package/locales/file-uploader/sv.d.ts.map +1 -0
- package/locales/file-uploader/sv.js +105 -0
- package/locales/file-uploader/tr.d.ts +106 -0
- package/locales/file-uploader/tr.d.ts.map +1 -0
- package/locales/file-uploader/tr.js +105 -0
- package/locales/file-uploader/uk.d.ts +110 -0
- package/locales/file-uploader/uk.d.ts.map +1 -0
- package/locales/file-uploader/uk.js +109 -0
- package/locales/file-uploader/vi.d.ts +106 -0
- package/locales/file-uploader/vi.d.ts.map +1 -0
- package/locales/file-uploader/vi.js +105 -0
- package/locales/file-uploader/zh-TW.d.ts +106 -0
- package/locales/file-uploader/zh-TW.d.ts.map +1 -0
- package/locales/file-uploader/zh-TW.js +105 -0
- package/locales/file-uploader/zh.d.ts +106 -0
- package/locales/file-uploader/zh.d.ts.map +1 -0
- package/locales/file-uploader/zh.js +105 -0
- package/package.json +142 -0
- package/solutions/adaptive-image/index.d.ts +3 -0
- package/solutions/adaptive-image/index.d.ts.map +1 -0
- package/solutions/adaptive-image/index.js +5 -0
- package/solutions/cloud-image-editor/CloudImageEditor.d.ts +4 -0
- package/solutions/cloud-image-editor/CloudImageEditor.d.ts.map +1 -0
- package/solutions/cloud-image-editor/CloudImageEditor.js +12 -0
- package/solutions/cloud-image-editor/index.css +2 -0
- package/solutions/cloud-image-editor/index.d.ts +6 -0
- package/solutions/cloud-image-editor/index.d.ts.map +1 -0
- package/solutions/cloud-image-editor/index.js +11 -0
- package/solutions/file-uploader/inline/FileUploaderInline.d.ts +27 -0
- package/solutions/file-uploader/inline/FileUploaderInline.d.ts.map +1 -0
- package/solutions/file-uploader/inline/FileUploaderInline.js +75 -0
- package/solutions/file-uploader/inline/index.css +54 -0
- package/solutions/file-uploader/inline/index.d.ts +2 -0
- package/solutions/file-uploader/inline/index.d.ts.map +1 -0
- package/solutions/file-uploader/inline/index.js +1 -0
- package/solutions/file-uploader/minimal/FileUploaderMinimal.d.ts +7 -0
- package/solutions/file-uploader/minimal/FileUploaderMinimal.d.ts.map +1 -0
- package/solutions/file-uploader/minimal/FileUploaderMinimal.js +46 -0
- package/solutions/file-uploader/minimal/index.css +137 -0
- package/solutions/file-uploader/minimal/index.d.ts +14 -0
- package/solutions/file-uploader/minimal/index.d.ts.map +1 -0
- package/solutions/file-uploader/minimal/index.js +13 -0
- package/solutions/file-uploader/regular/FileUploaderRegular.d.ts +26 -0
- package/solutions/file-uploader/regular/FileUploaderRegular.d.ts.map +1 -0
- package/solutions/file-uploader/regular/FileUploaderRegular.js +66 -0
- package/solutions/file-uploader/regular/index.css +1 -0
- package/solutions/file-uploader/regular/index.d.ts +2 -0
- package/solutions/file-uploader/regular/index.d.ts.map +1 -0
- package/solutions/file-uploader/regular/index.js +1 -0
- package/types/events.d.ts +5 -0
- package/types/events.js +1 -0
- package/types/exported.d.ts +295 -0
- package/types/exported.js +1 -0
- package/types/global.d.ts +8 -0
- package/types/https.d.ts +1 -0
- package/types/index.d.ts +2 -0
- package/types/index.js +3 -0
- package/types/jsx.d.ts +63 -0
- package/types/jsx.js +1 -0
- package/utils/WindowHeightTracker.d.ts +24 -0
- package/utils/WindowHeightTracker.d.ts.map +1 -0
- package/utils/WindowHeightTracker.js +51 -0
- package/utils/cdn-utils.d.ts +59 -0
- package/utils/cdn-utils.d.ts.map +1 -0
- package/utils/cdn-utils.js +201 -0
- package/utils/cdn-utils.test.d.ts +2 -0
- package/utils/cdn-utils.test.d.ts.map +1 -0
- package/utils/cdn-utils.test.js +227 -0
- package/utils/delay.d.ts +2 -0
- package/utils/delay.d.ts.map +1 -0
- package/utils/delay.js +4 -0
- package/utils/fileTypes.d.ts +8 -0
- package/utils/fileTypes.d.ts.map +1 -0
- package/utils/fileTypes.js +95 -0
- package/utils/fileTypes.test.d.ts +2 -0
- package/utils/fileTypes.test.d.ts.map +1 -0
- package/utils/fileTypes.test.js +89 -0
- package/utils/getLocaleDirection.d.ts +2 -0
- package/utils/getLocaleDirection.d.ts.map +1 -0
- package/utils/getLocaleDirection.js +18 -0
- package/utils/getPluralForm.d.ts +3 -0
- package/utils/getPluralForm.d.ts.map +1 -0
- package/utils/getPluralForm.js +13 -0
- package/utils/getPluralForm.test.d.ts +2 -0
- package/utils/getPluralForm.test.d.ts.map +1 -0
- package/utils/getPluralForm.test.js +16 -0
- package/utils/ifRef.d.ts +7 -0
- package/utils/ifRef.d.ts.map +1 -0
- package/utils/ifRef.js +9 -0
- package/utils/isSecureTokenExpired.d.ts +4 -0
- package/utils/isSecureTokenExpired.d.ts.map +1 -0
- package/utils/isSecureTokenExpired.js +17 -0
- package/utils/isSecureTokenExpired.test.d.ts +2 -0
- package/utils/isSecureTokenExpired.test.d.ts.map +1 -0
- package/utils/isSecureTokenExpired.test.js +33 -0
- package/utils/memoize.d.ts +2 -0
- package/utils/memoize.d.ts.map +1 -0
- package/utils/memoize.js +23 -0
- package/utils/memoize.test.d.ts +2 -0
- package/utils/memoize.test.d.ts.map +1 -0
- package/utils/memoize.test.js +38 -0
- package/utils/mixinClass.d.ts +8 -0
- package/utils/mixinClass.d.ts.map +1 -0
- package/utils/mixinClass.js +18 -0
- package/utils/parseCdnUrl.d.ts +9 -0
- package/utils/parseCdnUrl.d.ts.map +1 -0
- package/utils/parseCdnUrl.js +20 -0
- package/utils/parseCdnUrl.test.d.ts +2 -0
- package/utils/parseCdnUrl.test.d.ts.map +1 -0
- package/utils/parseCdnUrl.test.js +78 -0
- package/utils/parseShrink.d.ts +5 -0
- package/utils/parseShrink.d.ts.map +1 -0
- package/utils/parseShrink.js +34 -0
- package/utils/parseShrink.test.d.ts +2 -0
- package/utils/parseShrink.test.d.ts.map +1 -0
- package/utils/parseShrink.test.js +26 -0
- package/utils/prettyBytes.d.ts +11 -0
- package/utils/prettyBytes.d.ts.map +1 -0
- package/utils/prettyBytes.js +64 -0
- package/utils/prettyBytes.test.d.ts +2 -0
- package/utils/prettyBytes.test.d.ts.map +1 -0
- package/utils/prettyBytes.test.js +99 -0
- package/utils/stringToArray.d.ts +2 -0
- package/utils/stringToArray.d.ts.map +1 -0
- package/utils/stringToArray.js +11 -0
- package/utils/stringToArray.test.d.ts +2 -0
- package/utils/stringToArray.test.d.ts.map +1 -0
- package/utils/stringToArray.test.js +20 -0
- package/utils/template-utils.d.ts +40 -0
- package/utils/template-utils.d.ts.map +1 -0
- package/utils/template-utils.js +50 -0
- package/utils/template-utils.test.d.ts +2 -0
- package/utils/template-utils.test.d.ts.map +1 -0
- package/utils/template-utils.test.js +56 -0
- package/utils/toKebabCase.d.ts +3 -0
- package/utils/toKebabCase.d.ts.map +1 -0
- package/utils/toKebabCase.js +15 -0
- package/utils/toKebabCase.test.d.ts +2 -0
- package/utils/toKebabCase.test.d.ts.map +1 -0
- package/utils/toKebabCase.test.js +11 -0
- package/utils/transparentPixelSrc.d.ts +2 -0
- package/utils/transparentPixelSrc.d.ts.map +1 -0
- package/utils/transparentPixelSrc.js +2 -0
- package/utils/uniqueArray.d.ts +2 -0
- package/utils/uniqueArray.d.ts.map +1 -0
- package/utils/uniqueArray.js +8 -0
- package/utils/uniqueArray.test.d.ts +2 -0
- package/utils/uniqueArray.test.d.ts.map +1 -0
- package/utils/uniqueArray.test.js +8 -0
- package/utils/validators/collection/index.d.ts +3 -0
- package/utils/validators/collection/index.d.ts.map +1 -0
- package/utils/validators/collection/index.js +2 -0
- package/utils/validators/collection/validateCollectionUploadError.d.ts +3 -0
- package/utils/validators/collection/validateCollectionUploadError.d.ts.map +1 -0
- package/utils/validators/collection/validateCollectionUploadError.js +11 -0
- package/utils/validators/collection/validateMultiple.d.ts +3 -0
- package/utils/validators/collection/validateMultiple.d.ts.map +1 -0
- package/utils/validators/collection/validateMultiple.js +43 -0
- package/utils/validators/file/index.d.ts +5 -0
- package/utils/validators/file/index.d.ts.map +1 -0
- package/utils/validators/file/index.js +4 -0
- package/utils/validators/file/validateFileType.d.ts +3 -0
- package/utils/validators/file/validateFileType.d.ts.map +1 -0
- package/utils/validators/file/validateFileType.js +30 -0
- package/utils/validators/file/validateIsImage.d.ts +3 -0
- package/utils/validators/file/validateIsImage.d.ts.map +1 -0
- package/utils/validators/file/validateIsImage.js +25 -0
- package/utils/validators/file/validateMaxSizeLimit.d.ts +3 -0
- package/utils/validators/file/validateMaxSizeLimit.d.ts.map +1 -0
- package/utils/validators/file/validateMaxSizeLimit.js +15 -0
- package/utils/validators/file/validateUploadError.d.ts +3 -0
- package/utils/validators/file/validateUploadError.d.ts.map +1 -0
- package/utils/validators/file/validateUploadError.js +48 -0
- package/utils/waitForAttribute.d.ts +8 -0
- package/utils/waitForAttribute.d.ts.map +1 -0
- package/utils/waitForAttribute.js +43 -0
- package/utils/waitForAttribute.test.d.ts +2 -0
- package/utils/waitForAttribute.test.d.ts.map +1 -0
- package/utils/waitForAttribute.test.js +78 -0
- package/utils/warnOnce.d.ts +3 -0
- package/utils/warnOnce.d.ts.map +1 -0
- package/utils/warnOnce.js +11 -0
- package/utils/wildcardRegexp.d.ts +2 -0
- package/utils/wildcardRegexp.d.ts.map +1 -0
- package/utils/wildcardRegexp.js +17 -0
- package/utils/wildcardRegexp.test.d.ts +2 -0
- package/utils/wildcardRegexp.test.d.ts.map +1 -0
- package/utils/wildcardRegexp.test.js +19 -0
- package/web/blocks.iife.min.js +29 -0
- package/web/blocks.min.js +29 -0
- package/web/lr-basic.min.css +1 -0
- package/web/lr-cloud-image-editor.min.css +1 -0
- package/web/lr-cloud-image-editor.min.js +29 -0
- package/web/lr-file-uploader-inline.min.css +1 -0
- package/web/lr-file-uploader-inline.min.js +29 -0
- package/web/lr-file-uploader-minimal.min.css +1 -0
- package/web/lr-file-uploader-minimal.min.js +28 -0
- package/web/lr-file-uploader-regular.min.css +1 -0
- package/web/lr-file-uploader-regular.min.js +29 -0
- package/web/lr-img.min.js +28 -0
- package/web/uc-basic.min.css +1 -0
- package/web/uc-cloud-image-editor.min.css +1 -0
- package/web/uc-cloud-image-editor.min.js +29 -0
- package/web/uc-file-uploader-inline.min.css +1 -0
- package/web/uc-file-uploader-inline.min.js +29 -0
- package/web/uc-file-uploader-minimal.min.css +1 -0
- package/web/uc-file-uploader-minimal.min.js +28 -0
- package/web/uc-file-uploader-regular.min.css +1 -0
- package/web/uc-file-uploader-regular.min.js +29 -0
- package/web/uc-img.min.js +28 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export class WindowHeightTracker {
|
|
2
|
+
/**
|
|
3
|
+
* @private
|
|
4
|
+
* @type {Set<unknown>}
|
|
5
|
+
*/
|
|
6
|
+
private static clientsRegistry;
|
|
7
|
+
/** @private */
|
|
8
|
+
private static flush;
|
|
9
|
+
/**
|
|
10
|
+
* @param {unknown} client
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
public static registerClient(client: unknown): void;
|
|
14
|
+
/**
|
|
15
|
+
* @param {unknown} client
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
public static unregisterClient(client: unknown): void;
|
|
19
|
+
/** @private */
|
|
20
|
+
private static attachTracker;
|
|
21
|
+
/** @private */
|
|
22
|
+
private static detachTracker;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=WindowHeightTracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WindowHeightTracker.d.ts","sourceRoot":"","sources":["WindowHeightTracker.js"],"names":[],"mappings":"AAKA;IACE;;;OAGG;IACH,+BAAmC;IAEnC,eAAe;IACf,qBAEQ;IAER;;;OAGG;IACH,qCAHW,OAAO,QAQjB;IAED;;;OAGG;IACH,uCAHW,OAAO,QAQjB;IAED,eAAe;IACf,6BAGC;IAED,eAAe;IACf,6BAGC;CACF"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
import { debounce } from '../blocks/utils/debounce.js';
|
|
3
|
+
|
|
4
|
+
const WINDOW_HEIGHT_TRACKER_PROPERTY = '--uploadcare-blocks-window-height';
|
|
5
|
+
|
|
6
|
+
export class WindowHeightTracker {
|
|
7
|
+
/**
|
|
8
|
+
* @private
|
|
9
|
+
* @type {Set<unknown>}
|
|
10
|
+
*/
|
|
11
|
+
static clientsRegistry = new Set();
|
|
12
|
+
|
|
13
|
+
/** @private */
|
|
14
|
+
static flush = debounce(() => {
|
|
15
|
+
document.documentElement.style.setProperty(WINDOW_HEIGHT_TRACKER_PROPERTY, `${window.innerHeight}px`);
|
|
16
|
+
}, 100);
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* @param {unknown} client
|
|
20
|
+
* @public
|
|
21
|
+
*/
|
|
22
|
+
static registerClient(client) {
|
|
23
|
+
if (this.clientsRegistry.size === 0) {
|
|
24
|
+
this.attachTracker();
|
|
25
|
+
}
|
|
26
|
+
this.clientsRegistry.add(client);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @param {unknown} client
|
|
31
|
+
* @public
|
|
32
|
+
*/
|
|
33
|
+
static unregisterClient(client) {
|
|
34
|
+
this.clientsRegistry.delete(client);
|
|
35
|
+
if (this.clientsRegistry.size === 0) {
|
|
36
|
+
this.detachTracker();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/** @private */
|
|
41
|
+
static attachTracker() {
|
|
42
|
+
window.addEventListener('resize', this.flush, { passive: true, capture: true });
|
|
43
|
+
this.flush();
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/** @private */
|
|
47
|
+
static detachTracker() {
|
|
48
|
+
window.removeEventListener('resize', this.flush, { capture: true });
|
|
49
|
+
document.documentElement.style.removeProperty(WINDOW_HEIGHT_TRACKER_PROPERTY);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extract filename or file URL
|
|
3
|
+
*
|
|
4
|
+
* @param {String} cdnUrl
|
|
5
|
+
* @returns {String}
|
|
6
|
+
*/
|
|
7
|
+
export function extractFilename(cdnUrl: string): string;
|
|
8
|
+
/**
|
|
9
|
+
* Extract UUID from CDN URL
|
|
10
|
+
*
|
|
11
|
+
* @param {string} cdnUrl
|
|
12
|
+
* @returns {string}
|
|
13
|
+
*/
|
|
14
|
+
export function extractUuid(cdnUrl: string): string;
|
|
15
|
+
/**
|
|
16
|
+
* Extract operations string from CDN URL
|
|
17
|
+
*
|
|
18
|
+
* @param {string} cdnUrl
|
|
19
|
+
* @returns {string}
|
|
20
|
+
*/
|
|
21
|
+
export function extractCdnUrlModifiers(cdnUrl: string): string;
|
|
22
|
+
/**
|
|
23
|
+
* Extract UUID from CDN URL
|
|
24
|
+
*
|
|
25
|
+
* @param {string} cdnUrl
|
|
26
|
+
* @returns {string[]}
|
|
27
|
+
*/
|
|
28
|
+
export function extractOperations(cdnUrl: string): string[];
|
|
29
|
+
/**
|
|
30
|
+
* Trim filename or file URL
|
|
31
|
+
*
|
|
32
|
+
* @param {String} cdnUrl
|
|
33
|
+
* @returns {String}
|
|
34
|
+
*/
|
|
35
|
+
export function trimFilename(cdnUrl: string): string;
|
|
36
|
+
/**
|
|
37
|
+
* Detect if filename is actually file URL
|
|
38
|
+
*
|
|
39
|
+
* @param {String} filename
|
|
40
|
+
* @returns {Boolean}
|
|
41
|
+
*/
|
|
42
|
+
export function isFileUrl(filename: string): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Split file URL into the path and search parts
|
|
45
|
+
*
|
|
46
|
+
* @param {String} fileUrl
|
|
47
|
+
* @returns {{ pathname: String; search: String; hash: String }}
|
|
48
|
+
*/
|
|
49
|
+
export function splitFileUrl(fileUrl: string): {
|
|
50
|
+
pathname: string;
|
|
51
|
+
search: string;
|
|
52
|
+
hash: string;
|
|
53
|
+
};
|
|
54
|
+
export function normalizeCdnOperation(operation?: string | unknown): string;
|
|
55
|
+
export function joinCdnOperations(...operations?: unknown[] | undefined): string;
|
|
56
|
+
export function createCdnUrlModifiers(...cdnOperations?: unknown[] | undefined): string;
|
|
57
|
+
export function createCdnUrl(baseCdnUrl: string, cdnModifiers?: string | undefined, filename?: string | undefined): string;
|
|
58
|
+
export function createOriginalUrl(cdnUrl: string, uuid: string): string;
|
|
59
|
+
//# sourceMappingURL=cdn-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cdn-utils.d.ts","sourceRoot":"","sources":["cdn-utils.js"],"names":[],"mappings":"AAkDA;;;;;GAKG;AACH,wDAcC;AAED;;;;;GAKG;AACH,oCAHW,MAAM,GACJ,MAAM,CAQlB;AAED;;;;;GAKG;AACH,+CAHW,MAAM,GACJ,MAAM,CAYlB;AAED;;;;;GAKG;AACH,0CAHW,MAAM,GACJ,MAAM,EAAE,CASpB;AAED;;;;;GAKG;AACH,qDASC;AAED;;;;;GAKG;AACH,qDAEC;AAED;;;;;GAKG;AACH,+CAFa;IAAE,QAAQ,SAAS;IAAC,MAAM,SAAS;IAAC,IAAI,SAAQ;CAAE,CAS9D;AAvJM,kDAHI,SAAS,OAAO,UAkB1B;AAQM,iFAKN;AASM,wFAGN;AA2HM,2HAgBN;AASM,wEAIN"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { PACKAGE_NAME, PACKAGE_VERSION } from '../env.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Trim leading `-/`, `/` and trailing `/` from CDN operation
|
|
5
|
+
*
|
|
6
|
+
* @param {String | unknown} [operation]
|
|
7
|
+
* @returns {String}
|
|
8
|
+
*/
|
|
9
|
+
export const normalizeCdnOperation = (operation) => {
|
|
10
|
+
if (typeof operation !== 'string' || !operation) {
|
|
11
|
+
return '';
|
|
12
|
+
}
|
|
13
|
+
let str = operation.trim();
|
|
14
|
+
if (str.startsWith('-/')) {
|
|
15
|
+
str = str.slice(2);
|
|
16
|
+
} else if (str.startsWith('/')) {
|
|
17
|
+
str = str.slice(1);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
if (str.endsWith('/')) {
|
|
21
|
+
str = str.slice(0, str.length - 1);
|
|
22
|
+
}
|
|
23
|
+
return str;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Join multiple CDN operations into one string without trailing or leading delimeters
|
|
28
|
+
*
|
|
29
|
+
* @param {...(String | unknown)} [operations]
|
|
30
|
+
* @returns {String}
|
|
31
|
+
*/
|
|
32
|
+
export const joinCdnOperations = (...operations) => {
|
|
33
|
+
return operations
|
|
34
|
+
.filter((op) => typeof op === 'string' && op)
|
|
35
|
+
.map((op) => normalizeCdnOperation(/** @type {String} */ (op)))
|
|
36
|
+
.join('/-/');
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Create string with leading `-/` from passed CDN operations. Do the same as `joinCdnOperations` but adds leading `-/`
|
|
41
|
+
* and trailing `/`
|
|
42
|
+
*
|
|
43
|
+
* @param {...(String | unknown)} [cdnOperations] -
|
|
44
|
+
* @returns {String}
|
|
45
|
+
*/
|
|
46
|
+
export const createCdnUrlModifiers = (...cdnOperations) => {
|
|
47
|
+
let joined = joinCdnOperations(...cdnOperations);
|
|
48
|
+
return joined ? `-/${joined}/` : '';
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Extract filename or file URL
|
|
53
|
+
*
|
|
54
|
+
* @param {String} cdnUrl
|
|
55
|
+
* @returns {String}
|
|
56
|
+
*/
|
|
57
|
+
export function extractFilename(cdnUrl) {
|
|
58
|
+
let url = new URL(cdnUrl);
|
|
59
|
+
let noOrigin = url.pathname + url.search + url.hash;
|
|
60
|
+
let urlFilenameIdx = noOrigin.lastIndexOf('http');
|
|
61
|
+
let plainFilenameIdx = noOrigin.lastIndexOf('/');
|
|
62
|
+
let filename = '';
|
|
63
|
+
|
|
64
|
+
if (urlFilenameIdx >= 0) {
|
|
65
|
+
filename = noOrigin.slice(urlFilenameIdx);
|
|
66
|
+
} else if (plainFilenameIdx >= 0) {
|
|
67
|
+
filename = noOrigin.slice(plainFilenameIdx + 1);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
return filename;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Extract UUID from CDN URL
|
|
75
|
+
*
|
|
76
|
+
* @param {string} cdnUrl
|
|
77
|
+
* @returns {string}
|
|
78
|
+
*/
|
|
79
|
+
export function extractUuid(cdnUrl) {
|
|
80
|
+
let url = new URL(cdnUrl);
|
|
81
|
+
let { pathname } = url;
|
|
82
|
+
const slashIndex = pathname.indexOf('/');
|
|
83
|
+
const secondSlashIndex = pathname.indexOf('/', slashIndex + 1);
|
|
84
|
+
return pathname.substring(slashIndex + 1, secondSlashIndex);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Extract operations string from CDN URL
|
|
89
|
+
*
|
|
90
|
+
* @param {string} cdnUrl
|
|
91
|
+
* @returns {string}
|
|
92
|
+
*/
|
|
93
|
+
export function extractCdnUrlModifiers(cdnUrl) {
|
|
94
|
+
let withoutFilename = trimFilename(cdnUrl);
|
|
95
|
+
let url = new URL(withoutFilename);
|
|
96
|
+
let operationsMarker = url.pathname.indexOf('/-/');
|
|
97
|
+
if (operationsMarker === -1) {
|
|
98
|
+
return '';
|
|
99
|
+
}
|
|
100
|
+
let operationsStr = url.pathname.substring(operationsMarker).slice(1);
|
|
101
|
+
|
|
102
|
+
return operationsStr;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Extract UUID from CDN URL
|
|
107
|
+
*
|
|
108
|
+
* @param {string} cdnUrl
|
|
109
|
+
* @returns {string[]}
|
|
110
|
+
*/
|
|
111
|
+
export function extractOperations(cdnUrl) {
|
|
112
|
+
let operationsStr = extractCdnUrlModifiers(cdnUrl);
|
|
113
|
+
|
|
114
|
+
return operationsStr
|
|
115
|
+
.split('/-/')
|
|
116
|
+
.filter(Boolean)
|
|
117
|
+
.map((operation) => normalizeCdnOperation(operation));
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Trim filename or file URL
|
|
122
|
+
*
|
|
123
|
+
* @param {String} cdnUrl
|
|
124
|
+
* @returns {String}
|
|
125
|
+
*/
|
|
126
|
+
export function trimFilename(cdnUrl) {
|
|
127
|
+
let url = new URL(cdnUrl);
|
|
128
|
+
let filename = extractFilename(cdnUrl);
|
|
129
|
+
let filenamePathPart = isFileUrl(filename) ? splitFileUrl(filename).pathname : filename;
|
|
130
|
+
|
|
131
|
+
url.pathname = url.pathname.replace(filenamePathPart, '');
|
|
132
|
+
url.search = '';
|
|
133
|
+
url.hash = '';
|
|
134
|
+
return url.toString();
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Detect if filename is actually file URL
|
|
139
|
+
*
|
|
140
|
+
* @param {String} filename
|
|
141
|
+
* @returns {Boolean}
|
|
142
|
+
*/
|
|
143
|
+
export function isFileUrl(filename) {
|
|
144
|
+
return filename.startsWith('http');
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Split file URL into the path and search parts
|
|
149
|
+
*
|
|
150
|
+
* @param {String} fileUrl
|
|
151
|
+
* @returns {{ pathname: String; search: String; hash: String }}
|
|
152
|
+
*/
|
|
153
|
+
export function splitFileUrl(fileUrl) {
|
|
154
|
+
let url = new URL(fileUrl);
|
|
155
|
+
return {
|
|
156
|
+
pathname: url.origin + url.pathname || '',
|
|
157
|
+
search: url.search || '',
|
|
158
|
+
hash: url.hash || '',
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* Create a final CDN URL with CDN modifiers and filename
|
|
164
|
+
*
|
|
165
|
+
* @param {String} baseCdnUrl - Base URL to CDN or Proxy, CDN modifiers and filename accepted
|
|
166
|
+
* @param {String} [cdnModifiers] - CDN modifiers to apply, will be appended to `baseCdnUrl` ones
|
|
167
|
+
* @param {String} [filename] - Filename for CDN or file URL for Proxy, will override one from `baseCdnUrl`
|
|
168
|
+
* @returns {String}
|
|
169
|
+
*/
|
|
170
|
+
|
|
171
|
+
// TODO eadidenko replace arg to pass the object parameter
|
|
172
|
+
export const createCdnUrl = (baseCdnUrl, cdnModifiers, filename) => {
|
|
173
|
+
let url = new URL(trimFilename(baseCdnUrl));
|
|
174
|
+
filename = filename || extractFilename(baseCdnUrl);
|
|
175
|
+
// TODO: fix double slash pathname bug (--cfg-cdn-cname: 'https://ucarecdn.com/' - trailing slash case)
|
|
176
|
+
if (url.pathname.startsWith('//')) {
|
|
177
|
+
url.pathname = url.pathname.replace('//', '/');
|
|
178
|
+
}
|
|
179
|
+
if (isFileUrl(filename)) {
|
|
180
|
+
let splitted = splitFileUrl(filename);
|
|
181
|
+
url.pathname = url.pathname + (cdnModifiers || '') + (splitted.pathname || '');
|
|
182
|
+
url.search = splitted.search;
|
|
183
|
+
url.hash = splitted.hash;
|
|
184
|
+
} else {
|
|
185
|
+
url.pathname = url.pathname + (cdnModifiers || '') + (filename || '');
|
|
186
|
+
}
|
|
187
|
+
return url.toString();
|
|
188
|
+
};
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* Create URL for an original file on CDN
|
|
192
|
+
*
|
|
193
|
+
* @param {String} cdnUrl - URL to get base domain from, any pathname will be stripped
|
|
194
|
+
* @param {String} uuid
|
|
195
|
+
* @returns {String}
|
|
196
|
+
*/
|
|
197
|
+
export const createOriginalUrl = (cdnUrl, uuid) => {
|
|
198
|
+
let url = new URL(cdnUrl);
|
|
199
|
+
url.pathname = uuid + '/';
|
|
200
|
+
return url.toString();
|
|
201
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cdn-utils.test.d.ts","sourceRoot":"","sources":["cdn-utils.test.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import { expect } from '@esm-bundle/chai';
|
|
2
|
+
import {
|
|
3
|
+
normalizeCdnOperation,
|
|
4
|
+
joinCdnOperations,
|
|
5
|
+
createCdnUrlModifiers,
|
|
6
|
+
createCdnUrl,
|
|
7
|
+
createOriginalUrl,
|
|
8
|
+
extractFilename,
|
|
9
|
+
trimFilename,
|
|
10
|
+
extractUuid,
|
|
11
|
+
extractOperations,
|
|
12
|
+
extractCdnUrlModifiers,
|
|
13
|
+
} from './cdn-utils.js';
|
|
14
|
+
|
|
15
|
+
const falsyValues = ['', undefined, null, false, true, 0, 10];
|
|
16
|
+
|
|
17
|
+
describe('cdn-utils/normalizeCdnOperation', () => {
|
|
18
|
+
it('should remove trailing and leading delimeters', () => {
|
|
19
|
+
expect(normalizeCdnOperation('scale_crop/1x1/center')).to.eq('scale_crop/1x1/center');
|
|
20
|
+
expect(normalizeCdnOperation('/scale_crop/1x1/center/')).to.eq('scale_crop/1x1/center');
|
|
21
|
+
expect(normalizeCdnOperation('-/scale_crop/1x1/center/')).to.eq('scale_crop/1x1/center');
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
it('should return empty string if falsy value is passed', () => {
|
|
25
|
+
for (let val of falsyValues) {
|
|
26
|
+
expect(normalizeCdnOperation(val)).to.eq('');
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
describe('cdn-utils/joinCdnOperations', () => {
|
|
32
|
+
it('should remove trailing and leading delimeters', () => {
|
|
33
|
+
expect(joinCdnOperations('scale_crop/1x1/center', 'resize')).to.eq('scale_crop/1x1/center/-/resize');
|
|
34
|
+
expect(joinCdnOperations('/scale_crop/1x1/center/', '/resize/')).to.eq('scale_crop/1x1/center/-/resize');
|
|
35
|
+
expect(joinCdnOperations('-/scale_crop/1x1/center/', '-/resize/')).to.eq('scale_crop/1x1/center/-/resize');
|
|
36
|
+
expect(joinCdnOperations('-/scale_crop/1x1/center/', '-/resize/100x/')).to.eq(
|
|
37
|
+
'scale_crop/1x1/center/-/resize/100x',
|
|
38
|
+
);
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
it('should return empty string if falsy values are passed', () => {
|
|
42
|
+
expect(joinCdnOperations(...falsyValues)).to.eq('');
|
|
43
|
+
expect(joinCdnOperations('scale_crop/1x1/center', ...falsyValues, 'resize/100x')).to.eq(
|
|
44
|
+
'scale_crop/1x1/center/-/resize/100x',
|
|
45
|
+
);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
describe('cdn-utils/createCdnUrlModifiers', () => {
|
|
50
|
+
it('should make cdn operations string that could be concatendated with domain', () => {
|
|
51
|
+
expect(createCdnUrlModifiers('scale_crop/1x1/center', 'resize')).to.eq('-/scale_crop/1x1/center/-/resize/');
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
it('should add trailing/leading slash and leading delimeter', () => {
|
|
55
|
+
expect(createCdnUrlModifiers('scale_crop/1x1/center', 'resize')).to.eq('-/scale_crop/1x1/center/-/resize/');
|
|
56
|
+
expect(createCdnUrlModifiers('/scale_crop/1x1/center/', '/resize/')).to.eq('-/scale_crop/1x1/center/-/resize/');
|
|
57
|
+
expect(createCdnUrlModifiers('-/scale_crop/1x1/center/', '-/resize/')).to.eq('-/scale_crop/1x1/center/-/resize/');
|
|
58
|
+
expect(createCdnUrlModifiers('-/scale_crop/1x1/center/', '-/resize/100x/')).to.eq(
|
|
59
|
+
'-/scale_crop/1x1/center/-/resize/100x/',
|
|
60
|
+
);
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
it('return empty string if nothing is passed', () => {
|
|
64
|
+
expect(createCdnUrlModifiers(...falsyValues)).to.eq('');
|
|
65
|
+
expect(createCdnUrlModifiers('scale_crop/1x1/center', ...falsyValues, 'resize')).to.eq(
|
|
66
|
+
'-/scale_crop/1x1/center/-/resize/',
|
|
67
|
+
);
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
describe('cdn-utils/createCdnUrl', () => {
|
|
72
|
+
it('should concatenate baseCdnUrl with cdnModifiers', () => {
|
|
73
|
+
expect(createCdnUrl('https://ucarecdn.com/:uuid/', '-/scale_crop/1x1/center/')).to.eq(
|
|
74
|
+
'https://ucarecdn.com/:uuid/-/scale_crop/1x1/center/',
|
|
75
|
+
);
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
it('should accept filename passed as argument', () => {
|
|
79
|
+
expect(createCdnUrl('https://ucarecdn.com/', '-/scale_crop/1x1/center/', 'image.jpeg')).to.eq(
|
|
80
|
+
'https://ucarecdn.com/-/scale_crop/1x1/center/image.jpeg',
|
|
81
|
+
);
|
|
82
|
+
expect(
|
|
83
|
+
createCdnUrl('https://domain.ucr.io:8080/', '-/scale_crop/1x1/center/', 'https://domain.com/image.jpg?q=1#hash'),
|
|
84
|
+
).to.eq('https://domain.ucr.io:8080/-/scale_crop/1x1/center/https://domain.com/image.jpg?q=1#hash');
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
it('should extract filename from baseCdnUrl and append it to the result', () => {
|
|
88
|
+
expect(createCdnUrl('https://ucarecdn.com/:uuid/image.jpeg', '-/scale_crop/1x1/center/')).to.eq(
|
|
89
|
+
'https://ucarecdn.com/:uuid/-/scale_crop/1x1/center/image.jpeg',
|
|
90
|
+
);
|
|
91
|
+
expect(
|
|
92
|
+
createCdnUrl('https://domain.ucr.io:8080/https://domain.com/image.jpg?q=1#hash', '-/scale_crop/1x1/center/'),
|
|
93
|
+
).to.eq('https://domain.ucr.io:8080/-/scale_crop/1x1/center/https://domain.com/image.jpg?q=1#hash');
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
it('should override filename from baseCdnUrl with provided', () => {
|
|
97
|
+
expect(createCdnUrl('https://ucarecdn.com/:uuid/image.jpeg', '-/scale_crop/1x1/center/', 'override.jpeg')).to.eq(
|
|
98
|
+
'https://ucarecdn.com/:uuid/-/scale_crop/1x1/center/override.jpeg',
|
|
99
|
+
);
|
|
100
|
+
expect(
|
|
101
|
+
createCdnUrl(
|
|
102
|
+
'https://domain.ucr.io:8080/https://domain.com/image.jpg?q=1#hash',
|
|
103
|
+
'-/scale_crop/1x1/center/',
|
|
104
|
+
'https://domain.com/override.jpg?q=2',
|
|
105
|
+
),
|
|
106
|
+
).to.eq('https://domain.ucr.io:8080/-/scale_crop/1x1/center/https://domain.com/override.jpg?q=2');
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
it('should keep cdn modifiers in the baseCdnUrl', () => {
|
|
110
|
+
expect(createCdnUrl('https://ucarecdn.com/:uuid/-/resize/10x/', '-/scale_crop/1x1/center/')).to.eq(
|
|
111
|
+
'https://ucarecdn.com/:uuid/-/resize/10x/-/scale_crop/1x1/center/',
|
|
112
|
+
);
|
|
113
|
+
expect(
|
|
114
|
+
createCdnUrl(
|
|
115
|
+
'https://domain.ucr.io:8080/-/resize/10x/https://domain.com/image.jpg?q=1#hash',
|
|
116
|
+
'-/scale_crop/1x1/center/',
|
|
117
|
+
),
|
|
118
|
+
).to.eq('https://domain.ucr.io:8080/-/resize/10x/-/scale_crop/1x1/center/https://domain.com/image.jpg?q=1#hash');
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
it('should add missing trailing slash to the base url', () => {
|
|
122
|
+
expect(createCdnUrl('https://ucarecdn.com', '-/scale_crop/1x1/center/')).to.eq(
|
|
123
|
+
'https://ucarecdn.com/-/scale_crop/1x1/center/',
|
|
124
|
+
);
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
describe('cdn-utils/createOriginalUrl', () => {
|
|
129
|
+
it('should concatenate cdnBase and uuid', () => {
|
|
130
|
+
expect(createOriginalUrl('https://ucarecdn.com/', ':uuid')).to.eq('https://ucarecdn.com/:uuid/');
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
it('should trim any pathname from cdnBase', () => {
|
|
134
|
+
expect(createOriginalUrl('https://ucarecdn.com/:old-uuid/-/resize/10x/', ':new-uuid')).to.eq(
|
|
135
|
+
'https://ucarecdn.com/:new-uuid/',
|
|
136
|
+
);
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
it('should add trailing slash to the base url', () => {
|
|
140
|
+
expect(createOriginalUrl('https://ucarecdn.com', ':uuid')).to.eq('https://ucarecdn.com/:uuid/');
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
describe('cdn-utils/extractFilename', () => {
|
|
145
|
+
it('should extract filename or file url', () => {
|
|
146
|
+
expect(extractFilename('https://ucarecdn.com/:uuid/image.jpeg')).to.eq('image.jpeg');
|
|
147
|
+
expect(extractFilename('https://ucarecdn.com/:uuid/-/resize/100x/image.jpeg')).to.eq('image.jpeg');
|
|
148
|
+
|
|
149
|
+
expect(extractFilename('https://domain.ucr.io:8080/https://domain.com/image.jpg?q=1#hash')).to.eq(
|
|
150
|
+
'https://domain.com/image.jpg?q=1#hash',
|
|
151
|
+
);
|
|
152
|
+
expect(extractFilename('https://domain.ucr.io:8080/-/resize/100x/https://domain.com/image.jpg?q=1#hash')).to.eq(
|
|
153
|
+
'https://domain.com/image.jpg?q=1#hash',
|
|
154
|
+
);
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
it('should return empty string if no filename found', () => {
|
|
158
|
+
expect(extractFilename('https://ucarecdn.com')).to.eq('');
|
|
159
|
+
expect(extractFilename('https://ucarecdn.com/')).to.eq('');
|
|
160
|
+
expect(extractFilename('https://ucarecdn.com/:uuid/')).to.eq('');
|
|
161
|
+
expect(extractFilename('https://ucarecdn.com/:uuid/-/resize/100x/')).to.eq('');
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
describe('cdn-utils/trimFilename', () => {
|
|
166
|
+
it('should trim filename or file url', () => {
|
|
167
|
+
expect(trimFilename('https://ucarecdn.com/:uuid/image.jpeg')).to.eq('https://ucarecdn.com/:uuid/');
|
|
168
|
+
expect(trimFilename('https://ucarecdn.com/:uuid/-/resize/100x/image.jpeg')).to.eq(
|
|
169
|
+
'https://ucarecdn.com/:uuid/-/resize/100x/',
|
|
170
|
+
);
|
|
171
|
+
|
|
172
|
+
expect(trimFilename('https://domain.ucr.io:8080/https://domain.com/image.jpg?q=1#hash')).to.eq(
|
|
173
|
+
'https://domain.ucr.io:8080/',
|
|
174
|
+
);
|
|
175
|
+
expect(trimFilename('https://domain.ucr.io:8080/-/resize/https://domain.com/image.jpg?q=1#hash')).to.eq(
|
|
176
|
+
'https://domain.ucr.io:8080/-/resize/',
|
|
177
|
+
);
|
|
178
|
+
});
|
|
179
|
+
|
|
180
|
+
it('should return original string if no filename found', () => {
|
|
181
|
+
expect(trimFilename('https://ucarecdn.com')).to.eq('https://ucarecdn.com/');
|
|
182
|
+
expect(trimFilename('https://ucarecdn.com/')).to.eq('https://ucarecdn.com/');
|
|
183
|
+
expect(trimFilename('https://ucarecdn.com/:uuid/')).to.eq('https://ucarecdn.com/:uuid/');
|
|
184
|
+
expect(trimFilename('https://ucarecdn.com/:uuid/-/resize/100x/')).to.eq(
|
|
185
|
+
'https://ucarecdn.com/:uuid/-/resize/100x/',
|
|
186
|
+
);
|
|
187
|
+
});
|
|
188
|
+
});
|
|
189
|
+
|
|
190
|
+
describe('cdn-utils/extractUuid', () => {
|
|
191
|
+
it('should extract uuid from cdn url', () => {
|
|
192
|
+
expect(extractUuid('https://ucarecdn.com/:uuid/image.jpeg')).to.eq(':uuid');
|
|
193
|
+
expect(extractUuid('https://ucarecdn.com/:uuid/-/resize/100x/image.jpeg')).to.eq(':uuid');
|
|
194
|
+
|
|
195
|
+
expect(extractUuid('https://ucarecdn.com/c2499162-eb07-4b93-b31e-94a89a47e858/image.jpeg')).to.eq(
|
|
196
|
+
'c2499162-eb07-4b93-b31e-94a89a47e858',
|
|
197
|
+
);
|
|
198
|
+
expect(extractUuid('https://ucarecdn.com/c2499162-eb07-4b93-b31e-94a89a47e858/-/resize/100x/image.jpeg')).to.eq(
|
|
199
|
+
'c2499162-eb07-4b93-b31e-94a89a47e858',
|
|
200
|
+
);
|
|
201
|
+
});
|
|
202
|
+
});
|
|
203
|
+
|
|
204
|
+
describe('cdn-utils/extractOperations', () => {
|
|
205
|
+
it('should extract operations from cdn url', () => {
|
|
206
|
+
expect(extractOperations('https://ucarecdn.com/:uuid/image.jpeg')).to.eql([]);
|
|
207
|
+
expect(
|
|
208
|
+
extractOperations('https://ucarecdn.com/c2499162-eb07-4b93-b31e-94a89a47e858/-/resize/100x/image.jpeg'),
|
|
209
|
+
).to.eql(['resize/100x']);
|
|
210
|
+
expect(extractOperations('https://domain.ucr.io:8080/-/resize/100x/https://domain.com/image.jpg?q=1#hash')).to.eql([
|
|
211
|
+
'resize/100x',
|
|
212
|
+
]);
|
|
213
|
+
});
|
|
214
|
+
});
|
|
215
|
+
|
|
216
|
+
describe('cdn-utils/extractCdnUrlModifiers', () => {
|
|
217
|
+
it('should extract operations string from cdn url', () => {
|
|
218
|
+
expect(extractCdnUrlModifiers('https://ucarecdn.com/:uuid/')).to.eql('');
|
|
219
|
+
expect(extractCdnUrlModifiers('https://ucarecdn.com/:uuid/image.jpeg')).to.eql('');
|
|
220
|
+
expect(
|
|
221
|
+
extractCdnUrlModifiers('https://ucarecdn.com/c2499162-eb07-4b93-b31e-94a89a47e858/-/resize/100x/image.jpeg'),
|
|
222
|
+
).to.eql('-/resize/100x/');
|
|
223
|
+
expect(
|
|
224
|
+
extractCdnUrlModifiers('https://domain.ucr.io:8080/-/resize/100x/https://domain.com/image.jpg?q=1#hash'),
|
|
225
|
+
).to.eql('-/resize/100x/');
|
|
226
|
+
});
|
|
227
|
+
});
|
package/utils/delay.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delay.d.ts","sourceRoot":"","sources":["delay.js"],"names":[],"mappings":"AAGO,0BADK,MAAM,gBAC4D"}
|
package/utils/delay.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export const IMAGE_ACCEPT_LIST: string[];
|
|
2
|
+
export function mergeFileTypes(fileTypes?: string[] | undefined): string[];
|
|
3
|
+
export function matchMimeType(mimeType: string, allowedFileTypes: string[]): boolean;
|
|
4
|
+
export function matchExtension(fileName: string, allowedFileTypes: string[]): boolean;
|
|
5
|
+
export function fileIsImage(file: File | Blob): boolean;
|
|
6
|
+
export function isBlob(data: unknown): boolean;
|
|
7
|
+
export function isFile(data: unknown): boolean;
|
|
8
|
+
//# sourceMappingURL=fileTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileTypes.d.ts","sourceRoot":"","sources":["fileTypes.js"],"names":[],"mappings":"AAGA,yCAcE;AAMK,kEAFM,MAAM,EAAE,CAUpB;AAOM,kEAHI,QAAQ,WAYlB;AAOM,mEAHI,QAAQ,WAWlB;AAMM,kCAHI,IAAI,GAAG,IAAI,WASrB;AAQM,6BAHI,OAAO,GACL,OAAO,CAInB;AAQM,6BAHI,OAAO,GACL,OAAO,CAInB"}
|