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

    Install

    npm i js-typecheck

    DownloadsWeekly Downloads

    1

    Version

    0.6.0

    License

    MIT

    Last publish

    Collaborators

    • paulondc