@kizlo/woocommerce 0.13.0 → 0.14.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/README.md +7 -1
- package/dist/checkout-validation.d.ts +2 -0
- package/dist/checkout-validation.js +3 -0
- package/dist/index.d.ts +2433 -2612
- package/dist/index.js +14 -118
- package/dist/schema-ScTHhVY4.d.ts +368 -0
- package/dist/validation-DDEq7ebc.js +337 -0
- package/package.json +7 -1
package/dist/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { a as CoreAddressFieldKeys, c as BillingFieldProjections, d as deserializeBillingFields, f as isExcludedRegisteredField, h as serializeBillingFields, i as checkoutValidationData, l as BillingNativeFields, m as resolveRegisteredFieldTarget, n as CheckoutValidationData, o as deserializeCoreAddress, p as isProjectedBillingField, r as CheckoutValidationIssue, s as serializeCoreAddress, t as CheckoutRegisteredFieldReference, u as BillingNativeInputFields } from "./validation-DDEq7ebc.js";
|
|
1
2
|
import { CurrencyFormat, IdentifierInput, KizloError, ListMetadata, Seo, createIntegration, createMiddleware, createProcedure, customFieldsSchema, defineErrorMap, deserializeCurrencyFormat, deserializeListMetadata, deserializeSeo, schemaType } from "kizlo";
|
|
2
3
|
import { BooleanLike, MediaImage, Metadata, NumberLike, arrayable, normalizeArrayableValue, random, seconds, timestampFromIso, timestampFromWpGmt, timestampSec, toPublicMetadata, tryCatch } from "@kizlo/shared";
|
|
3
4
|
import { SignJWT, jwtVerify } from "jose";
|
|
@@ -193,79 +194,6 @@ const REMOVE_COUPON_ERROR_MAP = defineErrorMap({
|
|
|
193
194
|
}
|
|
194
195
|
});
|
|
195
196
|
|
|
196
|
-
//#endregion
|
|
197
|
-
//#region src/field-projections.ts
|
|
198
|
-
/** The native API is a projection of a registered value, never a second storage field. */
|
|
199
|
-
const BillingFieldProjections = { taxId: {
|
|
200
|
-
id: "kizlo/tax-id",
|
|
201
|
-
location: "address",
|
|
202
|
-
group: "billing",
|
|
203
|
-
excludedGroups: ["shipping"],
|
|
204
|
-
schema: z$1.string().default("")
|
|
205
|
-
} };
|
|
206
|
-
const BillingNativeFields = Object.fromEntries(Object.entries(BillingFieldProjections).map(([property, projection]) => [property, projection.schema]));
|
|
207
|
-
/** Partial updates must not execute the response/full-submission default for an omitted property. */
|
|
208
|
-
const BillingNativeInputFields = Object.fromEntries(Object.entries(BillingFieldProjections).map(([property, projection]) => [property, projection.schema.removeDefault().optional()]));
|
|
209
|
-
function isProjectedBillingField(id) {
|
|
210
|
-
return Object.values(BillingFieldProjections).some((projection) => projection.id === id);
|
|
211
|
-
}
|
|
212
|
-
/** Preserve the existing billing-only policy independently of Woo's address registration and UI rules. */
|
|
213
|
-
function isExcludedRegisteredField(id, group) {
|
|
214
|
-
return Object.values(BillingFieldProjections).some((projection) => projection.id === id && projection.excludedGroups.includes(group));
|
|
215
|
-
}
|
|
216
|
-
function deserializeBillingFields(fields) {
|
|
217
|
-
return Object.fromEntries(Object.entries(BillingFieldProjections).map(([property, projection]) => {
|
|
218
|
-
const parsed = projection.schema.safeParse(fields[projection.id]);
|
|
219
|
-
return [property, parsed.success ? parsed.data : projection.schema.parse(void 0)];
|
|
220
|
-
}));
|
|
221
|
-
}
|
|
222
|
-
/** Bypass callers must obey the same single-value contract as typed/schema-validated callers. */
|
|
223
|
-
function serializeBillingFields(address) {
|
|
224
|
-
const fields = {};
|
|
225
|
-
for (const [property, projection] of Object.entries(BillingFieldProjections)) {
|
|
226
|
-
if (Object.hasOwn(address.additionalFields ?? {}, projection.id)) throw new TypeError(`Use billingAddress.${property} instead of additionalFields["${projection.id}"].`);
|
|
227
|
-
const value = address[property];
|
|
228
|
-
if (value !== void 0) fields[projection.id] = value;
|
|
229
|
-
}
|
|
230
|
-
return fields;
|
|
231
|
-
}
|
|
232
|
-
/** Resolve only registered, unambiguous identities. Group-level errors need no invented leaf target. */
|
|
233
|
-
function resolveRegisteredFieldTarget(locations, id, group, surface = "checkout") {
|
|
234
|
-
const matches = Object.keys(locations).filter((location$1) => locations[location$1].includes(id));
|
|
235
|
-
const location = matches[0];
|
|
236
|
-
if (matches.length !== 1 || location === void 0) return null;
|
|
237
|
-
if (location !== "address") {
|
|
238
|
-
if (group !== void 0 && group !== "other" || surface === "customer" && location === "order") return null;
|
|
239
|
-
return {
|
|
240
|
-
id,
|
|
241
|
-
location,
|
|
242
|
-
group: "other",
|
|
243
|
-
path: ["additionalFields", id],
|
|
244
|
-
wirePath: ["additional_fields", id]
|
|
245
|
-
};
|
|
246
|
-
}
|
|
247
|
-
if (group !== "billing" && group !== "shipping") return null;
|
|
248
|
-
if (isExcludedRegisteredField(id, group)) return null;
|
|
249
|
-
const address = surface === "customer" ? group : `${group}Address`;
|
|
250
|
-
const wireAddress = surface === "customer" ? group : `${group}_address`;
|
|
251
|
-
const projection = Object.entries(BillingFieldProjections).find(([, projection$1]) => projection$1.id === id && projection$1.group === group);
|
|
252
|
-
return {
|
|
253
|
-
id,
|
|
254
|
-
location,
|
|
255
|
-
group,
|
|
256
|
-
path: projection ? [address, projection[0]] : [
|
|
257
|
-
address,
|
|
258
|
-
"additionalFields",
|
|
259
|
-
id
|
|
260
|
-
],
|
|
261
|
-
wirePath: surface === "customer" ? [
|
|
262
|
-
wireAddress,
|
|
263
|
-
"additional_fields",
|
|
264
|
-
id
|
|
265
|
-
] : [wireAddress, id]
|
|
266
|
-
};
|
|
267
|
-
}
|
|
268
|
-
|
|
269
197
|
//#endregion
|
|
270
198
|
//#region src/additional-fields.ts
|
|
271
199
|
/** Structural scalar guard only. Generated types do not execute field enums, requirements or conditions. */
|
|
@@ -786,28 +714,6 @@ const UpdateCartInput = z$1.object({
|
|
|
786
714
|
billingAddress: CartBillingAddressInput.optional()
|
|
787
715
|
});
|
|
788
716
|
|
|
789
|
-
//#endregion
|
|
790
|
-
//#region src/address-fields.ts
|
|
791
|
-
/** Identity shared by Store API address serialization and storefront bindings. */
|
|
792
|
-
const CoreAddressFieldKeys = {
|
|
793
|
-
first_name: "firstName",
|
|
794
|
-
last_name: "lastName",
|
|
795
|
-
company: "company",
|
|
796
|
-
address_1: "address1",
|
|
797
|
-
address_2: "address2",
|
|
798
|
-
city: "city",
|
|
799
|
-
state: "state",
|
|
800
|
-
postcode: "postcode",
|
|
801
|
-
country: "country",
|
|
802
|
-
phone: "phone"
|
|
803
|
-
};
|
|
804
|
-
function deserializeCoreAddress(address) {
|
|
805
|
-
return Object.fromEntries(Object.entries(CoreAddressFieldKeys).map(([id, key]) => [key, address[id]]));
|
|
806
|
-
}
|
|
807
|
-
function serializeCoreAddress(address) {
|
|
808
|
-
return Object.fromEntries(Object.entries(CoreAddressFieldKeys).flatMap(([id, key]) => address[key] === void 0 ? [] : [[id, address[key]]]));
|
|
809
|
-
}
|
|
810
|
-
|
|
811
717
|
//#endregion
|
|
812
718
|
//#region src/product/utils.ts
|
|
813
719
|
function assertNoMissingStoreProductInputs() {}
|
|
@@ -1476,7 +1382,6 @@ const CART_PROCEDURES = {
|
|
|
1476
1382
|
|
|
1477
1383
|
//#endregion
|
|
1478
1384
|
//#region src/checkout/error.ts
|
|
1479
|
-
const CheckoutValidationData = z$2.object({ fields: z$2.record(z$2.string(), z$2.string()) });
|
|
1480
1385
|
const CheckoutConflictData = z$2.object({ cart: Cart.nullable() });
|
|
1481
1386
|
const GET_CHECKOUT_ERROR_MAP = defineErrorMap({ CHECKOUT_ORDER_NOT_FOUND: {
|
|
1482
1387
|
status: 404,
|
|
@@ -1799,7 +1704,7 @@ function checkoutAdditionalFields(fields) {
|
|
|
1799
1704
|
|
|
1800
1705
|
//#endregion
|
|
1801
1706
|
//#region src/checkout/index.ts
|
|
1802
|
-
const
|
|
1707
|
+
const checkoutProcedures = {
|
|
1803
1708
|
get: createProcedure({
|
|
1804
1709
|
scope: "api",
|
|
1805
1710
|
method: "GET",
|
|
@@ -1835,9 +1740,10 @@ const CHECKOUT_PROCEDURES = {
|
|
|
1835
1740
|
if (response.error) {
|
|
1836
1741
|
const conflict = conflictData(response.error.data);
|
|
1837
1742
|
switch (response.error.code) {
|
|
1838
|
-
case "rest_invalid_param":
|
|
1743
|
+
case "rest_invalid_param":
|
|
1744
|
+
case "woocommerce_rest_checkout_custom_validation_error": throw errors.CHECKOUT_VALIDATION_FAILED({
|
|
1839
1745
|
message: response.error.message,
|
|
1840
|
-
data:
|
|
1746
|
+
data: checkoutValidationData(response.error)
|
|
1841
1747
|
});
|
|
1842
1748
|
case "woocommerce_rest_cart_coupon_error": throw errors.CHECKOUT_COUPON_INVALID({ message: response.error.message });
|
|
1843
1749
|
case "woocommerce_rest_checkout_payment_method_disabled": throw errors.CHECKOUT_PAYMENT_METHOD_DISABLED({ message: response.error.message });
|
|
@@ -1895,9 +1801,10 @@ const CHECKOUT_PROCEDURES = {
|
|
|
1895
1801
|
if (response.error) {
|
|
1896
1802
|
const conflict = conflictData(response.error.data);
|
|
1897
1803
|
switch (response.error.code) {
|
|
1898
|
-
case "rest_invalid_param":
|
|
1804
|
+
case "rest_invalid_param":
|
|
1805
|
+
case "woocommerce_rest_checkout_custom_validation_error": throw errors.CHECKOUT_VALIDATION_FAILED({
|
|
1899
1806
|
message: response.error.message,
|
|
1900
|
-
data:
|
|
1807
|
+
data: checkoutValidationData(response.error)
|
|
1901
1808
|
});
|
|
1902
1809
|
case "woocommerce_rest_invalid_address": throw errors.CHECKOUT_ADDRESS_INVALID({ message: response.error.message });
|
|
1903
1810
|
case "woocommerce_rest_invalid_address_country": throw errors.CHECKOUT_ADDRESS_COUNTRY_INVALID({ message: response.error.message });
|
|
@@ -1908,10 +1815,6 @@ const CHECKOUT_PROCEDURES = {
|
|
|
1908
1815
|
case "woocommerce_rest_checkout_payment_method_disabled": throw errors.CHECKOUT_PAYMENT_METHOD_DISABLED({ message: response.error.message });
|
|
1909
1816
|
case "woocommerce_rest_checkout_missing_payment_method": throw errors.CHECKOUT_PAYMENT_METHOD_MISSING({ message: response.error.message });
|
|
1910
1817
|
case "woocommerce_rest_invalid_shipping_option": throw errors.CHECKOUT_SHIPPING_OPTION_INVALID({ message: response.error.message });
|
|
1911
|
-
case "woocommerce_rest_checkout_custom_validation_error": throw errors.CHECKOUT_VALIDATION_FAILED({
|
|
1912
|
-
message: response.error.message,
|
|
1913
|
-
data: { fields: {} }
|
|
1914
|
-
});
|
|
1915
1818
|
case "woocommerce_rest_checkout_invalid_payment_result": throw errors.CHECKOUT_PAYMENT_RESULT_INVALID({ message: response.error.message });
|
|
1916
1819
|
case "woocommerce_rest_guest_checkout_disabled": throw errors.CHECKOUT_GUEST_DISABLED({ message: response.error.message });
|
|
1917
1820
|
case "woocommerce_rest_checkout_missing_order":
|
|
@@ -1981,9 +1884,10 @@ const CHECKOUT_PROCEDURES = {
|
|
|
1981
1884
|
}
|
|
1982
1885
|
}, { headers: context.sessionHeaders });
|
|
1983
1886
|
if (response.error) switch (response.error.code) {
|
|
1984
|
-
case "rest_invalid_param":
|
|
1887
|
+
case "rest_invalid_param":
|
|
1888
|
+
case "woocommerce_rest_checkout_custom_validation_error": throw errors.CHECKOUT_VALIDATION_FAILED({
|
|
1985
1889
|
message: response.error.message,
|
|
1986
|
-
data:
|
|
1890
|
+
data: checkoutValidationData(response.error)
|
|
1987
1891
|
});
|
|
1988
1892
|
case "woocommerce_rest_invalid_billing_email": throw errors.CHECKOUT_EMAIL_INVALID({ message: response.error.message });
|
|
1989
1893
|
case "woocommerce_rest_checkout_process_payment_error": throw errors.CHECKOUT_PAYMENT_FAILED({ message: response.error.message });
|
|
@@ -2003,16 +1907,6 @@ const CHECKOUT_PROCEDURES = {
|
|
|
2003
1907
|
return deserializeCheckout(response.data);
|
|
2004
1908
|
})
|
|
2005
1909
|
};
|
|
2006
|
-
function validationFields(data) {
|
|
2007
|
-
if (!isRecord(data)) return {};
|
|
2008
|
-
const fields = {};
|
|
2009
|
-
for (const source of [data.params, data.details]) {
|
|
2010
|
-
if (!isRecord(source)) continue;
|
|
2011
|
-
for (const [name, value] of Object.entries(source)) if (typeof value === "string") fields[name] = value;
|
|
2012
|
-
else if (isRecord(value) && typeof value.message === "string") fields[name] = value.message;
|
|
2013
|
-
}
|
|
2014
|
-
return fields;
|
|
2015
|
-
}
|
|
2016
1910
|
function conflictData(data) {
|
|
2017
1911
|
if (!isRecord(data) || !isRecord(data.cart)) return { cart: null };
|
|
2018
1912
|
try {
|
|
@@ -2024,6 +1918,8 @@ function conflictData(data) {
|
|
|
2024
1918
|
function isRecord(value) {
|
|
2025
1919
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
2026
1920
|
}
|
|
1921
|
+
/** Keep billing registry aliases consumer-resolved instead of emitting the build-time fallback. */
|
|
1922
|
+
const CHECKOUT_PROCEDURES = checkoutProcedures;
|
|
2027
1923
|
|
|
2028
1924
|
//#endregion
|
|
2029
1925
|
//#region src/schema.ts
|
|
@@ -2781,4 +2677,4 @@ function woocommerce() {
|
|
|
2781
2677
|
}
|
|
2782
2678
|
|
|
2783
2679
|
//#endregion
|
|
2784
|
-
export { AddCartItemInput, ApplyCouponInput, BillingFieldProjections, Cart, CartAdditionalFields, CartBillingAddress, CartBillingAddressSubmission, CartCoupon, CartCouponTotals, CartError, CartFee, CartFeeTotals, CartItem, CartItemData, CartItemQuantityLimits, CartItemTotals, CartPaymentMethod, CartSelectedAttribute, CartShippingAddress, CartShippingAddressSubmission, CartShippingDestination, CartShippingItem, CartShippingPackage, CartShippingRate, CartShippingRateMetadata, CartTaxLine, CartTotals, Checkout, CheckoutAdditionalFields, CheckoutExtensions, CheckoutPaymentData, CheckoutPaymentResult, ConfirmCheckoutInput, GetOrderInput, ListProductInput, Order, OrderFee, OrderItem, OrderItemProduct, OrderTotals, PRODUCT_ATTRIBUTE_RELATIONS, PRODUCT_CATALOG_VISIBILITIES, PRODUCT_DATE_COLUMNS, PRODUCT_RATINGS, PRODUCT_STOCK_STATUSES, PRODUCT_TYPES, Product, ProductAddToCart, ProductAttributeCount, ProductAttributeFilter, ProductAttributeRelation, ProductAttributeSummary, ProductAttributeTermSummary, ProductBrandSummary, ProductCatalogVisibility, ProductCategorySummary, ProductCustomFieldsSchema, ProductDateColumn, ProductDimensions, ProductExtensions, ProductFilters, ProductFiltersAttributeTerm, ProductFiltersPriceRange, ProductFiltersRatingCount, ProductFiltersStockStatus, ProductFiltersTaxonomyTerm, ProductFiltersTerm, ProductList, ProductOrderBy, ProductPriceRange, ProductPrices, ProductRating, ProductRecommendations, ProductStockAvailability, ProductStockStatus, ProductSummary, ProductTagSummary, ProductTaxonomyFilter, ProductTaxonomyOperator, ProductTermSummary, ProductType, ProductVariationAttributeSummary, ProductVariationSummary, RemoveCartItemInput, RemoveCouponInput, RetrieveProductFiltersInput, RetrieveProductInput, RetryCheckoutInput, SWATCH_TYPES, SelectCartShippingRateInput, Storefront, StorefrontAddress, StorefrontCatalog, StorefrontCheckout, StorefrontCountry, StorefrontField, StorefrontFieldOption, StorefrontFieldOverride, StorefrontFieldRule, StorefrontFieldSchema, StorefrontPricing, SwatchType, UpdateCartInput, UpdateCartItemInput, UpdateCheckoutInput, resolveRegisteredFieldTarget, woocommerce };
|
|
2680
|
+
export { AddCartItemInput, ApplyCouponInput, BillingFieldProjections, Cart, CartAdditionalFields, CartBillingAddress, CartBillingAddressSubmission, CartCoupon, CartCouponTotals, CartError, CartFee, CartFeeTotals, CartItem, CartItemData, CartItemQuantityLimits, CartItemTotals, CartPaymentMethod, CartSelectedAttribute, CartShippingAddress, CartShippingAddressSubmission, CartShippingDestination, CartShippingItem, CartShippingPackage, CartShippingRate, CartShippingRateMetadata, CartTaxLine, CartTotals, Checkout, CheckoutAdditionalFields, CheckoutExtensions, CheckoutPaymentData, CheckoutPaymentResult, CheckoutRegisteredFieldReference, CheckoutValidationData, CheckoutValidationIssue, ConfirmCheckoutInput, GetOrderInput, ListProductInput, Order, OrderFee, OrderItem, OrderItemProduct, OrderTotals, PRODUCT_ATTRIBUTE_RELATIONS, PRODUCT_CATALOG_VISIBILITIES, PRODUCT_DATE_COLUMNS, PRODUCT_RATINGS, PRODUCT_STOCK_STATUSES, PRODUCT_TYPES, Product, ProductAddToCart, ProductAttributeCount, ProductAttributeFilter, ProductAttributeRelation, ProductAttributeSummary, ProductAttributeTermSummary, ProductBrandSummary, ProductCatalogVisibility, ProductCategorySummary, ProductCustomFieldsSchema, ProductDateColumn, ProductDimensions, ProductExtensions, ProductFilters, ProductFiltersAttributeTerm, ProductFiltersPriceRange, ProductFiltersRatingCount, ProductFiltersStockStatus, ProductFiltersTaxonomyTerm, ProductFiltersTerm, ProductList, ProductOrderBy, ProductPriceRange, ProductPrices, ProductRating, ProductRecommendations, ProductStockAvailability, ProductStockStatus, ProductSummary, ProductTagSummary, ProductTaxonomyFilter, ProductTaxonomyOperator, ProductTermSummary, ProductType, ProductVariationAttributeSummary, ProductVariationSummary, RemoveCartItemInput, RemoveCouponInput, RetrieveProductFiltersInput, RetrieveProductInput, RetryCheckoutInput, SWATCH_TYPES, SelectCartShippingRateInput, Storefront, StorefrontAddress, StorefrontCatalog, StorefrontCheckout, StorefrontCountry, StorefrontField, StorefrontFieldOption, StorefrontFieldOverride, StorefrontFieldRule, StorefrontFieldSchema, StorefrontPricing, SwatchType, UpdateCartInput, UpdateCartItemInput, UpdateCheckoutInput, resolveRegisteredFieldTarget, woocommerce };
|
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
import z$1 from "zod/v4";
|
|
2
|
+
import z$2 from "zod";
|
|
3
|
+
|
|
4
|
+
//#region src/checkout/validation.d.ts
|
|
5
|
+
declare const CheckoutRegisteredFieldReference: z$1.ZodObject<{
|
|
6
|
+
id: z$1.ZodString;
|
|
7
|
+
bucket: z$1.ZodNullable<z$1.ZodEnum<{
|
|
8
|
+
billingAddress: "billingAddress";
|
|
9
|
+
shippingAddress: "shippingAddress";
|
|
10
|
+
additionalFields: "additionalFields";
|
|
11
|
+
}>>;
|
|
12
|
+
}, z$1.core.$strip>;
|
|
13
|
+
type CheckoutRegisteredFieldReference = z$1.infer<typeof CheckoutRegisteredFieldReference>;
|
|
14
|
+
declare const CheckoutValidationIssue: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
|
|
15
|
+
source: z$1.ZodNullable<z$1.ZodString>;
|
|
16
|
+
sourcePath: z$1.ZodArray<z$1.ZodString>;
|
|
17
|
+
code: z$1.ZodNullable<z$1.ZodString>;
|
|
18
|
+
message: z$1.ZodString;
|
|
19
|
+
registeredFields: z$1.ZodArray<z$1.ZodObject<{
|
|
20
|
+
id: z$1.ZodString;
|
|
21
|
+
bucket: z$1.ZodNullable<z$1.ZodEnum<{
|
|
22
|
+
billingAddress: "billingAddress";
|
|
23
|
+
shippingAddress: "shippingAddress";
|
|
24
|
+
additionalFields: "additionalFields";
|
|
25
|
+
}>>;
|
|
26
|
+
}, z$1.core.$strip>>;
|
|
27
|
+
scope: z$1.ZodLiteral<"field">;
|
|
28
|
+
target: z$1.ZodArray<z$1.ZodString>;
|
|
29
|
+
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
30
|
+
source: z$1.ZodNullable<z$1.ZodString>;
|
|
31
|
+
sourcePath: z$1.ZodArray<z$1.ZodString>;
|
|
32
|
+
code: z$1.ZodNullable<z$1.ZodString>;
|
|
33
|
+
message: z$1.ZodString;
|
|
34
|
+
registeredFields: z$1.ZodArray<z$1.ZodObject<{
|
|
35
|
+
id: z$1.ZodString;
|
|
36
|
+
bucket: z$1.ZodNullable<z$1.ZodEnum<{
|
|
37
|
+
billingAddress: "billingAddress";
|
|
38
|
+
shippingAddress: "shippingAddress";
|
|
39
|
+
additionalFields: "additionalFields";
|
|
40
|
+
}>>;
|
|
41
|
+
}, z$1.core.$strip>>;
|
|
42
|
+
scope: z$1.ZodLiteral<"group">;
|
|
43
|
+
target: z$1.ZodArray<z$1.ZodString>;
|
|
44
|
+
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
45
|
+
source: z$1.ZodNullable<z$1.ZodString>;
|
|
46
|
+
sourcePath: z$1.ZodArray<z$1.ZodString>;
|
|
47
|
+
code: z$1.ZodNullable<z$1.ZodString>;
|
|
48
|
+
message: z$1.ZodString;
|
|
49
|
+
registeredFields: z$1.ZodArray<z$1.ZodObject<{
|
|
50
|
+
id: z$1.ZodString;
|
|
51
|
+
bucket: z$1.ZodNullable<z$1.ZodEnum<{
|
|
52
|
+
billingAddress: "billingAddress";
|
|
53
|
+
shippingAddress: "shippingAddress";
|
|
54
|
+
additionalFields: "additionalFields";
|
|
55
|
+
}>>;
|
|
56
|
+
}, z$1.core.$strip>>;
|
|
57
|
+
scope: z$1.ZodLiteral<"unresolved">;
|
|
58
|
+
target: z$1.ZodNull;
|
|
59
|
+
}, z$1.core.$strip>], "scope">;
|
|
60
|
+
type CheckoutValidationIssue = z$1.infer<typeof CheckoutValidationIssue>;
|
|
61
|
+
declare const CheckoutValidationData: z$1.ZodObject<{
|
|
62
|
+
issues: z$1.ZodArray<z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
|
|
63
|
+
source: z$1.ZodNullable<z$1.ZodString>;
|
|
64
|
+
sourcePath: z$1.ZodArray<z$1.ZodString>;
|
|
65
|
+
code: z$1.ZodNullable<z$1.ZodString>;
|
|
66
|
+
message: z$1.ZodString;
|
|
67
|
+
registeredFields: z$1.ZodArray<z$1.ZodObject<{
|
|
68
|
+
id: z$1.ZodString;
|
|
69
|
+
bucket: z$1.ZodNullable<z$1.ZodEnum<{
|
|
70
|
+
billingAddress: "billingAddress";
|
|
71
|
+
shippingAddress: "shippingAddress";
|
|
72
|
+
additionalFields: "additionalFields";
|
|
73
|
+
}>>;
|
|
74
|
+
}, z$1.core.$strip>>;
|
|
75
|
+
scope: z$1.ZodLiteral<"field">;
|
|
76
|
+
target: z$1.ZodArray<z$1.ZodString>;
|
|
77
|
+
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
78
|
+
source: z$1.ZodNullable<z$1.ZodString>;
|
|
79
|
+
sourcePath: z$1.ZodArray<z$1.ZodString>;
|
|
80
|
+
code: z$1.ZodNullable<z$1.ZodString>;
|
|
81
|
+
message: z$1.ZodString;
|
|
82
|
+
registeredFields: z$1.ZodArray<z$1.ZodObject<{
|
|
83
|
+
id: z$1.ZodString;
|
|
84
|
+
bucket: z$1.ZodNullable<z$1.ZodEnum<{
|
|
85
|
+
billingAddress: "billingAddress";
|
|
86
|
+
shippingAddress: "shippingAddress";
|
|
87
|
+
additionalFields: "additionalFields";
|
|
88
|
+
}>>;
|
|
89
|
+
}, z$1.core.$strip>>;
|
|
90
|
+
scope: z$1.ZodLiteral<"group">;
|
|
91
|
+
target: z$1.ZodArray<z$1.ZodString>;
|
|
92
|
+
}, z$1.core.$strip>, z$1.ZodObject<{
|
|
93
|
+
source: z$1.ZodNullable<z$1.ZodString>;
|
|
94
|
+
sourcePath: z$1.ZodArray<z$1.ZodString>;
|
|
95
|
+
code: z$1.ZodNullable<z$1.ZodString>;
|
|
96
|
+
message: z$1.ZodString;
|
|
97
|
+
registeredFields: z$1.ZodArray<z$1.ZodObject<{
|
|
98
|
+
id: z$1.ZodString;
|
|
99
|
+
bucket: z$1.ZodNullable<z$1.ZodEnum<{
|
|
100
|
+
billingAddress: "billingAddress";
|
|
101
|
+
shippingAddress: "shippingAddress";
|
|
102
|
+
additionalFields: "additionalFields";
|
|
103
|
+
}>>;
|
|
104
|
+
}, z$1.core.$strip>>;
|
|
105
|
+
scope: z$1.ZodLiteral<"unresolved">;
|
|
106
|
+
target: z$1.ZodNull;
|
|
107
|
+
}, z$1.core.$strip>], "scope">>;
|
|
108
|
+
}, z$1.core.$strict>;
|
|
109
|
+
type CheckoutValidationData = z$1.infer<typeof CheckoutValidationData>;
|
|
110
|
+
//#endregion
|
|
111
|
+
//#region src/storefront/schema.d.ts
|
|
112
|
+
/**
|
|
113
|
+
* A plugin-registered field may make `required` or `hidden` a JSON Schema rule evaluated against the
|
|
114
|
+
* checkout rather than a fixed boolean.
|
|
115
|
+
*/
|
|
116
|
+
declare const StorefrontFieldRule: z$2.ZodUnion<readonly [z$2.ZodBoolean, z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>]>;
|
|
117
|
+
type StorefrontFieldRule = z$2.infer<typeof StorefrontFieldRule>;
|
|
118
|
+
declare const StorefrontFieldOption: z$2.ZodObject<{
|
|
119
|
+
value: z$2.ZodString;
|
|
120
|
+
label: z$2.ZodString;
|
|
121
|
+
}, z$2.core.$strip>;
|
|
122
|
+
type StorefrontFieldOption = z$2.infer<typeof StorefrontFieldOption>;
|
|
123
|
+
/** JSON Schema draft-07, retained as data for the consumer's validator. */
|
|
124
|
+
declare const StorefrontFieldSchema: z$2.ZodUnion<readonly [z$2.ZodBoolean, z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>]>;
|
|
125
|
+
type StorefrontFieldSchema = z$2.infer<typeof StorefrontFieldSchema>;
|
|
126
|
+
declare const StorefrontField: z$2.ZodObject<{
|
|
127
|
+
id: z$2.ZodString;
|
|
128
|
+
location: z$2.ZodEnum<{
|
|
129
|
+
address: "address";
|
|
130
|
+
order: "order";
|
|
131
|
+
contact: "contact";
|
|
132
|
+
}>;
|
|
133
|
+
attributes: z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>;
|
|
134
|
+
schema: z$2.ZodUnion<readonly [z$2.ZodBoolean, z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>]>;
|
|
135
|
+
bindings: z$2.ZodObject<{
|
|
136
|
+
billing: z$2.ZodOptional<z$2.ZodArray<z$2.ZodString>>;
|
|
137
|
+
shipping: z$2.ZodOptional<z$2.ZodArray<z$2.ZodString>>;
|
|
138
|
+
other: z$2.ZodOptional<z$2.ZodArray<z$2.ZodString>>;
|
|
139
|
+
}, z$2.core.$strip>;
|
|
140
|
+
label: z$2.ZodString;
|
|
141
|
+
optionalLabel: z$2.ZodString;
|
|
142
|
+
required: z$2.ZodUnion<readonly [z$2.ZodBoolean, z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>]>;
|
|
143
|
+
hidden: z$2.ZodUnion<readonly [z$2.ZodBoolean, z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>]>;
|
|
144
|
+
type: z$2.ZodNullable<z$2.ZodString>;
|
|
145
|
+
autocomplete: z$2.ZodNullable<z$2.ZodString>;
|
|
146
|
+
index: z$2.ZodNullable<z$2.ZodNumber>;
|
|
147
|
+
placeholder: z$2.ZodNullable<z$2.ZodString>;
|
|
148
|
+
options: z$2.ZodArray<z$2.ZodObject<{
|
|
149
|
+
value: z$2.ZodString;
|
|
150
|
+
label: z$2.ZodString;
|
|
151
|
+
}, z$2.core.$strip>>;
|
|
152
|
+
}, z$2.core.$strip>;
|
|
153
|
+
type StorefrontField = z$2.infer<typeof StorefrontField>;
|
|
154
|
+
/** What a country changes about a field. Anything it leaves out keeps the field's default. */
|
|
155
|
+
declare const StorefrontFieldOverride: z$2.ZodObject<{
|
|
156
|
+
label: z$2.ZodOptional<z$2.ZodString>;
|
|
157
|
+
required: z$2.ZodOptional<z$2.ZodBoolean>;
|
|
158
|
+
hidden: z$2.ZodOptional<z$2.ZodBoolean>;
|
|
159
|
+
index: z$2.ZodOptional<z$2.ZodNumber>;
|
|
160
|
+
}, z$2.core.$strip>;
|
|
161
|
+
type StorefrontFieldOverride = z$2.infer<typeof StorefrontFieldOverride>;
|
|
162
|
+
declare const StorefrontCountry: z$2.ZodObject<{
|
|
163
|
+
code: z$2.ZodString;
|
|
164
|
+
name: z$2.ZodString;
|
|
165
|
+
allowBilling: z$2.ZodBoolean;
|
|
166
|
+
allowShipping: z$2.ZodBoolean;
|
|
167
|
+
states: z$2.ZodArray<z$2.ZodObject<{
|
|
168
|
+
code: z$2.ZodString;
|
|
169
|
+
name: z$2.ZodString;
|
|
170
|
+
}, z$2.core.$strip>>;
|
|
171
|
+
locale: z$2.ZodRecord<z$2.ZodString, z$2.ZodObject<{
|
|
172
|
+
label: z$2.ZodOptional<z$2.ZodString>;
|
|
173
|
+
required: z$2.ZodOptional<z$2.ZodBoolean>;
|
|
174
|
+
hidden: z$2.ZodOptional<z$2.ZodBoolean>;
|
|
175
|
+
index: z$2.ZodOptional<z$2.ZodNumber>;
|
|
176
|
+
}, z$2.core.$strip>>;
|
|
177
|
+
format: z$2.ZodString;
|
|
178
|
+
}, z$2.core.$strip>;
|
|
179
|
+
type StorefrontCountry = z$2.infer<typeof StorefrontCountry>;
|
|
180
|
+
declare const StorefrontAddress: z$2.ZodObject<{
|
|
181
|
+
countries: z$2.ZodArray<z$2.ZodObject<{
|
|
182
|
+
code: z$2.ZodString;
|
|
183
|
+
name: z$2.ZodString;
|
|
184
|
+
allowBilling: z$2.ZodBoolean;
|
|
185
|
+
allowShipping: z$2.ZodBoolean;
|
|
186
|
+
states: z$2.ZodArray<z$2.ZodObject<{
|
|
187
|
+
code: z$2.ZodString;
|
|
188
|
+
name: z$2.ZodString;
|
|
189
|
+
}, z$2.core.$strip>>;
|
|
190
|
+
locale: z$2.ZodRecord<z$2.ZodString, z$2.ZodObject<{
|
|
191
|
+
label: z$2.ZodOptional<z$2.ZodString>;
|
|
192
|
+
required: z$2.ZodOptional<z$2.ZodBoolean>;
|
|
193
|
+
hidden: z$2.ZodOptional<z$2.ZodBoolean>;
|
|
194
|
+
index: z$2.ZodOptional<z$2.ZodNumber>;
|
|
195
|
+
}, z$2.core.$strip>>;
|
|
196
|
+
format: z$2.ZodString;
|
|
197
|
+
}, z$2.core.$strip>>;
|
|
198
|
+
defaultAddressFormat: z$2.ZodString;
|
|
199
|
+
fields: z$2.ZodArray<z$2.ZodObject<{
|
|
200
|
+
id: z$2.ZodString;
|
|
201
|
+
location: z$2.ZodEnum<{
|
|
202
|
+
address: "address";
|
|
203
|
+
order: "order";
|
|
204
|
+
contact: "contact";
|
|
205
|
+
}>;
|
|
206
|
+
attributes: z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>;
|
|
207
|
+
schema: z$2.ZodUnion<readonly [z$2.ZodBoolean, z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>]>;
|
|
208
|
+
bindings: z$2.ZodObject<{
|
|
209
|
+
billing: z$2.ZodOptional<z$2.ZodArray<z$2.ZodString>>;
|
|
210
|
+
shipping: z$2.ZodOptional<z$2.ZodArray<z$2.ZodString>>;
|
|
211
|
+
other: z$2.ZodOptional<z$2.ZodArray<z$2.ZodString>>;
|
|
212
|
+
}, z$2.core.$strip>;
|
|
213
|
+
label: z$2.ZodString;
|
|
214
|
+
optionalLabel: z$2.ZodString;
|
|
215
|
+
required: z$2.ZodUnion<readonly [z$2.ZodBoolean, z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>]>;
|
|
216
|
+
hidden: z$2.ZodUnion<readonly [z$2.ZodBoolean, z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>]>;
|
|
217
|
+
type: z$2.ZodNullable<z$2.ZodString>;
|
|
218
|
+
autocomplete: z$2.ZodNullable<z$2.ZodString>;
|
|
219
|
+
index: z$2.ZodNullable<z$2.ZodNumber>;
|
|
220
|
+
placeholder: z$2.ZodNullable<z$2.ZodString>;
|
|
221
|
+
options: z$2.ZodArray<z$2.ZodObject<{
|
|
222
|
+
value: z$2.ZodString;
|
|
223
|
+
label: z$2.ZodString;
|
|
224
|
+
}, z$2.core.$strip>>;
|
|
225
|
+
}, z$2.core.$strip>>;
|
|
226
|
+
baseCountry: z$2.ZodString;
|
|
227
|
+
defaultCountry: z$2.ZodNullable<z$2.ZodString>;
|
|
228
|
+
}, z$2.core.$strip>;
|
|
229
|
+
type StorefrontAddress = z$2.infer<typeof StorefrontAddress>;
|
|
230
|
+
declare const StorefrontCheckout: z$2.ZodObject<{
|
|
231
|
+
allowsGuest: z$2.ZodBoolean;
|
|
232
|
+
couponsEnabled: z$2.ZodBoolean;
|
|
233
|
+
forcedBillingAddress: z$2.ZodBoolean;
|
|
234
|
+
taxesEnabled: z$2.ZodBoolean;
|
|
235
|
+
displayCartPricesIncludingTax: z$2.ZodBoolean;
|
|
236
|
+
displayItemizedTaxes: z$2.ZodBoolean;
|
|
237
|
+
shippingEnabled: z$2.ZodBoolean;
|
|
238
|
+
localPickup: z$2.ZodObject<{
|
|
239
|
+
enabled: z$2.ZodBoolean;
|
|
240
|
+
title: z$2.ZodString;
|
|
241
|
+
cost: z$2.ZodString;
|
|
242
|
+
methodIds: z$2.ZodNullable<z$2.ZodArray<z$2.ZodString>>;
|
|
243
|
+
}, z$2.core.$strip>;
|
|
244
|
+
}, z$2.core.$strip>;
|
|
245
|
+
type StorefrontCheckout = z$2.infer<typeof StorefrontCheckout>;
|
|
246
|
+
declare const StorefrontPricing: z$2.ZodObject<{
|
|
247
|
+
currency: z$2.ZodObject<{
|
|
248
|
+
currencyCode: z$2.ZodString;
|
|
249
|
+
currencySymbol: z$2.ZodString;
|
|
250
|
+
currencyPrefix: z$2.ZodString;
|
|
251
|
+
currencySuffix: z$2.ZodString;
|
|
252
|
+
currencyMinorUnit: z$2.ZodNumber;
|
|
253
|
+
currencyDecimalSeparator: z$2.ZodString;
|
|
254
|
+
currencyThousandSeparator: z$2.ZodString;
|
|
255
|
+
}, z$2.core.$strip>;
|
|
256
|
+
pricesIncludeTax: z$2.ZodBoolean;
|
|
257
|
+
displayShopPricesIncludingTax: z$2.ZodBoolean;
|
|
258
|
+
priceSuffix: z$2.ZodString;
|
|
259
|
+
}, z$2.core.$strip>;
|
|
260
|
+
type StorefrontPricing = z$2.infer<typeof StorefrontPricing>;
|
|
261
|
+
declare const StorefrontCatalog: z$2.ZodObject<{
|
|
262
|
+
weightUnit: z$2.ZodString;
|
|
263
|
+
dimensionUnit: z$2.ZodString;
|
|
264
|
+
reviewsEnabled: z$2.ZodBoolean;
|
|
265
|
+
reviewRatingsEnabled: z$2.ZodBoolean;
|
|
266
|
+
reviewRatingRequired: z$2.ZodBoolean;
|
|
267
|
+
reviewsVerifiedOwnersOnly: z$2.ZodBoolean;
|
|
268
|
+
stockFormat: z$2.ZodString;
|
|
269
|
+
hideOutOfStock: z$2.ZodBoolean;
|
|
270
|
+
placeholderImage: z$2.ZodString;
|
|
271
|
+
cartRedirectAfterAdd: z$2.ZodBoolean;
|
|
272
|
+
}, z$2.core.$strip>;
|
|
273
|
+
type StorefrontCatalog = z$2.infer<typeof StorefrontCatalog>;
|
|
274
|
+
declare const Storefront: z$2.ZodObject<{
|
|
275
|
+
address: z$2.ZodObject<{
|
|
276
|
+
countries: z$2.ZodArray<z$2.ZodObject<{
|
|
277
|
+
code: z$2.ZodString;
|
|
278
|
+
name: z$2.ZodString;
|
|
279
|
+
allowBilling: z$2.ZodBoolean;
|
|
280
|
+
allowShipping: z$2.ZodBoolean;
|
|
281
|
+
states: z$2.ZodArray<z$2.ZodObject<{
|
|
282
|
+
code: z$2.ZodString;
|
|
283
|
+
name: z$2.ZodString;
|
|
284
|
+
}, z$2.core.$strip>>;
|
|
285
|
+
locale: z$2.ZodRecord<z$2.ZodString, z$2.ZodObject<{
|
|
286
|
+
label: z$2.ZodOptional<z$2.ZodString>;
|
|
287
|
+
required: z$2.ZodOptional<z$2.ZodBoolean>;
|
|
288
|
+
hidden: z$2.ZodOptional<z$2.ZodBoolean>;
|
|
289
|
+
index: z$2.ZodOptional<z$2.ZodNumber>;
|
|
290
|
+
}, z$2.core.$strip>>;
|
|
291
|
+
format: z$2.ZodString;
|
|
292
|
+
}, z$2.core.$strip>>;
|
|
293
|
+
defaultAddressFormat: z$2.ZodString;
|
|
294
|
+
fields: z$2.ZodArray<z$2.ZodObject<{
|
|
295
|
+
id: z$2.ZodString;
|
|
296
|
+
location: z$2.ZodEnum<{
|
|
297
|
+
address: "address";
|
|
298
|
+
order: "order";
|
|
299
|
+
contact: "contact";
|
|
300
|
+
}>;
|
|
301
|
+
attributes: z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>;
|
|
302
|
+
schema: z$2.ZodUnion<readonly [z$2.ZodBoolean, z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>]>;
|
|
303
|
+
bindings: z$2.ZodObject<{
|
|
304
|
+
billing: z$2.ZodOptional<z$2.ZodArray<z$2.ZodString>>;
|
|
305
|
+
shipping: z$2.ZodOptional<z$2.ZodArray<z$2.ZodString>>;
|
|
306
|
+
other: z$2.ZodOptional<z$2.ZodArray<z$2.ZodString>>;
|
|
307
|
+
}, z$2.core.$strip>;
|
|
308
|
+
label: z$2.ZodString;
|
|
309
|
+
optionalLabel: z$2.ZodString;
|
|
310
|
+
required: z$2.ZodUnion<readonly [z$2.ZodBoolean, z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>]>;
|
|
311
|
+
hidden: z$2.ZodUnion<readonly [z$2.ZodBoolean, z$2.ZodRecord<z$2.ZodString, z$2.ZodUnknown>]>;
|
|
312
|
+
type: z$2.ZodNullable<z$2.ZodString>;
|
|
313
|
+
autocomplete: z$2.ZodNullable<z$2.ZodString>;
|
|
314
|
+
index: z$2.ZodNullable<z$2.ZodNumber>;
|
|
315
|
+
placeholder: z$2.ZodNullable<z$2.ZodString>;
|
|
316
|
+
options: z$2.ZodArray<z$2.ZodObject<{
|
|
317
|
+
value: z$2.ZodString;
|
|
318
|
+
label: z$2.ZodString;
|
|
319
|
+
}, z$2.core.$strip>>;
|
|
320
|
+
}, z$2.core.$strip>>;
|
|
321
|
+
baseCountry: z$2.ZodString;
|
|
322
|
+
defaultCountry: z$2.ZodNullable<z$2.ZodString>;
|
|
323
|
+
}, z$2.core.$strip>;
|
|
324
|
+
checkout: z$2.ZodObject<{
|
|
325
|
+
allowsGuest: z$2.ZodBoolean;
|
|
326
|
+
couponsEnabled: z$2.ZodBoolean;
|
|
327
|
+
forcedBillingAddress: z$2.ZodBoolean;
|
|
328
|
+
taxesEnabled: z$2.ZodBoolean;
|
|
329
|
+
displayCartPricesIncludingTax: z$2.ZodBoolean;
|
|
330
|
+
displayItemizedTaxes: z$2.ZodBoolean;
|
|
331
|
+
shippingEnabled: z$2.ZodBoolean;
|
|
332
|
+
localPickup: z$2.ZodObject<{
|
|
333
|
+
enabled: z$2.ZodBoolean;
|
|
334
|
+
title: z$2.ZodString;
|
|
335
|
+
cost: z$2.ZodString;
|
|
336
|
+
methodIds: z$2.ZodNullable<z$2.ZodArray<z$2.ZodString>>;
|
|
337
|
+
}, z$2.core.$strip>;
|
|
338
|
+
}, z$2.core.$strip>;
|
|
339
|
+
pricing: z$2.ZodObject<{
|
|
340
|
+
currency: z$2.ZodObject<{
|
|
341
|
+
currencyCode: z$2.ZodString;
|
|
342
|
+
currencySymbol: z$2.ZodString;
|
|
343
|
+
currencyPrefix: z$2.ZodString;
|
|
344
|
+
currencySuffix: z$2.ZodString;
|
|
345
|
+
currencyMinorUnit: z$2.ZodNumber;
|
|
346
|
+
currencyDecimalSeparator: z$2.ZodString;
|
|
347
|
+
currencyThousandSeparator: z$2.ZodString;
|
|
348
|
+
}, z$2.core.$strip>;
|
|
349
|
+
pricesIncludeTax: z$2.ZodBoolean;
|
|
350
|
+
displayShopPricesIncludingTax: z$2.ZodBoolean;
|
|
351
|
+
priceSuffix: z$2.ZodString;
|
|
352
|
+
}, z$2.core.$strip>;
|
|
353
|
+
catalog: z$2.ZodObject<{
|
|
354
|
+
weightUnit: z$2.ZodString;
|
|
355
|
+
dimensionUnit: z$2.ZodString;
|
|
356
|
+
reviewsEnabled: z$2.ZodBoolean;
|
|
357
|
+
reviewRatingsEnabled: z$2.ZodBoolean;
|
|
358
|
+
reviewRatingRequired: z$2.ZodBoolean;
|
|
359
|
+
reviewsVerifiedOwnersOnly: z$2.ZodBoolean;
|
|
360
|
+
stockFormat: z$2.ZodString;
|
|
361
|
+
hideOutOfStock: z$2.ZodBoolean;
|
|
362
|
+
placeholderImage: z$2.ZodString;
|
|
363
|
+
cartRedirectAfterAdd: z$2.ZodBoolean;
|
|
364
|
+
}, z$2.core.$strip>;
|
|
365
|
+
}, z$2.core.$strip>;
|
|
366
|
+
type Storefront = z$2.infer<typeof Storefront>;
|
|
367
|
+
//#endregion
|
|
368
|
+
export { StorefrontCountry as a, StorefrontFieldOverride as c, StorefrontPricing as d, CheckoutRegisteredFieldReference as f, StorefrontCheckout as i, StorefrontFieldRule as l, CheckoutValidationIssue as m, StorefrontAddress as n, StorefrontField as o, CheckoutValidationData as p, StorefrontCatalog as r, StorefrontFieldOption as s, Storefront as t, StorefrontFieldSchema as u };
|