"use strict";
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const _baseGetTag = require("./_baseGetTag.cjs");
const _getPrototype = require("./_getPrototype.cjs");
const isObjectLike = require("./isObjectLike.cjs");
var objectTag = "[object Object]";
var funcProto = Function.prototype, objectProto = Object.prototype;
var funcToString = funcProto.toString;
var hasOwnProperty = objectProto.hasOwnProperty;
var objectCtorString = funcToString.call(Object);
function isPlainObject(value) {
  if (!isObjectLike.default(value) || _baseGetTag.default(value) != objectTag) {
    return false;
  }
  var proto = _getPrototype.default(value);
  if (proto === null) {
    return true;
  }
  var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor;
  return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
}
exports.default = isPlainObject;
//# sourceMappingURL=isPlainObject.cjs.map
