@pvh-afl/core 1.0.14 → 1.0.15
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.mapper.d.ts","sourceRoot":"","sources":["../../../src/integrations/search/search.mapper.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,aAAa,
|
|
1
|
+
{"version":3,"file":"search.mapper.d.ts","sourceRoot":"","sources":["../../../src/integrations/search/search.mapper.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,aAAa,EAEd,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,aAAa,EACb,sBAAsB,EAOtB,kBAAkB,EAEnB,MAAM,gBAAgB,CAAC;AA6IxB;;GAEG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,YAAY,EAC1B,MAAM,GAAE,kBAA0C,GACjD,aAAa,CAgEf;AAmBD;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAClD,WAAW,GAAE,MAAU,EACvB,oBAAoB,GAAE,MAAW,EACjC,MAAM,GAAE,kBAA0C,GACjD,sBAAsB,CAYxB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,YAAY,EAAE,EAC7B,MAAM,GAAE,kBAA0C,GACjD,aAAa,EAAE,CAEjB"}
|
|
@@ -12,11 +12,13 @@ exports.mapWizzyProducts = mapWizzyProducts;
|
|
|
12
12
|
const search_types_1 = require("./search.types");
|
|
13
13
|
/**
|
|
14
14
|
* Extract handle from Wizzy product URL
|
|
15
|
-
* Example: "/products/blue-shirt" -> "blue-shirt"
|
|
15
|
+
* Example: "/products/blue-shirt?variant=123" -> "blue-shirt"
|
|
16
16
|
*/
|
|
17
17
|
function extractHandle(url) {
|
|
18
|
+
// Strip query params first
|
|
19
|
+
const urlWithoutQuery = url.split('?')[0];
|
|
18
20
|
// Remove leading slash and extract last segment
|
|
19
|
-
const segments =
|
|
21
|
+
const segments = urlWithoutQuery.replace(/^\/+|\/+$/g, '').split('/');
|
|
20
22
|
return segments[segments.length - 1] || url;
|
|
21
23
|
}
|
|
22
24
|
/**
|
|
@@ -71,7 +73,7 @@ function buildOptions(product) {
|
|
|
71
73
|
*/
|
|
72
74
|
function buildVariants(product, config) {
|
|
73
75
|
const variants = [];
|
|
74
|
-
const { colors, sizes,
|
|
76
|
+
const { colors, sizes, sellingPrice, price } = product;
|
|
75
77
|
// If no colors or sizes, create a single default variant
|
|
76
78
|
if ((!colors || colors.length === 0) && (!sizes || sizes.length === 0)) {
|
|
77
79
|
return [
|
|
@@ -80,8 +82,8 @@ function buildVariants(product, config) {
|
|
|
80
82
|
title: 'Default',
|
|
81
83
|
availableForSale: product.inStock,
|
|
82
84
|
quantityAvailable: null, // Not provided by Wizzy list endpoint
|
|
83
|
-
price: createMoney(
|
|
84
|
-
compareAtPrice: price >
|
|
85
|
+
price: createMoney(sellingPrice, config.currencyCode),
|
|
86
|
+
compareAtPrice: price > sellingPrice ? createMoney(price, config.currencyCode) : null,
|
|
85
87
|
selectedOptions: [],
|
|
86
88
|
image: product.mainImage
|
|
87
89
|
? createImage(product.mainImage, config, product.name)
|
|
@@ -110,8 +112,8 @@ function buildVariants(product, config) {
|
|
|
110
112
|
title: color.value === 'Default' ? 'Default' : color.value,
|
|
111
113
|
availableForSale: isAvailable,
|
|
112
114
|
quantityAvailable: null,
|
|
113
|
-
price: createMoney(
|
|
114
|
-
compareAtPrice: price >
|
|
115
|
+
price: createMoney(sellingPrice, config.currencyCode),
|
|
116
|
+
compareAtPrice: price > sellingPrice ? createMoney(price, config.currencyCode) : null,
|
|
115
117
|
selectedOptions,
|
|
116
118
|
image: product.mainImage
|
|
117
119
|
? createImage(product.mainImage, config, `${product.name} - ${color.value}`)
|
|
@@ -125,10 +127,10 @@ function buildVariants(product, config) {
|
|
|
125
127
|
*/
|
|
126
128
|
function mapWizzyProduct(wizzyProduct, config = search_types_1.DEFAULT_MAPPER_CONFIG) {
|
|
127
129
|
const handle = extractHandle(wizzyProduct.url);
|
|
128
|
-
// Build price range
|
|
130
|
+
// Build price range using sellingPrice (current price) and price (original/compare at)
|
|
129
131
|
const priceRange = {
|
|
130
|
-
minVariantPrice: createMoney(wizzyProduct.
|
|
131
|
-
maxVariantPrice: createMoney(
|
|
132
|
+
minVariantPrice: createMoney(wizzyProduct.sellingPrice, config.currencyCode),
|
|
133
|
+
maxVariantPrice: createMoney(wizzyProduct.price, config.currencyCode),
|
|
132
134
|
};
|
|
133
135
|
// Build images array
|
|
134
136
|
const images = [];
|
|
@@ -183,6 +185,21 @@ function mapWizzyProduct(wizzyProduct, config = search_types_1.DEFAULT_MAPPER_CO
|
|
|
183
185
|
wizzyUrl: wizzyProduct.url,
|
|
184
186
|
};
|
|
185
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
* Facet keys to exclude from response (internal/duplicate keys)
|
|
190
|
+
*/
|
|
191
|
+
const EXCLUDED_FACET_KEYS = new Set([
|
|
192
|
+
'product_men_sortOrder',
|
|
193
|
+
'product_variant_discounts',
|
|
194
|
+
'product_tags',
|
|
195
|
+
'product_Color', // Duplicate of 'colors'
|
|
196
|
+
]);
|
|
197
|
+
/**
|
|
198
|
+
* Filter out internal/junk facets
|
|
199
|
+
*/
|
|
200
|
+
function filterFacets(facets) {
|
|
201
|
+
return facets.filter((facet) => !EXCLUDED_FACET_KEYS.has(facet.key));
|
|
202
|
+
}
|
|
186
203
|
/**
|
|
187
204
|
* Map a full Wizzy products response to SearchProductsResponse
|
|
188
205
|
*/
|
|
@@ -195,7 +212,7 @@ function mapWizzyProductsResponse(wizzyResponse, requestPage = 1, requestProduct
|
|
|
195
212
|
currentPage: requestPage,
|
|
196
213
|
productsPerPage: requestProductsCount,
|
|
197
214
|
hasExactMatch: payload.hasExactMatch ?? false,
|
|
198
|
-
facets: payload.facets ?? [],
|
|
215
|
+
facets: filterFacets(payload.facets ?? []),
|
|
199
216
|
};
|
|
200
217
|
}
|
|
201
218
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.mapper.js","sourceRoot":"","sources":["../../../src/integrations/search/search.mapper.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"search.mapper.js","sourceRoot":"","sources":["../../../src/integrations/search/search.mapper.ts"],"names":[],"mappings":"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"}
|