mh-two-thousand-and-two
2024-04-12 3d2ec2fd0578d3ba0a414b0cc4e4a2ae60878596
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var isObj = require('./isObj');
var isFn = require('./isFn');
var toSrc = require('./toSrc');
exports = function(val) {
    if (!isObj(val)) return false;
    if (isFn(val)) return regIsNative.test(toSrc(val));
 
    return regIsHostCtor.test(toSrc(val));
};
var hasOwnProperty = Object.prototype.hasOwnProperty;
var regIsNative = new RegExp(
    '^' +
        toSrc(hasOwnProperty)
            .replace(/[\\^$.*+?()[\]{}|]/g, '\\$&')
            .replace(
                /hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,
                '$1.*?'
            ) +
        '$'
);
var regIsHostCtor = /^\[object .+?Constructor\]$/;
 
module.exports = exports;