Package Exports
- simple-is
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (simple-is) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
simple-is.js
A maximally minimal type-testing library. Use it to make your code more readable. Works in node and browsers.
Usage
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 Object.prototype.hasOwnProperty.call(x, "name")
.
That's it.
Installation
Node
Install using npm
npm install simple-is
var is = require("simple-is");
Browser
Clone the repo and include it in a script tag
git clone https://github.com/olov/simple-is.git
<script src="simple-is/simple-is.js"></script>