Package Exports
- of-type
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 (of-type) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Description
of-type
is a very light module (function) that checks whether the given value is of particular type (or types).
- Any bugs found? Give me to know on dev.rafalko@gmail.com
- Also check out
typeof-arguments
to validate value type of the arguments passed through functions.
Installation
npm install of-type
var ofType = require('of-type');
ofType("hello world!",'string') //returns true
ofType(true,'boolean|number|string') //returns true
ofType(new Date(),/date/i) //returns true
Usage
ofType(val,types)
val
- the value of any type
types
[String|RegExp]
- Checks if the
val
is of thetypes
type. - Possible values:
'null'
,'undefined'
, or any value equal toconstructor.name
, eg.'string'
,'number'
,'regexp'
,'array'
,'object'
,'boolean'
,'buffer'
, etc. - The
types
[String] is case insensitive:'String'
,'string'
,'StRiNg'
checks if theval
is of type [String]. Fortypes
[RegExp] case insensitivity usei
flag, eg.:/String/
,/string/i
,/sTrInG/i
- The
types
[String] can contain multiple allowed types, separated with|
, eg:'array|object'
,'boolean|number|null|undefined'
,string|number
. Fortypes
[RegExp] multiple values use(x|y)
expression, eg:/(string|number)/i
Extra types:
- The
types
can contain the value:'arguments'
. It returnstrue
for thearguments
Object - The
types
can contain the value:'truthy'
. It returnstrue
for theval
values like:"abc"
,true
,1
,{}
,[]
,function(){}
, etc. - The
types
can contain the value:'falsy'
. It returnstrue
for theval
values like:""
,false
,0
,null
,undefined
, etc. - The
types
can contain the value:''
or'any'
, then theval
can be of any type
Return value
The function ofType()
returns true
if the val
is of the defined type or is one of the defined types.
The function ofType()
returns false
if the val
is non the defined type or is any of the defined types
Samples
var ofType = require('of-type');
ofType("abc",'string'); //true
ofType(15,'number'); //true
ofType([1,2,3],'array'); //true
ofType([1,2,3],'object'); //false
ofType(true,'boolean'); //true
ofType(/hello/,'regexp'); //true
ofType({name:"Paul"},'object'); //true
ofType(function(){},'function'); //true
ofType(function(){return arguments;},'arguments'); //true
ofType(function(){return arguments;},'object'); //false
ofType(()=>{},'FuNcTiOn'); //true
ofType(ofType,'function'); //true
ofType(new Date(),'DATE'); //true
ofType(new Array(1,2,3),'array'); //true
ofType(new Buffer(0),'buffer'); //true
ofType(new String("abc"),'string'); //true
ofType((()=>"abc")(),'string'); //true
ofType(10,'string|number'); //true
ofType(10,'string|array'); //false
ofType(null,'undefined|null'); //true
ofType(null,'falsy'); //true
ofType(0,'falsy'); //true
ofType(undefined,'falsy'); //true
ofType("",'falsy'); //true
ofType(10,'any|string'); //
ofType(10,''); //true
ofType(true,'truthy'); //true
ofType("a",'truthy'); //true
ofType(new Error(),'error'); //true
ofType(new TypeError(),'typeerror'); //true
ofType(new SyntaxError(),'syntaxerror'); //true
ofType(new SyntaxError(),'error'); //false
ofType(document.createElement('DIV'),'htmldivelement'); //true
ofType(document.createElement('DIV'),'element'); //false
ofType(document.createElement('LI'),'HtmlLiElement'); //true
function Name(){};
ofType(new Name(),'Name'); //true
ofType(new Name(),'name'); //true
ofType(new Name(),'object'); //false
/*
[RegExp] samples:
*/
ofType("abc",/string/); //false
ofType("abc",/String/); //true
ofType("abc",/string/i); //true
ofType(10,/string|number/i); //true
ofType(0,/Number/); //true
ofType(!0,/Boolean/); //true
ofType(function(){return arguments;},/arguments/); //true
ofType(123,/any/i); //true
ofType("123",/any/i); //true
ofType([1,2,3],/any/i); //true
ofType(document.createElement('DIV'),/^html.*element$/i); //true
ofType(document.createElement('DIV'),/^[a-z]+div[a-z]+$/i); //true
ofType(document.createElement('A'),/anchor/i); //true
ofType(document.createElement('UL'),/html[uo]listelement/i); //true
ofType(document.createElement('OL'),/html[uo]listelement/i); //true
ofType(null,/falsy/); //true
ofType(0,/falsy/); //true
ofType([1,2,3],/truthy/); //true
ofType("",/truthy/); //false
ofType(new SyntaxError(),/(syntax|type)error/i); //true
ofType(new TypeError(),/(syntax|type)error/i); //true
ofType(new Error(),/(syntax|type)error/i); //false