@hartl-services/medusa-base 2.5.0 → 2.6.0
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/.medusa/server/src/admin/admin-components/features/plugin-features/components/ImageSettingInput.js +48 -0
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginActionsSection.js +3 -2
- package/.medusa/server/src/admin/admin-components/features/plugin-features/components/PluginFeaturesSettingsPage.js +17 -0
- package/.medusa/server/src/admin/admin-components/features/plugin-features/components/PluginPageShell.js +20 -0
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginSettingsForm.js +16 -3
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginFeatureEnabled.d.ts +5 -1
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginFeatures.d.ts +20 -4
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginFeatures.js +1 -1
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginSettingsForm.d.ts +5 -1
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/action-runs.d.ts +1 -1
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/action-runs.js +3 -2
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/plugin-features-admin-client.d.ts +20 -4
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/plugin-features-admin-client.js +1 -1
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/settings-draft.d.ts +17 -2
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/settings-draft.js +33 -1
- package/{dist → .medusa/server/src/admin}/admin-components/i18n/texts.d.ts +3 -0
- package/{dist → .medusa/server/src/admin}/admin-components/i18n/texts.js +3 -0
- package/.medusa/server/src/admin/admin-components/index.d.ts +36 -0
- package/.medusa/server/src/admin/admin-components/index.js +37 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/date-input.d.ts +8 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/date-input.js +43 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/errors.d.ts +9 -0
- package/{dist/admin-components → .medusa/server/src/admin/admin-components/shared}/lib/errors.js +4 -6
- package/.medusa/server/src/admin/admin-components/shared/lib/file-validation.d.ts +24 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/file-validation.js +18 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/format.d.ts +32 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/format.js +77 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/pdf-preview.d.ts +16 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/pdf-preview.js +31 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/pdf.d.ts +6 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/pdf.js +13 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/use-debounced-value.d.ts +2 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/use-debounced-value.js +10 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/use-pdf-preview.d.ts +24 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/use-pdf-preview.js +47 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/AdminDatePicker.d.ts +8 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/AdminDatePicker.js +9 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/BackLink.d.ts +8 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/BackLink.js +5 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/DateRangeFilter.d.ts +20 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/DateRangeFilter.js +17 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/FilePickerButton.d.ts +14 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/FilePickerButton.js +14 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/MappedStatusBadge.d.ts +17 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/MappedStatusBadge.js +12 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/OffsetTablePagination.d.ts +15 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/OffsetTablePagination.js +19 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/PdfPreviewModal.d.ts +20 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/PdfPreviewModal.js +7 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/PluginFeatureRoute.d.ts +19 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/PluginFeatureRoute.js +16 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/QueryState.d.ts +24 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/QueryState.js +23 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/SearchableReferenceField.d.ts +63 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/SearchableReferenceField.js +84 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/SectionHeader.d.ts +15 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/SectionHeader.js +13 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/mapped-status.d.ts +6 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/mapped-status.js +10 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/offset-pagination.d.ts +17 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/offset-pagination.js +15 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/reference-results-state.d.ts +16 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/reference-results-state.js +13 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/InsertMenu.d.ts +8 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/InsertMenu.js +10 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/LinkPrompt.d.ts +14 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/LinkPrompt.js +26 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/RichTextEditor.d.ts +15 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/RichTextEditor.js +8 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/RichTextToolbar.d.ts +10 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/RichTextToolbar.js +49 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/SlashMenu.d.ts +11 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/SlashMenu.js +44 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/build-extensions.d.ts +8 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/build-extensions.js +43 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/drag-handle.d.ts +15 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/drag-handle.js +161 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/drag-target.d.ts +30 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/drag-target.js +47 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/editor-styles.d.ts +6 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/editor-styles.js +46 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/index.d.ts +9 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/index.js +6 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/link-href.d.ts +8 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/link-href.js +21 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/link-policy.d.ts +13 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/link-policy.js +20 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/slash-command.d.ts +13 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/slash-command.js +60 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/slash-items.d.ts +25 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/slash-items.js +10 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/tiptap.d.ts +7 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/tiptap.js +7 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/use-rich-text-editor.d.ts +44 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/use-rich-text-editor.js +37 -0
- package/.medusa/server/src/admin/index.js +4513 -1447
- package/.medusa/server/src/admin/index.mjs +4515 -1452
- package/.medusa/server/src/api/admin/email/attachments/[id]/mail-kinds/route.js +16 -0
- package/.medusa/server/src/api/admin/email/attachments/[id]/route.js +15 -0
- package/.medusa/server/src/api/admin/email/attachments/[id]/versions/[version_id]/download/route.js +16 -0
- package/.medusa/server/src/api/admin/email/attachments/[id]/versions/route.js +41 -0
- package/.medusa/server/src/api/admin/email/attachments/route.js +21 -0
- package/.medusa/server/src/api/admin/email/templates/[kind]/preview/route.js +31 -0
- package/.medusa/server/src/api/admin/email/templates/[kind]/route.js +28 -0
- package/.medusa/server/src/api/admin/email/templates/[kind]/send-test/route.js +179 -0
- package/.medusa/server/src/api/admin/email/templates/[kind]/test-sources/route.js +19 -0
- package/.medusa/server/src/api/admin/email/templates/route.js +15 -0
- package/.medusa/server/src/api/admin/plugin-features/[plugin_key]/actions/[action_key]/route.js +2 -2
- package/.medusa/server/src/api/admin/plugin-features/[plugin_key]/actions/[action_key]/runs/route.js +2 -2
- package/.medusa/server/src/api/admin/plugin-features/[plugin_key]/route.js +2 -2
- package/.medusa/server/src/api/admin/plugin-features/[plugin_key]/settings/route.js +2 -2
- package/.medusa/server/src/api/admin/plugin-features/route.js +2 -2
- package/.medusa/server/src/api/attachment-download-response.js +12 -0
- package/.medusa/server/src/api/email-template-response.js +43 -0
- package/.medusa/server/src/api/middlewares.js +75 -17
- package/.medusa/server/src/api/plugin-actions.js +6 -5
- package/.medusa/server/src/api/plugin-features-http.js +4 -9
- package/.medusa/server/src/api/store/carts/[id]/completion-check/route.js +2 -2
- package/.medusa/server/src/api/store/plugin-features/[plugin_key]/route.js +2 -2
- package/.medusa/server/src/api/store/plugin-features/route.js +2 -2
- package/.medusa/server/src/documents/plugin-features.js +1 -7
- package/.medusa/server/src/documents/templates/financial-document.js +12 -11
- package/.medusa/server/src/documents/templates/html-factory.js +1 -1
- package/.medusa/server/src/documents/templates/html-utils.js +4 -10
- package/.medusa/server/src/documents/templates/layout.js +30 -11
- package/.medusa/server/src/documents/templates/packing-list.js +8 -7
- package/.medusa/server/src/documents/utils/document-render-settings.js +9 -6
- package/.medusa/server/src/email/application/handle-customer-verification-event.js +8 -3
- package/.medusa/server/src/email/application/handle-invite-event.js +8 -3
- package/.medusa/server/src/email/application/handle-password-reset-event.js +8 -3
- package/.medusa/server/src/email/application/notification-attachments.js +86 -0
- package/.medusa/server/src/email/application/template-data-from-order.js +339 -0
- package/.medusa/server/src/email/config/index.js +5 -29
- package/.medusa/server/src/email/domain/business-keys.js +5 -5
- package/.medusa/server/src/email/domain/documents-fact-fingerprint.js +3 -3
- package/.medusa/server/src/email/domain/order-summary.js +21 -27
- package/.medusa/server/src/email/domain/refund-summary.js +7 -12
- package/.medusa/server/src/email/domain/return-summary.js +32 -38
- package/.medusa/server/src/email/domain/shipment-summary.js +22 -28
- package/.medusa/server/src/email/plugin-features.js +2 -10
- package/.medusa/server/src/email/rendering/calendar-dates.js +19 -0
- package/.medusa/server/src/email/rendering/default-templates.js +99 -682
- package/.medusa/server/src/email/rendering/email-html.js +189 -0
- package/.medusa/server/src/email/rendering/load-email-shop-details.js +14 -12
- package/.medusa/server/src/email/rendering/render-email.js +46 -13
- package/.medusa/server/src/email/rendering/resolve-shop-configuration.js +3 -14
- package/.medusa/server/src/email/templates/blocks/dynamic-blocks.js +427 -0
- package/.medusa/server/src/email/templates/blocks/placeholders.js +71 -0
- package/.medusa/server/src/email/templates/blocks/render-document.js +137 -0
- package/.medusa/server/src/email/templates/code-override.js +18 -0
- package/.medusa/server/src/email/templates/defaults/documents.js +129 -0
- package/.medusa/server/src/email/templates/defaults/subjects.js +62 -0
- package/.medusa/server/src/email/templates/defaults/texts.js +42 -0
- package/.medusa/server/src/email/templates/index.js +22 -0
- package/.medusa/server/src/email/templates/load-template.js +39 -0
- package/.medusa/server/src/email/templates/preview.js +33 -0
- package/.medusa/server/src/email/templates/render.js +70 -0
- package/.medusa/server/src/email/templates/sample-data.js +165 -0
- package/.medusa/server/src/email/templates/types.js +3 -0
- package/.medusa/server/src/email/templates/validate.js +113 -0
- package/.medusa/server/src/files/config/index.js +6 -9
- package/.medusa/server/src/migration-scripts/move-logo-to-shop-appearance.js +53 -0
- package/.medusa/server/src/modules/documents/domain/cancellation-snapshot.js +4 -3
- package/.medusa/server/src/modules/documents/domain/merchant.js +4 -3
- package/.medusa/server/src/modules/documents/domain/options.js +3 -5
- package/.medusa/server/src/modules/documents/domain/tax-breakdown.js +4 -7
- package/.medusa/server/src/modules/documents/service.js +12 -33
- package/.medusa/server/src/modules/email/domain/attachment.js +22 -8
- package/.medusa/server/src/modules/email/migrations/Migration20261009083539.js +80 -0
- package/.medusa/server/src/modules/email/migrations/Migration20261009100654.js +17 -0
- package/.medusa/server/src/modules/email/models/email-attachment-document-version.js +39 -0
- package/.medusa/server/src/modules/email/models/email-attachment-document.js +27 -0
- package/.medusa/server/src/modules/email/models/email-template.js +25 -0
- package/.medusa/server/src/modules/email/service.js +370 -93
- package/.medusa/server/src/modules/plugin-features/domain/plugin-settings.js +9 -11
- package/.medusa/server/src/modules/plugin-features/service.js +2 -1
- package/.medusa/server/src/providers/s3-cache/cache/cache-manager.js +3 -3
- package/.medusa/server/src/providers/s3-cache/s3-object-store.js +3 -9
- package/.medusa/server/src/providers/smtp/service.js +13 -13
- package/.medusa/server/src/public/descriptor.js +16 -18
- package/.medusa/server/src/public/enforcement.js +29 -1
- package/.medusa/server/src/public/index.js +8 -2
- package/.medusa/server/src/public/module-access.js +9 -2
- package/.medusa/server/src/public/shop-master-data.js +109 -18
- package/.medusa/server/src/shared/lib/coerce.js +26 -0
- package/.medusa/server/src/shared/lib/collections.js +19 -0
- package/.medusa/server/src/shared/lib/dates.js +43 -0
- package/.medusa/server/src/shared/lib/errors.js +11 -0
- package/.medusa/server/src/shared/lib/hash.js +8 -0
- package/.medusa/server/src/shared/lib/index.js +29 -0
- package/.medusa/server/src/shared/lib/logging.js +61 -0
- package/.medusa/server/src/shared/lib/money.js +47 -0
- package/.medusa/server/src/shared/lib/text.js +53 -0
- package/.medusa/server/src/shared/lib/transaction.js +58 -0
- package/.medusa/server/src/{api → shared/lib}/wire-response.js +1 -1
- package/.medusa/server/src/shop-config/options.js +3 -5
- package/.medusa/server/src/subscribers/packing-list-fulfillment-canceled.js +4 -6
- package/.medusa/server/src/workflows/documents/issue-invoice-after-shipment.js +10 -12
- package/.medusa/server/src/workflows/documents/issue-packing-list.js +5 -6
- package/.medusa/server/src/workflows/documents/reconcile-order-cancellation.js +6 -8
- package/.medusa/server/src/workflows/email/dispatch-email-message.js +11 -41
- package/.medusa/server/src/workflows/email/prepare-order-received-email.js +2 -2
- package/.medusa/server/src/workflows/hooks/complete-cart-participants.js +4 -8
- package/README.md +427 -54
- package/dist/documents/templates/financial-document.js +11 -10
- package/dist/documents/templates/html-factory.d.ts +1 -1
- package/dist/documents/templates/html-factory.js +1 -1
- package/dist/documents/templates/html-utils.d.ts +0 -1
- package/dist/documents/templates/html-utils.js +3 -9
- package/dist/documents/templates/layout.js +29 -10
- package/dist/documents/templates/packing-list.js +7 -6
- package/dist/documents/types/documents.d.ts +7 -1
- package/dist/email/config/index.js +4 -28
- package/dist/email/types/shop-configuration.d.ts +6 -5
- package/dist/files/config/index.js +5 -8
- package/dist/modules/documents/domain/options.js +2 -4
- package/dist/public/descriptor.js +15 -17
- package/dist/public/enforcement.d.ts +21 -1
- package/dist/public/enforcement.js +28 -0
- package/dist/public/index.d.ts +3 -2
- package/dist/public/index.js +7 -1
- package/dist/public/module-access.d.ts +8 -0
- package/dist/public/module-access.js +8 -1
- package/dist/public/shop-master-data.d.ts +22 -5
- package/dist/public/shop-master-data.js +108 -17
- package/dist/public/types.d.ts +10 -2
- package/dist/shared/lib/coerce.d.ts +19 -0
- package/dist/shared/lib/coerce.js +25 -0
- package/dist/shared/lib/collections.d.ts +3 -0
- package/dist/shared/lib/collections.js +18 -0
- package/dist/shared/lib/dates.d.ts +12 -0
- package/dist/shared/lib/dates.js +42 -0
- package/dist/shared/lib/errors.d.ts +2 -0
- package/dist/shared/lib/errors.js +10 -0
- package/dist/shared/lib/hash.d.ts +2 -0
- package/dist/shared/lib/hash.js +7 -0
- package/dist/shared/lib/index.d.ts +10 -0
- package/dist/shared/lib/index.js +28 -0
- package/dist/shared/lib/logging.d.ts +26 -0
- package/dist/shared/lib/logging.js +60 -0
- package/dist/shared/lib/money.d.ts +13 -0
- package/dist/shared/lib/money.js +46 -0
- package/dist/shared/lib/text.d.ts +19 -0
- package/dist/shared/lib/text.js +52 -0
- package/dist/shared/lib/transaction.d.ts +26 -0
- package/dist/shared/lib/transaction.js +57 -0
- package/dist/shared/lib/wire-response.d.ts +6 -0
- package/dist/shared/lib/wire-response.js +9 -0
- package/dist/shop-config/options.js +2 -4
- package/package.json +19 -4
- package/.medusa/server/src/api/admin/email/terms-versions/[id]/download/route.js +0 -16
- package/.medusa/server/src/api/admin/email/terms-versions/route.js +0 -47
- package/.medusa/server/src/api/terms-download-response.js +0 -12
- package/.medusa/server/src/modules/email/models/email-terms-version.js +0 -37
- package/dist/admin-components/features/plugin-features/components/ImageSettingInput.js +0 -42
- package/dist/admin-components/features/plugin-features/components/PluginFeaturesSettingsPage.js +0 -16
- package/dist/admin-components/features/plugin-features/components/PluginPageShell.js +0 -20
- package/dist/admin-components/features/plugin-features/lib/image-upload.d.ts +0 -6
- package/dist/admin-components/features/plugin-features/lib/image-upload.js +0 -17
- package/dist/admin-components/index.d.ts +0 -14
- package/dist/admin-components/index.js +0 -14
- package/dist/admin-components/lib/errors.d.ts +0 -6
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/ImageSettingInput.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginActionsSection.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginDetailPage.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginDetailPage.js +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeatureGate.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeatureGate.js +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeatureSections.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeatureSections.js +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeaturesCard.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeaturesCard.js +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeaturesSettingsPage.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginHubCard.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginHubCard.js +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginPageShell.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginSettingsForm.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginStatusChips.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginStatusChips.js +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginFeatureEnabled.js +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginSettingsForm.js +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/plugin-paths.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/plugin-paths.js +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/queries/pluginFeatureKeys.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/queries/pluginFeatureKeys.js +0 -0
- /package/{dist/admin-components → .medusa/server/src/admin/admin-components/shared}/lib/sdk.d.ts +0 -0
- /package/{dist/admin-components → .medusa/server/src/admin/admin-components/shared}/lib/sdk.js +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.reportPluginActionProgress = exports.shopMasterDataDescriptor = exports.getShopMasterData = exports.getPluginSettings = exports.requirePluginFeature = exports.isPluginFeatureEnabledByKey = exports.isPluginFeatureEnabled = exports.resolveEffectivePluginFeatures = exports.definePluginFeatures = exports.PLUGIN_FEATURES_MODULE = void 0;
|
|
3
|
+
exports.reportPluginActionProgress = exports.shopMasterDataDescriptor = exports.getShopMasterData = exports.getShopAppearance = exports.getPluginSettings = exports.resolveBaseModule = exports.isBasePluginRegistered = exports.requirePluginFeature = exports.pluginFeatureGate = exports.isPluginFeatureEnabledByKey = exports.isPluginFeatureEnabled = exports.isOwnPluginEvent = exports.resolveEffectivePluginFeatures = exports.definePluginFeatures = exports.PLUGIN_FEATURES_MODULE = void 0;
|
|
4
4
|
var constants_1 = require("./constants");
|
|
5
5
|
Object.defineProperty(exports, "PLUGIN_FEATURES_MODULE", { enumerable: true, get: function () { return constants_1.PLUGIN_FEATURES_MODULE; } });
|
|
6
6
|
var descriptor_1 = require("./descriptor");
|
|
@@ -8,14 +8,20 @@ Object.defineProperty(exports, "definePluginFeatures", { enumerable: true, get:
|
|
|
8
8
|
var effective_features_1 = require("./effective-features");
|
|
9
9
|
Object.defineProperty(exports, "resolveEffectivePluginFeatures", { enumerable: true, get: function () { return effective_features_1.resolveEffectivePluginFeatures; } });
|
|
10
10
|
var enforcement_1 = require("./enforcement");
|
|
11
|
+
Object.defineProperty(exports, "isOwnPluginEvent", { enumerable: true, get: function () { return enforcement_1.isOwnPluginEvent; } });
|
|
11
12
|
Object.defineProperty(exports, "isPluginFeatureEnabled", { enumerable: true, get: function () { return enforcement_1.isPluginFeatureEnabled; } });
|
|
12
13
|
Object.defineProperty(exports, "isPluginFeatureEnabledByKey", { enumerable: true, get: function () { return enforcement_1.isPluginFeatureEnabledByKey; } });
|
|
14
|
+
Object.defineProperty(exports, "pluginFeatureGate", { enumerable: true, get: function () { return enforcement_1.pluginFeatureGate; } });
|
|
13
15
|
Object.defineProperty(exports, "requirePluginFeature", { enumerable: true, get: function () { return enforcement_1.requirePluginFeature; } });
|
|
16
|
+
var module_access_1 = require("./module-access");
|
|
17
|
+
Object.defineProperty(exports, "isBasePluginRegistered", { enumerable: true, get: function () { return module_access_1.isBasePluginRegistered; } });
|
|
18
|
+
Object.defineProperty(exports, "resolveBaseModule", { enumerable: true, get: function () { return module_access_1.resolveBaseModule; } });
|
|
14
19
|
var settings_1 = require("./settings");
|
|
15
20
|
Object.defineProperty(exports, "getPluginSettings", { enumerable: true, get: function () { return settings_1.getPluginSettings; } });
|
|
16
21
|
var shop_master_data_1 = require("./shop-master-data");
|
|
22
|
+
Object.defineProperty(exports, "getShopAppearance", { enumerable: true, get: function () { return shop_master_data_1.getShopAppearance; } });
|
|
17
23
|
Object.defineProperty(exports, "getShopMasterData", { enumerable: true, get: function () { return shop_master_data_1.getShopMasterData; } });
|
|
18
24
|
Object.defineProperty(exports, "shopMasterDataDescriptor", { enumerable: true, get: function () { return shop_master_data_1.shopMasterDataDescriptor; } });
|
|
19
25
|
var action_progress_1 = require("./action-progress");
|
|
20
26
|
Object.defineProperty(exports, "reportPluginActionProgress", { enumerable: true, get: function () { return action_progress_1.reportPluginActionProgress; } });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHVibGljL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUFvRDtBQUEzQyxtSEFBQSxzQkFBc0IsT0FBQTtBQUMvQiwyQ0FBbUQ7QUFBMUMsa0hBQUEsb0JBQW9CLE9BQUE7QUFDN0IsMkRBQXFFO0FBQTVELG9JQUFBLDhCQUE4QixPQUFBO0FBQ3ZDLDZDQU1zQjtBQUxwQiwrR0FBQSxnQkFBZ0IsT0FBQTtBQUNoQixxSEFBQSxzQkFBc0IsT0FBQTtBQUN0QiwwSEFBQSwyQkFBMkIsT0FBQTtBQUMzQixnSEFBQSxpQkFBaUIsT0FBQTtBQUNqQixtSEFBQSxvQkFBb0IsT0FBQTtBQUV0QixpREFBMkU7QUFBbEUsdUhBQUEsc0JBQXNCLE9BQUE7QUFBRSxrSEFBQSxpQkFBaUIsT0FBQTtBQUNsRCx1Q0FBOEM7QUFBckMsNkdBQUEsaUJBQWlCLE9BQUE7QUFDMUIsdURBUzJCO0FBUnpCLHFIQUFBLGlCQUFpQixPQUFBO0FBQ2pCLHFIQUFBLGlCQUFpQixPQUFBO0FBQ2pCLDRIQUFBLHdCQUF3QixPQUFBO0FBTzFCLHFEQUcwQjtBQUZ4Qiw2SEFBQSwwQkFBMEIsT0FBQSJ9
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resolveBaseModule = void 0;
|
|
3
|
+
exports.isBasePluginRegistered = exports.resolveBaseModule = void 0;
|
|
4
4
|
const utils_1 = require("@medusajs/framework/utils");
|
|
5
5
|
const constants_1 = require("./constants");
|
|
6
6
|
/** Resolves the base module or fails with a clear `UNEXPECTED_STATE`. */
|
|
@@ -11,4 +11,11 @@ const resolveBaseModule = (container) => {
|
|
|
11
11
|
return container.resolve(constants_1.PLUGIN_FEATURES_MODULE);
|
|
12
12
|
};
|
|
13
13
|
exports.resolveBaseModule = resolveBaseModule;
|
|
14
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Whether the base module is registered, for a boot-time check that names the
|
|
16
|
+
* problem ("add @hartl-services/medusa-base to medusa-config") instead of
|
|
17
|
+
* failing at the first request.
|
|
18
|
+
*/
|
|
19
|
+
const isBasePluginRegistered = (container) => container.hasRegistration(constants_1.PLUGIN_FEATURES_MODULE);
|
|
20
|
+
exports.isBasePluginRegistered = isBasePluginRegistered;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLWFjY2Vzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wdWJsaWMvbW9kdWxlLWFjY2Vzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxREFBdUQ7QUFFdkQsMkNBQW9EO0FBRXBELHlFQUF5RTtBQUNsRSxNQUFNLGlCQUFpQixHQUFHLENBQUksU0FBMEIsRUFBSyxFQUFFO0lBQ3BFLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLGtDQUFzQixDQUFDLEVBQUUsQ0FBQztRQUN2RCxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQ2xDLHFFQUFxRSxDQUN0RSxDQUFBO0lBQ0gsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBSSxrQ0FBc0IsQ0FBQyxDQUFBO0FBQ3JELENBQUMsQ0FBQTtBQVJZLFFBQUEsaUJBQWlCLHFCQVE3QjtBQUVEOzs7O0dBSUc7QUFDSSxNQUFNLHNCQUFzQixHQUFHLENBQUMsU0FFdEMsRUFBVyxFQUFFLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxrQ0FBc0IsQ0FBQyxDQUFBO0FBRm5ELFFBQUEsc0JBQXNCLDBCQUU2QiJ9
|
|
@@ -2,27 +2,33 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.shopMasterDataDescriptor = void 0;
|
|
4
4
|
exports.getShopMasterData = getShopMasterData;
|
|
5
|
+
exports.getShopAppearance = getShopAppearance;
|
|
5
6
|
const descriptor_1 = require("./descriptor");
|
|
6
7
|
const settings_1 = require("./settings");
|
|
8
|
+
const COMPANY = "Firmendaten";
|
|
9
|
+
const APPEARANCE = "Erscheinungsbild";
|
|
10
|
+
const DEFAULT_COLOR_HINT = "Leer lassen für die Standardfarbe von E-Mails und Dokumenten.";
|
|
7
11
|
/**
|
|
8
|
-
* The base's own descriptor: the shop's master data (Firmenangaben)
|
|
9
|
-
*
|
|
12
|
+
* The base's own descriptor: the shop's master data (Firmenangaben) and its
|
|
13
|
+
* appearance (logo and colors of the default e-mail and document layouts),
|
|
14
|
+
* edited on the generic plugin page like any plugin's settings. It cannot be
|
|
10
15
|
* switched off and declares no features.
|
|
11
16
|
*/
|
|
12
17
|
exports.shopMasterDataDescriptor = (0, descriptor_1.definePluginFeatures)({
|
|
13
18
|
plugin_key: "shop",
|
|
14
19
|
label: "Shop-Stammdaten",
|
|
15
|
-
description: "Firmenangaben des Shops für E-Mails, Rechnungen, Dokumente und Steuerprüfungen.",
|
|
20
|
+
description: "Firmenangaben des Shops für E-Mails, Rechnungen, Dokumente und Steuerprüfungen sowie Logo und Farben von E-Mails und Dokumenten.",
|
|
16
21
|
switchable: false,
|
|
17
22
|
features: [],
|
|
18
23
|
settings: [
|
|
19
|
-
{ key: "legal_name", label: "Firmenname", type: "string", required: true },
|
|
20
|
-
{ key: "address_line1", label: "Adresse", type: "string", required: true },
|
|
21
|
-
{ key: "address_line2", label: "Adresszusatz", type: "string" },
|
|
22
|
-
{ key: "postal_code", label: "Postleitzahl", type: "string", required: true },
|
|
23
|
-
{ key: "city", label: "Ort", type: "string", required: true },
|
|
24
|
+
{ key: "legal_name", group: COMPANY, label: "Firmenname", type: "string", required: true },
|
|
25
|
+
{ key: "address_line1", group: COMPANY, label: "Adresse", type: "string", required: true },
|
|
26
|
+
{ key: "address_line2", group: COMPANY, label: "Adresszusatz", type: "string" },
|
|
27
|
+
{ key: "postal_code", group: COMPANY, label: "Postleitzahl", type: "string", required: true },
|
|
28
|
+
{ key: "city", group: COMPANY, label: "Ort", type: "string", required: true },
|
|
24
29
|
{
|
|
25
30
|
key: "country_code",
|
|
31
|
+
group: COMPANY,
|
|
26
32
|
label: "Land",
|
|
27
33
|
type: "select",
|
|
28
34
|
required: true,
|
|
@@ -63,16 +69,74 @@ exports.shopMasterDataDescriptor = (0, descriptor_1.definePluginFeatures)({
|
|
|
63
69
|
{ value: "cy", label: "Zypern" },
|
|
64
70
|
],
|
|
65
71
|
},
|
|
66
|
-
{ key: "vat_number", label: "UID-Nummer", type: "string", required: true },
|
|
67
|
-
{ key: "email", label: "E-Mail", type: "string" },
|
|
68
|
-
{ key: "phone", label: "Telefon", type: "string" },
|
|
69
|
-
{ key: "website", label: "Website", type: "url" },
|
|
70
|
-
{ key: "iban", label: "IBAN", type: "string" },
|
|
71
|
-
{ key: "bic", label: "BIC", type: "string" },
|
|
72
|
-
{ key: "company_register_number", label: "Firmenbuchnummer", type: "string" },
|
|
73
|
-
{ key: "company_register_court", label: "Firmenbuchgericht", type: "string" },
|
|
72
|
+
{ key: "vat_number", group: COMPANY, label: "UID-Nummer", type: "string", required: true },
|
|
73
|
+
{ key: "email", group: COMPANY, label: "E-Mail", type: "string" },
|
|
74
|
+
{ key: "phone", group: COMPANY, label: "Telefon", type: "string" },
|
|
75
|
+
{ key: "website", group: COMPANY, label: "Website", type: "url" },
|
|
76
|
+
{ key: "iban", group: COMPANY, label: "IBAN", type: "string" },
|
|
77
|
+
{ key: "bic", group: COMPANY, label: "BIC", type: "string" },
|
|
78
|
+
{ key: "company_register_number", group: COMPANY, label: "Firmenbuchnummer", type: "string" },
|
|
79
|
+
{ key: "company_register_court", group: COMPANY, label: "Firmenbuchgericht", type: "string" },
|
|
80
|
+
{
|
|
81
|
+
key: "logo",
|
|
82
|
+
group: APPEARANCE,
|
|
83
|
+
label: "Logo",
|
|
84
|
+
description: "PNG oder JPG, erscheint oben in den E-Mails und auf Rechnungen und Lieferscheinen. Ohne Logo steht dort der Firmenname bzw. Shopname.",
|
|
85
|
+
type: "image",
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
key: "color_accent",
|
|
89
|
+
group: APPEARANCE,
|
|
90
|
+
label: "Akzentfarbe",
|
|
91
|
+
description: `Buttons, Überschriften und Links. ${DEFAULT_COLOR_HINT}`,
|
|
92
|
+
type: "color",
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
key: "color_text",
|
|
96
|
+
group: APPEARANCE,
|
|
97
|
+
label: "Textfarbe",
|
|
98
|
+
description: `Fließtext und Beträge. ${DEFAULT_COLOR_HINT}`,
|
|
99
|
+
type: "color",
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
key: "color_muted",
|
|
103
|
+
group: APPEARANCE,
|
|
104
|
+
label: "Nebentextfarbe",
|
|
105
|
+
description: `Beschriftungen, Hinweise und Fußzeilen. ${DEFAULT_COLOR_HINT}`,
|
|
106
|
+
type: "color",
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
key: "color_line",
|
|
110
|
+
group: APPEARANCE,
|
|
111
|
+
label: "Linienfarbe",
|
|
112
|
+
description: `Rahmen und Trennlinien. ${DEFAULT_COLOR_HINT}`,
|
|
113
|
+
type: "color",
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
key: "color_surface",
|
|
117
|
+
group: APPEARANCE,
|
|
118
|
+
label: "Flächenfarbe",
|
|
119
|
+
description: `Hinterlegte Flächen wie Infoboxen und Tabellenköpfe. ${DEFAULT_COLOR_HINT}`,
|
|
120
|
+
type: "color",
|
|
121
|
+
},
|
|
74
122
|
],
|
|
75
123
|
});
|
|
124
|
+
const SHOP_MASTER_DATA_KEYS = [
|
|
125
|
+
"legal_name",
|
|
126
|
+
"address_line1",
|
|
127
|
+
"address_line2",
|
|
128
|
+
"postal_code",
|
|
129
|
+
"city",
|
|
130
|
+
"country_code",
|
|
131
|
+
"vat_number",
|
|
132
|
+
"email",
|
|
133
|
+
"phone",
|
|
134
|
+
"website",
|
|
135
|
+
"iban",
|
|
136
|
+
"bic",
|
|
137
|
+
"company_register_number",
|
|
138
|
+
"company_register_court",
|
|
139
|
+
];
|
|
76
140
|
/**
|
|
77
141
|
* The shop's master data for server-side code, exactly as stored in the
|
|
78
142
|
* Admin: there is no config fallback. A missing base plugin fails with
|
|
@@ -81,7 +145,8 @@ exports.shopMasterDataDescriptor = (0, descriptor_1.definePluginFeatures)({
|
|
|
81
145
|
async function getShopMasterData(container) {
|
|
82
146
|
const resolved = await (0, settings_1.getPluginSettings)(container, exports.shopMasterDataDescriptor);
|
|
83
147
|
const values = {};
|
|
84
|
-
for (const
|
|
148
|
+
for (const key of SHOP_MASTER_DATA_KEYS) {
|
|
149
|
+
const value = resolved.values[key];
|
|
85
150
|
if (typeof value === "string") {
|
|
86
151
|
values[key] = value;
|
|
87
152
|
}
|
|
@@ -92,4 +157,30 @@ async function getShopMasterData(container) {
|
|
|
92
157
|
missing: resolved.missing,
|
|
93
158
|
};
|
|
94
159
|
}
|
|
95
|
-
|
|
160
|
+
const APPEARANCE_COLOR_KEYS = {
|
|
161
|
+
accent: "color_accent",
|
|
162
|
+
text: "color_text",
|
|
163
|
+
muted: "color_muted",
|
|
164
|
+
line: "color_line",
|
|
165
|
+
surface: "color_surface",
|
|
166
|
+
};
|
|
167
|
+
/**
|
|
168
|
+
* The shop's appearance (Erscheinungsbild) for server-side code, as stored
|
|
169
|
+
* in the Admin. A missing base plugin fails with `UNEXPECTED_STATE`; read
|
|
170
|
+
* failures propagate.
|
|
171
|
+
*/
|
|
172
|
+
async function getShopAppearance(container) {
|
|
173
|
+
const { values } = await (0, settings_1.getPluginSettings)(container, exports.shopMasterDataDescriptor);
|
|
174
|
+
const colors = {};
|
|
175
|
+
for (const [token, key] of Object.entries(APPEARANCE_COLOR_KEYS)) {
|
|
176
|
+
const value = values[key];
|
|
177
|
+
if (typeof value === "string") {
|
|
178
|
+
colors[token] = value;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
return {
|
|
182
|
+
...(typeof values.logo === "string" ? { logo: values.logo } : {}),
|
|
183
|
+
colors,
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvcC1tYXN0ZXItZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wdWJsaWMvc2hvcC1tYXN0ZXItZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFtS0EsOENBbUJDO0FBMkJELDhDQWVDO0FBOU5ELDZDQUFtRDtBQUNuRCx5Q0FBOEM7QUFHOUMsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFBO0FBQzdCLE1BQU0sVUFBVSxHQUFHLGtCQUFrQixDQUFBO0FBQ3JDLE1BQU0sa0JBQWtCLEdBQ3RCLCtEQUErRCxDQUFBO0FBRWpFOzs7OztHQUtHO0FBQ1UsUUFBQSx3QkFBd0IsR0FBRyxJQUFBLGlDQUFvQixFQUFDO0lBQzNELFVBQVUsRUFBRSxNQUFNO0lBQ2xCLEtBQUssRUFBRSxpQkFBaUI7SUFDeEIsV0FBVyxFQUNULGtJQUFrSTtJQUNwSSxVQUFVLEVBQUUsS0FBSztJQUNqQixRQUFRLEVBQUUsRUFBRTtJQUNaLFFBQVEsRUFBRTtRQUNSLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO1FBQzFGLEVBQUUsR0FBRyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO1FBQzFGLEVBQUUsR0FBRyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtRQUMvRSxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtRQUM3RixFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtRQUM3RTtZQUNFLEdBQUcsRUFBRSxjQUFjO1lBQ25CLEtBQUssRUFBRSxPQUFPO1lBQ2QsS0FBSyxFQUFFLE1BQU07WUFDYixJQUFJLEVBQUUsUUFBUTtZQUNkLFFBQVEsRUFBRSxJQUFJO1lBQ2QsaUVBQWlFO1lBQ2pFLDBCQUEwQjtZQUMxQixPQUFPLEVBQUU7Z0JBQ1AsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUU7Z0JBQ2pDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFO2dCQUNuQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTtnQkFDbEMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUU7Z0JBQ3JDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO2dCQUNqQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTtnQkFDbEMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUU7Z0JBQ3BDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFO2dCQUN0QyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtnQkFDaEMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUU7Z0JBQ2hDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO2dCQUNqQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTtnQkFDbEMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7Z0JBQ2xDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFO2dCQUN2QyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtnQkFDakMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUU7Z0JBQ25DLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO2dCQUMvQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRTtnQkFDckMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7Z0JBQ2xDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFO2dCQUNwQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtnQkFDL0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7Z0JBQ2xDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFO2dCQUNsQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTtnQkFDbEMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUU7Z0JBQ2pDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFO2dCQUNsQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRTtnQkFDbkMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUU7Z0JBQ2pDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFO2dCQUNwQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtnQkFDaEMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSx3QkFBd0IsRUFBRTtnQkFDaEQsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUU7YUFDakM7U0FDRjtRQUNELEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO1FBQzFGLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtRQUNqRSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7UUFDbEUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFO1FBQ2pFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtRQUM5RCxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7UUFDNUQsRUFBRSxHQUFHLEVBQUUseUJBQXlCLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtRQUM3RixFQUFFLEdBQUcsRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO1FBQzdGO1lBQ0UsR0FBRyxFQUFFLE1BQU07WUFDWCxLQUFLLEVBQUUsVUFBVTtZQUNqQixLQUFLLEVBQUUsTUFBTTtZQUNiLFdBQVcsRUFDVCx1SUFBdUk7WUFDekksSUFBSSxFQUFFLE9BQU87U0FDZDtRQUNEO1lBQ0UsR0FBRyxFQUFFLGNBQWM7WUFDbkIsS0FBSyxFQUFFLFVBQVU7WUFDakIsS0FBSyxFQUFFLGFBQWE7WUFDcEIsV0FBVyxFQUFFLHFDQUFxQyxrQkFBa0IsRUFBRTtZQUN0RSxJQUFJLEVBQUUsT0FBTztTQUNkO1FBQ0Q7WUFDRSxHQUFHLEVBQUUsWUFBWTtZQUNqQixLQUFLLEVBQUUsVUFBVTtZQUNqQixLQUFLLEVBQUUsV0FBVztZQUNsQixXQUFXLEVBQUUsMEJBQTBCLGtCQUFrQixFQUFFO1lBQzNELElBQUksRUFBRSxPQUFPO1NBQ2Q7UUFDRDtZQUNFLEdBQUcsRUFBRSxhQUFhO1lBQ2xCLEtBQUssRUFBRSxVQUFVO1lBQ2pCLEtBQUssRUFBRSxnQkFBZ0I7WUFDdkIsV0FBVyxFQUFFLDJDQUEyQyxrQkFBa0IsRUFBRTtZQUM1RSxJQUFJLEVBQUUsT0FBTztTQUNkO1FBQ0Q7WUFDRSxHQUFHLEVBQUUsWUFBWTtZQUNqQixLQUFLLEVBQUUsVUFBVTtZQUNqQixLQUFLLEVBQUUsYUFBYTtZQUNwQixXQUFXLEVBQUUsMkJBQTJCLGtCQUFrQixFQUFFO1lBQzVELElBQUksRUFBRSxPQUFPO1NBQ2Q7UUFDRDtZQUNFLEdBQUcsRUFBRSxlQUFlO1lBQ3BCLEtBQUssRUFBRSxVQUFVO1lBQ2pCLEtBQUssRUFBRSxjQUFjO1lBQ3JCLFdBQVcsRUFBRSx3REFBd0Qsa0JBQWtCLEVBQUU7WUFDekYsSUFBSSxFQUFFLE9BQU87U0FDZDtLQUNGO0NBQ0YsQ0FBQyxDQUFBO0FBRUYsTUFBTSxxQkFBcUIsR0FBRztJQUM1QixZQUFZO0lBQ1osZUFBZTtJQUNmLGVBQWU7SUFDZixhQUFhO0lBQ2IsTUFBTTtJQUNOLGNBQWM7SUFDZCxZQUFZO0lBQ1osT0FBTztJQUNQLE9BQU87SUFDUCxTQUFTO0lBQ1QsTUFBTTtJQUNOLEtBQUs7SUFDTCx5QkFBeUI7SUFDekIsd0JBQXdCO0NBQ2hCLENBQUE7QUFnQlY7Ozs7R0FJRztBQUNJLEtBQUssVUFBVSxpQkFBaUIsQ0FDckMsU0FBMEI7SUFFMUIsTUFBTSxRQUFRLEdBQW1DLE1BQU0sSUFBQSw0QkFBaUIsRUFDdEUsU0FBUyxFQUNULGdDQUF3QixDQUN6QixDQUFBO0lBQ0QsTUFBTSxNQUFNLEdBQW1CLEVBQUUsQ0FBQTtJQUNqQyxLQUFLLE1BQU0sR0FBRyxJQUFJLHFCQUFxQixFQUFFLENBQUM7UUFDeEMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNsQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzlCLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUE7UUFDckIsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPO1FBQ0wsTUFBTTtRQUNOLFVBQVUsRUFBRSxRQUFRLENBQUMsVUFBVTtRQUMvQixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQThCO0tBQ2pELENBQUE7QUFDSCxDQUFDO0FBY0QsTUFBTSxxQkFBcUIsR0FBRztJQUM1QixNQUFNLEVBQUUsY0FBYztJQUN0QixJQUFJLEVBQUUsWUFBWTtJQUNsQixLQUFLLEVBQUUsYUFBYTtJQUNwQixJQUFJLEVBQUUsWUFBWTtJQUNsQixPQUFPLEVBQUUsZUFBZTtDQUNoQixDQUFBO0FBRVY7Ozs7R0FJRztBQUNJLEtBQUssVUFBVSxpQkFBaUIsQ0FDckMsU0FBMEI7SUFFMUIsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBQSw0QkFBaUIsRUFBQyxTQUFTLEVBQUUsZ0NBQXdCLENBQUMsQ0FBQTtJQUMvRSxNQUFNLE1BQU0sR0FBeUIsRUFBRSxDQUFBO0lBQ3ZDLEtBQUssTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQztRQUNqRSxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDekIsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM5QixNQUFNLENBQUMsS0FBbUMsQ0FBQyxHQUFHLEtBQUssQ0FBQTtRQUNyRCxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU87UUFDTCxHQUFHLENBQUMsT0FBTyxNQUFNLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDakUsTUFBTTtLQUNQLENBQUE7QUFDSCxDQUFDIn0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.asFiniteNumber = exports.asOptionalString = exports.asArray = exports.asText = exports.asRecordOrNull = exports.asRecord = void 0;
|
|
4
|
+
const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
5
|
+
/** Reads untyped data (query results, event payloads) defensively. */
|
|
6
|
+
/** The object itself, else `{}`: safe to read properties from. */
|
|
7
|
+
const asRecord = (value) => isRecord(value) ? value : {};
|
|
8
|
+
exports.asRecord = asRecord;
|
|
9
|
+
/** The object itself, else `null` (arrays are not records). */
|
|
10
|
+
const asRecordOrNull = (value) => isRecord(value) ? value : null;
|
|
11
|
+
exports.asRecordOrNull = asRecordOrNull;
|
|
12
|
+
/** The trimmed string, `null` for a blank or non-string value. */
|
|
13
|
+
const asText = (value) => typeof value === "string" && value.trim() ? value.trim() : null;
|
|
14
|
+
exports.asText = asText;
|
|
15
|
+
const asArray = (value) => Array.isArray(value) ? value : [];
|
|
16
|
+
exports.asArray = asArray;
|
|
17
|
+
/**
|
|
18
|
+
* The string as it is (not trimmed), `null` for a non-string value. A blank
|
|
19
|
+
* string is `null` unless `allowBlank` is set.
|
|
20
|
+
*/
|
|
21
|
+
const asOptionalString = (value, { allowBlank = false } = {}) => typeof value === "string" && (allowBlank || value.trim()) ? value : null;
|
|
22
|
+
exports.asOptionalString = asOptionalString;
|
|
23
|
+
/** The number if it is finite, else `null` (no string or BigNumber parsing). */
|
|
24
|
+
const asFiniteNumber = (value) => typeof value === "number" && Number.isFinite(value) ? value : null;
|
|
25
|
+
exports.asFiniteNumber = asFiniteNumber;
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lcmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvY29lcmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBYyxFQUFzQixFQUFFLENBQ3RELE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUV0RSxzRUFBc0U7QUFFdEUsa0VBQWtFO0FBQzNELE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBYyxFQUFhLEVBQUUsQ0FDcEQsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtBQURqQixRQUFBLFFBQVEsWUFDUztBQUU5QiwrREFBK0Q7QUFDeEQsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFjLEVBQW9CLEVBQUUsQ0FDakUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtBQURuQixRQUFBLGNBQWMsa0JBQ0s7QUFFaEMsa0VBQWtFO0FBQzNELE1BQU0sTUFBTSxHQUFHLENBQUMsS0FBYyxFQUFpQixFQUFFLENBQ3RELE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO0FBRHBELFFBQUEsTUFBTSxVQUM4QztBQUUxRCxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQWMsRUFBYSxFQUFFLENBQ25ELEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO0FBRHRCLFFBQUEsT0FBTyxXQUNlO0FBRW5DOzs7R0FHRztBQUNJLE1BQU0sZ0JBQWdCLEdBQUcsQ0FDOUIsS0FBYyxFQUNkLEVBQUUsVUFBVSxHQUFHLEtBQUssS0FBK0IsRUFBRSxFQUN0QyxFQUFFLENBQ2pCLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7QUFKN0QsUUFBQSxnQkFBZ0Isb0JBSTZDO0FBRTFFLGdGQUFnRjtBQUN6RSxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWMsRUFBaUIsRUFBRSxDQUM5RCxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7QUFEdkQsUUFBQSxjQUFjLGtCQUN5QyJ9
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sleep = exports.chunk = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
/** Splits a list into consecutive slices of at most `size` items. */
|
|
6
|
+
const chunk = (items, size) => {
|
|
7
|
+
if (!Number.isInteger(size) || size < 1) {
|
|
8
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "The chunk size must be a positive integer.");
|
|
9
|
+
}
|
|
10
|
+
const chunks = [];
|
|
11
|
+
for (let index = 0; index < items.length; index += size) {
|
|
12
|
+
chunks.push(items.slice(index, index + size));
|
|
13
|
+
}
|
|
14
|
+
return chunks;
|
|
15
|
+
};
|
|
16
|
+
exports.chunk = chunk;
|
|
17
|
+
const sleep = (milliseconds) => new Promise((resolve) => setTimeout(resolve, milliseconds));
|
|
18
|
+
exports.sleep = sleep;
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9jb2xsZWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBdUQ7QUFFdkQscUVBQXFFO0FBQzlELE1BQU0sS0FBSyxHQUFHLENBQU8sS0FBc0IsRUFBRSxJQUFZLEVBQVksRUFBRTtJQUM1RSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDeEMsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsNENBQTRDLENBQzdDLENBQUE7SUFDSCxDQUFDO0lBQ0QsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFBO0lBQzNCLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN4RCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQy9DLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUMsQ0FBQTtBQVpZLFFBQUEsS0FBSyxTQVlqQjtBQUVNLE1BQU0sS0FBSyxHQUFHLENBQUMsWUFBb0IsRUFBaUIsRUFBRSxDQUMzRCxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFBO0FBRGhELFFBQUEsS0FBSyxTQUMyQyJ9
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isValidTimeZone = exports.toOptionalWireDate = exports.toWireDate = exports.toIsoDate = exports.startOfUtcDate = exports.toValidDate = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
/** A valid `Date`; throws `INVALID_DATA` for an unparsable value. */
|
|
6
|
+
const toValidDate = (value, message = "Invalid date.") => {
|
|
7
|
+
const date = value instanceof Date ? value : new Date(value);
|
|
8
|
+
if (Number.isNaN(date.getTime())) {
|
|
9
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, message);
|
|
10
|
+
}
|
|
11
|
+
return date;
|
|
12
|
+
};
|
|
13
|
+
exports.toValidDate = toValidDate;
|
|
14
|
+
/** Midnight UTC of the value's UTC calendar day. */
|
|
15
|
+
const startOfUtcDate = (value) => {
|
|
16
|
+
const date = (0, exports.toValidDate)(value);
|
|
17
|
+
return new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()));
|
|
18
|
+
};
|
|
19
|
+
exports.startOfUtcDate = startOfUtcDate;
|
|
20
|
+
/** `yyyy-mm-dd` of the value's UTC calendar day; throws for an invalid date. */
|
|
21
|
+
const toIsoDate = (value) => (0, exports.toValidDate)(value).toISOString().slice(0, 10);
|
|
22
|
+
exports.toIsoDate = toIsoDate;
|
|
23
|
+
/** ISO-8601 instant for an HTTP response; throws for an invalid date. */
|
|
24
|
+
const toWireDate = (value) => (0, exports.toValidDate)(value).toISOString();
|
|
25
|
+
exports.toWireDate = toWireDate;
|
|
26
|
+
/** Like `toWireDate`, `null` for `null` / `undefined`. */
|
|
27
|
+
const toOptionalWireDate = (value) => (value == null ? null : (0, exports.toWireDate)(value));
|
|
28
|
+
exports.toOptionalWireDate = toOptionalWireDate;
|
|
29
|
+
/** Whether the value is an IANA time zone this runtime knows ("Europe/Vienna"). */
|
|
30
|
+
const isValidTimeZone = (value) => {
|
|
31
|
+
if (typeof value !== "string" || !value.trim()) {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
try {
|
|
35
|
+
new Intl.DateTimeFormat("en", { timeZone: value });
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
exports.isValidTimeZone = isValidTimeZone;
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9kYXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBdUQ7QUFFdkQscUVBQXFFO0FBQzlELE1BQU0sV0FBVyxHQUFHLENBQ3pCLEtBQTZCLEVBQzdCLE9BQU8sR0FBRyxlQUFlLEVBQ25CLEVBQUU7SUFDUixNQUFNLElBQUksR0FBRyxLQUFLLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzVELElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sSUFBSSxtQkFBVyxDQUFDLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUNoRSxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDLENBQUE7QUFUWSxRQUFBLFdBQVcsZUFTdkI7QUFFRCxvREFBb0Q7QUFDN0MsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUE2QixFQUFRLEVBQUU7SUFDcEUsTUFBTSxJQUFJLEdBQUcsSUFBQSxtQkFBVyxFQUFDLEtBQUssQ0FBQyxDQUFBO0lBQy9CLE9BQU8sSUFBSSxJQUFJLENBQ2IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUN2RSxDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBTFksUUFBQSxjQUFjLGtCQUsxQjtBQUVELGdGQUFnRjtBQUN6RSxNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQTZCLEVBQVUsRUFBRSxDQUNqRSxJQUFBLG1CQUFXLEVBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQURsQyxRQUFBLFNBQVMsYUFDeUI7QUFFL0MseUVBQXlFO0FBQ2xFLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBb0IsRUFBVSxFQUFFLENBQ3pELElBQUEsbUJBQVcsRUFBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtBQURyQixRQUFBLFVBQVUsY0FDVztBQUVsQywwREFBMEQ7QUFDbkQsTUFBTSxrQkFBa0IsR0FBRyxDQUNoQyxLQUF1QyxFQUN4QixFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUEsa0JBQVUsRUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0FBRmpELFFBQUEsa0JBQWtCLHNCQUUrQjtBQUU5RCxtRkFBbUY7QUFDNUUsTUFBTSxlQUFlLEdBQUcsQ0FBQyxLQUFjLEVBQW1CLEVBQUU7SUFDakUsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUMvQyxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFDRCxJQUFJLENBQUM7UUFDSCxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7UUFDbEQsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBVlksUUFBQSxlQUFlLG1CQVUzQiJ9
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.describeError = void 0;
|
|
4
|
+
/** The message of anything that was thrown. */
|
|
5
|
+
const describeError = (error) => error instanceof Error
|
|
6
|
+
? error.message
|
|
7
|
+
: typeof error?.message === "string"
|
|
8
|
+
? error.message
|
|
9
|
+
: String(error);
|
|
10
|
+
exports.describeError = describeError;
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtDQUErQztBQUN4QyxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQWMsRUFBVSxFQUFFLENBQ3RELEtBQUssWUFBWSxLQUFLO0lBQ3BCLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTztJQUNmLENBQUMsQ0FBQyxPQUFRLEtBQStCLEVBQUUsT0FBTyxLQUFLLFFBQVE7UUFDN0QsQ0FBQyxDQUFFLEtBQTZCLENBQUMsT0FBTztRQUN4QyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO0FBTFIsUUFBQSxhQUFhLGlCQUtMIn0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sha256Hex = void 0;
|
|
4
|
+
const node_crypto_1 = require("node:crypto");
|
|
5
|
+
/** Lower-case hex SHA-256 of a string (UTF-8) or of bytes. */
|
|
6
|
+
const sha256Hex = (value) => (0, node_crypto_1.createHash)("sha256").update(value).digest("hex");
|
|
7
|
+
exports.sha256Hex = sha256Hex;
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2hhc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQXdDO0FBRXhDLDhEQUE4RDtBQUN2RCxNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQTBCLEVBQVUsRUFBRSxDQUM5RCxJQUFBLHdCQUFVLEVBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQURyQyxRQUFBLFNBQVMsYUFDNEIifQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
// Generic server/isomorphic helpers shared by all plugins, exported as
|
|
18
|
+
// `@hartl-services/medusa-base/lib`.
|
|
19
|
+
__exportStar(require("./coerce"), exports);
|
|
20
|
+
__exportStar(require("./collections"), exports);
|
|
21
|
+
__exportStar(require("./dates"), exports);
|
|
22
|
+
__exportStar(require("./errors"), exports);
|
|
23
|
+
__exportStar(require("./hash"), exports);
|
|
24
|
+
__exportStar(require("./logging"), exports);
|
|
25
|
+
__exportStar(require("./money"), exports);
|
|
26
|
+
__exportStar(require("./text"), exports);
|
|
27
|
+
__exportStar(require("./transaction"), exports);
|
|
28
|
+
__exportStar(require("./wire-response"), exports);
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdUVBQXVFO0FBQ3ZFLHFDQUFxQztBQUNyQywyQ0FBd0I7QUFDeEIsZ0RBQTZCO0FBQzdCLDBDQUF1QjtBQUN2QiwyQ0FBd0I7QUFDeEIseUNBQXNCO0FBQ3RCLDRDQUF5QjtBQUN6QiwwQ0FBdUI7QUFDdkIseUNBQXNCO0FBQ3RCLGdEQUE2QjtBQUM3QixrREFBK0IifQ==
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createWarnOnce = exports.resolveOptionalLogger = void 0;
|
|
4
|
+
const LOGGER_KEY = "logger";
|
|
5
|
+
const hasWarn = (value) => typeof value?.warn === "function";
|
|
6
|
+
const attempt = (read) => {
|
|
7
|
+
try {
|
|
8
|
+
return read();
|
|
9
|
+
}
|
|
10
|
+
catch {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* The registered logger, or `undefined`. Accepts a container (`resolve`) or a
|
|
16
|
+
* module cradle (`cradle.logger`), the first constructor argument of a module
|
|
17
|
+
* service. Reading an unregistered key from an awilix cradle throws, and a
|
|
18
|
+
* missing logger must never stop a module from loading, so every read is
|
|
19
|
+
* guarded.
|
|
20
|
+
*/
|
|
21
|
+
const resolveOptionalLogger = (source) => {
|
|
22
|
+
const fromProperty = attempt(() => source?.logger);
|
|
23
|
+
if (hasWarn(fromProperty)) {
|
|
24
|
+
return fromProperty;
|
|
25
|
+
}
|
|
26
|
+
const fromContainer = attempt(() => {
|
|
27
|
+
const container = source;
|
|
28
|
+
return typeof container?.resolve === "function"
|
|
29
|
+
? container.resolve(LOGGER_KEY)
|
|
30
|
+
: undefined;
|
|
31
|
+
});
|
|
32
|
+
return hasWarn(fromContainer) ? fromContainer : undefined;
|
|
33
|
+
};
|
|
34
|
+
exports.resolveOptionalLogger = resolveOptionalLogger;
|
|
35
|
+
/**
|
|
36
|
+
* One warning per key and signature per process (not per request): a state
|
|
37
|
+
* that persists is logged once, a changed state is logged again, and `reset`
|
|
38
|
+
* re-arms a key once the state is healthy.
|
|
39
|
+
*/
|
|
40
|
+
const createWarnOnce = () => {
|
|
41
|
+
const lastSignatures = new Map();
|
|
42
|
+
const warnOnce = ((key, signature, warn) => {
|
|
43
|
+
if (lastSignatures.get(key) === signature) {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
lastSignatures.set(key, signature);
|
|
47
|
+
warn();
|
|
48
|
+
return true;
|
|
49
|
+
});
|
|
50
|
+
warnOnce.reset = (key) => {
|
|
51
|
+
if (key === undefined) {
|
|
52
|
+
lastSignatures.clear();
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
lastSignatures.delete(key);
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
return warnOnce;
|
|
59
|
+
};
|
|
60
|
+
exports.createWarnOnce = createWarnOnce;
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2xvZ2dpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFBO0FBRTNCLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBYyxFQUEyQixFQUFFLENBQzFELE9BQVEsS0FBK0MsRUFBRSxJQUFJLEtBQUssVUFBVSxDQUFBO0FBRTlFLE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBbUIsRUFBVyxFQUFFO0lBQy9DLElBQUksQ0FBQztRQUNILE9BQU8sSUFBSSxFQUFFLENBQUE7SUFDZixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxTQUFTLENBQUE7SUFDbEIsQ0FBQztBQUNILENBQUMsQ0FBQTtBQUVEOzs7Ozs7R0FNRztBQUNJLE1BQU0scUJBQXFCLEdBQUcsQ0FDbkMsTUFBZSxFQUNhLEVBQUU7SUFDOUIsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUMxQixHQUFHLEVBQUUsQ0FBRSxNQUFrRCxFQUFFLE1BQU0sQ0FDbEUsQ0FBQTtJQUNELElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7UUFDMUIsT0FBTyxZQUFZLENBQUE7SUFDckIsQ0FBQztJQUNELE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUU7UUFDakMsTUFBTSxTQUFTLEdBQUcsTUFBa0QsQ0FBQTtRQUNwRSxPQUFPLE9BQU8sU0FBUyxFQUFFLE9BQU8sS0FBSyxVQUFVO1lBQzdDLENBQUMsQ0FBRSxTQUErQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7WUFDdEUsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtJQUNmLENBQUMsQ0FBQyxDQUFBO0lBQ0YsT0FBTyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO0FBQzNELENBQUMsQ0FBQTtBQWhCWSxRQUFBLHFCQUFxQix5QkFnQmpDO0FBWUQ7Ozs7R0FJRztBQUNJLE1BQU0sY0FBYyxHQUFHLEdBQWEsRUFBRTtJQUMzQyxNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQTtJQUNoRCxNQUFNLFFBQVEsR0FBRyxDQUFDLENBQUMsR0FBVyxFQUFFLFNBQWlCLEVBQUUsSUFBZ0IsRUFBRSxFQUFFO1FBQ3JFLElBQUksY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMxQyxPQUFPLEtBQUssQ0FBQTtRQUNkLENBQUM7UUFDRCxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQTtRQUNsQyxJQUFJLEVBQUUsQ0FBQTtRQUNOLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQyxDQUFhLENBQUE7SUFDZCxRQUFRLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDdkIsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdEIsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ3hCLENBQUM7YUFBTSxDQUFDO1lBQ04sY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUM1QixDQUFDO0lBQ0gsQ0FBQyxDQUFBO0lBQ0QsT0FBTyxRQUFRLENBQUE7QUFDakIsQ0FBQyxDQUFBO0FBbEJZLFFBQUEsY0FBYyxrQkFrQjFCIn0=
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toNumericAmount = exports.getCurrencyDecimalPlaces = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const DEFAULT_CURRENCY_DECIMAL_PLACES = 2;
|
|
6
|
+
/**
|
|
7
|
+
* Minor-unit digit count for a currency, e.g. EUR/USD = 2, JPY = 0, KWD = 3.
|
|
8
|
+
* Sourced from Medusa's static currency table; unknown currencies use 2.
|
|
9
|
+
*/
|
|
10
|
+
const getCurrencyDecimalPlaces = (currencyCode) => utils_1.defaultCurrencies[currencyCode.toUpperCase()]?.decimal_digits ??
|
|
11
|
+
DEFAULT_CURRENCY_DECIMAL_PLACES;
|
|
12
|
+
exports.getCurrencyDecimalPlaces = getCurrencyDecimalPlaces;
|
|
13
|
+
const finiteOrNull = (value) => Number.isFinite(value) ? value : null;
|
|
14
|
+
/**
|
|
15
|
+
* A finite number from whatever Medusa returns for an amount or quantity:
|
|
16
|
+
* a number, a numeric string, a Medusa `BigNumber` (detected by shape, never
|
|
17
|
+
* by `instanceof`: two copies of `@medusajs/utils` may be installed), a
|
|
18
|
+
* bignumber.js value or a raw `{ value }` record. Anything else, blank
|
|
19
|
+
* strings, `NaN` and `Infinity` included, is `null`.
|
|
20
|
+
*/
|
|
21
|
+
const toNumericAmount = (value) => {
|
|
22
|
+
if (typeof value === "number") {
|
|
23
|
+
return finiteOrNull(value);
|
|
24
|
+
}
|
|
25
|
+
if (typeof value === "string") {
|
|
26
|
+
return value.trim() ? finiteOrNull(Number(value)) : null;
|
|
27
|
+
}
|
|
28
|
+
if (typeof value !== "object" || value === null) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
const candidate = value;
|
|
32
|
+
if (typeof candidate.numeric === "number") {
|
|
33
|
+
return finiteOrNull(candidate.numeric);
|
|
34
|
+
}
|
|
35
|
+
if (typeof candidate.toNumber === "function") {
|
|
36
|
+
return finiteOrNull(Number(candidate.toNumber.call(value)));
|
|
37
|
+
}
|
|
38
|
+
if (typeof candidate.raw_ === "object" && candidate.raw_ !== null) {
|
|
39
|
+
return toRawValue(candidate.raw_.value);
|
|
40
|
+
}
|
|
41
|
+
return toRawValue(candidate.value);
|
|
42
|
+
};
|
|
43
|
+
exports.toNumericAmount = toNumericAmount;
|
|
44
|
+
const toRawValue = (value) => typeof value === "number" || typeof value === "string"
|
|
45
|
+
? (0, exports.toNumericAmount)(value)
|
|
46
|
+
: null;
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9tb25leS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBNkQ7QUFFN0QsTUFBTSwrQkFBK0IsR0FBRyxDQUFDLENBQUE7QUFFekM7OztHQUdHO0FBQ0ksTUFBTSx3QkFBd0IsR0FBRyxDQUFDLFlBQW9CLEVBQVUsRUFBRSxDQUN2RSx5QkFBaUIsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxjQUFjO0lBQzdELCtCQUErQixDQUFBO0FBRnBCLFFBQUEsd0JBQXdCLDRCQUVKO0FBRWpDLE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBYSxFQUFpQixFQUFFLENBQ3BELE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO0FBRXZDOzs7Ozs7R0FNRztBQUNJLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBYyxFQUFpQixFQUFFO0lBQy9ELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUIsT0FBTyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDNUIsQ0FBQztJQUNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUIsT0FBTyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO0lBQzFELENBQUM7SUFDRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDaEQsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQsTUFBTSxTQUFTLEdBQUcsS0FLakIsQ0FBQTtJQUNELElBQUksT0FBTyxTQUFTLENBQUMsT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzFDLE9BQU8sWUFBWSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUN4QyxDQUFDO0lBQ0QsSUFBSSxPQUFPLFNBQVMsQ0FBQyxRQUFRLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDN0MsT0FBTyxZQUFZLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUM3RCxDQUFDO0lBQ0QsSUFBSSxPQUFPLFNBQVMsQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLFNBQVMsQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDbEUsT0FBTyxVQUFVLENBQUUsU0FBUyxDQUFDLElBQTRCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDbEUsQ0FBQztJQUNELE9BQU8sVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUNwQyxDQUFDLENBQUE7QUEzQlksUUFBQSxlQUFlLG1CQTJCM0I7QUFFRCxNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQWMsRUFBaUIsRUFBRSxDQUNuRCxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUTtJQUNwRCxDQUFDLENBQUMsSUFBQSx1QkFBZSxFQUFDLEtBQUssQ0FBQztJQUN4QixDQUFDLENBQUMsSUFBSSxDQUFBIn0=
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isNonEmptyString = exports.isHttpUrl = exports.escapeHtml = exports.escapeLikePattern = exports.normalizeEmail = exports.normalizeVatNumber = exports.VAT_NUMBER_PLACEHOLDER = void 0;
|
|
4
|
+
/** Placeholder UID for development; never a real merchant UID. */
|
|
5
|
+
exports.VAT_NUMBER_PLACEHOLDER = "ATU00000000";
|
|
6
|
+
/** A VAT number without whitespace, upper-case: " atu 1234 5678 " -> "ATU12345678". */
|
|
7
|
+
const normalizeVatNumber = (value) => value.replace(/\s+/g, "").toUpperCase();
|
|
8
|
+
exports.normalizeVatNumber = normalizeVatNumber;
|
|
9
|
+
/**
|
|
10
|
+
* Provider-agnostic e-mail normalization: only surrounding whitespace and
|
|
11
|
+
* casing change (plus tags and dots can name different mailboxes). `null` for
|
|
12
|
+
* a blank value or one without a local part, "@" or domain; callers decide
|
|
13
|
+
* whether that is an error.
|
|
14
|
+
*/
|
|
15
|
+
const normalizeEmail = (value) => {
|
|
16
|
+
const normalized = value?.trim().toLowerCase();
|
|
17
|
+
return normalized &&
|
|
18
|
+
normalized.includes("@") &&
|
|
19
|
+
!normalized.startsWith("@") &&
|
|
20
|
+
!normalized.endsWith("@")
|
|
21
|
+
? normalized
|
|
22
|
+
: null;
|
|
23
|
+
};
|
|
24
|
+
exports.normalizeEmail = normalizeEmail;
|
|
25
|
+
/** Escapes `\`, `%` and `_` so a value matches literally in `LIKE` / `ILIKE`. */
|
|
26
|
+
const escapeLikePattern = (value) => value.replace(/[\\%_]/g, "\\$&");
|
|
27
|
+
exports.escapeLikePattern = escapeLikePattern;
|
|
28
|
+
/** Escapes text for HTML content and double- or single-quoted attributes. */
|
|
29
|
+
const escapeHtml = (value) => String(value ?? "")
|
|
30
|
+
.replaceAll("&", "&")
|
|
31
|
+
.replaceAll("<", "<")
|
|
32
|
+
.replaceAll(">", ">")
|
|
33
|
+
.replaceAll('"', """)
|
|
34
|
+
.replaceAll("'", "'");
|
|
35
|
+
exports.escapeHtml = escapeHtml;
|
|
36
|
+
/** Whether the value parses as an absolute `http:` or `https:` URL. */
|
|
37
|
+
const isHttpUrl = (value) => {
|
|
38
|
+
if (!value) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
try {
|
|
42
|
+
const { protocol } = new URL(value);
|
|
43
|
+
return protocol === "http:" || protocol === "https:";
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
exports.isHttpUrl = isHttpUrl;
|
|
50
|
+
/** A string with at least one non-whitespace character. */
|
|
51
|
+
const isNonEmptyString = (value) => typeof value === "string" && value.trim().length > 0;
|
|
52
|
+
exports.isNonEmptyString = isNonEmptyString;
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL3RleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0VBQWtFO0FBQ3JELFFBQUEsc0JBQXNCLEdBQUcsYUFBYSxDQUFBO0FBRW5ELHVGQUF1RjtBQUNoRixNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBYSxFQUFVLEVBQUUsQ0FDMUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUE7QUFENUIsUUFBQSxrQkFBa0Isc0JBQ1U7QUFFekM7Ozs7O0dBS0c7QUFDSSxNQUFNLGNBQWMsR0FBRyxDQUM1QixLQUFnQyxFQUNqQixFQUFFO0lBQ2pCLE1BQU0sVUFBVSxHQUFHLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUM5QyxPQUFPLFVBQVU7UUFDZixVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUN4QixDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1FBQzNCLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFDekIsQ0FBQyxDQUFDLFVBQVU7UUFDWixDQUFDLENBQUMsSUFBSSxDQUFBO0FBQ1YsQ0FBQyxDQUFBO0FBVlksUUFBQSxjQUFjLGtCQVUxQjtBQUVELGlGQUFpRjtBQUMxRSxNQUFNLGlCQUFpQixHQUFHLENBQUMsS0FBYSxFQUFVLEVBQUUsQ0FDekQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUE7QUFEckIsUUFBQSxpQkFBaUIscUJBQ0k7QUFFbEMsNkVBQTZFO0FBQ3RFLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBeUMsRUFBVSxFQUFFLENBQzlFLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO0tBQ2hCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDO0tBQ3hCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDO0tBQ3ZCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDO0tBQ3ZCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDO0tBQ3pCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUE7QUFOakIsUUFBQSxVQUFVLGNBTU87QUFFOUIsdUVBQXVFO0FBQ2hFLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBZ0MsRUFBbUIsRUFBRTtJQUM3RSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFDRCxJQUFJLENBQUM7UUFDSCxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDbkMsT0FBTyxRQUFRLEtBQUssT0FBTyxJQUFJLFFBQVEsS0FBSyxRQUFRLENBQUE7SUFDdEQsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztBQUNILENBQUMsQ0FBQTtBQVZZLFFBQUEsU0FBUyxhQVVyQjtBQUVELDJEQUEyRDtBQUNwRCxNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBYyxFQUFtQixFQUFFLENBQ2xFLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQTtBQUR6QyxRQUFBLGdCQUFnQixvQkFDeUIifQ==
|