0.7.0 • Published 10 years ago
is-an v0.7.0
is-an
Robust and comprehensive type checking library for node and the browser
Installation
Node
npm install is-anWeb
bower install is-anUsage
node
var isAn = require('is-an');
console.log('is an array?', isAn.Array([]));
// is an array? trueweb (global)
<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>web (amd)
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
});API
isAn(value) -> String
Returns the basic type representation of value.
console.log(isAn(1));
// Number
console.log(isAn({}));
// ObjectisAn(typeName : String, { returnChecker: true }) -> Function
Returns the type checking function for typeName.
console.log(isAn.Number.Literal == isAn('Number.Literal', { returnChecker: true }));
// trueisAn(value, typeName : String) -> Boolean
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'));
// undefinedisAn.<typeName>(value) -> Boolean
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));
// falseisAn.<typeName>.typeName : String
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);
// ObjectComplete list of supported type checking methods
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)