From 28c4871c99229c0243d20bf7316bb3a77e30c614 Mon Sep 17 00:00:00 2001 From: Andy Date: Thu, 8 Feb 2018 09:45:43 -0800 Subject: [PATCH] hasSameKeys: Simplify and optimize for identical maps (#21763) --- src/compiler/builder.ts | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/compiler/builder.ts b/src/compiler/builder.ts index 886a2194bd9..121609db104 100644 --- a/src/compiler/builder.ts +++ b/src/compiler/builder.ts @@ -41,15 +41,9 @@ namespace ts { program: Program; } - function hasSameKeys(map1: ReadonlyMap | undefined, map2: ReadonlyMap | undefined) { - if (map1 === undefined) { - return map2 === undefined; - } - if (map2 === undefined) { - return map1 === undefined; - } + function hasSameKeys(map1: ReadonlyMap | undefined, map2: ReadonlyMap | undefined): boolean { // Has same size and every key is present in both maps - return map1.size === map2.size && !forEachKey(map1, key => !map2.has(key)); + return map1 as ReadonlyMap === map2 || map1 && map2 && map1.size === map2.size && !forEachKey(map1, key => !map2.has(key)); } /**