@factorypure/client-helpers 1.0.12 → 1.0.13
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/dist/index.js +21 -10
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -75,6 +75,9 @@ export const filterScrapeResults = ({ scrapeResults, variant, filters, filterOpt
|
|
|
75
75
|
if (filterOptions.duplicates_filter_enabled) {
|
|
76
76
|
filteredResults = filterDuplicateResults(filteredResults);
|
|
77
77
|
}
|
|
78
|
+
if (filterOptions.skip_skus_enabled) {
|
|
79
|
+
filteredResults = filterSkuResults(filteredResults, filters, variant);
|
|
80
|
+
}
|
|
78
81
|
if (filterOptions.search_index_enabled) {
|
|
79
82
|
filteredResults = handleIndexSearch(filteredResults, filters, variant, filterOptions);
|
|
80
83
|
}
|
|
@@ -105,12 +108,6 @@ const handleIndexSearch = (dataToSearch, filters, variant, filterOptions) => {
|
|
|
105
108
|
});
|
|
106
109
|
const searchTerms = filters.match_values;
|
|
107
110
|
const nots = [];
|
|
108
|
-
if (filters.skip_skus.length && filterOptions.skip_skus_enabled) {
|
|
109
|
-
const formatted = filters.skip_skus
|
|
110
|
-
.filter((sku) => sku.toLowerCase() !== variant.sku.toLowerCase())
|
|
111
|
-
.map((sku) => `${sku.toLowerCase()}`);
|
|
112
|
-
nots.push(...formatted);
|
|
113
|
-
}
|
|
114
111
|
if (filters.skip_vendors.length && filterOptions.skip_vendors_enabled) {
|
|
115
112
|
const formatted = filters.skip_vendors
|
|
116
113
|
.filter((vendor) => vendor.toLowerCase() !== variant.vendor.toLowerCase())
|
|
@@ -135,10 +132,6 @@ const handleIndexSearch = (dataToSearch, filters, variant, filterOptions) => {
|
|
|
135
132
|
filterOptions.search_exclusions_enabled) {
|
|
136
133
|
nots.push(...filters.search_exclusions);
|
|
137
134
|
}
|
|
138
|
-
if (filters.vendor_search_exclusions.length &&
|
|
139
|
-
filterOptions.skip_skus_enabled) {
|
|
140
|
-
nots.push(...filters.vendor_search_exclusions.filter((sku) => sku.toLowerCase() !== variant.sku.toLowerCase()));
|
|
141
|
-
}
|
|
142
135
|
if (title.toLowerCase().includes("dual fuel")) {
|
|
143
136
|
// nots.push('tri fuel', 'trifuel', 'tri-fuel')
|
|
144
137
|
}
|
|
@@ -280,6 +273,24 @@ const filterDuplicateResults = (results) => {
|
|
|
280
273
|
const filtered = Object.values(filteredUniqueResultsMap);
|
|
281
274
|
return filtered;
|
|
282
275
|
};
|
|
276
|
+
const filterSkuResults = (results, filters, variant) => {
|
|
277
|
+
const skips = [
|
|
278
|
+
...filters.skip_skus
|
|
279
|
+
.filter((sku) => sku.toLowerCase() !== variant.sku.toLowerCase())
|
|
280
|
+
.map((sku) => sku.toLowerCase()),
|
|
281
|
+
...filters.vendor_search_exclusions.map((exclusion) => exclusion.toLowerCase()),
|
|
282
|
+
];
|
|
283
|
+
const filtered = results.filter((item) => {
|
|
284
|
+
const lowerTitle = item.title.toLowerCase();
|
|
285
|
+
for (const skip of skips) {
|
|
286
|
+
if (skip && lowerTitle.includes(skip)) {
|
|
287
|
+
return false;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
return true;
|
|
291
|
+
});
|
|
292
|
+
return filtered;
|
|
293
|
+
};
|
|
283
294
|
export const calculateIgnoreStatus = (result, variant, result_ignore_keys) => {
|
|
284
295
|
let ignore = false;
|
|
285
296
|
const resultKey = `${variant.id}-${result.title}-${result.extracted_price}-${result.source}`;
|