From fb57c7052f0129f2b313fecac9ef44ce3f92f9d0 Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Wed, 26 Aug 2020 08:37:47 -0700 Subject: [PATCH 1/3] Use a correct Object.entries polyfill Fixes #40243 --- src/compiler/core.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/compiler/core.ts b/src/compiler/core.ts index 753af89b59015..62f6e3eec109c 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -1307,8 +1307,8 @@ namespace ts { const _entries = Object.entries ? Object.entries : (obj: MapLike) => { const keys = getOwnKeys(obj); const result: [string, T][] = Array(keys.length); - for (const key of keys) { - result.push([key, obj[key]]); + for (let i = 0; i < keys.length; i++) { + result[i] = [keys[i], obj[keys[i]]]; } return result; }; From a9ab0a676d89804599ed26788cd79d8ed235f314 Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Thu, 27 Aug 2020 21:14:01 -0700 Subject: [PATCH 2/3] Update src/compiler/core.ts Co-authored-by: Daniel Rosenwasser --- src/compiler/core.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/core.ts b/src/compiler/core.ts index 62f6e3eec109c..b565a076d9c56 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -1304,7 +1304,7 @@ namespace ts { return values; } - const _entries = Object.entries ? Object.entries : (obj: MapLike) => { + const _entries = Object.entries || (obj: MapLike) => { const keys = getOwnKeys(obj); const result: [string, T][] = Array(keys.length); for (let i = 0; i < keys.length; i++) { From d11fef6faf5cde152ffe5ac2d935aa042d4784b6 Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Thu, 27 Aug 2020 21:18:34 -0700 Subject: [PATCH 3/3] Added parentheses, DANIEL. --- src/compiler/core.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/compiler/core.ts b/src/compiler/core.ts index b565a076d9c56..c5bdaf50c5ebc 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -1304,14 +1304,14 @@ namespace ts { return values; } - const _entries = Object.entries || (obj: MapLike) => { + const _entries = Object.entries || ((obj: MapLike) => { const keys = getOwnKeys(obj); const result: [string, T][] = Array(keys.length); for (let i = 0; i < keys.length; i++) { result[i] = [keys[i], obj[keys[i]]]; } return result; - }; + }); export function getEntries(obj: MapLike): [string, T][] { return obj ? _entries(obj) : [];