summaryrefslogtreecommitdiff
path: root/tools/node_modules/eslint/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js
diff options
context:
space:
mode:
Diffstat (limited to 'tools/node_modules/eslint/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js')
-rw-r--r--tools/node_modules/eslint/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js8
1 files changed, 5 insertions, 3 deletions
diff --git a/tools/node_modules/eslint/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js b/tools/node_modules/eslint/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js
index 3d3347bb91..c2335205d4 100644
--- a/tools/node_modules/eslint/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js
+++ b/tools/node_modules/eslint/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js
@@ -8,7 +8,8 @@ var _generated = require("../../validators/generated");
function getQualifiedName(node) {
return (0, _generated.isIdentifier)(node) ? node.name : `${node.id.name}.${getQualifiedName(node.qualification)}`;
}
-function removeTypeDuplicates(nodes) {
+function removeTypeDuplicates(nodesIn) {
+ const nodes = Array.from(nodesIn);
const generics = new Map();
const bases = new Map();
const typeGroups = new Set();
@@ -28,7 +29,7 @@ function removeTypeDuplicates(nodes) {
}
if ((0, _generated.isUnionTypeAnnotation)(node)) {
if (!typeGroups.has(node.types)) {
- nodes = nodes.concat(node.types);
+ nodes.push(...node.types);
typeGroups.add(node.types);
}
continue;
@@ -39,7 +40,8 @@ function removeTypeDuplicates(nodes) {
let existing = generics.get(name);
if (existing.typeParameters) {
if (node.typeParameters) {
- existing.typeParameters.params = removeTypeDuplicates(existing.typeParameters.params.concat(node.typeParameters.params));
+ existing.typeParameters.params.push(...node.typeParameters.params);
+ existing.typeParameters.params = removeTypeDuplicates(existing.typeParameters.params);
}
} else {
existing = node.typeParameters;