- 'use strict';
-
- var callBound = require('call-bind/callBound');
-
- var $numToStr = callBound('Number.prototype.toString');
-
- /** @type {import('.')} */
- var tryNumberObject = function tryNumberObject(value) {
- try {
- $numToStr(value);
- return true;
- } catch (e) {
- return false;
- }
- };
- var $toString = callBound('Object.prototype.toString');
- var numClass = '[object Number]';
- var hasToStringTag = require('has-tostringtag/shams')();
-
- /** @type {import('.')} */
- module.exports = function isNumberObject(value) {
- if (typeof value === 'number') {
- return true;
- }
- if (!value || typeof value !== 'object') {
- return false;
- }
- return hasToStringTag ? tryNumberObject(value) : $toString(value) === numClass;
- };
|