TypeCheck provides a tiny collection of predictable type checking for javascript.
The goal of this library is to be a tiny dependency focused exclusively in type checking which in conjuction with ES6 provides a better experience in writting javascript code.
This module requires support for ES6
npm install js-typecheck --save
Checks if "B" is a subclass of "A"
const TypeCheck = require('js-typecheck')
class A{}
class B extends A {}
TypeCheck.isSubClassOf(B, A)
Checks if the input objects are the same type
TypeCheck.isSameType(new Date(), "Not the same!")
Returns if the input is an object
TypeCheck.isObject(new Object())
Checks if the input is a plain object (objects created using literal notation):
TypeCheck.isPlainObject({a: 1, b: 2})
Checks if the input is an array object
TypeCheck.isList([1, 2, 3, 4, 5])
Checks if the input is none, either null or undefined
TypeCheck.isNone(null)
or
TypeCheck.isNone(undefined)
Checks if the input is a function
TypeCheck.isCallable(() => {})
or
TypeCheck.isCallback(() => {})
Checks if the input is a string type
TypeCheck.isString("foo")
Checks if the input is a number type
TypeCheck.isNumber(5.0)
Checks if the input is a boolean type
TypeCheck.isBool(true)
Checks if value is a primitive
TypeCheck.isPrimitive('test') // true
TypeCheck.isPrimitive(5) // true
TypeCheck.isPrimitive(true) // true
TypeCheck.isPrimitive(null) // true
TypeCheck.isPrimitive(undefined) // true
TypeCheck.isPrimitive({}) // false
Take a look at the tests for more examples about it
js-typecheck is free software; you can redistribute it and/or modify it under the terms of the MIT License