13 lines
442 B
JavaScript
13 lines
442 B
JavaScript
const getType = (value) => (Object.prototype.toString.call(value).slice(8, -1).toLowerCase());
|
|
function isPlainObject(value) {
|
|
if (getType(value) !== "object") {
|
|
return false;
|
|
}
|
|
const pp = Object.getPrototypeOf(value);
|
|
if (pp === null || pp === undefined) {
|
|
return true;
|
|
}
|
|
const Ctor = pp.constructor && pp.constructor.toString();
|
|
return Ctor === Object.toString();
|
|
}
|
|
export default isPlainObject;
|