@proxima-io/storefront-core 0.2.0 → 0.8.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 +23 -17
- package/dist/addresses/address-book.d.ts +36 -0
- package/dist/addresses/address-book.d.ts.map +1 -0
- package/dist/addresses/address-book.js +62 -0
- package/dist/addresses/address-book.js.map +1 -0
- package/dist/analytics/analytics.d.ts +28 -0
- package/dist/analytics/analytics.d.ts.map +1 -0
- package/dist/analytics/analytics.js +124 -0
- package/dist/analytics/analytics.js.map +1 -0
- package/dist/analytics/attribution.d.ts +28 -0
- package/dist/analytics/attribution.d.ts.map +1 -0
- package/dist/analytics/attribution.js +116 -0
- package/dist/analytics/attribution.js.map +1 -0
- package/dist/analytics/session.d.ts +12 -0
- package/dist/analytics/session.d.ts.map +1 -0
- package/dist/analytics/session.js +62 -0
- package/dist/analytics/session.js.map +1 -0
- package/dist/analytics/trackers.d.ts +29 -0
- package/dist/analytics/trackers.d.ts.map +1 -0
- package/dist/analytics/trackers.js +30 -0
- package/dist/analytics/trackers.js.map +1 -0
- package/dist/api/endpoints.d.ts +70 -0
- package/dist/api/endpoints.d.ts.map +1 -0
- package/dist/api/endpoints.js +70 -0
- package/dist/api/endpoints.js.map +1 -0
- package/dist/api/index.d.ts +3 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +3 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/storefront-client.d.ts +50 -0
- package/dist/api/storefront-client.d.ts.map +1 -0
- package/dist/api/storefront-client.js +123 -0
- package/dist/api/storefront-client.js.map +1 -0
- package/dist/buyer/auth.d.ts +105 -0
- package/dist/buyer/auth.d.ts.map +1 -0
- package/dist/buyer/auth.js +215 -0
- package/dist/buyer/auth.js.map +1 -0
- package/dist/cache/cache.d.ts +31 -0
- package/dist/cache/cache.d.ts.map +1 -0
- package/dist/cache/cache.js +71 -0
- package/dist/cache/cache.js.map +1 -0
- package/dist/campaign/countdown.d.ts +40 -0
- package/dist/campaign/countdown.d.ts.map +1 -0
- package/dist/campaign/countdown.js +71 -0
- package/dist/campaign/countdown.js.map +1 -0
- package/dist/cart/cart.d.ts +57 -0
- package/dist/cart/cart.d.ts.map +1 -0
- package/dist/cart/cart.js +64 -0
- package/dist/cart/cart.js.map +1 -0
- package/dist/catalog/listings.d.ts +87 -0
- package/dist/catalog/listings.d.ts.map +1 -0
- package/dist/catalog/listings.js +140 -0
- package/dist/catalog/listings.js.map +1 -0
- package/dist/cms/payment-methods.d.ts +13 -0
- package/dist/cms/payment-methods.d.ts.map +1 -0
- package/dist/cms/payment-methods.js +41 -0
- package/dist/cms/payment-methods.js.map +1 -0
- package/dist/cms/website.d.ts +74 -0
- package/dist/cms/website.d.ts.map +1 -0
- package/dist/cms/website.js +144 -0
- package/dist/cms/website.js.map +1 -0
- package/dist/cookie-consent/consent.d.ts +22 -0
- package/dist/cookie-consent/consent.d.ts.map +1 -0
- package/dist/cookie-consent/consent.js +93 -0
- package/dist/cookie-consent/consent.js.map +1 -0
- package/dist/fixtures-commerce.d.ts +140 -0
- package/dist/fixtures-commerce.d.ts.map +1 -0
- package/dist/fixtures-commerce.js +743 -0
- package/dist/fixtures-commerce.js.map +1 -0
- package/dist/index.d.ts +43 -1309
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +40 -1575
- package/dist/index.js.map +1 -1
- package/dist/internal/http.d.ts +5 -0
- package/dist/internal/http.d.ts.map +1 -0
- package/dist/internal/http.js +27 -0
- package/dist/internal/http.js.map +1 -0
- package/dist/orders/guest.d.ts +9 -0
- package/dist/orders/guest.d.ts.map +1 -0
- package/dist/orders/guest.js +30 -0
- package/dist/orders/guest.js.map +1 -0
- package/dist/orders/orders.d.ts +23 -0
- package/dist/orders/orders.d.ts.map +1 -0
- package/dist/orders/orders.js +33 -0
- package/dist/orders/orders.js.map +1 -0
- package/dist/seo/indexnow.d.ts +24 -0
- package/dist/seo/indexnow.d.ts.map +1 -0
- package/dist/seo/indexnow.js +50 -0
- package/dist/seo/indexnow.js.map +1 -0
- package/dist/seo/json-ld.d.ts +52 -0
- package/dist/seo/json-ld.d.ts.map +1 -0
- package/dist/seo/json-ld.js +175 -0
- package/dist/seo/json-ld.js.map +1 -0
- package/dist/seo/page-seo.d.ts +21 -0
- package/dist/seo/page-seo.d.ts.map +1 -0
- package/dist/seo/page-seo.js +68 -0
- package/dist/seo/page-seo.js.map +1 -0
- package/dist/seo/robots.d.ts +23 -0
- package/dist/seo/robots.d.ts.map +1 -0
- package/dist/seo/robots.js +35 -0
- package/dist/seo/robots.js.map +1 -0
- package/dist/seo/sitemap.d.ts +35 -0
- package/dist/seo/sitemap.d.ts.map +1 -0
- package/dist/seo/sitemap.js +131 -0
- package/dist/seo/sitemap.js.map +1 -0
- package/dist/server/process.d.ts +136 -0
- package/dist/server/process.d.ts.map +1 -0
- package/dist/server/process.js +143 -0
- package/dist/server/process.js.map +1 -0
- package/dist/types/address.d.ts +40 -0
- package/dist/types/address.d.ts.map +1 -0
- package/dist/types/address.js +2 -0
- package/dist/types/address.js.map +1 -0
- package/dist/types/analytics.d.ts +79 -0
- package/dist/types/analytics.d.ts.map +1 -0
- package/dist/types/analytics.js +2 -0
- package/dist/types/analytics.js.map +1 -0
- package/dist/types/business.d.ts +95 -0
- package/dist/types/business.d.ts.map +1 -0
- package/dist/types/business.js +2 -0
- package/dist/types/business.js.map +1 -0
- package/dist/types/buyer.d.ts +144 -0
- package/dist/types/buyer.d.ts.map +1 -0
- package/dist/types/buyer.js +45 -0
- package/dist/types/buyer.js.map +1 -0
- package/dist/types/campaign.d.ts +51 -0
- package/dist/types/campaign.d.ts.map +1 -0
- package/dist/types/campaign.js +2 -0
- package/dist/types/campaign.js.map +1 -0
- package/dist/types/cart.d.ts +40 -0
- package/dist/types/cart.d.ts.map +1 -0
- package/dist/types/cart.js +2 -0
- package/dist/types/cart.js.map +1 -0
- package/dist/types/catalog.d.ts +164 -0
- package/dist/types/catalog.d.ts.map +1 -0
- package/dist/types/catalog.js +2 -0
- package/dist/types/catalog.js.map +1 -0
- package/dist/types/cms.d.ts +196 -0
- package/dist/types/cms.d.ts.map +1 -0
- package/dist/types/cms.js +2 -0
- package/dist/types/cms.js.map +1 -0
- package/dist/types/cookie-consent.d.ts +18 -0
- package/dist/types/cookie-consent.d.ts.map +1 -0
- package/dist/types/cookie-consent.js +7 -0
- package/dist/types/cookie-consent.js.map +1 -0
- package/dist/types/guest-order.d.ts +16 -0
- package/dist/types/guest-order.d.ts.map +1 -0
- package/dist/types/guest-order.js +9 -0
- package/dist/types/guest-order.js.map +1 -0
- package/dist/types/listing.d.ts +14 -0
- package/dist/types/listing.d.ts.map +1 -0
- package/dist/types/listing.js +2 -0
- package/dist/types/listing.js.map +1 -0
- package/dist/types/order.d.ts +40 -0
- package/dist/types/order.d.ts.map +1 -0
- package/dist/types/order.js +2 -0
- package/dist/types/order.js.map +1 -0
- package/dist/types/seo.d.ts +93 -0
- package/dist/types/seo.d.ts.map +1 -0
- package/dist/types/seo.js +2 -0
- package/dist/types/seo.js.map +1 -0
- package/dist/types/server-env.d.ts +19 -0
- package/dist/types/server-env.d.ts.map +1 -0
- package/dist/types/server-env.js +10 -0
- package/dist/types/server-env.js.map +1 -0
- package/dist/types/wishlist.d.ts +10 -0
- package/dist/types/wishlist.d.ts.map +1 -0
- package/dist/types/wishlist.js +2 -0
- package/dist/types/wishlist.js.map +1 -0
- package/dist/wishlist/wishlist.d.ts +28 -0
- package/dist/wishlist/wishlist.d.ts.map +1 -0
- package/dist/wishlist/wishlist.js +42 -0
- package/dist/wishlist/wishlist.js.map +1 -0
- package/package.json +5 -1
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { COOKIE_CONSENT_CHANGED_EVENT, COOKIE_CONSENT_STORAGE_KEY, COOKIE_CONSENT_VERSION, } from '../types/cookie-consent.js';
|
|
2
|
+
function isBrowser() {
|
|
3
|
+
return typeof window !== 'undefined' && typeof localStorage !== 'undefined';
|
|
4
|
+
}
|
|
5
|
+
function parseStoredConsent(raw) {
|
|
6
|
+
if (!raw)
|
|
7
|
+
return null;
|
|
8
|
+
try {
|
|
9
|
+
const parsed = JSON.parse(raw);
|
|
10
|
+
if (parsed.version !== COOKIE_CONSENT_VERSION)
|
|
11
|
+
return null;
|
|
12
|
+
if (parsed.essential !== true)
|
|
13
|
+
return null;
|
|
14
|
+
if (typeof parsed.analytics !== 'boolean')
|
|
15
|
+
return null;
|
|
16
|
+
if (typeof parsed.marketing !== 'boolean')
|
|
17
|
+
return null;
|
|
18
|
+
if (typeof parsed.decidedAt !== 'string' || !parsed.decidedAt)
|
|
19
|
+
return null;
|
|
20
|
+
return {
|
|
21
|
+
version: COOKIE_CONSENT_VERSION,
|
|
22
|
+
essential: true,
|
|
23
|
+
analytics: parsed.analytics,
|
|
24
|
+
marketing: parsed.marketing,
|
|
25
|
+
decidedAt: parsed.decidedAt,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/** Read persisted consent, or `null` if none / stale version. */
|
|
33
|
+
export function readCookieConsent() {
|
|
34
|
+
if (!isBrowser())
|
|
35
|
+
return null;
|
|
36
|
+
return parseStoredConsent(localStorage.getItem(COOKIE_CONSENT_STORAGE_KEY));
|
|
37
|
+
}
|
|
38
|
+
/** Whether the shopper already accepted or rejected non-essential cookies. */
|
|
39
|
+
export function hasCookieConsentDecision() {
|
|
40
|
+
return readCookieConsent() !== null;
|
|
41
|
+
}
|
|
42
|
+
/** Whether analytics events may be sent (requires explicit accept). */
|
|
43
|
+
export function isAnalyticsConsentGranted(state = readCookieConsent()) {
|
|
44
|
+
return state?.analytics === true;
|
|
45
|
+
}
|
|
46
|
+
export function isMarketingConsentGranted(state = readCookieConsent()) {
|
|
47
|
+
return state?.marketing === true;
|
|
48
|
+
}
|
|
49
|
+
function buildState(analytics, marketing) {
|
|
50
|
+
return {
|
|
51
|
+
version: COOKIE_CONSENT_VERSION,
|
|
52
|
+
essential: true,
|
|
53
|
+
analytics,
|
|
54
|
+
marketing,
|
|
55
|
+
decidedAt: new Date().toISOString(),
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/** Persist consent and notify listeners (analytics gating, third-party tags). */
|
|
59
|
+
/** Persist consent and dispatch `COOKIE_CONSENT_CHANGED_EVENT` (analytics client listens). */
|
|
60
|
+
export function writeCookieConsent(categories) {
|
|
61
|
+
const state = buildState(categories.analytics, categories.marketing);
|
|
62
|
+
if (isBrowser()) {
|
|
63
|
+
localStorage.setItem(COOKIE_CONSENT_STORAGE_KEY, JSON.stringify(state));
|
|
64
|
+
dispatchCookieConsentChanged(state);
|
|
65
|
+
}
|
|
66
|
+
return state;
|
|
67
|
+
}
|
|
68
|
+
/** Accept analytics + marketing — call from cookie banner "Accept all". */
|
|
69
|
+
export function acceptAllCookieConsent() {
|
|
70
|
+
return writeCookieConsent({ analytics: true, marketing: true });
|
|
71
|
+
}
|
|
72
|
+
/** Reject non-essential cookies — analytics stays gated until user accepts. */
|
|
73
|
+
export function rejectNonEssentialCookieConsent() {
|
|
74
|
+
return writeCookieConsent({ analytics: false, marketing: false });
|
|
75
|
+
}
|
|
76
|
+
export function dispatchCookieConsentChanged(state) {
|
|
77
|
+
if (!isBrowser())
|
|
78
|
+
return;
|
|
79
|
+
window.dispatchEvent(new CustomEvent(COOKIE_CONSENT_CHANGED_EVENT, { detail: state }));
|
|
80
|
+
}
|
|
81
|
+
/** Subscribe to consent updates. Returns an unsubscribe function. */
|
|
82
|
+
export function onCookieConsentChanged(listener) {
|
|
83
|
+
if (!isBrowser())
|
|
84
|
+
return () => { };
|
|
85
|
+
const handler = (event) => {
|
|
86
|
+
const detail = event.detail;
|
|
87
|
+
if (detail)
|
|
88
|
+
listener(detail);
|
|
89
|
+
};
|
|
90
|
+
window.addEventListener(COOKIE_CONSENT_CHANGED_EVENT, handler);
|
|
91
|
+
return () => window.removeEventListener(COOKIE_CONSENT_CHANGED_EVENT, handler);
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=consent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consent.js","sourceRoot":"","sources":["../../src/cookie-consent/consent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-app commerce fixtures — logic lives in SDK; JSON is injected per website.
|
|
3
|
+
*/
|
|
4
|
+
import type { BuyerProfile, Cart, CategoryNavTreeResponse, CustomerAddress, GuestOrderPayload, GuestOrderResult, Order, OrderListResponse, ProductListingFilters, ProductListingSortOption, ProximaWebsiteResponse, StorefrontBrandListingResponse, StorefrontCategoryListingResponse, StorefrontProductListingResponse, StorefrontSearchResponse, UbigeoResult } from "./index.js";
|
|
5
|
+
export type StorefrontDataMode = "fixtures" | "live";
|
|
6
|
+
/** Raw catalog entity as stored in apps/{slug}/src/fixtures/catalog-items.json */
|
|
7
|
+
export type FixtureCatalogItem = Record<string, unknown>;
|
|
8
|
+
export interface FixtureBundleInput {
|
|
9
|
+
catalog: FixtureCatalogItem[];
|
|
10
|
+
categoryNavTree: CategoryNavTreeResponse;
|
|
11
|
+
cart?: Cart | null;
|
|
12
|
+
categoryProductMap?: Record<string, string[]>;
|
|
13
|
+
customerAddresses?: CustomerAddress[];
|
|
14
|
+
}
|
|
15
|
+
export interface FixtureProductListingParams {
|
|
16
|
+
filters?: ProductListingFilters;
|
|
17
|
+
sort?: ProductListingSortOption | string;
|
|
18
|
+
page?: number;
|
|
19
|
+
page_size?: number;
|
|
20
|
+
currency?: string;
|
|
21
|
+
locale?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface FixtureSearchParams {
|
|
24
|
+
q: string;
|
|
25
|
+
limit?: number;
|
|
26
|
+
currency?: string;
|
|
27
|
+
locale?: string;
|
|
28
|
+
}
|
|
29
|
+
export interface FixtureCartMutationParams {
|
|
30
|
+
token?: string | null;
|
|
31
|
+
sessionId?: string | null;
|
|
32
|
+
variantId: number;
|
|
33
|
+
quantity?: number;
|
|
34
|
+
}
|
|
35
|
+
export declare class FixtureGuestOrderError extends Error {
|
|
36
|
+
readonly code: "CART_NOT_FOUND" | "OUT_OF_STOCK" | "SERVER_ERROR" | "VARIANT_NOT_FOUND";
|
|
37
|
+
constructor(code: "CART_NOT_FOUND" | "OUT_OF_STOCK" | "SERVER_ERROR" | "VARIANT_NOT_FOUND", message: string);
|
|
38
|
+
}
|
|
39
|
+
export interface FixtureBundle extends FixtureBundleInput {
|
|
40
|
+
getCart(sessionId?: string | null): Cart;
|
|
41
|
+
addToCart(sessionId: string | null | undefined, variantId: number, quantity: number): Cart;
|
|
42
|
+
updateCartItem(sessionId: string | null | undefined, variantId: number, quantity: number): Cart;
|
|
43
|
+
removeCartItem(sessionId: string | null | undefined, variantId: number): Cart;
|
|
44
|
+
getCategoryNavTree(): CategoryNavTreeResponse;
|
|
45
|
+
getCategoryProducts(slug: string, params?: FixtureListingParams): StorefrontCategoryListingResponse;
|
|
46
|
+
getBrandProducts(slug: string, params?: FixtureBrandListingParams): StorefrontBrandListingResponse;
|
|
47
|
+
getProductListing(params?: FixtureProductListingParams): StorefrontProductListingResponse;
|
|
48
|
+
searchProducts(params: FixtureSearchParams): StorefrontSearchResponse;
|
|
49
|
+
getCustomerAddresses(): CustomerAddress[];
|
|
50
|
+
processGuestCheckout(sessionId: string, payload: GuestOrderPayload): GuestOrderResult;
|
|
51
|
+
}
|
|
52
|
+
export interface FixtureListingParams {
|
|
53
|
+
page?: number;
|
|
54
|
+
pageSize?: number;
|
|
55
|
+
sort?: string;
|
|
56
|
+
brand?: string;
|
|
57
|
+
currency?: string;
|
|
58
|
+
locale?: string;
|
|
59
|
+
}
|
|
60
|
+
export interface FixtureBrandListingParams extends FixtureListingParams {
|
|
61
|
+
category?: string;
|
|
62
|
+
}
|
|
63
|
+
export interface StorefrontDataSourceConfig {
|
|
64
|
+
mode: StorefrontDataMode;
|
|
65
|
+
fixtures: FixtureBundle;
|
|
66
|
+
apiConfig: {
|
|
67
|
+
baseUrl: string;
|
|
68
|
+
};
|
|
69
|
+
website: Pick<ProximaWebsiteResponse, "business_id" | "locale" | "currency">;
|
|
70
|
+
}
|
|
71
|
+
export interface StorefrontCartParams {
|
|
72
|
+
token?: string | null;
|
|
73
|
+
sessionId?: string | null;
|
|
74
|
+
}
|
|
75
|
+
export interface StorefrontDataSource {
|
|
76
|
+
getCart(params?: StorefrontCartParams): Promise<Cart>;
|
|
77
|
+
addToCart(params: FixtureCartMutationParams): Promise<Cart>;
|
|
78
|
+
updateCartItem(params: FixtureCartMutationParams & {
|
|
79
|
+
quantity: number;
|
|
80
|
+
}): Promise<Cart>;
|
|
81
|
+
removeCartItem(params: Omit<FixtureCartMutationParams, "quantity">): Promise<Cart>;
|
|
82
|
+
getCategoryNavTree(params?: {
|
|
83
|
+
maxDepth?: number;
|
|
84
|
+
locale?: string;
|
|
85
|
+
}): Promise<CategoryNavTreeResponse>;
|
|
86
|
+
getCategoryProducts(slug: string, params?: FixtureListingParams & {
|
|
87
|
+
brand?: string;
|
|
88
|
+
q?: string;
|
|
89
|
+
}): Promise<StorefrontCategoryListingResponse>;
|
|
90
|
+
getBrandProducts(slug: string, params?: FixtureBrandListingParams & {
|
|
91
|
+
q?: string;
|
|
92
|
+
}): Promise<StorefrontBrandListingResponse>;
|
|
93
|
+
getProductListing(params?: FixtureProductListingParams): Promise<StorefrontProductListingResponse>;
|
|
94
|
+
searchProducts(params: FixtureSearchParams): Promise<StorefrontSearchResponse>;
|
|
95
|
+
getCustomerAddresses(params?: {
|
|
96
|
+
token?: string | null;
|
|
97
|
+
}): Promise<CustomerAddress[]>;
|
|
98
|
+
getBuyerProfile(params: {
|
|
99
|
+
token: string;
|
|
100
|
+
}): Promise<BuyerProfile>;
|
|
101
|
+
getOrders(params: {
|
|
102
|
+
token: string;
|
|
103
|
+
page?: number;
|
|
104
|
+
size?: number;
|
|
105
|
+
}): Promise<OrderListResponse>;
|
|
106
|
+
getOrder(params: {
|
|
107
|
+
token: string;
|
|
108
|
+
orderId: string;
|
|
109
|
+
}): Promise<Order>;
|
|
110
|
+
searchUbigeo(params: {
|
|
111
|
+
q: string;
|
|
112
|
+
}): Promise<UbigeoResult[]>;
|
|
113
|
+
processGuestCheckout(payload: GuestOrderPayload): Promise<GuestOrderResult>;
|
|
114
|
+
}
|
|
115
|
+
export interface ResolveStorefrontDataSourceOptions {
|
|
116
|
+
request: Request;
|
|
117
|
+
fixtures: FixtureBundle;
|
|
118
|
+
apiConfig: {
|
|
119
|
+
baseUrl: string;
|
|
120
|
+
domain?: string;
|
|
121
|
+
serviceKey?: string;
|
|
122
|
+
};
|
|
123
|
+
resolveMode: (host: string) => StorefrontDataMode;
|
|
124
|
+
getRequestHost: (request: Request) => string;
|
|
125
|
+
getFixtureWebsite: () => Pick<ProximaWebsiteResponse, "business_id" | "locale" | "currency" | "data_mode">;
|
|
126
|
+
fetchLiveWebsite: () => Promise<Pick<ProximaWebsiteResponse, "business_id" | "locale" | "currency" | "data_mode">>;
|
|
127
|
+
}
|
|
128
|
+
export interface ValidateFixtureBundleOptions {
|
|
129
|
+
/** Product slugs referenced from composition fixtures (e.g. home.json collections) */
|
|
130
|
+
compositionProductSlugs?: string[];
|
|
131
|
+
}
|
|
132
|
+
export declare function createFixtureBundle(input: FixtureBundleInput): FixtureBundle;
|
|
133
|
+
export declare function validateFixtureBundle(input: FixtureBundleInput, options?: ValidateFixtureBundleOptions): string[];
|
|
134
|
+
export declare function createStorefrontDataSource(config: StorefrontDataSourceConfig): StorefrontDataSource;
|
|
135
|
+
/**
|
|
136
|
+
* Resolve mode + website then return a StorefrontDataSource.
|
|
137
|
+
* Apps inject env-specific callbacks; all commerce/live vs fixtures routing stays in SDK.
|
|
138
|
+
*/
|
|
139
|
+
export declare function resolveStorefrontDataSourceForRequest(options: ResolveStorefrontDataSourceOptions): Promise<StorefrontDataSource>;
|
|
140
|
+
//# sourceMappingURL=fixtures-commerce.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixtures-commerce.d.ts","sourceRoot":"","sources":["../src/fixtures-commerce.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EACV,YAAY,EACZ,IAAI,EAGJ,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,EACL,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,8BAA8B,EAC9B,iCAAiC,EACjC,gCAAgC,EAEhC,wBAAwB,EAExB,YAAY,EACb,MAAM,YAAY,CAAC;AAMpB,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,MAAM,CAAC;AAErD,kFAAkF;AAClF,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEzD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,eAAe,EAAE,uBAAuB,CAAC;IACzC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9C,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,IAAI,CAAC,EAAE,wBAAwB,GAAG,MAAM,CAAC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,sBAAuB,SAAQ,KAAK;aAE7B,IAAI,EAAE,gBAAgB,GAAG,cAAc,GAAG,cAAc,GAAG,mBAAmB;gBAA9E,IAAI,EAAE,gBAAgB,GAAG,cAAc,GAAG,cAAc,GAAG,mBAAmB,EAC9F,OAAO,EAAE,MAAM;CAKlB;AAED,MAAM,WAAW,aAAc,SAAQ,kBAAkB;IACvD,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACzC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3F,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAChG,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9E,kBAAkB,IAAI,uBAAuB,CAAC;IAC9C,mBAAmB,CACjB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,oBAAoB,GAC5B,iCAAiC,CAAC;IACrC,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,yBAAyB,GACjC,8BAA8B,CAAC;IAClC,iBAAiB,CAAC,MAAM,CAAC,EAAE,2BAA2B,GAAG,gCAAgC,CAAC;IAC1F,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,wBAAwB,CAAC;IACtE,oBAAoB,IAAI,eAAe,EAAE,CAAC;IAC1C,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,CAAC;CACvF;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAA0B,SAAQ,oBAAoB;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,EAAE,aAAa,CAAC;IACxB,SAAS,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,OAAO,EAAE,IAAI,CAAC,sBAAsB,EAAE,aAAa,GAAG,QAAQ,GAAG,UAAU,CAAC,CAAC;CAC9E;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,SAAS,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,cAAc,CAAC,MAAM,EAAE,yBAAyB,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxF,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,yBAAyB,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnF,kBAAkB,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACtG,mBAAmB,CACjB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,oBAAoB,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7D,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC9C,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,yBAAyB,GAAG;QAAE,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAClD,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC3C,iBAAiB,CAAC,MAAM,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAAC;IACnG,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC/E,oBAAoB,CAAC,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IACrF,eAAe,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAClE,SAAS,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC/F,QAAQ,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACrE,YAAY,CAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC7D,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC7E;AAED,MAAM,WAAW,kCAAkC;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,aAAa,CAAC;IACxB,SAAS,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,kBAAkB,CAAC;IAClD,cAAc,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC;IAC7C,iBAAiB,EAAE,MAAM,IAAI,CAC3B,sBAAsB,EACtB,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,WAAW,CACpD,CAAC;IACF,gBAAgB,EAAE,MAAM,OAAO,CAC7B,IAAI,CAAC,sBAAsB,EAAE,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAC,CAClF,CAAC;CACH;AAED,MAAM,WAAW,4BAA4B;IAC3C,sFAAsF;IACtF,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;CACpC;AA6fD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,CAuE5E;AAMD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,kBAAkB,EACzB,OAAO,GAAE,4BAAiC,GACzC,MAAM,EAAE,CA0CV;AAMD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,0BAA0B,GAAG,oBAAoB,CA+MnG;AAED;;;GAGG;AACH,wBAAsB,qCAAqC,CACzD,OAAO,EAAE,kCAAkC,GAC1C,OAAO,CAAC,oBAAoB,CAAC,CAoB/B"}
|