UNPKG

837 BJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var is_object_like_1 = require("./is-object-like");
4var is_type_1 = require("./is-type");
5var isPlainObject = function (value) {
6 /**
7 * isObjectLike(new Foo) => false
8 * isObjectLike([1, 2, 3]) => false
9 * isObjectLike({ x: 0, y: 0 }) => true
10 * isObjectLike(Object.create(null)) => true
11 */
12 if (!is_object_like_1.default(value) || !is_type_1.default(value, 'Object')) {
13 return false;
14 }
15 if (Object.getPrototypeOf(value) === null) {
16 return true;
17 }
18 var proto = value;
19 while (Object.getPrototypeOf(proto) !== null) {
20 proto = Object.getPrototypeOf(proto);
21 }
22 return Object.getPrototypeOf(value) === proto;
23};
24exports.default = isPlainObject;
25//# sourceMappingURL=is-plain-object.js.map
\No newline at end of file