UNPKG

790 BJavaScriptView Raw
1import Symbol from './_Symbol.js';
2import getRawTag from './_getRawTag.js';
3import objectToString from './_objectToString.js';
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
28export default baseGetTag;