https://github.com/paulondc/js-typecheck
Tiny collection of predictable type checking for javascript
https://github.com/paulondc/js-typecheck
Last synced: 3 months ago
JSON representation
Tiny collection of predictable type checking for javascript
- Host: GitHub
- URL: https://github.com/paulondc/js-typecheck
- Owner: paulondc
- License: mit
- Created: 2016-03-31T07:25:53.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2020-07-26T04:39:16.000Z (almost 5 years ago)
- Last Synced: 2025-01-18T02:43:55.994Z (5 months ago)
- Language: JavaScript
- Homepage:
- Size: 35.2 KB
- Stars: 1
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

[](https://travis-ci.org/paulondc/js-typecheck) [](https://codecov.io/github/paulondc/js-typecheck?branch=master)
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](http://es6-features.org) provides a better experience in writting javascript code.
#### Requirement
This module requires support for [ES6](http://es6-features.org)#### Install
```
npm install js-typecheck --save
```#### Using it
Checks if "B" is a subclass of "A"
```javascript
const TypeCheck = require('js-typecheck')class A{}
class B extends A {}TypeCheck.isSubClassOf(B, A)
```
---
Checks if the input objects are the same type
```javascript
TypeCheck.isSameType(new Date(), "Not the same!")
```---
Returns if the input is an object
```javascript
TypeCheck.isObject(new Object())
```---
Checks if the input is a plain object (objects created using literal notation):
```javascript
TypeCheck.isPlainObject({a: 1, b: 2})
```---
Checks if the input is an array object
```javascript
TypeCheck.isList([1, 2, 3, 4, 5])
```---
Checks if the input is none, either null or undefined
```javascript
TypeCheck.isNone(null)
```
or
```javascript
TypeCheck.isNone(undefined)
```---
Checks if the input is a function
```javascript
TypeCheck.isCallable(() => {})
```
or
```javascript
TypeCheck.isCallback(() => {})
```---
Checks if the input is a string type
```javascript
TypeCheck.isString("foo")
```---
Checks if the input is a number type
```javascript
TypeCheck.isNumber(5.0)
```---
Checks if the input is a boolean type
```javascript
TypeCheck.isBool(true)
```---
Checks if value is a primitive
```javascript
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](test/main.js) 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