Skip to content

Commit db090de

Browse files
dhayabHaroenv
andcommitted
refactor: remove obsolete polyfills (#6417)
* refactor: remove findIndex polyfill * refactor: remove object spread polyfill * refactor: remove find and findIndex polyfill --------- Co-authored-by: Haroen Viaene <[email protected]>
1 parent b4b4a94 commit db090de

File tree

19 files changed

+162
-293
lines changed

19 files changed

+162
-293
lines changed

packages/algoliasearch-helper/src/SearchParameters/index.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
'use strict';
22

33
var defaultsPure = require('../functions/defaultsPure');
4-
var find = require('../functions/find');
54
var intersection = require('../functions/intersection');
65
var merge = require('../functions/merge');
76
var objectHasKeys = require('../functions/objectHasKeys');
@@ -42,7 +41,10 @@ function isEqualNumericRefinement(a, b) {
4241
* @return {any} the searched value or undefined
4342
*/
4443
function findArray(array, searchedValue) {
45-
return find(array, function (currentValue) {
44+
if (!Array.isArray(array)) {
45+
return undefined;
46+
}
47+
return array.find(function (currentValue) {
4648
return isEqualNumericRefinement(currentValue, searchedValue);
4749
});
4850
}
@@ -1628,7 +1630,7 @@ SearchParameters.prototype = {
16281630
* @return {object} a hierarchicalFacet
16291631
*/
16301632
getHierarchicalFacetByName: function (hierarchicalFacetName) {
1631-
return find(this.hierarchicalFacets, function (f) {
1633+
return this.hierarchicalFacets.find(function (f) {
16321634
return f.name === hierarchicalFacetName;
16331635
});
16341636
},

packages/algoliasearch-helper/src/SearchResults/generate-hierarchical-tree.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
module.exports = generateTrees;
44

55
var fv = require('../functions/escapeFacetValue');
6-
var find = require('../functions/find');
76
var prepareHierarchicalFacetSortBy = require('../functions/formatSort');
87
var orderBy = require('../functions/orderBy');
98
var escapeFacetValue = fv.escapeFacetValue;
@@ -82,7 +81,7 @@ function generateHierarchicalTree(
8281
* @type {object[]]} hierarchical data
8382
*/
8483
var data = parent && Array.isArray(parent.data) ? parent.data : [];
85-
parent = find(data, function (subtree) {
84+
parent = data.find(function (subtree) {
8685
return subtree.isRefined;
8786
});
8887
level++;

packages/algoliasearch-helper/src/SearchResults/index.js

Lines changed: 18 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
var compact = require('../functions/compact');
44
var defaultsPure = require('../functions/defaultsPure');
55
var fv = require('../functions/escapeFacetValue');
6-
var find = require('../functions/find');
7-
var findIndex = require('../functions/findIndex');
86
var formatSort = require('../functions/formatSort');
97
var orderBy = require('../functions/orderBy');
108
var escapeFacetValue = fv.escapeFacetValue;
@@ -89,13 +87,12 @@ function findMatchingHierarchicalFacetFromAttributeName(
8987
hierarchicalFacets,
9088
hierarchicalAttributeName
9189
) {
92-
return find(
93-
hierarchicalFacets,
94-
function facetKeyMatchesAttribute(hierarchicalFacet) {
95-
var facetNames = hierarchicalFacet.attributes || [];
96-
return facetNames.indexOf(hierarchicalAttributeName) > -1;
97-
}
98-
);
90+
return hierarchicalFacets.find(function facetKeyMatchesAttribute(
91+
hierarchicalFacet
92+
) {
93+
var facetNames = hierarchicalFacet.attributes || [];
94+
return facetNames.indexOf(hierarchicalAttributeName) > -1;
95+
});
9996
}
10097

10198
/**
@@ -439,7 +436,7 @@ function SearchResults(state, results, options) {
439436
// Place the hierarchicalFacet data at the correct index depending on
440437
// the attributes order that was defined at the helper initialization
441438
var facetIndex = hierarchicalFacet.attributes.indexOf(facetKey);
442-
var idxAttributeName = findIndex(state.hierarchicalFacets, function (f) {
439+
var idxAttributeName = state.hierarchicalFacets.findIndex(function (f) {
443440
return f.name === hierarchicalFacet.name;
444441
});
445442
self.hierarchicalFacets[idxAttributeName][facetIndex] = {
@@ -497,11 +494,10 @@ function SearchResults(state, results, options) {
497494
var position;
498495

499496
if (hierarchicalFacet) {
500-
position = findIndex(state.hierarchicalFacets, function (f) {
497+
position = state.hierarchicalFacets.findIndex(function (f) {
501498
return f.name === hierarchicalFacet.name;
502499
});
503-
var attributeIndex = findIndex(
504-
self.hierarchicalFacets[position],
500+
var attributeIndex = self.hierarchicalFacets[position].findIndex(
505501
function (f) {
506502
return f.attribute === dfacet;
507503
}
@@ -579,11 +575,10 @@ function SearchResults(state, results, options) {
579575

580576
Object.keys(facets).forEach(function (dfacet) {
581577
var facetResults = facets[dfacet];
582-
var position = findIndex(state.hierarchicalFacets, function (f) {
578+
var position = state.hierarchicalFacets.findIndex(function (f) {
583579
return f.name === hierarchicalFacet.name;
584580
});
585-
var attributeIndex = findIndex(
586-
self.hierarchicalFacets[position],
581+
var attributeIndex = self.hierarchicalFacets[position].findIndex(
587582
function (f) {
588583
return f.attribute === dfacet;
589584
}
@@ -674,7 +669,7 @@ function extractNormalizedFacetValues(results, attribute) {
674669
}
675670

676671
if (results._state.isConjunctiveFacet(attribute)) {
677-
var facet = find(results.facets, predicate);
672+
var facet = results.facets.find(predicate);
678673
if (!facet) return [];
679674

680675
return Object.keys(facet.data).map(function (name) {
@@ -688,7 +683,7 @@ function extractNormalizedFacetValues(results, attribute) {
688683
};
689684
});
690685
} else if (results._state.isDisjunctiveFacet(attribute)) {
691-
var disjunctiveFacet = find(results.disjunctiveFacets, predicate);
686+
var disjunctiveFacet = results.disjunctiveFacets.find(predicate);
692687
if (!disjunctiveFacet) return [];
693688

694689
return Object.keys(disjunctiveFacet.data).map(function (name) {
@@ -701,7 +696,7 @@ function extractNormalizedFacetValues(results, attribute) {
701696
};
702697
});
703698
} else if (results._state.isHierarchicalFacet(attribute)) {
704-
var hierarchicalFacetValues = find(results.hierarchicalFacets, predicate);
699+
var hierarchicalFacetValues = results.hierarchicalFacets.find(predicate);
705700
if (!hierarchicalFacetValues) return hierarchicalFacetValues;
706701

707702
var hierarchicalFacet =
@@ -979,7 +974,7 @@ SearchResults.prototype.getFacetStats = function (attribute) {
979974
* @return {object|undefined} The stats of the facet
980975
*/
981976
function getFacetStatsIfAvailable(facetList, facetName) {
982-
var data = find(facetList, function (facet) {
977+
var data = facetList.find(function (facet) {
983978
return facet.name === facetName;
984979
});
985980
return data && data.stats;
@@ -1088,7 +1083,7 @@ SearchResults.prototype.getRefinements = function () {
10881083
* @return {Refinement} the refinement
10891084
*/
10901085
function getRefinement(state, type, attributeName, name, resultsFacets) {
1091-
var facet = find(resultsFacets, function (f) {
1086+
var facet = resultsFacets.find(function (f) {
10921087
return f.name === attributeName;
10931088
});
10941089
var count = facet && facet.data && facet.data[name] ? facet.data[name] : 0;
@@ -1114,14 +1109,14 @@ function getHierarchicalRefinement(state, attributeName, name, resultsFacets) {
11141109
var facetDeclaration = state.getHierarchicalFacetByName(attributeName);
11151110
var separator = state._getHierarchicalFacetSeparator(facetDeclaration);
11161111
var split = name.split(separator);
1117-
var rootFacet = find(resultsFacets, function (facet) {
1112+
var rootFacet = resultsFacets.find(function (facet) {
11181113
return facet.name === attributeName;
11191114
});
11201115

11211116
var facet = split.reduce(function (intermediateFacet, part) {
11221117
var newFacet =
11231118
intermediateFacet &&
1124-
find(intermediateFacet.data, function (f) {
1119+
intermediateFacet.data.find(function (f) {
11251120
return f.name === part;
11261121
});
11271122
return newFacet !== undefined ? newFacet : intermediateFacet;

packages/algoliasearch-helper/src/functions/find.js

Lines changed: 0 additions & 16 deletions
This file was deleted.

packages/algoliasearch-helper/src/functions/findIndex.js

Lines changed: 0 additions & 15 deletions
This file was deleted.

packages/algoliasearch-helper/src/functions/formatSort.js

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
'use strict';
22

3-
var find = require('./find');
4-
53
/**
64
* Transform sort format from user friendly notation to lodash format
75
* @param {string[]} sortBy array of predicate of the form "attribute:order"
@@ -17,12 +15,11 @@ module.exports = function formatSort(sortBy, defaults) {
1715
function preparePredicate(out, sort) {
1816
var sortInstruction = sort.split(':');
1917

20-
var matchingDefault = find(
21-
defaultInstructions,
22-
function (defaultInstruction) {
23-
return defaultInstruction[0] === sortInstruction[0];
24-
}
25-
);
18+
var matchingDefault = defaultInstructions.find(function (
19+
defaultInstruction
20+
) {
21+
return defaultInstruction[0] === sortInstruction[0];
22+
});
2623

2724
if (sortInstruction.length > 1 || !matchingDefault) {
2825
out[0].push(sortInstruction[0]);

packages/algoliasearch-helper/src/utils/sortAndMergeRecommendations.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
'use strict';
22

3-
var find = require('../functions/find');
43
var flat = require('../functions/flat');
54

65
function getAverageIndices(indexTracker, nrOfObjs) {
@@ -43,7 +42,7 @@ function sortAndMergeRecommendations(results) {
4342
orderedHits,
4443
avgIndexRef
4544
) {
46-
var result = find(flat(results), function (hit) {
45+
var result = flat(results).find(function (hit) {
4746
return hit.objectID === avgIndexRef.objectID;
4847
});
4948
return result ? orderedHits.concat(result) : orderedHits;

packages/algoliasearch-helper/test/spec/functions/find.js

Lines changed: 0 additions & 39 deletions
This file was deleted.

packages/algoliasearch-helper/test/spec/functions/findIndex.js

Lines changed: 0 additions & 39 deletions
This file was deleted.

packages/instantsearch-core/src/lib/utils/mergeSearchParameters.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ const mergeDisjunctiveFacets: Merger = (left, right) =>
3838
const mergeHierarchicalFacets: Merger = (left, right) =>
3939
left.setQueryParameters({
4040
hierarchicalFacets: right.hierarchicalFacets.reduce((facets, facet) => {
41-
const index = facets.findIndex((_) => _.name === facet.name);
41+
const index = facets.findIndex(({ name }) => name === facet.name);
4242

4343
if (index === -1) {
4444
return facets.concat(facet);

0 commit comments

Comments
 (0)