diff options
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.js | 8 |
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; |