in lib/utils.ts [19:47]
export function isPlainObject(o: object) {
if (Array.isArray(o) === true) {
return true;
}
if (isObject(o) === false) {
return false;
}
// If has modified constructor
const ctor = o.constructor;
if (typeof ctor !== 'function') {
return false;
}
// If has modified prototype
const prot = ctor.prototype;
if (isObject(prot) === false) {
return false;
}
// If constructor does not have an Object-specific method
if (prot.hasOwnProperty('isPrototypeOf') === false) {
return false;
}
// Most likely a plain Object
return true;
}