aboutsummaryrefslogtreecommitdiff
path: root/node_modules/es5-ext/object/entries
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/es5-ext/object/entries')
-rw-r--r--node_modules/es5-ext/object/entries/implement.js10
-rw-r--r--node_modules/es5-ext/object/entries/index.js3
-rw-r--r--node_modules/es5-ext/object/entries/is-implemented.js9
-rw-r--r--node_modules/es5-ext/object/entries/shim.js14
4 files changed, 36 insertions, 0 deletions
diff --git a/node_modules/es5-ext/object/entries/implement.js b/node_modules/es5-ext/object/entries/implement.js
new file mode 100644
index 00000000..5c2a246d
--- /dev/null
+++ b/node_modules/es5-ext/object/entries/implement.js
@@ -0,0 +1,10 @@
+"use strict";
+
+if (!require("./is-implemented")()) {
+ Object.defineProperty(Object, "entries", {
+ value: require("./shim"),
+ configurable: true,
+ enumerable: false,
+ writable: true
+ });
+}
diff --git a/node_modules/es5-ext/object/entries/index.js b/node_modules/es5-ext/object/entries/index.js
new file mode 100644
index 00000000..4a297d6a
--- /dev/null
+++ b/node_modules/es5-ext/object/entries/index.js
@@ -0,0 +1,3 @@
+"use strict";
+
+module.exports = require("./is-implemented")() ? Object.entries : require("./shim");
diff --git a/node_modules/es5-ext/object/entries/is-implemented.js b/node_modules/es5-ext/object/entries/is-implemented.js
new file mode 100644
index 00000000..e13c2e65
--- /dev/null
+++ b/node_modules/es5-ext/object/entries/is-implemented.js
@@ -0,0 +1,9 @@
+"use strict";
+
+module.exports = function () {
+ try {
+ return Object.entries({ foo: 12 })[0][0] === "foo";
+ } catch (e) {
+ return false;
+ }
+};
diff --git a/node_modules/es5-ext/object/entries/shim.js b/node_modules/es5-ext/object/entries/shim.js
new file mode 100644
index 00000000..2348e446
--- /dev/null
+++ b/node_modules/es5-ext/object/entries/shim.js
@@ -0,0 +1,14 @@
+"use strict";
+
+var ensureValue = require("../valid-value");
+
+module.exports = function (object) {
+ ensureValue(object);
+ var result = [];
+ object = Object(object);
+ for (var key in object) {
+ if (!propertyIsEnumerable.call(object, key)) continue;
+ result.push([key, object[key]]);
+ }
+ return result;
+};