importisFunctionfrom'./isFunction.js';importisMaskedfrom'./_isMasked.js';importisObjectfrom'./isObject.js';importtoSourcefrom'./_toSource.js'; /** * Used to match `RegExp` * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). */var reRegExpChar =/[\\^$.*+?()[\]{}|]/g; /** Used to detect host constructors (Safari). */var reIsHostCtor =/^\[object .+?Constructor\]$/; /** Used for built-in method references. */var funcProto =Function.prototype, objectProto =Object.prototype; /** Used to resolve the decompiled source of functions. */var funcToString = funcProto.toString; /** Used to check objects for own properties. */var hasOwnProperty = objectProto.hasOwnProperty; /** Used to detect if a method is native. */var reIsNative =RegExp('^'+ funcToString.call(hasOwnProperty).replace(reRegExpChar,'\\$&').replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,'$1.*?')+'$'); /** * The base implementation of `_.isNative` without bad shim checks. * * @private * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a native function, * else `false`. */functionbaseIsNative(value){if(!isObject(value)||isMasked(value)){returnfalse;}var pattern =isFunction(value)? reIsNative : reIsHostCtor;return pattern.test(toSource(value));} exportdefault baseIsNative;