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;
|