diff options
Diffstat (limited to 'node_modules/es5-ext/object/entries')
| -rw-r--r-- | node_modules/es5-ext/object/entries/implement.js | 10 | ||||
| -rw-r--r-- | node_modules/es5-ext/object/entries/index.js | 3 | ||||
| -rw-r--r-- | node_modules/es5-ext/object/entries/is-implemented.js | 9 | ||||
| -rw-r--r-- | node_modules/es5-ext/object/entries/shim.js | 14 |
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; +}; |
