@shadowmkj/plugin-ecommerce 3.85.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +22 -0
- package/README.md +3 -0
- package/dist/collections/addresses/createAddressesCollection.d.ts.map +1 -0
- package/dist/collections/addresses/createAddressesCollection.js +73 -0
- package/dist/collections/addresses/createAddressesCollection.js.map +1 -0
- package/dist/collections/addresses/defaultAddressFields.d.ts.map +1 -0
- package/dist/collections/addresses/defaultAddressFields.js +72 -0
- package/dist/collections/addresses/defaultAddressFields.js.map +1 -0
- package/dist/collections/addresses/defaultCountries.d.ts.map +1 -0
- package/dist/collections/addresses/defaultCountries.js +169 -0
- package/dist/collections/addresses/defaultCountries.js.map +1 -0
- package/dist/collections/addresses/hooks/beforeChange.d.ts.map +1 -0
- package/dist/collections/addresses/hooks/beforeChange.js +16 -0
- package/dist/collections/addresses/hooks/beforeChange.js.map +1 -0
- package/dist/collections/carts/beforeChange.d.ts.map +1 -0
- package/dist/collections/carts/beforeChange.js +49 -0
- package/dist/collections/carts/beforeChange.js.map +1 -0
- package/dist/collections/carts/createCartsCollection.d.ts.map +1 -0
- package/dist/collections/carts/createCartsCollection.js +194 -0
- package/dist/collections/carts/createCartsCollection.js.map +1 -0
- package/dist/collections/carts/endpoints/addItem.d.ts.map +1 -0
- package/dist/collections/carts/endpoints/addItem.js +54 -0
- package/dist/collections/carts/endpoints/addItem.js.map +1 -0
- package/dist/collections/carts/endpoints/clearCart.d.ts.map +1 -0
- package/dist/collections/carts/endpoints/clearCart.js +41 -0
- package/dist/collections/carts/endpoints/clearCart.js.map +1 -0
- package/dist/collections/carts/endpoints/mergeCart.d.ts.map +1 -0
- package/dist/collections/carts/endpoints/mergeCart.js +72 -0
- package/dist/collections/carts/endpoints/mergeCart.js.map +1 -0
- package/dist/collections/carts/endpoints/removeItem.d.ts.map +1 -0
- package/dist/collections/carts/endpoints/removeItem.js +51 -0
- package/dist/collections/carts/endpoints/removeItem.js.map +1 -0
- package/dist/collections/carts/endpoints/updateItem.d.ts.map +1 -0
- package/dist/collections/carts/endpoints/updateItem.js +95 -0
- package/dist/collections/carts/endpoints/updateItem.js.map +1 -0
- package/dist/collections/carts/hasCartSecretAccess.d.ts.map +1 -0
- package/dist/collections/carts/hasCartSecretAccess.js +24 -0
- package/dist/collections/carts/hasCartSecretAccess.js.map +1 -0
- package/dist/collections/carts/operations/addItem.d.ts.map +1 -0
- package/dist/collections/carts/operations/addItem.js +95 -0
- package/dist/collections/carts/operations/addItem.js.map +1 -0
- package/dist/collections/carts/operations/clearCart.d.ts.map +1 -0
- package/dist/collections/carts/operations/clearCart.js +53 -0
- package/dist/collections/carts/operations/clearCart.js.map +1 -0
- package/dist/collections/carts/operations/createRequestWithSecret.d.ts.map +1 -0
- package/dist/collections/carts/operations/createRequestWithSecret.js +21 -0
- package/dist/collections/carts/operations/createRequestWithSecret.js.map +1 -0
- package/dist/collections/carts/operations/defaultCartItemMatcher.d.ts.map +1 -0
- package/dist/collections/carts/operations/defaultCartItemMatcher.js +25 -0
- package/dist/collections/carts/operations/defaultCartItemMatcher.js.map +1 -0
- package/dist/collections/carts/operations/defaultCartItemMatcher.spec.js +358 -0
- package/dist/collections/carts/operations/defaultCartItemMatcher.spec.js.map +1 -0
- package/dist/collections/carts/operations/mergeCart.d.ts.map +1 -0
- package/dist/collections/carts/operations/mergeCart.js +144 -0
- package/dist/collections/carts/operations/mergeCart.js.map +1 -0
- package/dist/collections/carts/operations/removeItem.d.ts.map +1 -0
- package/dist/collections/carts/operations/removeItem.js +69 -0
- package/dist/collections/carts/operations/removeItem.js.map +1 -0
- package/dist/collections/carts/operations/types.d.ts.map +1 -0
- package/dist/collections/carts/operations/types.js +7 -0
- package/dist/collections/carts/operations/types.js.map +1 -0
- package/dist/collections/carts/operations/updateItem.d.ts.map +1 -0
- package/dist/collections/carts/operations/updateItem.js +110 -0
- package/dist/collections/carts/operations/updateItem.js.map +1 -0
- package/dist/collections/carts/statusBeforeRead.d.ts.map +1 -0
- package/dist/collections/carts/statusBeforeRead.js +18 -0
- package/dist/collections/carts/statusBeforeRead.js.map +1 -0
- package/dist/collections/orders/createOrdersCollection.d.ts.map +1 -0
- package/dist/collections/orders/createOrdersCollection.js +163 -0
- package/dist/collections/orders/createOrdersCollection.js.map +1 -0
- package/dist/collections/products/createProductsCollection.d.ts.map +1 -0
- package/dist/collections/products/createProductsCollection.js +62 -0
- package/dist/collections/products/createProductsCollection.js.map +1 -0
- package/dist/collections/transactions/createTransactionsCollection.d.ts.map +1 -0
- package/dist/collections/transactions/createTransactionsCollection.js +157 -0
- package/dist/collections/transactions/createTransactionsCollection.js.map +1 -0
- package/dist/collections/variants/createVariantOptionsCollection.d.ts.map +1 -0
- package/dist/collections/variants/createVariantOptionsCollection.js +53 -0
- package/dist/collections/variants/createVariantOptionsCollection.js.map +1 -0
- package/dist/collections/variants/createVariantTypesCollection.d.ts.map +1 -0
- package/dist/collections/variants/createVariantTypesCollection.js +49 -0
- package/dist/collections/variants/createVariantTypesCollection.js.map +1 -0
- package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.d.ts.map +1 -0
- package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.js +38 -0
- package/dist/collections/variants/createVariantsCollection/hooks/beforeChange.js.map +1 -0
- package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.d.ts.map +1 -0
- package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.js +58 -0
- package/dist/collections/variants/createVariantsCollection/hooks/validateOptions.js.map +1 -0
- package/dist/collections/variants/createVariantsCollection/index.d.ts.map +1 -0
- package/dist/collections/variants/createVariantsCollection/index.js +107 -0
- package/dist/collections/variants/createVariantsCollection/index.js.map +1 -0
- package/dist/currencies/index.d.ts.map +1 -0
- package/dist/currencies/index.js +20 -0
- package/dist/currencies/index.js.map +1 -0
- package/dist/endpoints/confirmOrder.d.ts.map +1 -0
- package/dist/endpoints/confirmOrder.js +150 -0
- package/dist/endpoints/confirmOrder.js.map +1 -0
- package/dist/endpoints/initiatePayment.d.ts.map +1 -0
- package/dist/endpoints/initiatePayment.js +226 -0
- package/dist/endpoints/initiatePayment.js.map +1 -0
- package/dist/exports/client/index.d.ts.map +1 -0
- package/dist/exports/client/index.js +4 -0
- package/dist/exports/client/index.js.map +1 -0
- package/dist/exports/client/react.d.ts.map +1 -0
- package/dist/exports/client/react.js +5 -0
- package/dist/exports/client/react.js.map +1 -0
- package/dist/exports/payments/cod.d.ts +2 -0
- package/dist/exports/payments/cod.d.ts.map +1 -0
- package/dist/exports/payments/cod.js +3 -0
- package/dist/exports/payments/cod.js.map +1 -0
- package/dist/exports/payments/stripe.d.ts.map +1 -0
- package/dist/exports/payments/stripe.js +3 -0
- package/dist/exports/payments/stripe.js.map +1 -0
- package/dist/exports/rsc.d.ts.map +1 -0
- package/dist/exports/rsc.js +4 -0
- package/dist/exports/rsc.js.map +1 -0
- package/dist/exports/types.d.ts.map +1 -0
- package/dist/exports/types.js +3 -0
- package/dist/exports/types.js.map +1 -0
- package/dist/fields/amountField.d.ts.map +1 -0
- package/dist/fields/amountField.js +33 -0
- package/dist/fields/amountField.js.map +1 -0
- package/dist/fields/cartItemsField.d.ts.map +1 -0
- package/dist/fields/cartItemsField.js +55 -0
- package/dist/fields/cartItemsField.js.map +1 -0
- package/dist/fields/currencyField.d.ts.map +1 -0
- package/dist/fields/currencyField.js +29 -0
- package/dist/fields/currencyField.js.map +1 -0
- package/dist/fields/inventoryField.d.ts.map +1 -0
- package/dist/fields/inventoryField.js +16 -0
- package/dist/fields/inventoryField.js.map +1 -0
- package/dist/fields/pricesField.d.ts.map +1 -0
- package/dist/fields/pricesField.js +54 -0
- package/dist/fields/pricesField.js.map +1 -0
- package/dist/fields/statusField.d.ts.map +1 -0
- package/dist/fields/statusField.js +49 -0
- package/dist/fields/statusField.js.map +1 -0
- package/dist/fields/variantsFields.d.ts.map +1 -0
- package/dist/fields/variantsFields.js +48 -0
- package/dist/fields/variantsFields.js.map +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +258 -0
- package/dist/index.js.map +1 -0
- package/dist/payments/adapters/cod/confirmOrder.d.ts +5 -0
- package/dist/payments/adapters/cod/confirmOrder.d.ts.map +1 -0
- package/dist/payments/adapters/cod/confirmOrder.js +83 -0
- package/dist/payments/adapters/cod/confirmOrder.js.map +1 -0
- package/dist/payments/adapters/cod/confirmOrder.spec.js +166 -0
- package/dist/payments/adapters/cod/confirmOrder.spec.js.map +1 -0
- package/dist/payments/adapters/cod/endpoints/webhooks.d.ts +5 -0
- package/dist/payments/adapters/cod/endpoints/webhooks.d.ts.map +1 -0
- package/dist/payments/adapters/cod/endpoints/webhooks.js +18 -0
- package/dist/payments/adapters/cod/endpoints/webhooks.js.map +1 -0
- package/dist/payments/adapters/cod/index.d.ts +12 -0
- package/dist/payments/adapters/cod/index.d.ts.map +1 -0
- package/dist/payments/adapters/cod/index.js +64 -0
- package/dist/payments/adapters/cod/index.js.map +1 -0
- package/dist/payments/adapters/cod/initiatePayment.d.ts +5 -0
- package/dist/payments/adapters/cod/initiatePayment.d.ts.map +1 -0
- package/dist/payments/adapters/cod/initiatePayment.js +91 -0
- package/dist/payments/adapters/cod/initiatePayment.js.map +1 -0
- package/dist/payments/adapters/stripe/confirmOrder.d.ts.map +1 -0
- package/dist/payments/adapters/stripe/confirmOrder.js +113 -0
- package/dist/payments/adapters/stripe/confirmOrder.js.map +1 -0
- package/dist/payments/adapters/stripe/confirmOrder.spec.js +166 -0
- package/dist/payments/adapters/stripe/confirmOrder.spec.js.map +1 -0
- package/dist/payments/adapters/stripe/endpoints/webhooks.d.ts.map +1 -0
- package/dist/payments/adapters/stripe/endpoints/webhooks.js +53 -0
- package/dist/payments/adapters/stripe/endpoints/webhooks.js.map +1 -0
- package/dist/payments/adapters/stripe/index.d.ts +61 -0
- package/dist/payments/adapters/stripe/index.d.ts.map +1 -0
- package/dist/payments/adapters/stripe/index.js +68 -0
- package/dist/payments/adapters/stripe/index.js.map +1 -0
- package/dist/payments/adapters/stripe/initiatePayment.d.ts.map +1 -0
- package/dist/payments/adapters/stripe/initiatePayment.js +113 -0
- package/dist/payments/adapters/stripe/initiatePayment.js.map +1 -0
- package/dist/react/provider/index.d.ts.map +1 -0
- package/dist/react/provider/index.js +1094 -0
- package/dist/react/provider/index.js.map +1 -0
- package/dist/react/provider/utilities.d.ts.map +1 -0
- package/dist/react/provider/utilities.js +13 -0
- package/dist/react/provider/utilities.js.map +1 -0
- package/dist/translations/index.d.ts.map +1 -0
- package/dist/translations/index.js +84 -0
- package/dist/translations/index.js.map +1 -0
- package/dist/translations/languages/ar.d.ts.map +1 -0
- package/dist/translations/languages/ar.js +92 -0
- package/dist/translations/languages/ar.js.map +1 -0
- package/dist/translations/languages/az.d.ts.map +1 -0
- package/dist/translations/languages/az.js +92 -0
- package/dist/translations/languages/az.js.map +1 -0
- package/dist/translations/languages/bg.d.ts.map +1 -0
- package/dist/translations/languages/bg.js +92 -0
- package/dist/translations/languages/bg.js.map +1 -0
- package/dist/translations/languages/ca.d.ts.map +1 -0
- package/dist/translations/languages/ca.js +92 -0
- package/dist/translations/languages/ca.js.map +1 -0
- package/dist/translations/languages/cs.d.ts.map +1 -0
- package/dist/translations/languages/cs.js +92 -0
- package/dist/translations/languages/cs.js.map +1 -0
- package/dist/translations/languages/da.d.ts.map +1 -0
- package/dist/translations/languages/da.js +92 -0
- package/dist/translations/languages/da.js.map +1 -0
- package/dist/translations/languages/de.d.ts.map +1 -0
- package/dist/translations/languages/de.js +92 -0
- package/dist/translations/languages/de.js.map +1 -0
- package/dist/translations/languages/en.d.ts.map +1 -0
- package/dist/translations/languages/en.js +92 -0
- package/dist/translations/languages/en.js.map +1 -0
- package/dist/translations/languages/es.d.ts.map +1 -0
- package/dist/translations/languages/es.js +92 -0
- package/dist/translations/languages/es.js.map +1 -0
- package/dist/translations/languages/et.d.ts.map +1 -0
- package/dist/translations/languages/et.js +92 -0
- package/dist/translations/languages/et.js.map +1 -0
- package/dist/translations/languages/fa.d.ts.map +1 -0
- package/dist/translations/languages/fa.js +92 -0
- package/dist/translations/languages/fa.js.map +1 -0
- package/dist/translations/languages/fr.d.ts.map +1 -0
- package/dist/translations/languages/fr.js +92 -0
- package/dist/translations/languages/fr.js.map +1 -0
- package/dist/translations/languages/he.d.ts.map +1 -0
- package/dist/translations/languages/he.js +92 -0
- package/dist/translations/languages/he.js.map +1 -0
- package/dist/translations/languages/hr.d.ts.map +1 -0
- package/dist/translations/languages/hr.js +92 -0
- package/dist/translations/languages/hr.js.map +1 -0
- package/dist/translations/languages/hu.d.ts.map +1 -0
- package/dist/translations/languages/hu.js +92 -0
- package/dist/translations/languages/hu.js.map +1 -0
- package/dist/translations/languages/hy.d.ts.map +1 -0
- package/dist/translations/languages/hy.js +92 -0
- package/dist/translations/languages/hy.js.map +1 -0
- package/dist/translations/languages/is.d.ts.map +1 -0
- package/dist/translations/languages/is.js +92 -0
- package/dist/translations/languages/is.js.map +1 -0
- package/dist/translations/languages/it.d.ts.map +1 -0
- package/dist/translations/languages/it.js +92 -0
- package/dist/translations/languages/it.js.map +1 -0
- package/dist/translations/languages/ja.d.ts.map +1 -0
- package/dist/translations/languages/ja.js +92 -0
- package/dist/translations/languages/ja.js.map +1 -0
- package/dist/translations/languages/ko.d.ts.map +1 -0
- package/dist/translations/languages/ko.js +92 -0
- package/dist/translations/languages/ko.js.map +1 -0
- package/dist/translations/languages/lt.d.ts.map +1 -0
- package/dist/translations/languages/lt.js +92 -0
- package/dist/translations/languages/lt.js.map +1 -0
- package/dist/translations/languages/my.d.ts.map +1 -0
- package/dist/translations/languages/my.js +92 -0
- package/dist/translations/languages/my.js.map +1 -0
- package/dist/translations/languages/nb.d.ts.map +1 -0
- package/dist/translations/languages/nb.js +92 -0
- package/dist/translations/languages/nb.js.map +1 -0
- package/dist/translations/languages/nl.d.ts.map +1 -0
- package/dist/translations/languages/nl.js +92 -0
- package/dist/translations/languages/nl.js.map +1 -0
- package/dist/translations/languages/pl.d.ts.map +1 -0
- package/dist/translations/languages/pl.js +92 -0
- package/dist/translations/languages/pl.js.map +1 -0
- package/dist/translations/languages/pt.d.ts.map +1 -0
- package/dist/translations/languages/pt.js +92 -0
- package/dist/translations/languages/pt.js.map +1 -0
- package/dist/translations/languages/ro.d.ts.map +1 -0
- package/dist/translations/languages/ro.js +92 -0
- package/dist/translations/languages/ro.js.map +1 -0
- package/dist/translations/languages/rs.d.ts.map +1 -0
- package/dist/translations/languages/rs.js +92 -0
- package/dist/translations/languages/rs.js.map +1 -0
- package/dist/translations/languages/rsLatin.d.ts.map +1 -0
- package/dist/translations/languages/rsLatin.js +92 -0
- package/dist/translations/languages/rsLatin.js.map +1 -0
- package/dist/translations/languages/ru.d.ts.map +1 -0
- package/dist/translations/languages/ru.js +92 -0
- package/dist/translations/languages/ru.js.map +1 -0
- package/dist/translations/languages/sk.d.ts.map +1 -0
- package/dist/translations/languages/sk.js +92 -0
- package/dist/translations/languages/sk.js.map +1 -0
- package/dist/translations/languages/sl.d.ts.map +1 -0
- package/dist/translations/languages/sl.js +92 -0
- package/dist/translations/languages/sl.js.map +1 -0
- package/dist/translations/languages/sv.d.ts.map +1 -0
- package/dist/translations/languages/sv.js +92 -0
- package/dist/translations/languages/sv.js.map +1 -0
- package/dist/translations/languages/ta.d.ts.map +1 -0
- package/dist/translations/languages/ta.js +92 -0
- package/dist/translations/languages/ta.js.map +1 -0
- package/dist/translations/languages/th.d.ts.map +1 -0
- package/dist/translations/languages/th.js +92 -0
- package/dist/translations/languages/th.js.map +1 -0
- package/dist/translations/languages/tr.d.ts.map +1 -0
- package/dist/translations/languages/tr.js +92 -0
- package/dist/translations/languages/tr.js.map +1 -0
- package/dist/translations/languages/uk.d.ts.map +1 -0
- package/dist/translations/languages/uk.js +92 -0
- package/dist/translations/languages/uk.js.map +1 -0
- package/dist/translations/languages/vi.d.ts.map +1 -0
- package/dist/translations/languages/vi.js +92 -0
- package/dist/translations/languages/vi.js.map +1 -0
- package/dist/translations/languages/zh.d.ts.map +1 -0
- package/dist/translations/languages/zh.js +92 -0
- package/dist/translations/languages/zh.js.map +1 -0
- package/dist/translations/languages/zhTw.d.ts.map +1 -0
- package/dist/translations/languages/zhTw.js +92 -0
- package/dist/translations/languages/zhTw.js.map +1 -0
- package/dist/translations/translation-schema.json +343 -0
- package/dist/translations/types.d.ts.map +1 -0
- package/dist/translations/types.js +3 -0
- package/dist/translations/types.js.map +1 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/utilities.d.ts.map +1 -0
- package/dist/types/utilities.js +3 -0
- package/dist/types/utilities.js.map +1 -0
- package/dist/ui/PriceCell/index.d.ts.map +1 -0
- package/dist/ui/PriceCell/index.js +36 -0
- package/dist/ui/PriceCell/index.js.map +1 -0
- package/dist/ui/PriceInput/FormattedInput.d.ts.map +1 -0
- package/dist/ui/PriceInput/FormattedInput.js +147 -0
- package/dist/ui/PriceInput/FormattedInput.js.map +1 -0
- package/dist/ui/PriceInput/index.css +35 -0
- package/dist/ui/PriceInput/index.d.ts.map +1 -0
- package/dist/ui/PriceInput/index.js +21 -0
- package/dist/ui/PriceInput/index.js.map +1 -0
- package/dist/ui/PriceRowLabel/index.css +13 -0
- package/dist/ui/PriceRowLabel/index.d.ts.map +1 -0
- package/dist/ui/PriceRowLabel/index.js +66 -0
- package/dist/ui/PriceRowLabel/index.js.map +1 -0
- package/dist/ui/VariantOptionsSelector/ErrorBox.d.ts.map +1 -0
- package/dist/ui/VariantOptionsSelector/ErrorBox.js +28 -0
- package/dist/ui/VariantOptionsSelector/ErrorBox.js.map +1 -0
- package/dist/ui/VariantOptionsSelector/OptionsSelect.d.ts.map +1 -0
- package/dist/ui/VariantOptionsSelector/OptionsSelect.js +71 -0
- package/dist/ui/VariantOptionsSelector/OptionsSelect.js.map +1 -0
- package/dist/ui/VariantOptionsSelector/index.css +37 -0
- package/dist/ui/VariantOptionsSelector/index.d.ts.map +1 -0
- package/dist/ui/VariantOptionsSelector/index.js +81 -0
- package/dist/ui/VariantOptionsSelector/index.js.map +1 -0
- package/dist/ui/utilities.d.ts.map +1 -0
- package/dist/ui/utilities.js +40 -0
- package/dist/ui/utilities.js.map +1 -0
- package/dist/utilities/accessComposition.d.ts.map +1 -0
- package/dist/utilities/accessComposition.js +103 -0
- package/dist/utilities/accessComposition.js.map +1 -0
- package/dist/utilities/accessComposition.spec.js +765 -0
- package/dist/utilities/accessComposition.spec.js.map +1 -0
- package/dist/utilities/defaultProductsValidation.d.ts.map +1 -0
- package/dist/utilities/defaultProductsValidation.js +40 -0
- package/dist/utilities/defaultProductsValidation.js.map +1 -0
- package/dist/utilities/defaultProductsValidation.spec.js +384 -0
- package/dist/utilities/defaultProductsValidation.spec.js.map +1 -0
- package/dist/utilities/errorCodes.d.ts.map +1 -0
- package/dist/utilities/errorCodes.js +4 -0
- package/dist/utilities/errorCodes.js.map +1 -0
- package/dist/utilities/getCollectionSlugMap.d.ts.map +1 -0
- package/dist/utilities/getCollectionSlugMap.js +36 -0
- package/dist/utilities/getCollectionSlugMap.js.map +1 -0
- package/dist/utilities/getCollectionSlugMap.spec.js +254 -0
- package/dist/utilities/getCollectionSlugMap.spec.js.map +1 -0
- package/dist/utilities/pushTypeScriptProperties.d.ts.map +1 -0
- package/dist/utilities/pushTypeScriptProperties.js +37 -0
- package/dist/utilities/pushTypeScriptProperties.js.map +1 -0
- package/dist/utilities/sanitizePluginConfig.d.ts.map +1 -0
- package/dist/utilities/sanitizePluginConfig.js +75 -0
- package/dist/utilities/sanitizePluginConfig.js.map +1 -0
- package/dist/utilities/sanitizePluginConfig.spec.js +516 -0
- package/dist/utilities/sanitizePluginConfig.spec.js.map +1 -0
- package/package.json +114 -0
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
import { describe, it, expect, vitest } from 'vitest';
|
|
2
|
+
import { USD } from '../currencies/index.js';
|
|
3
|
+
import { getCollectionSlugMap } from './getCollectionSlugMap';
|
|
4
|
+
describe('getCollectionSlugMap', ()=>{
|
|
5
|
+
const mockAccessConfig = {
|
|
6
|
+
adminOnlyFieldAccess: vitest.fn(),
|
|
7
|
+
adminOrPublishedStatus: vitest.fn(),
|
|
8
|
+
customerOnlyFieldAccess: vitest.fn(),
|
|
9
|
+
isAdmin: vitest.fn(),
|
|
10
|
+
isAuthenticated: vitest.fn(),
|
|
11
|
+
isDocumentOwner: vitest.fn(),
|
|
12
|
+
publicAccess: vitest.fn()
|
|
13
|
+
};
|
|
14
|
+
const baseConfig = {
|
|
15
|
+
access: mockAccessConfig,
|
|
16
|
+
addresses: {
|
|
17
|
+
addressFields: []
|
|
18
|
+
},
|
|
19
|
+
carts: true,
|
|
20
|
+
currencies: {
|
|
21
|
+
defaultCurrency: 'USD',
|
|
22
|
+
supportedCurrencies: [
|
|
23
|
+
USD
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
customers: {
|
|
27
|
+
slug: 'users'
|
|
28
|
+
},
|
|
29
|
+
orders: true,
|
|
30
|
+
payments: {
|
|
31
|
+
paymentMethods: []
|
|
32
|
+
},
|
|
33
|
+
products: true,
|
|
34
|
+
transactions: true
|
|
35
|
+
};
|
|
36
|
+
it('should return default slug map without variant slugs when enableVariants is false', ()=>{
|
|
37
|
+
const result = getCollectionSlugMap({
|
|
38
|
+
sanitizedPluginConfig: baseConfig
|
|
39
|
+
});
|
|
40
|
+
expect(result).toEqual({
|
|
41
|
+
addresses: 'addresses',
|
|
42
|
+
carts: 'carts',
|
|
43
|
+
customers: 'users',
|
|
44
|
+
orders: 'orders',
|
|
45
|
+
products: 'products',
|
|
46
|
+
transactions: 'transactions'
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
it('should return default slug map with variant slugs when enableVariants is true', ()=>{
|
|
50
|
+
const result = getCollectionSlugMap({
|
|
51
|
+
enableVariants: true,
|
|
52
|
+
sanitizedPluginConfig: baseConfig
|
|
53
|
+
});
|
|
54
|
+
expect(result).toEqual({
|
|
55
|
+
addresses: 'addresses',
|
|
56
|
+
carts: 'carts',
|
|
57
|
+
customers: 'users',
|
|
58
|
+
orders: 'orders',
|
|
59
|
+
products: 'products',
|
|
60
|
+
transactions: 'transactions',
|
|
61
|
+
variantOptions: 'variantOptions',
|
|
62
|
+
variants: 'variants',
|
|
63
|
+
variantTypes: 'variantTypes'
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
it('should use custom customers slug when provided', ()=>{
|
|
67
|
+
const config = {
|
|
68
|
+
...baseConfig,
|
|
69
|
+
customers: {
|
|
70
|
+
slug: 'custom-users'
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
const result = getCollectionSlugMap({
|
|
74
|
+
enableVariants: true,
|
|
75
|
+
sanitizedPluginConfig: config
|
|
76
|
+
});
|
|
77
|
+
expect(result.customers).toBe('custom-users');
|
|
78
|
+
});
|
|
79
|
+
it('should apply slugMap overrides when variants enabled', ()=>{
|
|
80
|
+
const config = {
|
|
81
|
+
...baseConfig,
|
|
82
|
+
slugMap: {
|
|
83
|
+
products: 'custom-products',
|
|
84
|
+
variants: 'custom-variants',
|
|
85
|
+
orders: 'custom-orders'
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
const result = getCollectionSlugMap({
|
|
89
|
+
enableVariants: true,
|
|
90
|
+
sanitizedPluginConfig: config
|
|
91
|
+
});
|
|
92
|
+
expect(result.products).toBe('custom-products');
|
|
93
|
+
expect(result.variants).toBe('custom-variants');
|
|
94
|
+
expect(result.orders).toBe('custom-orders');
|
|
95
|
+
// Other slugs should remain default
|
|
96
|
+
expect(result.addresses).toBe('addresses');
|
|
97
|
+
expect(result.carts).toBe('carts');
|
|
98
|
+
});
|
|
99
|
+
it('should not apply variant slugMap overrides when variants disabled', ()=>{
|
|
100
|
+
const config = {
|
|
101
|
+
...baseConfig,
|
|
102
|
+
slugMap: {
|
|
103
|
+
products: 'custom-products',
|
|
104
|
+
variants: 'custom-variants',
|
|
105
|
+
orders: 'custom-orders'
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
const result = getCollectionSlugMap({
|
|
109
|
+
enableVariants: false,
|
|
110
|
+
sanitizedPluginConfig: config
|
|
111
|
+
});
|
|
112
|
+
expect(result.products).toBe('custom-products');
|
|
113
|
+
expect(result.variants).toBeUndefined();
|
|
114
|
+
expect(result.orders).toBe('custom-orders');
|
|
115
|
+
});
|
|
116
|
+
it('should prioritize slugMap overrides over customers slug', ()=>{
|
|
117
|
+
const config = {
|
|
118
|
+
...baseConfig,
|
|
119
|
+
customers: {
|
|
120
|
+
slug: 'my-users'
|
|
121
|
+
},
|
|
122
|
+
slugMap: {
|
|
123
|
+
customers: 'overridden-users'
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
const result = getCollectionSlugMap({
|
|
127
|
+
enableVariants: true,
|
|
128
|
+
sanitizedPluginConfig: config
|
|
129
|
+
});
|
|
130
|
+
expect(result.customers).toBe('overridden-users');
|
|
131
|
+
});
|
|
132
|
+
it('should handle partial slugMap overrides with variants enabled', ()=>{
|
|
133
|
+
const config = {
|
|
134
|
+
...baseConfig,
|
|
135
|
+
slugMap: {
|
|
136
|
+
products: 'items'
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
const result = getCollectionSlugMap({
|
|
140
|
+
enableVariants: true,
|
|
141
|
+
sanitizedPluginConfig: config
|
|
142
|
+
});
|
|
143
|
+
expect(result.products).toBe('items');
|
|
144
|
+
expect(result.addresses).toBe('addresses');
|
|
145
|
+
expect(result.carts).toBe('carts');
|
|
146
|
+
expect(result.customers).toBe('users');
|
|
147
|
+
expect(result.orders).toBe('orders');
|
|
148
|
+
expect(result.transactions).toBe('transactions');
|
|
149
|
+
expect(result.variants).toBe('variants');
|
|
150
|
+
expect(result.variantOptions).toBe('variantOptions');
|
|
151
|
+
expect(result.variantTypes).toBe('variantTypes');
|
|
152
|
+
});
|
|
153
|
+
it('should handle partial slugMap overrides with variants disabled', ()=>{
|
|
154
|
+
const config = {
|
|
155
|
+
...baseConfig,
|
|
156
|
+
slugMap: {
|
|
157
|
+
products: 'items'
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
const result = getCollectionSlugMap({
|
|
161
|
+
enableVariants: false,
|
|
162
|
+
sanitizedPluginConfig: config
|
|
163
|
+
});
|
|
164
|
+
expect(result.products).toBe('items');
|
|
165
|
+
expect(result.addresses).toBe('addresses');
|
|
166
|
+
expect(result.carts).toBe('carts');
|
|
167
|
+
expect(result.customers).toBe('users');
|
|
168
|
+
expect(result.orders).toBe('orders');
|
|
169
|
+
expect(result.transactions).toBe('transactions');
|
|
170
|
+
expect(result.variants).toBeUndefined();
|
|
171
|
+
expect(result.variantOptions).toBeUndefined();
|
|
172
|
+
expect(result.variantTypes).toBeUndefined();
|
|
173
|
+
});
|
|
174
|
+
it('should handle empty slugMap with variants enabled', ()=>{
|
|
175
|
+
const config = {
|
|
176
|
+
...baseConfig,
|
|
177
|
+
slugMap: {}
|
|
178
|
+
};
|
|
179
|
+
const result = getCollectionSlugMap({
|
|
180
|
+
enableVariants: true,
|
|
181
|
+
sanitizedPluginConfig: config
|
|
182
|
+
});
|
|
183
|
+
expect(result).toEqual({
|
|
184
|
+
addresses: 'addresses',
|
|
185
|
+
carts: 'carts',
|
|
186
|
+
customers: 'users',
|
|
187
|
+
orders: 'orders',
|
|
188
|
+
products: 'products',
|
|
189
|
+
transactions: 'transactions',
|
|
190
|
+
variantOptions: 'variantOptions',
|
|
191
|
+
variants: 'variants',
|
|
192
|
+
variantTypes: 'variantTypes'
|
|
193
|
+
});
|
|
194
|
+
});
|
|
195
|
+
it('should handle empty slugMap with variants disabled', ()=>{
|
|
196
|
+
const config = {
|
|
197
|
+
...baseConfig,
|
|
198
|
+
slugMap: {}
|
|
199
|
+
};
|
|
200
|
+
const result = getCollectionSlugMap({
|
|
201
|
+
enableVariants: false,
|
|
202
|
+
sanitizedPluginConfig: config
|
|
203
|
+
});
|
|
204
|
+
expect(result).toEqual({
|
|
205
|
+
addresses: 'addresses',
|
|
206
|
+
carts: 'carts',
|
|
207
|
+
customers: 'users',
|
|
208
|
+
orders: 'orders',
|
|
209
|
+
products: 'products',
|
|
210
|
+
transactions: 'transactions'
|
|
211
|
+
});
|
|
212
|
+
});
|
|
213
|
+
it('should handle undefined slugMap with variants enabled', ()=>{
|
|
214
|
+
const config = {
|
|
215
|
+
...baseConfig,
|
|
216
|
+
slugMap: undefined
|
|
217
|
+
};
|
|
218
|
+
const result = getCollectionSlugMap({
|
|
219
|
+
enableVariants: true,
|
|
220
|
+
sanitizedPluginConfig: config
|
|
221
|
+
});
|
|
222
|
+
expect(result).toEqual({
|
|
223
|
+
addresses: 'addresses',
|
|
224
|
+
carts: 'carts',
|
|
225
|
+
customers: 'users',
|
|
226
|
+
orders: 'orders',
|
|
227
|
+
products: 'products',
|
|
228
|
+
transactions: 'transactions',
|
|
229
|
+
variantOptions: 'variantOptions',
|
|
230
|
+
variants: 'variants',
|
|
231
|
+
variantTypes: 'variantTypes'
|
|
232
|
+
});
|
|
233
|
+
});
|
|
234
|
+
it('should handle undefined slugMap with variants disabled', ()=>{
|
|
235
|
+
const config = {
|
|
236
|
+
...baseConfig,
|
|
237
|
+
slugMap: undefined
|
|
238
|
+
};
|
|
239
|
+
const result = getCollectionSlugMap({
|
|
240
|
+
enableVariants: false,
|
|
241
|
+
sanitizedPluginConfig: config
|
|
242
|
+
});
|
|
243
|
+
expect(result).toEqual({
|
|
244
|
+
addresses: 'addresses',
|
|
245
|
+
carts: 'carts',
|
|
246
|
+
customers: 'users',
|
|
247
|
+
orders: 'orders',
|
|
248
|
+
products: 'products',
|
|
249
|
+
transactions: 'transactions'
|
|
250
|
+
});
|
|
251
|
+
});
|
|
252
|
+
});
|
|
253
|
+
|
|
254
|
+
//# sourceMappingURL=getCollectionSlugMap.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/getCollectionSlugMap.spec.ts"],"sourcesContent":["import { describe, it, expect, vitest } from 'vitest'\nimport type { SanitizedEcommercePluginConfig } from '../types/index.js'\n\nimport { USD } from '../currencies/index.js'\nimport { getCollectionSlugMap } from './getCollectionSlugMap'\n\ndescribe('getCollectionSlugMap', () => {\n const mockAccessConfig = {\n adminOnlyFieldAccess: vitest.fn(),\n adminOrPublishedStatus: vitest.fn(),\n customerOnlyFieldAccess: vitest.fn(),\n isAdmin: vitest.fn(),\n isAuthenticated: vitest.fn(),\n isDocumentOwner: vitest.fn(),\n publicAccess: vitest.fn(),\n }\n\n const baseConfig: SanitizedEcommercePluginConfig = {\n access: mockAccessConfig,\n addresses: {\n addressFields: [],\n },\n carts: true,\n currencies: {\n defaultCurrency: 'USD',\n supportedCurrencies: [USD],\n },\n customers: {\n slug: 'users',\n },\n orders: true,\n payments: {\n paymentMethods: [],\n },\n products: true,\n transactions: true,\n }\n\n it('should return default slug map without variant slugs when enableVariants is false', () => {\n const result = getCollectionSlugMap({ sanitizedPluginConfig: baseConfig })\n\n expect(result).toEqual({\n addresses: 'addresses',\n carts: 'carts',\n customers: 'users',\n orders: 'orders',\n products: 'products',\n transactions: 'transactions',\n })\n })\n\n it('should return default slug map with variant slugs when enableVariants is true', () => {\n const result = getCollectionSlugMap({ enableVariants: true, sanitizedPluginConfig: baseConfig })\n\n expect(result).toEqual({\n addresses: 'addresses',\n carts: 'carts',\n customers: 'users',\n orders: 'orders',\n products: 'products',\n transactions: 'transactions',\n variantOptions: 'variantOptions',\n variants: 'variants',\n variantTypes: 'variantTypes',\n })\n })\n\n it('should use custom customers slug when provided', () => {\n const config: SanitizedEcommercePluginConfig = {\n ...baseConfig,\n customers: {\n slug: 'custom-users',\n },\n }\n\n const result = getCollectionSlugMap({ enableVariants: true, sanitizedPluginConfig: config })\n\n expect(result.customers).toBe('custom-users')\n })\n\n it('should apply slugMap overrides when variants enabled', () => {\n const config: SanitizedEcommercePluginConfig = {\n ...baseConfig,\n slugMap: {\n products: 'custom-products',\n variants: 'custom-variants',\n orders: 'custom-orders',\n },\n }\n\n const result = getCollectionSlugMap({ enableVariants: true, sanitizedPluginConfig: config })\n\n expect(result.products).toBe('custom-products')\n expect(result.variants).toBe('custom-variants')\n expect(result.orders).toBe('custom-orders')\n // Other slugs should remain default\n expect(result.addresses).toBe('addresses')\n expect(result.carts).toBe('carts')\n })\n\n it('should not apply variant slugMap overrides when variants disabled', () => {\n const config: SanitizedEcommercePluginConfig = {\n ...baseConfig,\n slugMap: {\n products: 'custom-products',\n variants: 'custom-variants',\n orders: 'custom-orders',\n },\n }\n\n const result = getCollectionSlugMap({ enableVariants: false, sanitizedPluginConfig: config })\n\n expect(result.products).toBe('custom-products')\n expect(result.variants).toBeUndefined()\n expect(result.orders).toBe('custom-orders')\n })\n\n it('should prioritize slugMap overrides over customers slug', () => {\n const config: SanitizedEcommercePluginConfig = {\n ...baseConfig,\n customers: {\n slug: 'my-users',\n },\n slugMap: {\n customers: 'overridden-users',\n },\n }\n\n const result = getCollectionSlugMap({ enableVariants: true, sanitizedPluginConfig: config })\n\n expect(result.customers).toBe('overridden-users')\n })\n\n it('should handle partial slugMap overrides with variants enabled', () => {\n const config: SanitizedEcommercePluginConfig = {\n ...baseConfig,\n slugMap: {\n products: 'items',\n },\n }\n\n const result = getCollectionSlugMap({ enableVariants: true, sanitizedPluginConfig: config })\n\n expect(result.products).toBe('items')\n expect(result.addresses).toBe('addresses')\n expect(result.carts).toBe('carts')\n expect(result.customers).toBe('users')\n expect(result.orders).toBe('orders')\n expect(result.transactions).toBe('transactions')\n expect(result.variants).toBe('variants')\n expect(result.variantOptions).toBe('variantOptions')\n expect(result.variantTypes).toBe('variantTypes')\n })\n\n it('should handle partial slugMap overrides with variants disabled', () => {\n const config: SanitizedEcommercePluginConfig = {\n ...baseConfig,\n slugMap: {\n products: 'items',\n },\n }\n\n const result = getCollectionSlugMap({ enableVariants: false, sanitizedPluginConfig: config })\n\n expect(result.products).toBe('items')\n expect(result.addresses).toBe('addresses')\n expect(result.carts).toBe('carts')\n expect(result.customers).toBe('users')\n expect(result.orders).toBe('orders')\n expect(result.transactions).toBe('transactions')\n expect(result.variants).toBeUndefined()\n expect(result.variantOptions).toBeUndefined()\n expect(result.variantTypes).toBeUndefined()\n })\n\n it('should handle empty slugMap with variants enabled', () => {\n const config: SanitizedEcommercePluginConfig = {\n ...baseConfig,\n slugMap: {},\n }\n\n const result = getCollectionSlugMap({ enableVariants: true, sanitizedPluginConfig: config })\n\n expect(result).toEqual({\n addresses: 'addresses',\n carts: 'carts',\n customers: 'users',\n orders: 'orders',\n products: 'products',\n transactions: 'transactions',\n variantOptions: 'variantOptions',\n variants: 'variants',\n variantTypes: 'variantTypes',\n })\n })\n\n it('should handle empty slugMap with variants disabled', () => {\n const config: SanitizedEcommercePluginConfig = {\n ...baseConfig,\n slugMap: {},\n }\n\n const result = getCollectionSlugMap({ enableVariants: false, sanitizedPluginConfig: config })\n\n expect(result).toEqual({\n addresses: 'addresses',\n carts: 'carts',\n customers: 'users',\n orders: 'orders',\n products: 'products',\n transactions: 'transactions',\n })\n })\n\n it('should handle undefined slugMap with variants enabled', () => {\n const config: SanitizedEcommercePluginConfig = {\n ...baseConfig,\n slugMap: undefined,\n }\n\n const result = getCollectionSlugMap({ enableVariants: true, sanitizedPluginConfig: config })\n\n expect(result).toEqual({\n addresses: 'addresses',\n carts: 'carts',\n customers: 'users',\n orders: 'orders',\n products: 'products',\n transactions: 'transactions',\n variantOptions: 'variantOptions',\n variants: 'variants',\n variantTypes: 'variantTypes',\n })\n })\n\n it('should handle undefined slugMap with variants disabled', () => {\n const config: SanitizedEcommercePluginConfig = {\n ...baseConfig,\n slugMap: undefined,\n }\n\n const result = getCollectionSlugMap({ enableVariants: false, sanitizedPluginConfig: config })\n\n expect(result).toEqual({\n addresses: 'addresses',\n carts: 'carts',\n customers: 'users',\n orders: 'orders',\n products: 'products',\n transactions: 'transactions',\n })\n })\n})\n"],"names":["describe","it","expect","vitest","USD","getCollectionSlugMap","mockAccessConfig","adminOnlyFieldAccess","fn","adminOrPublishedStatus","customerOnlyFieldAccess","isAdmin","isAuthenticated","isDocumentOwner","publicAccess","baseConfig","access","addresses","addressFields","carts","currencies","defaultCurrency","supportedCurrencies","customers","slug","orders","payments","paymentMethods","products","transactions","result","sanitizedPluginConfig","toEqual","enableVariants","variantOptions","variants","variantTypes","config","toBe","slugMap","toBeUndefined","undefined"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pushTypeScriptProperties.d.ts","sourceRoot":"","sources":["../../src/utilities/pushTypeScriptProperties.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAA;AAE1F,eAAO,MAAM,wBAAwB,uCAGlC;IACD,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,MAAM,EAAE,eAAe,CAAA;IACvB,UAAU,EAAE,WAAW,CAAA;IACvB,qBAAqB,EAAE,8BAA8B,CAAA;CACtD,KAAG,WAoCH,CAAA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export const pushTypeScriptProperties = ({ collectionSlugMap, jsonSchema })=>{
|
|
2
|
+
if (!jsonSchema.properties) {
|
|
3
|
+
jsonSchema.properties = {};
|
|
4
|
+
}
|
|
5
|
+
if (Array.isArray(jsonSchema.required)) {
|
|
6
|
+
jsonSchema.required.push('ecommerce');
|
|
7
|
+
}
|
|
8
|
+
const requiredCollectionProperties = [];
|
|
9
|
+
const propertiesMap = new Map();
|
|
10
|
+
Object.entries(collectionSlugMap).forEach(([key, slug])=>{
|
|
11
|
+
propertiesMap.set(key, {
|
|
12
|
+
$ref: `#/definitions/${slug}`
|
|
13
|
+
});
|
|
14
|
+
requiredCollectionProperties.push(slug);
|
|
15
|
+
});
|
|
16
|
+
jsonSchema.properties.ecommerce = {
|
|
17
|
+
type: 'object',
|
|
18
|
+
additionalProperties: false,
|
|
19
|
+
description: 'Generated by the Payload Ecommerce plugin',
|
|
20
|
+
properties: {
|
|
21
|
+
collections: {
|
|
22
|
+
type: 'object',
|
|
23
|
+
additionalProperties: false,
|
|
24
|
+
properties: {
|
|
25
|
+
...Object.fromEntries(propertiesMap)
|
|
26
|
+
},
|
|
27
|
+
required: requiredCollectionProperties
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
required: [
|
|
31
|
+
'collections'
|
|
32
|
+
]
|
|
33
|
+
};
|
|
34
|
+
return jsonSchema;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=pushTypeScriptProperties.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/pushTypeScriptProperties.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { JSONSchema4 } from 'json-schema'\nimport type { SanitizedConfig } from 'payload'\n\nimport type { CollectionSlugMap, SanitizedEcommercePluginConfig } from '../types/index.js'\n\nexport const pushTypeScriptProperties = ({\n collectionSlugMap,\n jsonSchema,\n}: {\n collectionSlugMap: CollectionSlugMap\n config: SanitizedConfig\n jsonSchema: JSONSchema4\n sanitizedPluginConfig: SanitizedEcommercePluginConfig\n}): JSONSchema4 => {\n if (!jsonSchema.properties) {\n jsonSchema.properties = {}\n }\n\n if (Array.isArray(jsonSchema.required)) {\n jsonSchema.required.push('ecommerce')\n }\n\n const requiredCollectionProperties: string[] = []\n const propertiesMap = new Map<string, { $ref: string }>()\n\n Object.entries(collectionSlugMap).forEach(([key, slug]) => {\n propertiesMap.set(key, { $ref: `#/definitions/${slug}` })\n\n requiredCollectionProperties.push(slug)\n })\n\n jsonSchema.properties.ecommerce = {\n type: 'object',\n additionalProperties: false,\n description: 'Generated by the Payload Ecommerce plugin',\n properties: {\n collections: {\n type: 'object',\n additionalProperties: false,\n properties: {\n ...Object.fromEntries(propertiesMap),\n },\n required: requiredCollectionProperties,\n },\n },\n required: ['collections'],\n }\n\n return jsonSchema\n}\n"],"names":["pushTypeScriptProperties","collectionSlugMap","jsonSchema","properties","Array","isArray","required","push","requiredCollectionProperties","propertiesMap","Map","Object","entries","forEach","key","slug","set","$ref","ecommerce","type","additionalProperties","description","collections","fromEntries"],"mappings":"AAMA,OAAO,MAAMA,2BAA2B,CAAC,EACvCC,iBAAiB,EACjBC,UAAU,EAMX;IACC,IAAI,CAACA,WAAWC,UAAU,EAAE;QAC1BD,WAAWC,UAAU,GAAG,CAAC;IAC3B;IAEA,IAAIC,MAAMC,OAAO,CAACH,WAAWI,QAAQ,GAAG;QACtCJ,WAAWI,QAAQ,CAACC,IAAI,CAAC;IAC3B;IAEA,MAAMC,+BAAyC,EAAE;IACjD,MAAMC,gBAAgB,IAAIC;IAE1BC,OAAOC,OAAO,CAACX,mBAAmBY,OAAO,CAAC,CAAC,CAACC,KAAKC,KAAK;QACpDN,cAAcO,GAAG,CAACF,KAAK;YAAEG,MAAM,CAAC,cAAc,EAAEF,MAAM;QAAC;QAEvDP,6BAA6BD,IAAI,CAACQ;IACpC;IAEAb,WAAWC,UAAU,CAACe,SAAS,GAAG;QAChCC,MAAM;QACNC,sBAAsB;QACtBC,aAAa;QACblB,YAAY;YACVmB,aAAa;gBACXH,MAAM;gBACNC,sBAAsB;gBACtBjB,YAAY;oBACV,GAAGQ,OAAOY,WAAW,CAACd,cAAc;gBACtC;gBACAH,UAAUE;YACZ;QACF;QACAF,UAAU;YAAC;SAAc;IAC3B;IAEA,OAAOJ;AACT,EAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitizePluginConfig.d.ts","sourceRoot":"","sources":["../../src/utilities/sanitizePluginConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAA;AAK9F,KAAK,KAAK,GAAG;IACX,YAAY,EAAE,qBAAqB,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,oBAAoB,qBAAsB,KAAK,KAAG,8BA6F9D,CAAA"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { defaultAddressFields } from '../collections/addresses/defaultAddressFields.js';
|
|
2
|
+
import { USD } from '../currencies/index.js';
|
|
3
|
+
export const sanitizePluginConfig = ({ pluginConfig })=>{
|
|
4
|
+
const config = {
|
|
5
|
+
...pluginConfig
|
|
6
|
+
};
|
|
7
|
+
if (typeof config.customers === 'undefined') {
|
|
8
|
+
config.customers = {
|
|
9
|
+
slug: 'users'
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
if (typeof config.addresses === 'undefined' || typeof config.addresses === 'boolean' && config.addresses === true) {
|
|
13
|
+
config.addresses = {
|
|
14
|
+
addressFields: defaultAddressFields()
|
|
15
|
+
};
|
|
16
|
+
} else {
|
|
17
|
+
const addressFields = typeof pluginConfig.addresses === 'object' && typeof pluginConfig.addresses.addressFields === 'function' && pluginConfig.addresses.addressFields({
|
|
18
|
+
defaultFields: defaultAddressFields()
|
|
19
|
+
}) || defaultAddressFields();
|
|
20
|
+
config.addresses = {
|
|
21
|
+
...config.addresses,
|
|
22
|
+
addressFields
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
if (!config.currencies) {
|
|
26
|
+
config.currencies = {
|
|
27
|
+
defaultCurrency: 'USD',
|
|
28
|
+
supportedCurrencies: [
|
|
29
|
+
USD
|
|
30
|
+
]
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
if (typeof config.inventory === 'undefined' || typeof config.inventory === 'boolean' && config.inventory === true) {
|
|
34
|
+
config.inventory = {
|
|
35
|
+
fieldName: 'inventory'
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
if (typeof config.carts === 'undefined') {
|
|
39
|
+
config.carts = {
|
|
40
|
+
allowGuestCarts: true
|
|
41
|
+
};
|
|
42
|
+
} else if (config.carts === true) {
|
|
43
|
+
config.carts = {
|
|
44
|
+
allowGuestCarts: true
|
|
45
|
+
};
|
|
46
|
+
} else if (typeof config.carts === 'object' && typeof config.carts.allowGuestCarts === 'undefined') {
|
|
47
|
+
config.carts.allowGuestCarts = true;
|
|
48
|
+
}
|
|
49
|
+
if (typeof config.orders === 'undefined') {
|
|
50
|
+
config.orders = true;
|
|
51
|
+
}
|
|
52
|
+
if (typeof config.transactions === 'undefined') {
|
|
53
|
+
config.transactions = true;
|
|
54
|
+
}
|
|
55
|
+
if (typeof config.payments === 'undefined') {
|
|
56
|
+
config.payments = {
|
|
57
|
+
paymentMethods: []
|
|
58
|
+
};
|
|
59
|
+
} else if (!config.payments.paymentMethods) {
|
|
60
|
+
config.payments.paymentMethods = [];
|
|
61
|
+
}
|
|
62
|
+
if (config.products) {
|
|
63
|
+
if (typeof config.products === 'object' && typeof config.products.variants === 'undefined') {
|
|
64
|
+
config.products.variants = true;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
config.access = {
|
|
68
|
+
isAuthenticated: ({ req })=>Boolean(req?.user),
|
|
69
|
+
publicAccess: ()=>true,
|
|
70
|
+
...pluginConfig.access
|
|
71
|
+
};
|
|
72
|
+
return config;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
//# sourceMappingURL=sanitizePluginConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/sanitizePluginConfig.ts"],"sourcesContent":["import type { EcommercePluginConfig, SanitizedEcommercePluginConfig } from '../types/index.js'\n\nimport { defaultAddressFields } from '../collections/addresses/defaultAddressFields.js'\nimport { USD } from '../currencies/index.js'\n\ntype Props = {\n pluginConfig: EcommercePluginConfig\n}\n\nexport const sanitizePluginConfig = ({ pluginConfig }: Props): SanitizedEcommercePluginConfig => {\n const config = {\n ...pluginConfig,\n } as Partial<SanitizedEcommercePluginConfig>\n\n if (typeof config.customers === 'undefined') {\n config.customers = {\n slug: 'users',\n }\n }\n\n if (\n typeof config.addresses === 'undefined' ||\n (typeof config.addresses === 'boolean' && config.addresses === true)\n ) {\n config.addresses = {\n addressFields: defaultAddressFields(),\n }\n } else {\n const addressFields =\n (typeof pluginConfig.addresses === 'object' &&\n typeof pluginConfig.addresses.addressFields === 'function' &&\n pluginConfig.addresses.addressFields({\n defaultFields: defaultAddressFields(),\n })) ||\n defaultAddressFields()\n\n config.addresses = {\n ...config.addresses,\n addressFields,\n }\n }\n\n if (!config.currencies) {\n config.currencies = {\n defaultCurrency: 'USD',\n supportedCurrencies: [USD],\n }\n }\n\n if (\n typeof config.inventory === 'undefined' ||\n (typeof config.inventory === 'boolean' && config.inventory === true)\n ) {\n config.inventory = {\n fieldName: 'inventory',\n }\n }\n\n if (typeof config.carts === 'undefined') {\n config.carts = {\n allowGuestCarts: true,\n }\n } else if (config.carts === true) {\n config.carts = {\n allowGuestCarts: true,\n }\n } else if (\n typeof config.carts === 'object' &&\n typeof config.carts.allowGuestCarts === 'undefined'\n ) {\n config.carts.allowGuestCarts = true\n }\n\n if (typeof config.orders === 'undefined') {\n config.orders = true\n }\n\n if (typeof config.transactions === 'undefined') {\n config.transactions = true\n }\n\n if (typeof config.payments === 'undefined') {\n config.payments = {\n paymentMethods: [],\n }\n } else if (!config.payments.paymentMethods) {\n config.payments.paymentMethods = []\n }\n\n if (config.products) {\n if (typeof config.products === 'object' && typeof config.products.variants === 'undefined') {\n config.products.variants = true\n }\n }\n\n config.access = {\n isAuthenticated: ({ req }) => Boolean(req?.user),\n publicAccess: () => true,\n ...pluginConfig.access,\n }\n\n return config as SanitizedEcommercePluginConfig\n}\n"],"names":["defaultAddressFields","USD","sanitizePluginConfig","pluginConfig","config","customers","slug","addresses","addressFields","defaultFields","currencies","defaultCurrency","supportedCurrencies","inventory","fieldName","carts","allowGuestCarts","orders","transactions","payments","paymentMethods","products","variants","access","isAuthenticated","req","Boolean","user","publicAccess"],"mappings":"AAEA,SAASA,oBAAoB,QAAQ,mDAAkD;AACvF,SAASC,GAAG,QAAQ,yBAAwB;AAM5C,OAAO,MAAMC,uBAAuB,CAAC,EAAEC,YAAY,EAAS;IAC1D,MAAMC,SAAS;QACb,GAAGD,YAAY;IACjB;IAEA,IAAI,OAAOC,OAAOC,SAAS,KAAK,aAAa;QAC3CD,OAAOC,SAAS,GAAG;YACjBC,MAAM;QACR;IACF;IAEA,IACE,OAAOF,OAAOG,SAAS,KAAK,eAC3B,OAAOH,OAAOG,SAAS,KAAK,aAAaH,OAAOG,SAAS,KAAK,MAC/D;QACAH,OAAOG,SAAS,GAAG;YACjBC,eAAeR;QACjB;IACF,OAAO;QACL,MAAMQ,gBACJ,AAAC,OAAOL,aAAaI,SAAS,KAAK,YACjC,OAAOJ,aAAaI,SAAS,CAACC,aAAa,KAAK,cAChDL,aAAaI,SAAS,CAACC,aAAa,CAAC;YACnCC,eAAeT;QACjB,MACFA;QAEFI,OAAOG,SAAS,GAAG;YACjB,GAAGH,OAAOG,SAAS;YACnBC;QACF;IACF;IAEA,IAAI,CAACJ,OAAOM,UAAU,EAAE;QACtBN,OAAOM,UAAU,GAAG;YAClBC,iBAAiB;YACjBC,qBAAqB;gBAACX;aAAI;QAC5B;IACF;IAEA,IACE,OAAOG,OAAOS,SAAS,KAAK,eAC3B,OAAOT,OAAOS,SAAS,KAAK,aAAaT,OAAOS,SAAS,KAAK,MAC/D;QACAT,OAAOS,SAAS,GAAG;YACjBC,WAAW;QACb;IACF;IAEA,IAAI,OAAOV,OAAOW,KAAK,KAAK,aAAa;QACvCX,OAAOW,KAAK,GAAG;YACbC,iBAAiB;QACnB;IACF,OAAO,IAAIZ,OAAOW,KAAK,KAAK,MAAM;QAChCX,OAAOW,KAAK,GAAG;YACbC,iBAAiB;QACnB;IACF,OAAO,IACL,OAAOZ,OAAOW,KAAK,KAAK,YACxB,OAAOX,OAAOW,KAAK,CAACC,eAAe,KAAK,aACxC;QACAZ,OAAOW,KAAK,CAACC,eAAe,GAAG;IACjC;IAEA,IAAI,OAAOZ,OAAOa,MAAM,KAAK,aAAa;QACxCb,OAAOa,MAAM,GAAG;IAClB;IAEA,IAAI,OAAOb,OAAOc,YAAY,KAAK,aAAa;QAC9Cd,OAAOc,YAAY,GAAG;IACxB;IAEA,IAAI,OAAOd,OAAOe,QAAQ,KAAK,aAAa;QAC1Cf,OAAOe,QAAQ,GAAG;YAChBC,gBAAgB,EAAE;QACpB;IACF,OAAO,IAAI,CAAChB,OAAOe,QAAQ,CAACC,cAAc,EAAE;QAC1ChB,OAAOe,QAAQ,CAACC,cAAc,GAAG,EAAE;IACrC;IAEA,IAAIhB,OAAOiB,QAAQ,EAAE;QACnB,IAAI,OAAOjB,OAAOiB,QAAQ,KAAK,YAAY,OAAOjB,OAAOiB,QAAQ,CAACC,QAAQ,KAAK,aAAa;YAC1FlB,OAAOiB,QAAQ,CAACC,QAAQ,GAAG;QAC7B;IACF;IAEAlB,OAAOmB,MAAM,GAAG;QACdC,iBAAiB,CAAC,EAAEC,GAAG,EAAE,GAAKC,QAAQD,KAAKE;QAC3CC,cAAc,IAAM;QACpB,GAAGzB,aAAaoB,MAAM;IACxB;IAEA,OAAOnB;AACT,EAAC"}
|