node package manager
Don’t reinvent the wheel. Reuse code within your team. Create a free org »



A maximally minimal type-testing library. Use it to make your code more readable. Works in node and browsers.


var is = require("simple-is");

Use is.number(x) instead of typeof x === "number" (also is.boolean, is.string, is.fn).

Use is.nan(x) instead of typeof x === "number" && isNaN(x), x !== x or ES6 Number.isNaN(x).

Use is.object(x) instead of x !== null && typeof x === "object".

Use is.primitive(x) instead of x === null || x === undefined || typeof x === "boolean" || typeof x === "number" || typeof x === "string" (verbose on purpose).

Use is.array(x) instead of ES5 Array.isArray.

Use is.finitenumber(x) instead of typeof x === "number" && isFinite(x) or ES6 Number.isFinite(x).

Use is.someof(x, ["first", 2, obj]) instead of (usually) x === "first" || x === 2 || x === obj or (alternatively) ["first", 2, obj].indexOf(x) >= 0. Great for reducing copy and paste mistake in if-conditions and for making them more readable.

Use is.noneof(x, ["first", 2, obj]) instead of (usually) x !== "first" && x !== 2 && x !== obj or (alternatively) ["first", 2, obj].indexOf(x) === -1.

Use is.own(x, "name") instead of, "name").

That's it.



Install using npm

npm install simple-is
var is = require("simple-is");


Clone the repo and include it in a script tag

git clone
<script src="simple-is/simple-is.js"></script>