Socket
Socket
Sign inDemoInstall

is-number

Package Overview
Dependencies
0
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.0.0 to 1.1.0

4

index.js

@@ -11,3 +11,5 @@ /*!

module.exports = function isNumber(n) {
return !!(+n) || n === 0 || n === '0';
return (!!(+n) && !Array.isArray(n)) && isFinite(n)
|| n === '0'
|| n === 0;
};
{
"name": "is-number",
"description": "Returns true if the value is a number. comprehensive tests.",
"version": "1.0.0",
"version": "1.1.0",
"homepage": "https://github.com/jonschlinkert/is-number",

@@ -6,0 +6,0 @@ "author": {

@@ -8,3 +8,2 @@ # is-number [![NPM version](https://badge.fury.io/js/is-number.svg)](http://badge.fury.io/js/is-number)

## Install
## Install with [npm](npmjs.org)

@@ -25,70 +24,53 @@

See the [tests](./test.js) for more examples.
```js
isNumber(5e3);
isNumber(0xff);
isNumber(-1.1);
isNumber(0);
isNumber(1);
isNumber(1.1);
isNumber(10);
isNumber(10.10);
isNumber(100);
isNumber('-1.1');
isNumber('0');
isNumber('012');
isNumber('0xff');
isNumber('1');
isNumber('1.1');
isNumber('10');
isNumber('10.10');
isNumber('100');
isNumber('5e3');
isNumber(parseInt('012'));
isNumber(parseFloat('012'));
isNumber(Infinity);
isNumber('Infinity');
isNumber(5e3) //=> 'true'
isNumber(0xff) //=> 'true'
isNumber(-1.1) //=> 'true'
isNumber(0) //=> 'true'
isNumber(1) //=> 'true'
isNumber(1.1) //=> 'true'
isNumber(10) //=> 'true'
isNumber(10.10) //=> 'true'
isNumber(100) //=> 'true'
isNumber('-1.1') //=> 'true'
isNumber('0') //=> 'true'
isNumber('012') //=> 'true'
isNumber('0xff') //=> 'true'
isNumber('1') //=> 'true'
isNumber('1.1') //=> 'true'
isNumber('10') //=> 'true'
isNumber('10.10') //=> 'true'
isNumber('100') //=> 'true'
isNumber('5e3') //=> 'true'
isNumber(parseInt('012')) //=> 'true'
isNumber(parseFloat('012')) //=> 'true'
```
### Infinity
### False
Infinity can be [treated as a number][infinity] in mathematics. Here, it's a number - primarily because 99% of use cases do not require checking for it, but doing so [makes our function 20-35% slower](./benchmark/code/infinity.js) in common use cases.
See the [tests](./test.js) for more examples.
If you want `Infinity` to be `false`, just do:
```js
var isNumber = require('is-number');
function isNum(val) {
return isNumber(val) && isFinite(val);
}
isNumber('foo') //=> 'false'
isNumber([1]) //=> 'false'
isNumber([]) //=> 'false'
isNumber(function () {}) //=> 'false'
isNumber(Infinity) //=> 'false'
isNumber(NaN) //=> 'false'
isNumber(new Array('abc')) //=> 'false'
isNumber(new Array(2)) //=> 'false'
isNumber(new Buffer('abc')) //=> 'false'
isNumber(null) //=> 'false'
isNumber(undefined) //=> 'false'
isNumber({abc: 'abc'}) //=> 'false'
```
### false
## Run tests
```js
isNumber('3abc');
isNumber('abc');
isNumber('abc3');
isNumber('null');
isNumber('undefined');
isNumber([1, 2, 3]);
isNumber(function () {});
isNumber(new Buffer('abc'));
isNumber(null);
isNumber(undefined);
isNumber({abc: 'abc'});
isNumber({});
isNumber([]);
```
Install dev dependencies:
## Run tests
```bash
npm test
npm i -d && npm test
```

@@ -95,0 +77,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc