You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
792 B
28 lines
792 B
var Symbol = require('./_Symbol'), |
|
getRawTag = require('./_getRawTag'), |
|
objectToString = require('./_objectToString'); |
|
|
|
/** `Object#toString` result references. */ |
|
var nullTag = '[object Null]', |
|
undefinedTag = '[object Undefined]'; |
|
|
|
/** Built-in value references. */ |
|
var symToStringTag = Symbol ? Symbol.toStringTag : undefined; |
|
|
|
/** |
|
* The base implementation of `getTag` without fallbacks for buggy environments. |
|
* |
|
* @private |
|
* @param {*} value The value to query. |
|
* @returns {string} Returns the `toStringTag`. |
|
*/ |
|
function baseGetTag(value) { |
|
if (value == null) { |
|
return value === undefined ? undefinedTag : nullTag; |
|
} |
|
return (symToStringTag && symToStringTag in Object(value)) |
|
? getRawTag(value) |
|
: objectToString(value); |
|
} |
|
|
|
module.exports = baseGetTag;
|
|
|