@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.
Files changed (2) hide show
  1. package/dist/index.js +21 -10
  2. 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}`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@factorypure/client-helpers",
3
- "version": "1.0.12",
3
+ "version": "1.0.13",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",