"use strict";
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const isFunction = require("./isFunction.cjs");
const _isMasked = require("./_isMasked.cjs");
const isObject = require("./isObject.cjs");
const _toSource = require("./_toSource.cjs");
var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
var reIsHostCtor = /^\[object .+?Constructor\]$/;
var funcProto = Function.prototype, objectProto = Object.prototype;
var funcToString = funcProto.toString;
var hasOwnProperty = objectProto.hasOwnProperty;
var reIsNative = RegExp(
  "^" + funcToString.call(hasOwnProperty).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
);
function baseIsNative(value) {
  if (!isObject.default(value) || _isMasked.default(value)) {
    return false;
  }
  var pattern = isFunction.default(value) ? reIsNative : reIsHostCtor;
  return pattern.test(_toSource.default(value));
}
exports.default = baseIsNative;
//# sourceMappingURL=_baseIsNative.cjs.map
