describe-type v1.0.0-dev.5
describe-type
The describe-type package contains a variety of package-level functions for timing code execution, retrieving information about object data type.
Installation
Using npm
npm i describe-type -S
Using bower
bower i describe-type -S
Links to CDN
Use this URL for dev/testing
<script src="https://rawgit.com/adriancmiranda/describe-type/dev/dist/describe-type.umd.js"></script>
Use this URL in production
<script src="https://rawgit.com/adriancmiranda/describe-type/dev/dist/describe-type.umd.min.js"></script>
Evaluates whether an object is compatible or not with a specific data type.
:heavyexclamation_mark: Use the is.a, is.an or is.type function instead of the _instanceof or toString.call function for type comparisons.
Arguments
- datatype:Function — The data type used to evaluate the expression argument.
- expression:any — The value to check against the data type specified.
Result
- Boolean — A value of true if datatype is compatible with the data type specified in expression, and false otherwise.
Example
The following example creates an instance of the Sprite class named mySprite and uses the is.type function to test whether mySprite is an instance of the Sprite.
class Sprite {}
var mySprite = new Sprite();
console.log(is.type(Sprite, mySprite)); // true
console.log(is.type(Number, mySprite)); // false
console.log(is.type(Function, mySprite)); // false
API
Common
- a(expected :Function, value :any) :boolean
- an(expected :Function, value :any)
- type(expected :Function, value :any) :boolean
- instanceOf(expected :Function, value :any) :boolean
- defined(value :any) :boolean
- undef(value :any) :boolean
- nil(value :any) :boolean
- unfilled(value :any) :boolean
- filled(value :any) :boolean
- empty(value :any) :boolean
- equal(valueA :any, valueB :any) :boolean
- primitive(value :any) :boolean
- exotic(value :any) :boolean
- enumerable(value :any) :boolean
- hosted(key :string | number, host :object) :boolean
- within(value :number, start :number, finish :number) :boolean
Arguments
- args(value :any) :boolean
- args.empty(value :any) :boolean
Array
- arraylike(value :any) :boolean
- arraylike.empty(value :any) :boolean
- array(value :any) :boolean
- array.of(expected :Function, value :any) :boolean
- array.empty(value :any) :boolean
Object
- object(value :any) :boolean
- object.empty(value :any) :boolean
RegExp
- regexp(value :any) :boolean
- regexp.string(value :any) :boolean
- regexp.flags(value :any) :boolean
Stream
- stream(value :any) :boolean
- stream.duplex(value :any) :boolean
- stream.transform(value :any) :boolean
- stream.readable(value :any) :boolean
- stream.writable(value :any) :boolean
String
- string(value :any) :boolean
- string.empty(value :any) :boolean
Function
- fn(value :any) :boolean
- fn.native(value :any) :boolean
- fn.callable(value :any) :boolean
- fn.caste(value :any) :boolean
Boolean
- bool(value :any) :boolean
Date
- date(value :any) :boolean
Number
- number(value :any) :boolean
- numeric(value :any) :boolean
- int(value :any) :boolean
- uint(value :any) :boolean
- infinity(value :any) :boolean
- nan(value :any) :boolean
- odd(value :any) :boolean
- even(value :any) :boolean
- decimal(value :any) :boolean
- min(value: any, others: any[]) :boolean
- max(value: any, others: any[]) :boolean
Error
- error(value :any) :boolean
Symbol
- symbol(value :any) :boolean
Element
- element(value :any) :boolean
Buffer
- buffer(value :any) :boolean
JSON
- jsonlike(value :any) :boolean
Encoded binary
Colors
- hexadecimal(value :any) :boolean
- rgb(value :any) :boolean
- rgba(value :any) :boolean
Common
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.a(expected, value);</script>
const an = require('describe-type/is/an');
an(expected, value);
import type from 'describe-type/is/type.next';
type(expected, value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.instanceOf(expected, value);</script>
const instanceOf = require('describe-type/is/instanceOf');
instanceOf(expected, value);
import instanceOf from 'describe-type/is/instanceOf.next';
instanceOf(expected, value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.defined(value);</script>
const defined = require('describe-type/is/defined');
defined(value);
import defined from 'describe-type/is/defined.next';
defined(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.undef(value);</script>
const undef = require('describe-type/is/undef');
undef(value);
import undef from 'describe-type/is/undef.next';
undef(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.nil(value);</script>
const nil = require('describe-type/is/nil');
nil(value);
import nil from 'describe-type/is/nil.next';
nil(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.unfilled(value);</script>
const unfilled = require('describe-type/is/unfilled');
unfilled(value);
import unfilled from 'describe-type/is/unfilled.next';
unfilled(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.filled(value);</script>
const filled = require('describe-type/is/filled');
filled(value);
import filled from 'describe-type/is/filled.next';
filled(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.empty(value);</script>
const empty = require('describe-type/is/empty');
empty(value);
import empty from 'describe-type/is/empty.next';
empty(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.equal(valueA, valueB);</script>
const equal = require('describe-type/is/equal');
equal(valueA, valueB);
import equal from 'describe-type/is/equal.next';
equal(valueA, valueB);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.primitive(value);</script>
const primitive = require('describe-type/is/primitive');
primitive(value);
import primitive from 'describe-type/is/primitive.next';
primitive(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.exotic(value);</script>
const exotic = require('describe-type/is/exotic');
exotic(value);
import exotic from 'describe-type/is/exotic.next';
exotic(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.enumerable(value);</script>
const enumerable = require('describe-type/is/enumerable');
enumerable(value);
import enumerable from 'describe-type/is/enumerable.next';
enumerable(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.hosted(key, host);</script>
const hosted = require('describe-type/is/hosted');
hosted(key, host);
import hosted from 'describe-type/is/hosted.next';
hosted(key, host);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.within(value, start, finish);</script>
const within = require('describe-type/is/within');
within(value, start, finish);
import within from 'describe-type/is/within.next';
within(value, start, finish);
Arguments
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.args(value);</script>
const args = require('describe-type/is/args');
args(value);
import args from 'describe-type/is/args/index.next';
args(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.args.empty(value);</script>
const argsEmpty = require('describe-type/is/args/args.empty');
argsEmpty(value);
import argsEmpty from 'describe-type/is/args/args.empty.next';
argsEmpty(value);
Array
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.arraylike(value);</script>
const arraylike = require('describe-type/is/arraylike');
arraylike(value);
import arraylike from 'describe-type/is/arraylike/index.next';
arraylike(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.arraylike.empty(value);</script>
const arraylikeEmpty = require('describe-type/is/arraylike/arraylike.empty');
arraylikeEmpty(value);
import arraylikeEmpty from 'describe-type/is/arraylike/arraylike.empty.next';
arraylikeEmpty(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.array(value);</script>
const array = require('describe-type/is/array');
array(value);
import array from 'describe-type/is/array/index.next';
array(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.array.empty(value);</script>
const arrayEmpty = require('describe-type/is/array/array.empty');
arrayEmpty(value);
import arrayEmpty from 'describe-type/is/array/array.empty.next';
arrayEmpty(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.array.of(value);</script>
const arrayOf = require('describe-type/is/array/array.of');
arrayOf(value);
import arrayOf from 'describe-type/is/array/array.of.next';
arrayOf(value);
Object
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.object(value);</script>
const object = require('describe-type/is/object');
object(value);
import object from 'describe-type/is/object/index.next';
object(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.object.empty(value);</script>
const objectEmpty = require('describe-type/is/object/object.empty');
objectEmpty(value);
import objectEmpty from 'describe-type/is/object/object.empty.next';
objectEmpty(value);
RegExp
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.regexp(value);</script>
const regexp = require('describe-type/is/regexp');
regexp(value);
import regexp from 'describe-type/is/regexp/index.next';
regexp(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.regexp.string(value);</script>
const regexpString = require('describe-type/is/regexp/regexp.string');
regexpString(value);
import regexpString from 'describe-type/is/regexp/regexp.string.next';
regexpString(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.regexp.flags(value);</script>
const regexpFlags = require('describe-type/is/regexp/regexp.flags');
regexpFlags(value);
import regexpFlags from 'describe-type/is/regexp/regexp.flags.next';
regexpFlags(value);
Stream
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.stream(value);</script>
const stream = require('describe-type/is/stream');
stream(value);
import stream from 'describe-type/is/stream/index.next';
stream(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.stream.duplex(value);</script>
const streamDuplex = require('describe-type/is/stream/stream.duplex');
streamDuplex(value);
import streamDuplex from 'describe-type/is/stream/stream.duplex.next';
streamDuplex(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.stream.transform(value);</script>
const streamTransform = require('describe-type/is/stream/stream.transform');
streamTransform(value);
import streamTransform from 'describe-type/is/stream/stream.transform.next';
streamTransform(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.stream.readable(value);</script>
const streamReadable = require('describe-type/is/stream/stream.readable');
streamReadable(value);
import streamReadable from 'describe-type/is/stream/stream.readable.next';
streamReadable(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.stream.writable(value);</script>
const streamWritable = require('describe-type/is/stream/stream.writable');
streamWritable(value);
import streamWritable from 'describe-type/is/stream/stream.writable.next';
streamWritable(value);
String
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.string(value);</script>
const string = require('describe-type/is/string');
string(value);
import string from 'describe-type/is/string/index.next';
string(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.string.empty(value);</script>
const stringEmpty = require('describe-type/is/string/string.empty');
stringEmpty(value);
import stringEmpty from 'describe-type/is/string/string.empty.next';
stringEmpty(value);
Function
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.fn(value);</script>
const fn = require('describe-type/is/fn');
fn(value);
import fn from 'describe-type/is/fn/index.next';
fn(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.fn.native(value);</script>
const fnNative = require('describe-type/is/fn/fn.native');
fnNative(value);
import fnNative from 'describe-type/is/fn/fn.native.next';
fnNative(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.fn.callable(value);</script>
const fnCallable = require('describe-type/is/fn/fn.callable');
fnCallable(value);
import fnCallable from 'describe-type/is/fn/fn.callable.next';
fnCallable(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.fn.caste(value);</script>
const fnCaste = require('describe-type/is/fn/fn.caste');
fnCaste(value);
import fnCaste from 'describe-type/is/fn/fn.caste.next';
fnCaste(value);
Boolean
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.bool(value);</script>
const bool = require('describe-type/is/bool');
bool(value);
import bool from 'describe-type/is/bool.next';
bool(value);
Date
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.date(value);</script>
const date = require('describe-type/is/date');
date(value);
import date from 'describe-type/is/date.next';
date(value);
Number
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.number(value);</script>
const number = require('describe-type/is/number');
number(value);
import number from 'describe-type/is/number.next';
number(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.numeric(value);</script>
const numeric = require('describe-type/is/numeric');
numeric(value);
import numeric from 'describe-type/is/numeric.next';
numeric(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.int(value);</script>
const int = require('describe-type/is/int');
int(value);
import int from 'describe-type/is/int.next';
int(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.uint(value);</script>
const uint = require('describe-type/is/uint');
uint(value);
import uint from 'describe-type/is/uint.next';
uint(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.infinity(value);</script>
const infinity = require('describe-type/is/infinity');
infinity(value);
import infinity from 'describe-type/is/infinity.next';
infinity(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.nan(value);</script>
const nan = require('describe-type/is/nan');
nan(value);
import nan from 'describe-type/is/nan.next';
nan(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.odd(value);</script>
const odd = require('describe-type/is/odd');
odd(value);
import odd from 'describe-type/is/odd.next';
odd(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.even(value);</script>
const even = require('describe-type/is/even');
even(value);
import even from 'describe-type/is/even.next';
even(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.decimal(value);</script>
const decimal = require('describe-type/is/decimal');
decimal(value);
import decimal from 'describe-type/is/decimal.next';
decimal(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.min(value, others);</script>
const min = require('describe-type/is/min');
min(value, others);
import min from 'describe-type/is/min.next';
min(value, others);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.max(value, others);</script>
const max = require('describe-type/is/max');
max(value, others);
import max from 'describe-type/is/max.next';
max(value, others);
Error
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.error(value);</script>
const error = require('describe-type/is/error');
error(value);
import error from 'describe-type/is/error.next';
error(value);
Symbol
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.symbol(value);</script>
const symbol = require('describe-type/is/symbol');
symbol(value);
import symbol from 'describe-type/is/symbol.next';
symbol(value);
Element
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.element(value);</script>
const element = require('describe-type/is/element');
element(value);
import element from 'describe-type/is/element.next';
element(value);
Buffer
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.buffer(value);</script>
const buffer = require('describe-type/is/buffer');
buffer(value);
import buffer from 'describe-type/is/buffer.next';
buffer(value);
JSON
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.jsonlike(value);</script>
const jsonlike = require('describe-type/is/jsonlike');
jsonlike(value);
import jsonlike from 'describe-type/is/jsonlike.next';
jsonlike(value);
Encoded binary
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.base64(value);</script>
const base64 = require('describe-type/is/base64');
base64(value);
import base64 from 'describe-type/is/base64.next';
base64(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.hex(value);</script>
const hex = require('describe-type/is/hex');
hex(value);
import hex from 'describe-type/is/hex.next';
hex(value);
Colors
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.hexadecimal(value);</script>
const hexadecimal = require('describe-type/is/hexadecimal');
hexadecimal(value);
import hexadecimal from 'describe-type/is/hexadecimal.next';
hexadecimal(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.rgb(value);</script>
const rgb = require('describe-type/is/rgb');
rgb(value);
import rgb from 'describe-type/is/rgb.next';
rgb(value);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/is.umd.js"></script>
<script>is.rgba(value);</script>
const rgba = require('describe-type/is/rgba');
rgba(value);
import rgba from 'describe-type/is/rgba.next';
rgba(value);
Evaluates whether an expression specified by the first argument is a member of the data type specified by the second argument. If the first argument is a member of the data type, the result is the first argument. Otherwise, the result is the value null unless the third value is set as default.The expression used for the second argument must evaluate to a data type.
Arguments
- datatype:Function — The data type used to evaluate the expression argument.
- expression:* — The value to check against the data type specified.
- defaultValue:* — The fallback value.
Result
- Object — The result is expression if expression is a member of the data type specified in datatype. Otherwise, the result is the value null or the defaultValue.
Example
The following example creates a simple array named myArray and uses the as function with various data types.
var myArray = ['foo', 'bar', 'baz'];
console.log(as(Array, myArray)); // foo,bar,baz
console.log(as(Number, myArray)); // null
console.log(as(Boolean, myArray, undefined)); // undefined
Variants
- as.any(datatype :Array<Function>, expression :*, defaultValue :*) :any
- as.arrayOf(datatype :Function, expression :*, defaultValue :*) :any
Shortcuts
- as.a(datatype :Function, expression :*, defaultValue :*) :any
- as.an(datatype :Function, expression :*, defaultValue :*) :any
- as.type(datatype :Function, expression :*, defaultValue :*) :any
Variants
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/as.umd.js"></script>
<script>as.any([datatype1, datatype2, ...], currentValue, defaultValue);</script>
const any = require('describe-type/as/any');
any([datatype1, datatype2, ...], currentValue, defaultValue);
import any from 'describe-type/as/any.next';
any([datatype1, datatype2, ...], currentValue, defaultValue);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/as.umd.js"></script>
<script>as.arrayOf(datatype, currentValue, defaultValue);</script>
const arrayOf = require('describe-type/as/arrayOf');
arrayOf(datatype, currentValue, defaultValue);
import arrayOf from 'describe-type/as/arrayOf.next';
arrayOf(datatype, currentValue, defaultValue);
Shortcuts
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/as.umd.js"></script>
<script>as.a(datatype, currentValue, defaultValue);</script>
const a = require('describe-type/as/a');
a(datatype, currentValue, defaultValue);
import a from 'describe-type/as/a.next';
a(datatype, currentValue, defaultValue);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/as.umd.js"></script>
<script>as.an(datatype, currentValue, defaultValue);</script>
const an = require('describe-type/as/an');
an(datatype, currentValue, defaultValue);
import an from 'describe-type/as/an.next';
an(datatype, currentValue, defaultValue);
<script src="https://rawgit.com/adriancmiranda/describe-type/master/dist/as.umd.js"></script>
<script>as.type(datatype, currentValue, defaultValue);</script>
const type = require('describe-type/as/type');
type(datatype, currentValue, defaultValue);
import type from 'describe-type/as/type.next';
type(datatype, currentValue, defaultValue);
Authors
- Adrian Miranda - Initial work - adriancmiranda
See also the list of contributors who participated in this project.
License
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago