Robust and comprehensive type checking library for node and the browser
npm install is-an
bower install is-an
var isAn = require('is-an');
console.log('is an array?', isAn.Array([]));
// is an array? true
<html>
<head>
<script type="text/javascript" src="is-an.web.min.js"></script>
</head>
<body>
<script>
console.log('is an array?', isAn.Array([]));
// is an array? true
</script>
</body>
</html>
require.config({
paths: {
"is-an": "is-an.web.min.js"
}
});
require(['is-an'], function (isAn) {
console.log('is an array?', isAn.Array([]));
// is an array? true
});
Returns the basic type representation of value
.
console.log(isAn(1));
// Number
console.log(isAn({}));
// Object
Returns the type checking function for typeName
.
console.log(isAn.Number.Literal == isAn('Number.Literal', { returnChecker: true }));
// true
Returns true
iff value
is of type typeName
.
Identical to the below methods.
console.log(isAn(1, 'Number.Literal'));
// true
console.log(isAn(1, 'Object'));
// false
console.log(isAn(1, 'unknown'));
// undefined
Returns true
iff value
is of the type typeName
.
console.log(isAn.Number(1));
// true
console.log(isAn.Number.Literal(new Number(1)));
// false
console.log(isAn.Object(1));
// false
A simple property which contains the distinguished type name of the function.
console.log(isAn.Number.Integer.typeName);
// Number.Integer
console.log(isAn.Object.typeName);
// Object
The tables linked below display the results of running all defined inputs against all type checks, with irrelevent results filtered. Type checks not shown return false for the given input.
See the complete results table for a combined listing.
isAn.Undefined(x)
isAn.Null(x)
isAn.Boolean(x)
isAn.Boolean.Literal(x)
isAn.Boolean.Object(x)
isAn.Number(x)
isAn.Number.Literal(x)
isAn.Number.Literal.NaN(x)
isAn.Number.Literal.Finite(x)
isAn.Number.Literal.Infinite(x)
isAn.Number.Literal.Integer(x)
isAn.Number.Object(x)
isAn.Number.Object.NaN(x)
isAn.Number.Object.Finite(x)
isAn.Number.Object.Infinite(x)
isAn.Number.Object.Integer(x)
isAn.Number.NaN(x)
isAn.Number.Finite(x)
isAn.Number.Infinite(x)
isAn.Number.Integer(x)
isAn.String(x)
isAn.String.Literal(x)
isAn.String.Object(x)
isAn.Array(x)
isAn.Object(x)
isAn.Object.Literal(x)
isAn.Function(x)
isAn.Arguments(x)
isAn.Date(x)
isAn.RegExp(x)
isAn.Error(x)
isAn.Math(x)
isAn.Int8Array(x)
isAn.Uint8ClampedArray(x)
isAn.Uint8Array(x)
isAn.Int16Array(x)
isAn.Uint16Array(x)
isAn.Int32Array(x)
isAn.Uint32Array(x)
isAn.Float32Array(x)
isAn.Float64Array(x)