js-typecheck

0.6.0 • Public • Published

type-check

Build Status codecov.io

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.

Requirement

This module requires support for ES6

Install

npm install js-typecheck --save

Using it

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

Examples

Take a look at the tests for more examples about it

Licensing

js-typecheck is free software; you can redistribute it and/or modify it under the terms of the MIT License

Dependencies (0)

    Dev Dependencies (3)

    Package Sidebar

    Install

    npm i js-typecheck

    Weekly Downloads

    0

    Version

    0.6.0

    License

    MIT

    Last publish

    Collaborators

    • paulondc