1 var Symbol = require('./_Symbol'),
2 getRawTag = require('./_getRawTag'),
3 objectToString = require('./_objectToString');
5 /** `Object#toString` result references. */
6 var nullTag = '[object Null]',
7 undefinedTag = '[object Undefined]';
9 /** Built-in value references. */
10 var symToStringTag = Symbol ? Symbol.toStringTag : undefined;
13 * The base implementation of `getTag` without fallbacks for buggy environments.
16 * @param {*} value The value to query.
17 * @returns {string} Returns the `toStringTag`.
19 function baseGetTag(value) {
21 return value === undefined ? undefinedTag : nullTag;
23 value = Object(value);
24 return (symToStringTag && symToStringTag in value)
26 : objectToString(value);
29 module.exports = baseGetTag;