Package Exports
- typechecker
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 (typechecker) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
TypeChecker
Utilities to get and check variable types (isString, isPlainObject, isRegExp, etc)
Why?
Why should I use this instead of say instanceof?
Under certain circumstances instanceof may not return the correct results. This occurs with node's vm module especially, and circumstances where an object's prototype has been dereferenced from the original. As such, for basic == and === checks (like a === null), you're fine not using this, but for checks when you would have done instanceof (like err instanceof Error), you should try to use this instead. Plus things like isEmpty, isEmptyObject and isPlainObject are darn useful!
Install
- Install:
npm install --save typechecker - Use:
require('typechecker')
- Install:
npm install --save typechecker - Use:
require('typechecker') - CDN URL:
//wzrd.in/bundle/typechecker@4.0.1
- Install:
ender add typechecker - Use:
require('typechecker')
Usage
Example
require('typechecker').isRegExp(/^a/) // returns trueMethods
Helpers:
getObjectType- returns the object string of the value, e.g. when passed/^a/it'll return"[object RegExp]"getType- returns lower case string of the type, e.g. when passed/^a/it'll return"regex"
Values:
isPlainObject- returnstrueif the value doesn't have a custom prototypeisEmpty- returnstrueif the value isnullorundefinedisEmptyObject- returnstrueif the object has no keys that are its ownisNativeClass- returnstrueif the value is a native ES6 classisConventionalClass- returnstrueif the value is a function which name starts with a capital letter
Types:
isError- returnstrueif the value is an error, otherwisefalseisDate- returnstrueif the value is a date, otherwisefalseisArguments- returnstrueif the value is function arguments, otherwisefalseisClass- returnstrueif the value is a native or conventional class, otherwisefalseisFunction- returnstrueif the value is a function, otherwisefalseisRegExp- returnstrueif the value is a regular expression instance, otherwisefalseisArray- returnstrueif the value is an array, otherwisefalseisNumber- returnstrueif the value is a number ("2"is a string), otherwisefalseisString- returnstrueif the value is a string, otherwisefalseisBoolean- returnstrueif the value is a boolean, otherwisefalseisNull- returnstrueif the value is null, otherwisefalseisUndefined- returnstrueif the value is undefined, otherwisefalse
History
Discover the release history by heading on over to the HISTORY.md file.
Contribute
Discover how you can contribute by heading on over to the CONTRIBUTING.md file.
Backers
Maintainers
These amazing people are maintaining this project:
Sponsors
No sponsors yet! Will you be the first?
Contributors
These amazing people have contributed code to this project:
- Benjamin Lupton — view contributions
- Joe Gesualdo — view contributions
- Sean Fridman
- Sean Fridman — view contributions
Discover how you can contribute by heading on over to the CONTRIBUTING.md file.
License
Unless stated otherwise all works are:
- Copyright © 2013+ Bevry Pty Ltd
- Copyright © 2011-2012 Benjamin Lupton
and licensed under: