Skip to content

Tiny collection of predictable type checking for javascript

License

Notifications You must be signed in to change notification settings

paulondc/js-typecheck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Tiny collection of predictable type checking for javascript

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •