@uploadcare/file-uploader 1.5.3-alpha.0 → 1.5.3-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/README.md +5 -5
- package/abstract/ActivityBlock.d.ts +3 -3
- package/abstract/ActivityBlock.d.ts.map +1 -1
- package/abstract/Block.d.ts +4 -11
- package/abstract/Block.d.ts.map +1 -1
- package/abstract/Block.js +16 -16
- package/abstract/CTX.d.ts +7 -7
- package/abstract/CTX.d.ts.map +1 -1
- package/abstract/CTX.js +1 -1
- package/abstract/LocaleManager.d.ts +3 -3
- package/abstract/SecureUploadsManager.d.ts +2 -2
- package/abstract/SecureUploadsManager.d.ts.map +1 -1
- package/abstract/SolutionBlock.d.ts +2 -2
- package/abstract/SolutionBlock.d.ts.map +1 -1
- package/abstract/TypedCollection.d.ts +1 -1
- package/abstract/TypedCollection.d.ts.map +1 -1
- package/abstract/TypedCollection.js +4 -4
- package/abstract/TypedData.d.ts +2 -2
- package/abstract/TypedData.d.ts.map +1 -1
- package/abstract/TypedData.js +4 -4
- package/abstract/UploaderBlock.d.ts +5 -5
- package/abstract/UploaderBlock.d.ts.map +1 -1
- package/abstract/UploaderBlock.js +5 -5
- package/abstract/UploaderPublicApi.d.ts +22 -21
- package/abstract/UploaderPublicApi.d.ts.map +1 -1
- package/abstract/UploaderPublicApi.js +3 -3
- package/abstract/ValidationManager.d.ts +3 -3
- package/abstract/ValidationManager.d.ts.map +1 -1
- package/abstract/a11y.d.ts +2 -2
- package/abstract/a11y.d.ts.map +1 -1
- package/abstract/buildOutputCollectionState.d.ts +1 -1
- package/abstract/buildOutputCollectionState.d.ts.map +1 -1
- package/abstract/defineComponents.d.ts.map +1 -1
- package/abstract/defineComponents.js +5 -0
- package/abstract/l10nProcessor.d.ts.map +1 -1
- package/abstract/l10nProcessor.js +3 -3
- package/abstract/loadFileUploaderFrom.d.ts.map +1 -1
- package/abstract/localeRegistry.d.ts.map +1 -1
- package/abstract/sharedConfigKey.d.ts.map +1 -1
- package/abstract/uploadEntrySchema.d.ts +2 -2
- package/abstract/uploadEntrySchema.d.ts.map +1 -1
- package/abstract/uploadEntrySchema.js +1 -1
- package/blocks/CameraSource/CameraSource.d.ts.map +1 -1
- package/blocks/CameraSource/CameraSource.js +5 -4
- package/blocks/CloudImageEditor/src/CloudImageEditorBlock.d.ts.map +1 -1
- package/blocks/CloudImageEditor/src/CropFrame.d.ts +11 -11
- package/blocks/CloudImageEditor/src/CropFrame.d.ts.map +1 -1
- package/blocks/CloudImageEditor/src/CropFrame.js +2 -1
- package/blocks/CloudImageEditor/src/EditorButtonControl.d.ts.map +1 -1
- package/blocks/CloudImageEditor/src/EditorButtonControl.js +2 -1
- package/blocks/CloudImageEditor/src/EditorFilterControl.d.ts.map +1 -1
- package/blocks/CloudImageEditor/src/EditorFilterControl.js +3 -7
- package/blocks/CloudImageEditor/src/EditorImageCropper.d.ts +3 -3
- package/blocks/CloudImageEditor/src/EditorImageCropper.js +2 -2
- package/blocks/CloudImageEditor/src/EditorImageFader.d.ts +1 -1
- package/blocks/CloudImageEditor/src/EditorImageFader.d.ts.map +1 -1
- package/blocks/CloudImageEditor/src/EditorOperationControl.js +1 -1
- package/blocks/CloudImageEditor/src/EditorScroller.d.ts.map +1 -1
- package/blocks/CloudImageEditor/src/EditorScroller.js +2 -1
- package/blocks/CloudImageEditor/src/EditorSlider.d.ts.map +1 -1
- package/blocks/CloudImageEditor/src/EditorSlider.js +2 -1
- package/blocks/CloudImageEditor/src/EditorToolbar.d.ts +1 -1
- package/blocks/CloudImageEditor/src/EditorToolbar.d.ts.map +1 -1
- package/blocks/CloudImageEditor/src/EditorToolbar.js +4 -3
- package/blocks/CloudImageEditor/src/crop-utils.d.ts +14 -14
- package/blocks/CloudImageEditor/src/crop-utils.d.ts.map +1 -1
- package/blocks/CloudImageEditor/src/css/common.css +2 -2
- package/blocks/CloudImageEditor/src/elements/button/BtnUi.d.ts.map +1 -1
- package/blocks/CloudImageEditor/src/elements/button/BtnUi.js +3 -3
- package/blocks/CloudImageEditor/src/elements/line-loader/LineLoaderUi.d.ts.map +1 -1
- package/blocks/CloudImageEditor/src/elements/line-loader/LineLoaderUi.js +2 -1
- package/blocks/CloudImageEditor/src/elements/presence-toggle/PresenceToggle.d.ts.map +1 -1
- package/blocks/CloudImageEditor/src/elements/presence-toggle/PresenceToggle.js +3 -2
- package/blocks/CloudImageEditor/src/elements/slider/SliderUi.d.ts.map +1 -1
- package/blocks/CloudImageEditor/src/elements/slider/SliderUi.js +2 -1
- package/blocks/CloudImageEditor/src/lib/parseCropPreset.d.ts +1 -1
- package/blocks/CloudImageEditor/src/lib/transformationUtils.d.ts +3 -3
- package/blocks/CloudImageEditor/src/lib/transformationUtils.d.ts.map +1 -1
- package/blocks/CloudImageEditor/src/state.d.ts +4 -4
- package/blocks/CloudImageEditor/src/template.d.ts.map +1 -1
- package/blocks/CloudImageEditor/src/template.js +2 -1
- package/blocks/CloudImageEditor/src/types.d.ts +2 -2
- package/blocks/CloudImageEditor/src/types.d.ts.map +1 -1
- package/blocks/CloudImageEditorActivity/CloudImageEditorActivity.d.ts +1 -1
- package/blocks/CloudImageEditorActivity/CloudImageEditorActivity.d.ts.map +1 -1
- package/blocks/CloudImageEditorActivity/CloudImageEditorActivity.js +2 -1
- package/blocks/Config/Config.d.ts +3 -11
- package/blocks/Config/Config.d.ts.map +1 -1
- package/blocks/Config/initialConfig.d.ts +1 -1
- package/blocks/Config/normalizeConfigValue.d.ts.map +1 -1
- package/blocks/Copyright/Copyright.d.ts.map +1 -1
- package/blocks/Copyright/Copyright.js +2 -1
- package/blocks/DropArea/DropArea.d.ts +2 -2
- package/blocks/DropArea/DropArea.d.ts.map +1 -1
- package/blocks/DropArea/DropArea.js +3 -3
- package/blocks/DropArea/addDropzone.d.ts.map +1 -1
- package/blocks/DropArea/getDropItems.d.ts +2 -2
- package/blocks/DropArea/getDropItems.d.ts.map +1 -1
- package/blocks/ExternalSource/ExternalSource.d.ts +5 -5
- package/blocks/ExternalSource/ExternalSource.d.ts.map +1 -1
- package/blocks/ExternalSource/ExternalSource.js +3 -3
- package/blocks/ExternalSource/buildStyles.js +2 -2
- package/blocks/ExternalSource/query-string.d.ts.map +1 -1
- package/blocks/FileItem/FileItem.d.ts +2 -2
- package/blocks/FileItem/FileItem.d.ts.map +1 -1
- package/blocks/FileItem/FileItem.js +7 -3
- package/blocks/FormInput/FormInput.js +1 -1
- package/blocks/Icon/Icon.d.ts +0 -1
- package/blocks/Icon/Icon.d.ts.map +1 -1
- package/blocks/Icon/Icon.js +2 -4
- package/blocks/Img/ImgBase.js +9 -9
- package/blocks/Img/ImgConfig.d.ts +2 -2
- package/blocks/Img/ImgConfig.d.ts.map +1 -1
- package/blocks/Img/ImgConfig.js +3 -3
- package/blocks/Img/utils/parseObjectToString.js +1 -1
- package/blocks/Modal/Modal.d.ts.map +1 -1
- package/blocks/Modal/Modal.js +2 -1
- package/blocks/ProgressBar/ProgressBar.d.ts.map +1 -1
- package/blocks/ProgressBar/ProgressBar.js +2 -1
- package/blocks/ProgressBarCommon/ProgressBarCommon.d.ts.map +1 -1
- package/blocks/ProgressBarCommon/ProgressBarCommon.js +2 -1
- package/blocks/Select/Select.d.ts.map +1 -1
- package/blocks/Select/Select.js +14 -9
- package/blocks/SimpleBtn/SimpleBtn.d.ts +2 -2
- package/blocks/SimpleBtn/SimpleBtn.d.ts.map +1 -1
- package/blocks/SimpleBtn/SimpleBtn.js +2 -1
- package/blocks/SourceBtn/SourceBtn.d.ts +2 -2
- package/blocks/SourceBtn/SourceBtn.d.ts.map +1 -1
- package/blocks/SourceBtn/SourceBtn.js +3 -3
- package/blocks/SourceList/SourceList.d.ts.map +1 -1
- package/blocks/SourceList/SourceList.js +5 -4
- package/blocks/StartFrom/StartFrom.d.ts.map +1 -1
- package/blocks/StartFrom/StartFrom.js +2 -1
- package/blocks/UploadCtxProvider/EventEmitter.d.ts +19 -19
- package/blocks/UploadCtxProvider/EventEmitter.d.ts.map +1 -1
- package/blocks/UploadCtxProvider/UploadCtxProvider.d.ts +4 -4
- package/blocks/UploadCtxProvider/UploadCtxProvider.d.ts.map +1 -1
- package/blocks/UploadList/UploadList.d.ts +2 -2
- package/blocks/UploadList/UploadList.d.ts.map +1 -1
- package/blocks/UploadList/UploadList.js +3 -4
- package/blocks/UrlSource/UrlSource.d.ts.map +1 -1
- package/blocks/UrlSource/UrlSource.js +3 -2
- package/blocks/themes/uc-basic/index.css +0 -1
- package/blocks/utils/debounce.d.ts +3 -1
- package/blocks/utils/debounce.d.ts.map +1 -1
- package/blocks/utils/throttle.d.ts +3 -1
- package/blocks/utils/throttle.d.ts.map +1 -1
- package/blocks/utils/userAgent.d.ts +1 -1
- package/blocks/utils/userAgent.d.ts.map +1 -1
- package/index.d.ts +1 -1
- package/index.js +1 -1
- package/index.ssr.d.ts +115 -1
- package/index.ssr.d.ts.map +1 -1
- package/index.ssr.js +118 -7
- package/locales/file-uploader/ar.d.ts +5 -0
- package/locales/file-uploader/ar.js +5 -0
- package/locales/file-uploader/az.d.ts +5 -0
- package/locales/file-uploader/az.js +5 -0
- package/locales/file-uploader/ca.d.ts +5 -0
- package/locales/file-uploader/ca.js +5 -0
- package/locales/file-uploader/cs.d.ts +5 -0
- package/locales/file-uploader/cs.js +5 -0
- package/locales/file-uploader/da.d.ts +5 -0
- package/locales/file-uploader/da.js +5 -0
- package/locales/file-uploader/de.d.ts +5 -0
- package/locales/file-uploader/de.js +5 -0
- package/locales/file-uploader/el.d.ts +5 -0
- package/locales/file-uploader/el.js +5 -0
- package/locales/file-uploader/en.d.ts +5 -0
- package/locales/file-uploader/en.js +5 -0
- package/locales/file-uploader/es.d.ts +5 -0
- package/locales/file-uploader/es.js +5 -0
- package/locales/file-uploader/et.d.ts +5 -0
- package/locales/file-uploader/et.js +5 -0
- package/locales/file-uploader/fr.d.ts +5 -0
- package/locales/file-uploader/fr.js +5 -0
- package/locales/file-uploader/he.d.ts +5 -0
- package/locales/file-uploader/he.js +5 -0
- package/locales/file-uploader/hy.d.ts +5 -0
- package/locales/file-uploader/hy.js +5 -0
- package/locales/file-uploader/is.d.ts +5 -0
- package/locales/file-uploader/is.js +5 -0
- package/locales/file-uploader/it.d.ts +5 -0
- package/locales/file-uploader/it.js +5 -0
- package/locales/file-uploader/ja.d.ts +5 -0
- package/locales/file-uploader/ja.js +5 -0
- package/locales/file-uploader/ka.d.ts +5 -0
- package/locales/file-uploader/ka.js +5 -0
- package/locales/file-uploader/kk.d.ts +5 -0
- package/locales/file-uploader/kk.js +5 -0
- package/locales/file-uploader/ko.d.ts +5 -0
- package/locales/file-uploader/ko.js +5 -0
- package/locales/file-uploader/lv.d.ts +5 -0
- package/locales/file-uploader/lv.js +5 -0
- package/locales/file-uploader/nb.d.ts +5 -0
- package/locales/file-uploader/nb.js +5 -0
- package/locales/file-uploader/nl.d.ts +5 -0
- package/locales/file-uploader/nl.js +5 -0
- package/locales/file-uploader/pl.d.ts +5 -0
- package/locales/file-uploader/pl.js +5 -0
- package/locales/file-uploader/pt.d.ts +5 -0
- package/locales/file-uploader/pt.js +5 -0
- package/locales/file-uploader/ro.d.ts +5 -0
- package/locales/file-uploader/ro.js +5 -0
- package/locales/file-uploader/ru.d.ts +5 -0
- package/locales/file-uploader/ru.js +5 -0
- package/locales/file-uploader/sk.d.ts +5 -0
- package/locales/file-uploader/sk.js +5 -0
- package/locales/file-uploader/sr.d.ts +5 -0
- package/locales/file-uploader/sr.js +5 -0
- package/locales/file-uploader/sv.d.ts +5 -0
- package/locales/file-uploader/sv.js +5 -0
- package/locales/file-uploader/tr.d.ts +5 -0
- package/locales/file-uploader/tr.js +5 -0
- package/locales/file-uploader/uk.d.ts +5 -0
- package/locales/file-uploader/uk.js +5 -0
- package/locales/file-uploader/vi.d.ts +5 -0
- package/locales/file-uploader/vi.js +5 -0
- package/locales/file-uploader/zh-TW.d.ts +5 -0
- package/locales/file-uploader/zh-TW.js +5 -0
- package/locales/file-uploader/zh.d.ts +5 -0
- package/locales/file-uploader/zh.js +5 -0
- package/package.json +10 -7
- package/solutions/file-uploader/inline/FileUploaderInline.d.ts +2 -2
- package/solutions/file-uploader/inline/FileUploaderInline.d.ts.map +1 -1
- package/solutions/file-uploader/inline/FileUploaderInline.js +3 -4
- package/solutions/file-uploader/minimal/FileUploaderMinimal.d.ts.map +1 -1
- package/solutions/file-uploader/minimal/FileUploaderMinimal.js +2 -1
- package/solutions/file-uploader/regular/FileUploaderRegular.d.ts +3 -3
- package/solutions/file-uploader/regular/FileUploaderRegular.d.ts.map +1 -1
- package/solutions/file-uploader/regular/FileUploaderRegular.js +3 -2
- package/symbiote.js +19 -0
- package/types/jsx.d.ts +9 -3
- package/utils/getPluralForm.d.ts.map +1 -1
- package/utils/isSecureTokenExpired.d.ts +1 -1
- package/utils/memoize.d.ts.map +1 -1
- package/utils/mixinClass.d.ts +3 -1
- package/utils/mixinClass.d.ts.map +1 -1
- package/utils/prettyBytes.d.ts.map +1 -1
- package/utils/template-utils.d.ts.map +1 -1
- package/utils/toKebabCase.d.ts.map +1 -1
- package/utils/uniqueArray.d.ts.map +1 -1
- package/utils/validators/collection/validateCollectionUploadError.d.ts +1 -1
- package/utils/validators/collection/validateMultiple.d.ts +1 -1
- package/utils/validators/file/validateFileType.d.ts +1 -1
- package/utils/validators/file/validateIsImage.d.ts +1 -1
- package/utils/validators/file/validateMaxSizeLimit.d.ts +1 -1
- package/utils/validators/file/validateUploadError.d.ts +1 -1
- package/utils/waitForAttribute.d.ts +12 -6
- package/utils/waitForAttribute.d.ts.map +1 -1
- package/utils/waitForAttribute.js +38 -8
- package/utils/waitForAttribute.test.js +10 -47
- package/utils/withResolvers.d.ts +7 -0
- package/utils/withResolvers.d.ts.map +1 -0
- package/utils/withResolvers.js +17 -0
- package/utils/withResolvers.test.d.ts +2 -0
- package/utils/withResolvers.test.d.ts.map +1 -0
- package/utils/withResolvers.test.js +27 -0
- package/web/file-uploader.iife.min.js +5 -4
- package/web/file-uploader.min.js +5 -4
- package/web/uc-basic.min.css +1 -1
- package/web/uc-cloud-image-editor.min.css +1 -1
- package/web/uc-cloud-image-editor.min.js +5 -4
- package/web/uc-file-uploader-inline.min.css +1 -1
- package/web/uc-file-uploader-inline.min.js +5 -4
- package/web/uc-file-uploader-minimal.min.js +4 -3
- package/web/uc-file-uploader-regular.min.css +1 -1
- package/web/uc-file-uploader-regular.min.js +5 -4
- package/web/uc-img.min.js +4 -3
- package/blocks/CloudImageEditor/src/lib/FocusVisible.d.ts +0 -15
- package/blocks/CloudImageEditor/src/lib/FocusVisible.d.ts.map +0 -1
- package/blocks/CloudImageEditor/src/lib/FocusVisible.js +0 -33
- package/blocks/CloudImageEditor/src/lib/applyFocusVisiblePolyfill.d.ts +0 -10
- package/blocks/CloudImageEditor/src/lib/applyFocusVisiblePolyfill.d.ts.map +0 -1
- package/blocks/CloudImageEditor/src/lib/applyFocusVisiblePolyfill.js +0 -256
- package/blocks/EditorFilerobotImage/EditorFilerobotImage.d.ts +0 -13
- package/blocks/EditorFilerobotImage/EditorFilerobotImage.d.ts.map +0 -1
- package/blocks/EditorFilerobotImage/EditorFilerobotImage.js +0 -59
- package/blocks/Range/Range.d.ts +0 -16
- package/blocks/Range/Range.d.ts.map +0 -1
- package/blocks/Range/Range.js +0 -44
- package/blocks/Range/range.css +0 -65
|
@@ -5,8 +5,8 @@ export class FileUploaderInline extends SolutionBlock {
|
|
|
5
5
|
'*commonProgress': number;
|
|
6
6
|
'*uploadList': never[];
|
|
7
7
|
'*uploadQueue': import("@uploadcare/upload-client").Queue;
|
|
8
|
-
'*collectionErrors':
|
|
9
|
-
'*collectionState': import("./index.js").OutputCollectionState
|
|
8
|
+
'*collectionErrors': import("./index.js").OutputErrorCollection[];
|
|
9
|
+
'*collectionState': import("./index.js").OutputCollectionState | null;
|
|
10
10
|
'*groupInfo': import("@uploadcare/upload-client").UploadcareGroup | null;
|
|
11
11
|
'*uploadTrigger': Set<string>;
|
|
12
12
|
'*secureUploadsManager': import("../../../abstract/SecureUploadsManager.js").SecureUploadsManager | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploaderInline.d.ts","sourceRoot":"","sources":["FileUploaderInline.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FileUploaderInline.d.ts","sourceRoot":"","sources":["FileUploaderInline.js"],"names":[],"mappings":"AAKA;IAMI;;;;;;oCAUA,YACF;mCAIK,YAAU;6BAAmF,2BAGhF;;wCAOf,2CAA2B;;;;;;MAf3B;IAGH,gCAGC;IAED,6BAEC;CA0BF;;;;8BAtD6B,oCAAoC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
// @ts-check
|
|
2
|
+
import { html } from '../../../symbiote.js';
|
|
2
3
|
import { ActivityBlock } from '../../../abstract/ActivityBlock.js';
|
|
3
4
|
import { SolutionBlock } from '../../../abstract/SolutionBlock.js';
|
|
4
5
|
|
|
@@ -56,8 +57,7 @@ export class FileUploaderInline extends SolutionBlock {
|
|
|
56
57
|
}
|
|
57
58
|
}
|
|
58
59
|
|
|
59
|
-
FileUploaderInline.template =
|
|
60
|
-
<uc-start-from>
|
|
60
|
+
FileUploaderInline.template = html` <uc-start-from>
|
|
61
61
|
<uc-drop-area with-icon clickable></uc-drop-area>
|
|
62
62
|
<uc-source-list wrap></uc-source-list>
|
|
63
63
|
<button
|
|
@@ -72,5 +72,4 @@ FileUploaderInline.template = /* HTML */ `
|
|
|
72
72
|
<uc-camera-source></uc-camera-source>
|
|
73
73
|
<uc-url-source></uc-url-source>
|
|
74
74
|
<uc-external-source></uc-external-source>
|
|
75
|
-
<uc-cloud-image-editor-activity></uc-cloud-image-editor-activity
|
|
76
|
-
`;
|
|
75
|
+
<uc-cloud-image-editor-activity></uc-cloud-image-editor-activity>`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploaderMinimal.d.ts","sourceRoot":"","sources":["FileUploaderMinimal.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FileUploaderMinimal.d.ts","sourceRoot":"","sources":["FileUploaderMinimal.js"],"names":[],"mappings":"AAIA;CAkCC;;;;8BApC6B,oCAAoC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { html } from '../../../symbiote.js';
|
|
1
2
|
import { ActivityBlock } from '../../../abstract/ActivityBlock.js';
|
|
2
3
|
import { SolutionBlock } from '../../../abstract/SolutionBlock.js';
|
|
3
4
|
|
|
@@ -37,7 +38,7 @@ export class FileUploaderMinimal extends SolutionBlock {
|
|
|
37
38
|
}
|
|
38
39
|
}
|
|
39
40
|
|
|
40
|
-
FileUploaderMinimal.template =
|
|
41
|
+
FileUploaderMinimal.template = html`
|
|
41
42
|
<uc-start-from>
|
|
42
43
|
<uc-drop-area tabindex="0" clickable l10n="choose-file"></uc-drop-area>
|
|
43
44
|
<uc-copyright></uc-copyright>
|
|
@@ -4,9 +4,9 @@ export class FileUploaderRegular extends SolutionBlock {
|
|
|
4
4
|
'*commonProgress': number;
|
|
5
5
|
'*uploadList': never[];
|
|
6
6
|
'*uploadQueue': import("@uploadcare/upload-client").Queue;
|
|
7
|
-
'*collectionErrors':
|
|
8
|
-
'*collectionState': import("./index.js").OutputCollectionState
|
|
9
|
-
'*groupInfo': import("@uploadcare/upload-client").UploadcareGroup | null;
|
|
7
|
+
'*collectionErrors': import("./index.js").OutputErrorCollection[];
|
|
8
|
+
'*collectionState': import("./index.js").OutputCollectionState | null;
|
|
9
|
+
'*groupInfo': import("@uploadcare/upload-client").UploadcareGroup | null;
|
|
10
10
|
'*uploadTrigger': Set<string>;
|
|
11
11
|
'*secureUploadsManager': import("../../../abstract/SecureUploadsManager.js").SecureUploadsManager | null;
|
|
12
12
|
'*currentActivity': null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploaderRegular.d.ts","sourceRoot":"","sources":["FileUploaderRegular.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FileUploaderRegular.d.ts","sourceRoot":"","sources":["FileUploaderRegular.js"],"names":[],"mappings":"AAMA;IAMI;;;;;oCAWwC,YACvC;mCAKC,YAAI;6BAEoC,2BAC1B;;wCAIZ,2CAAuB;;;;;;MArB1B;IAoBG,eAAe;IACf,yBAAmC;CAK1C;;;;8BAvC6B,oCAAoC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
// @ts-check
|
|
2
|
+
import { html } from '../../../symbiote.js';
|
|
2
3
|
import { SolutionBlock } from '../../../abstract/SolutionBlock.js';
|
|
3
4
|
import { asBoolean } from '../../../blocks/Config/normalizeConfigValue.js';
|
|
4
5
|
import { EventType } from '../../../blocks/UploadCtxProvider/EventEmitter.js';
|
|
@@ -20,7 +21,7 @@ export class FileUploaderRegular extends SolutionBlock {
|
|
|
20
21
|
|
|
21
22
|
this.defineAccessor(
|
|
22
23
|
'headless',
|
|
23
|
-
/** @param {unknown} value */(value) => {
|
|
24
|
+
/** @param {unknown} value */ (value) => {
|
|
24
25
|
this.set$({ isHidden: asBoolean(value) });
|
|
25
26
|
},
|
|
26
27
|
);
|
|
@@ -40,7 +41,7 @@ export class FileUploaderRegular extends SolutionBlock {
|
|
|
40
41
|
}
|
|
41
42
|
}
|
|
42
43
|
|
|
43
|
-
FileUploaderRegular.template =
|
|
44
|
+
FileUploaderRegular.template = html`
|
|
44
45
|
<uc-simple-btn set="@hidden: isHidden"></uc-simple-btn>
|
|
45
46
|
|
|
46
47
|
<uc-modal strokes block-body-scrolling>
|
package/symbiote.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { setConstants } from '@symbiotejs/symbiote';
|
|
2
|
+
export {
|
|
3
|
+
Symbiote,
|
|
4
|
+
Symbiote as BaseComponent,
|
|
5
|
+
PubSub,
|
|
6
|
+
PubSub as Data,
|
|
7
|
+
UID,
|
|
8
|
+
html,
|
|
9
|
+
create,
|
|
10
|
+
applyStyles,
|
|
11
|
+
DICT,
|
|
12
|
+
} from '@symbiotejs/symbiote';
|
|
13
|
+
export { slotProcessor } from '@symbiotejs/symbiote/core/slotProcessor.js';
|
|
14
|
+
|
|
15
|
+
setConstants({
|
|
16
|
+
BIND_ATTR: 'set',
|
|
17
|
+
CTX_NAME_ATTR: 'ctx-name',
|
|
18
|
+
CSS_CTX_PROP: '--ctx-name',
|
|
19
|
+
});
|
package/types/jsx.d.ts
CHANGED
|
@@ -8,9 +8,15 @@ type FileUploaderRegular = import('../index.js').FileUploaderRegular;
|
|
|
8
8
|
type FileUploaderMinimal = import('../index.js').FileUploaderMinimal;
|
|
9
9
|
type FormInput = import('../index.js').FormInput;
|
|
10
10
|
type CloudImageEditorBlock = import('../index.js').CloudImageEditorBlock;
|
|
11
|
-
type CtxAttributes =
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
type CtxAttributes =
|
|
12
|
+
| {
|
|
13
|
+
ctx: string;
|
|
14
|
+
'ctx-name'?: never;
|
|
15
|
+
}
|
|
16
|
+
| {
|
|
17
|
+
ctx?: never;
|
|
18
|
+
'ctx-name': string;
|
|
19
|
+
};
|
|
14
20
|
type CommonHtmlAttributes<T> = Partial<
|
|
15
21
|
Pick<React.HTMLAttributes<T>, 'id' | 'children' | 'hidden'> & { class: React.HTMLAttributes<T>['className'] }
|
|
16
22
|
>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPluralForm.d.ts","sourceRoot":"","sources":["getPluralForm.js"],"names":[],"mappings":"AASO,sCAJI,MAAM,SACN,MAAM,GACJ,UAAU,CAKtB;yBAVa,
|
|
1
|
+
{"version":3,"file":"getPluralForm.d.ts","sourceRoot":"","sources":["getPluralForm.js"],"names":[],"mappings":"AASO,sCAJI,MAAM,SACN,MAAM,GACJ,UAAU,CAKtB;yBAVa,IAAI,CAAC,cAAc"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export function isSecureTokenExpired(secureToken: import(
|
|
1
|
+
export function isSecureTokenExpired(secureToken: import("../types").SecureUploadsSignatureAndExpire, { threshold }: {
|
|
2
2
|
threshold?: number;
|
|
3
3
|
}): boolean;
|
|
4
4
|
//# sourceMappingURL=isSecureTokenExpired.d.ts.map
|
package/utils/memoize.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memoize.d.ts","sourceRoot":"","sources":["memoize.js"],"names":[],"mappings":"AASO,
|
|
1
|
+
{"version":3,"file":"memoize.d.ts","sourceRoot":"","sources":["memoize.js"],"names":[],"mappings":"AASO,wBANc,KAAK,SAAZ,GAAG,EAAG,EACD,OAAO,kBACiB,CAAC,SAA/B,CAAE,GAAG,IAAI,EAAE,KAAK,KAAK,OAAQ,MAC/B,CAAC,GACC,CAAC,CAeb"}
|
package/utils/mixinClass.d.ts
CHANGED
|
@@ -4,5 +4,7 @@ export type GConstructor<T> = new (...args: any[]) => T;
|
|
|
4
4
|
* are some dynamic generated properties or native overrides in the class. We're use it to define dynamic access
|
|
5
5
|
* properties and events to subscribe to.
|
|
6
6
|
*/
|
|
7
|
-
export type MixinClass<Base extends GConstructor<HTMLElement>, InstanceProperties extends Record<string, any> = {}> =
|
|
7
|
+
export type MixinClass<Base extends GConstructor<HTMLElement>, InstanceProperties extends Record<string, any> = {}> = {
|
|
8
|
+
new (...args: ConstructorParameters<Base>): InstanceProperties & InstanceType<Base>;
|
|
9
|
+
} & Omit<Base, "new">;
|
|
8
10
|
//# sourceMappingURL=mixinClass.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mixinClass.d.ts","sourceRoot":"","sources":["mixinClass.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mixinClass.d.ts","sourceRoot":"","sources":["mixinClass.js"],"names":[],"mappings":"yBACa,CAAC,IACD,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC;;;;;;uBAQG,IAAI,SAA/B,YAAY,CAAC,WAAW,CAAE,EACJ,kBAAkB,SAAxC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAE,SACrB;IACZ,KAAS,GAAG,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC,GAAG,kBAAkB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;CACrF,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prettyBytes.d.ts","sourceRoot":"","sources":["prettyBytes.js"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AAiBI,mCAJI,MAAM,SACN,CAAC,
|
|
1
|
+
{"version":3,"file":"prettyBytes.d.ts","sourceRoot":"","sources":["prettyBytes.js"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AAiBI,mCAJI,MAAM,SACN,CAAC,OAAO,YAAY,EAAE,MAAM,OAAO,YAAY,CAAC,GAC9C,MAAM,CAmClB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-utils.d.ts","sourceRoot":"","sources":["template-utils.js"],"names":[],"mappings":"AAOA;;;;;GAKG;AAEH;;;;;GAKG;AACH,yHAQC;AAED;;;GAGG;AACH,oDAFa;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,EAAE,CAiB5E"}
|
|
1
|
+
{"version":3,"file":"template-utils.d.ts","sourceRoot":"","sources":["template-utils.js"],"names":[],"mappings":"AAOA;;;;;GAKG;AAEH;;;;;GAKG;AACH,yHAQC;AAED;;;GAGG;AACH,oDAFa;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,EAAE,CAiB5E;;;;;;;;;;;;;;;wBAjDa;IAAE,CAAC,GAAG,QAAQ,GAAG,4BAA4B,SAAS,CAAA;CAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toKebabCase.d.ts","sourceRoot":"","sources":["toKebabCase.js"],"names":[],"mappings":"AAUO,
|
|
1
|
+
{"version":3,"file":"toKebabCase.d.ts","sourceRoot":"","sources":["toKebabCase.js"],"names":[],"mappings":"AAUO,4BAJe,CAAC,SAAV,MAAQ,OACV,CAAC,GACC,SAAS,CAAC,CAAC,CAAC,CAMX;sBAbQ,CAAC,SAAV,MAAQ,IACR,CAAC,SAAS,GAAG,MAAM,IAAI,IAAI,MAAM,IAAI,EAAE,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uniqueArray.d.ts","sourceRoot":"","sources":["uniqueArray.js"],"names":[],"mappings":"AAKO,
|
|
1
|
+
{"version":3,"file":"uniqueArray.d.ts","sourceRoot":"","sources":["uniqueArray.js"],"names":[],"mappings":"AAKO,4BAJM,CAAC,OACH,CAAC,EAAE,GACD,CAAC,EAAE,CAIf"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/** @type {import('../../../abstract/ValidationManager.js').FuncCollectionValidator} */
|
|
2
|
-
export const validateCollectionUploadError: import(
|
|
2
|
+
export const validateCollectionUploadError: import("../../../abstract/ValidationManager.js").FuncCollectionValidator;
|
|
3
3
|
//# sourceMappingURL=validateCollectionUploadError.d.ts.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/** @type {import('../../../abstract/ValidationManager.js').FuncCollectionValidator} */
|
|
2
|
-
export const validateMultiple: import(
|
|
2
|
+
export const validateMultiple: import("../../../abstract/ValidationManager.js").FuncCollectionValidator;
|
|
3
3
|
//# sourceMappingURL=validateMultiple.d.ts.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/** @type {import('../../../abstract/ValidationManager.js').FuncFileValidator} */
|
|
2
|
-
export const validateFileType: import(
|
|
2
|
+
export const validateFileType: import("../../../abstract/ValidationManager.js").FuncFileValidator;
|
|
3
3
|
//# sourceMappingURL=validateFileType.d.ts.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/** @type {import('../../../abstract/ValidationManager.js').FuncFileValidator} */
|
|
2
|
-
export const validateIsImage: import(
|
|
2
|
+
export const validateIsImage: import("../../../abstract/ValidationManager.js").FuncFileValidator;
|
|
3
3
|
//# sourceMappingURL=validateIsImage.d.ts.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/** @type {import('../../../abstract/ValidationManager.js').FuncFileValidator} */
|
|
2
|
-
export const validateMaxSizeLimit: import(
|
|
2
|
+
export const validateMaxSizeLimit: import("../../../abstract/ValidationManager.js").FuncFileValidator;
|
|
3
3
|
//# sourceMappingURL=validateMaxSizeLimit.d.ts.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/** @type {import('../../../abstract/ValidationManager.js').FuncFileValidator} */
|
|
2
|
-
export const validateUploadError: import(
|
|
2
|
+
export const validateUploadError: import("../../../abstract/ValidationManager.js").FuncFileValidator;
|
|
3
3
|
//# sourceMappingURL=validateUploadError.d.ts.map
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
export function waitForAttribute({ element, attribute,
|
|
1
|
+
export function waitForAttribute<T extends string>({ element, attribute, timeout }: {
|
|
2
2
|
element: HTMLElement;
|
|
3
|
-
attribute:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
attribute: T;
|
|
4
|
+
timeout?: number;
|
|
5
|
+
}): Promise<ReturnType<T>>;
|
|
6
|
+
export type ReturnType<T extends string> = {
|
|
7
|
+
success: true;
|
|
8
|
+
attribute: T;
|
|
9
|
+
value: string;
|
|
10
|
+
} | {
|
|
11
|
+
success: false;
|
|
12
|
+
attribute: T;
|
|
13
|
+
};
|
|
8
14
|
//# sourceMappingURL=waitForAttribute.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waitForAttribute.d.ts","sourceRoot":"","sources":["waitForAttribute.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"waitForAttribute.d.ts","sourceRoot":"","sources":["waitForAttribute.js"],"names":[],"mappings":"AA0BO,iCARe,CAAC,SAAV,MAAQ,mCACV;IACV,OAAW,EAAE,WAAW,CAAC;IACzB,SAAa,EAAE,CAAC,CAAC;IACjB,OAAW,CAAC,EAAE,MAAM,CAAC;CAClB,GACS,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAgDlC;uBAnEqB,CAAC,SAAV,MAAQ,IACR;IACZ,OAAe,EAAE,IAAI,CAAC;IACtB,SAAiB,EAAE,CAAC,CAAC;IACrB,KAAa,EAAE,MAAM,CAAC;CACf,GACD;IACN,OAAe,EAAE,KAAK,CAAC;IACvB,SAAiB,EAAE,CAAC,CAAC;CACd"}
|
|
@@ -1,19 +1,40 @@
|
|
|
1
1
|
// @ts-check
|
|
2
2
|
|
|
3
|
+
import { withResolvers } from './withResolvers.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @template {string} T
|
|
7
|
+
* @typedef {{
|
|
8
|
+
* success: true;
|
|
9
|
+
* attribute: T;
|
|
10
|
+
* value: string;
|
|
11
|
+
* }
|
|
12
|
+
* | {
|
|
13
|
+
* success: false;
|
|
14
|
+
* attribute: T;
|
|
15
|
+
* }} ReturnType
|
|
16
|
+
*/
|
|
17
|
+
|
|
3
18
|
/**
|
|
19
|
+
* @template {string} T
|
|
4
20
|
* @param {{
|
|
5
21
|
* element: HTMLElement;
|
|
6
|
-
* attribute:
|
|
7
|
-
* onSuccess: (value: string) => void;
|
|
8
|
-
* onTimeout: () => void;
|
|
22
|
+
* attribute: T;
|
|
9
23
|
* timeout?: number;
|
|
10
24
|
* }} options
|
|
25
|
+
* @returns {Promise<ReturnType<T>>}
|
|
11
26
|
*/
|
|
12
|
-
export const waitForAttribute = ({ element, attribute,
|
|
27
|
+
export const waitForAttribute = async ({ element, attribute, timeout = 300 }) => {
|
|
28
|
+
const { promise, resolve } = /** @type {typeof withResolvers<ReturnType<T>>} */ (withResolvers)();
|
|
29
|
+
|
|
13
30
|
const currentAttrValue = element.getAttribute(attribute);
|
|
14
31
|
if (currentAttrValue !== null) {
|
|
15
|
-
|
|
16
|
-
|
|
32
|
+
resolve({
|
|
33
|
+
success: true,
|
|
34
|
+
value: currentAttrValue,
|
|
35
|
+
attribute,
|
|
36
|
+
});
|
|
37
|
+
return promise;
|
|
17
38
|
}
|
|
18
39
|
|
|
19
40
|
const observer = new MutationObserver((mutations) => {
|
|
@@ -28,7 +49,10 @@ export const waitForAttribute = ({ element, attribute, onSuccess, onTimeout, tim
|
|
|
28
49
|
|
|
29
50
|
const timeoutId = setTimeout(() => {
|
|
30
51
|
observer.disconnect();
|
|
31
|
-
|
|
52
|
+
resolve({
|
|
53
|
+
success: false,
|
|
54
|
+
attribute,
|
|
55
|
+
});
|
|
32
56
|
}, timeout);
|
|
33
57
|
|
|
34
58
|
/** @param {MutationRecord} mutation */
|
|
@@ -37,7 +61,13 @@ export const waitForAttribute = ({ element, attribute, onSuccess, onTimeout, tim
|
|
|
37
61
|
if (mutation.type === 'attributes' && mutation.attributeName === attribute && attrValue !== null) {
|
|
38
62
|
clearTimeout(timeoutId);
|
|
39
63
|
observer.disconnect();
|
|
40
|
-
|
|
64
|
+
resolve({
|
|
65
|
+
success: true,
|
|
66
|
+
value: attrValue,
|
|
67
|
+
attribute,
|
|
68
|
+
});
|
|
41
69
|
}
|
|
42
70
|
};
|
|
71
|
+
|
|
72
|
+
return promise;
|
|
43
73
|
};
|
|
@@ -1,78 +1,41 @@
|
|
|
1
|
+
// @ts-check
|
|
1
2
|
import { expect } from '@esm-bundle/chai';
|
|
2
|
-
import { spy } from 'sinon';
|
|
3
3
|
import { delay } from './delay';
|
|
4
4
|
import { waitForAttribute } from './waitForAttribute';
|
|
5
5
|
|
|
6
6
|
const TEST_ATTRIBUTE = 'test-attribute';
|
|
7
7
|
|
|
8
8
|
describe('waitForAttribute', () => {
|
|
9
|
-
it('should
|
|
9
|
+
it('should resolve success false when timeout is over', async () => {
|
|
10
10
|
const element = document.createElement('div');
|
|
11
|
-
const
|
|
12
|
-
const onTimeout = spy();
|
|
13
|
-
waitForAttribute({
|
|
11
|
+
const promise = waitForAttribute({
|
|
14
12
|
element,
|
|
15
13
|
attribute: TEST_ATTRIBUTE,
|
|
16
|
-
onSuccess,
|
|
17
|
-
onTimeout,
|
|
18
14
|
timeout: 10,
|
|
19
15
|
});
|
|
20
16
|
await delay(100);
|
|
21
|
-
expect(
|
|
22
|
-
expect(onTimeout.calledOnce).to.be.true;
|
|
17
|
+
expect(await promise).to.be.eql({ success: false, attribute: TEST_ATTRIBUTE });
|
|
23
18
|
});
|
|
24
|
-
it('should
|
|
19
|
+
it('should resolve success true when attribute is set async', async () => {
|
|
25
20
|
const element = document.createElement('div');
|
|
26
|
-
const
|
|
27
|
-
const onTimeout = spy();
|
|
28
|
-
waitForAttribute({
|
|
21
|
+
const promise = waitForAttribute({
|
|
29
22
|
element,
|
|
30
23
|
attribute: TEST_ATTRIBUTE,
|
|
31
|
-
onSuccess,
|
|
32
|
-
onTimeout,
|
|
33
24
|
timeout: 10,
|
|
34
25
|
});
|
|
35
26
|
element.setAttribute(TEST_ATTRIBUTE, 'test');
|
|
36
27
|
await delay(100);
|
|
37
|
-
expect(
|
|
38
|
-
expect(onSuccess.getCall(0).args[0]).to.equal('test');
|
|
39
|
-
expect(onTimeout.called).to.be.false;
|
|
28
|
+
expect(await promise).to.be.eql({ success: true, attribute: TEST_ATTRIBUTE, value: 'test' });
|
|
40
29
|
});
|
|
41
|
-
it('should
|
|
30
|
+
it('should resolve success true when attribute is set sync', async () => {
|
|
42
31
|
const element = document.createElement('div');
|
|
43
32
|
element.setAttribute(TEST_ATTRIBUTE, 'test');
|
|
44
|
-
const
|
|
45
|
-
const onTimeout = spy();
|
|
46
|
-
waitForAttribute({
|
|
33
|
+
const promise = waitForAttribute({
|
|
47
34
|
element,
|
|
48
35
|
attribute: TEST_ATTRIBUTE,
|
|
49
|
-
onSuccess,
|
|
50
|
-
onTimeout,
|
|
51
36
|
timeout: 10,
|
|
52
37
|
});
|
|
53
38
|
await delay(100);
|
|
54
|
-
expect(
|
|
55
|
-
expect(onSuccess.getCall(0).args[0]).to.equal('test');
|
|
56
|
-
expect(onTimeout.called).to.be.false;
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
it('should not call onSuccess on the second attribute change', async () => {
|
|
60
|
-
const element = document.createElement('div');
|
|
61
|
-
element.setAttribute(TEST_ATTRIBUTE, 'test');
|
|
62
|
-
const onSuccess = spy();
|
|
63
|
-
const onTimeout = spy();
|
|
64
|
-
waitForAttribute({
|
|
65
|
-
element,
|
|
66
|
-
attribute: TEST_ATTRIBUTE,
|
|
67
|
-
onSuccess,
|
|
68
|
-
onTimeout,
|
|
69
|
-
timeout: 10,
|
|
70
|
-
});
|
|
71
|
-
await delay(100);
|
|
72
|
-
element.setAttribute(TEST_ATTRIBUTE, 'tes2');
|
|
73
|
-
await delay(100);
|
|
74
|
-
expect(onSuccess.calledOnce).to.be.true;
|
|
75
|
-
expect(onSuccess.getCall(0).args[0]).to.equal('test');
|
|
76
|
-
expect(onTimeout.called).to.be.false;
|
|
39
|
+
expect(await promise).to.be.eql({ success: true, attribute: TEST_ATTRIBUTE, value: 'test' });
|
|
77
40
|
});
|
|
78
41
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withResolvers.d.ts","sourceRoot":"","sources":["withResolvers.js"],"names":[],"mappings":"AAEA,kBAAkB;AAClB,8BADc,CAAC;aAUS,CAAC,KAAK,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI;YACpC,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI;;EAG/C"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
|
|
3
|
+
/** @template T */
|
|
4
|
+
export function withResolvers() {
|
|
5
|
+
let resolve;
|
|
6
|
+
let reject;
|
|
7
|
+
/** @type {Promise<T>} */
|
|
8
|
+
const promise = new Promise((_resolve, _reject) => {
|
|
9
|
+
resolve = _resolve;
|
|
10
|
+
reject = _reject;
|
|
11
|
+
});
|
|
12
|
+
return {
|
|
13
|
+
resolve: /** @type {(value: T | PromiseLike<T>) => void} */ (/** @type {unknown} */ (resolve)),
|
|
14
|
+
reject: /** @type {(value?: unknown) => void} */ (/** @type {unknown} */ (reject)),
|
|
15
|
+
promise,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withResolvers.test.d.ts","sourceRoot":"","sources":["withResolvers.test.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { expect } from '@esm-bundle/chai';
|
|
2
|
+
import { withResolvers } from './withResolvers';
|
|
3
|
+
|
|
4
|
+
describe('withResolvers', () => {
|
|
5
|
+
it('should return resolve, reject and promise', () => {
|
|
6
|
+
const { resolve, reject, promise } = withResolvers();
|
|
7
|
+
expect(resolve).to.be.a('function');
|
|
8
|
+
expect(reject).to.be.a('function');
|
|
9
|
+
expect(promise).to.be.instanceOf(Promise);
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
it('should resolve promise', async () => {
|
|
13
|
+
const { resolve, promise } = withResolvers();
|
|
14
|
+
resolve('resolved');
|
|
15
|
+
expect(await promise).to.equal('resolved');
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it('should reject promise', async () => {
|
|
19
|
+
const { reject, promise } = withResolvers();
|
|
20
|
+
reject(new Error('rejected'));
|
|
21
|
+
try {
|
|
22
|
+
await promise;
|
|
23
|
+
} catch (error) {
|
|
24
|
+
expect(error.message).to.equal('rejected');
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|