You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
691 B
30 lines
691 B
'use strict'; |
|
|
|
var isString = require('is-string'); |
|
var isNumber = require('is-number-object'); |
|
var isBoolean = require('is-boolean-object'); |
|
var isSymbol = require('is-symbol'); |
|
var isBigInt = require('is-bigint'); |
|
|
|
// eslint-disable-next-line consistent-return |
|
module.exports = function whichBoxedPrimitive(value) { |
|
// eslint-disable-next-line eqeqeq |
|
if (value == null || (typeof value !== 'object' && typeof value !== 'function')) { |
|
return null; |
|
} |
|
if (isString(value)) { |
|
return 'String'; |
|
} |
|
if (isNumber(value)) { |
|
return 'Number'; |
|
} |
|
if (isBoolean(value)) { |
|
return 'Boolean'; |
|
} |
|
if (isSymbol(value)) { |
|
return 'Symbol'; |
|
} |
|
if (isBigInt(value)) { |
|
return 'BigInt'; |
|
} |
|
};
|
|
|