From 16fa9dc4ea057fb975fa9e32e6a0773752166070 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Thu, 6 Aug 2020 14:36:16 +0200 Subject: [PATCH] Add support for `Object.fromEntries` This provides a simpler way of creating an `Object` from e.g. a `Map`, without having to manually iterate over it. Please see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/fromEntries --- src/display/metadata.js | 6 +----- src/shared/compatibility.js | 9 +++++++++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/display/metadata.js b/src/display/metadata.js index 3ce5bdbd3d843..995518aaf5292 100644 --- a/src/display/metadata.js +++ b/src/display/metadata.js @@ -118,11 +118,7 @@ class Metadata { } getAll() { - const obj = Object.create(null); - for (const [key, value] of this._metadataMap) { - obj[key] = value; - } - return obj; + return Object.fromEntries(this._metadataMap); } has(name) { diff --git a/src/shared/compatibility.js b/src/shared/compatibility.js index f3d2088998d87..1f8697fd2c4aa 100644 --- a/src/shared/compatibility.js +++ b/src/shared/compatibility.js @@ -197,6 +197,15 @@ if ( require("core-js/es/object/assign.js"); })(); + // Provides support for Object.fromEntries in legacy browsers. + // Support: IE, Chrome<73 + (function checkObjectFromEntries() { + if (Object.fromEntries) { + return; + } + require("core-js/es/object/from-entries.js"); + })(); + // Provides support for Math.log2 in legacy browsers. // Support: IE, Chrome<38 (function checkMathLog2() {