Skip to content

Commit 4bba29b

Browse files
committed
use Set before converting to an array to avoid potential duplicates
1 parent d095ccd commit 4bba29b

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

src/compiler/checker.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9268,7 +9268,13 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
92689268
let exports = arrayFrom(getExportsOfSymbol(symbol).values());
92699269
const merged = getMergedSymbol(symbol);
92709270
if (merged !== symbol) {
9271-
exports = concatenate(exports, filter(arrayFrom(getExportsOfSymbol(merged).values()), m => !(getSymbolFlags(resolveSymbol(m)) & SymbolFlags.Value)));
9271+
const membersSet = new Set(exports);
9272+
for (const exported of getExportsOfSymbol(merged).values()) {
9273+
if (!(getSymbolFlags(resolveSymbol(exported)) & SymbolFlags.Value)) {
9274+
membersSet.add(exported);
9275+
}
9276+
}
9277+
exports = arrayFrom(membersSet);
92729278
}
92739279
return filter(exports, m => isNamespaceMember(m) && isIdentifierText(m.escapedName as string, ScriptTarget.ESNext));
92749280
}

0 commit comments

Comments
 (0)