UNPKG

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