verificator
Version:
Client and server-side validation JavaScript library
17 lines (16 loc) • 533 B
JavaScript
import isObjectLike from './isObjectLike';
const toString = (value) => Object.prototype.toString.call(value);
const isPlainObject = (value) => {
if (!isObjectLike(value) || toString(value) !== '[object Object]') {
return false;
}
if (Object.getPrototypeOf(value) === null) {
return true;
}
let proto = value;
while (Object.getPrototypeOf(proto) !== null) {
proto = Object.getPrototypeOf(proto);
}
return Object.getPrototypeOf(value) === proto;
};
export default isPlainObject;