mirror of
https://github.com/thangisme/notes.git
synced 2024-09-27 16:15:58 -04:00
29 lines
792 B
JavaScript
29 lines
792 B
JavaScript
|
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;
|