UNPKG

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