mirror of
https://github.com/hanzoai/es5-ext.git
synced 2026-09-24 16:58:43 +00:00
feat: add Object.entries
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
"use strict";
|
||||
|
||||
if (!require("./is-implemented")()) {
|
||||
Object.defineProperty(Object, "entries", {
|
||||
value: require("./shim"),
|
||||
configurable: true,
|
||||
enumerable: false,
|
||||
writable: true
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
"use strict";
|
||||
|
||||
module.exports = require("./is-implemented")() ? Object.entries : require("./shim");
|
||||
@@ -0,0 +1,9 @@
|
||||
"use strict";
|
||||
|
||||
module.exports = function () {
|
||||
try {
|
||||
return Object.entries({ foo: 12 })[0][0] === "foo";
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
@@ -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;
|
||||
};
|
||||
@@ -18,6 +18,7 @@ module.exports = {
|
||||
ensurePlainFunction: require("./ensure-plain-function"),
|
||||
ensurePromise: require("./ensure-promise"),
|
||||
ensureThenable: require("./ensure-thenable"),
|
||||
entries: require("./entries"),
|
||||
eq: require("./eq"),
|
||||
every: require("./every"),
|
||||
filter: require("./filter"),
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
"use strict";
|
||||
|
||||
var isImplemented = require("../../../object/entries/is-implemented");
|
||||
|
||||
module.exports = function (a) { a(isImplemented(), true); };
|
||||
@@ -0,0 +1,3 @@
|
||||
"use strict";
|
||||
|
||||
module.exports = require("./shim");
|
||||
@@ -0,0 +1,5 @@
|
||||
"use strict";
|
||||
|
||||
module.exports = function (t, a) {
|
||||
a(typeof t(), "boolean");
|
||||
};
|
||||
@@ -0,0 +1,8 @@
|
||||
"use strict";
|
||||
|
||||
module.exports = function (t, a) {
|
||||
a.deep(t({ foo: "bar" }), [["foo", "bar"]], "Object");
|
||||
a.deep(t("raz"), [["0", "r"], ["1", "a"], ["2", "z"]], "Primitive");
|
||||
a.throws(function () { t(); }, TypeError, "Undefined");
|
||||
a.throws(function () { t(null); }, TypeError, "Undefined");
|
||||
};
|
||||
Reference in New Issue
Block a user