Hacker News new | ask | show | jobs
by r-spaghetti 763 days ago
It even depends on is-odd (375K weekly downloads). The script kiddies have taken over.
2 comments

Which in itself depends on is-number (66M weekly downloads).

The beautiful journey seems to end there.

https://www.npmjs.com/package/is-number

Combining that with https://www.npmjs.com/package/is-string, you can have a JavaScript valid x for which

  isNumber(x) && isString(x)
isNumber is better named “can-be-used-as-a-number”.

Also, I don’t know JavaScript well enough, but https://www.npmjs.com/package/isnumber is different code from https://www.npmjs.com/package/is-number, but does it have different semantics?

(https://www.npmjs.com/package/lodash.isnumber is different, I think. It (rightfully, IMHO) thinks ∞ and NaN are numbers)

Which used to depend on the legendary `is-is` package. Apparently the maintainer is a certain B. Clinton.
Wow! there are almost 2500 packages on npm that depends on is-number. That's insane.
Hopefully is-odd does not depend on is-even
It actually depends on "is-number", which is a very useful package containing

   num => typeof num === "number"
No joke.
To be completely fair, it does a little bit more than that. It only considers finite numbers as 'numbers' (ie NaN and Inf aren't considered numbers). It also considers strings that can be parsed as numbers as numbers. Of course reasonable people could consider both those 'features' as bugs