Package Exports
- assert-kindof
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (assert-kindof) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
assert-kindof

Check native type of value and throw AssertionError if not okey. Clean stack traces. Simplicity. Built on is-kindof.
Highlights
- simplicity: pretty simple and stable codebase, built on kind-of and kind-of-extra
- flexibility: expose methods for each javascript type, using kind-of-types
- better coverage: ensures that your code will not have many branches
- clean stack traces: clean and small stack traces, using clean-stacktrace
- type checking: exposes is-kindof methods for returning booleans
- negations: support "not" modifier, e.g.
is.not.array(val)
- errors: enhanced error objects with
actual
,expected
,operator
andvalue
props - messages: customizable and clean error messages
Table of Contents
Install
Install with npm
$ npm i assert-kindof --save
Usage
For more use-cases see the tests
const assertKindof = require('assert-kindof')
API
.is
All methods from is-kindof are also exposed, so check its docs. That
.is
is object with methods with same names as in this package.
Example
var assertKindof = require('assert-kindof')
assertKindof.is.array(123) // => false
assertKindof.is.array([11, 22, 33]) // => true
assertKindof.array([11, 22, 33]) // => not throws
try {
assertKindof.array(123) // => AssertionError: number !== array
} catch (err) {
console.log(err.message) // => 'number !== array'
}
.array
Check
value
is array, if not throws AssertionError.
Params
value
{any}: value to be checkedmessage
{String|Function}: error message; if function getsfn(actual, expected, value)
signaturereturns
{Undefined}: nothing is returned, throws if not okey
Example
var assert = require('assert-kindof')
assert.array([1, 2, 3]) // => not throws
assert.array(123) // => AssertionError: number !== array
try {
assert.array({ foo: 'bar' }, 'expect `val` to be {expected}')
} catch (err) {
console.log(err.message) // => 'expect `val` to be array'
console.log(err.actual) // => object
console.log(err.expected) // => array
console.log(err.value) // => { foo: 'bar' }
}
.boolean
Check
value
is boolean, if not throws AssertionError.
Params
value
{any}: value to be checkedmessage
{String|Function}: error message; if function getsfn(actual, expected, value)
signaturereturns
{Undefined}: nothing is returned, throws if not okey
Example
var assert = require('assert-kindof')
assert.boolean(true) // => not throws
assert.boolean(false) // => not throws
assert.boolean(123) // => AssertionError: number !== boolean
assert.boolean(null) // => AssertionError: null !== boolean
try {
assert.boolean([1, 2, 3], 'expect `val` to be {expected}')
} catch (err) {
console.log(err.message) // => 'expect `val` to be boolean'
console.log(err.actual) // => array
console.log(err.expected) // => boolean
console.log(err.value) // => [1, 2, 3]
}
.buffer
Check
value
is buffer, if not throws AssertionError.
Params
value
{any}: value to be checkedmessage
{String|Function}: error message; if function getsfn(actual, expected, value)
signaturereturns
{Undefined}: nothing is returned, throws if not okey
Example
var assert = require('assert-kindof')
assert.buffer(new Buffer('foo')) // => not throws
assert.buffer(123) // => AssertionError: number !== buffer
try {
assert.buffer(true, 'expect `val` to be {expected}')
} catch (err) {
console.log(err.message) // => 'expect `val` to be buffer'
console.log(err.actual) // => boolean
console.log(err.expected) // => buffer
console.log(err.value) // => true
}
.date
Check
value
is date, if not throws AssertionError.
Params
value
{any}: value to be checkedmessage
{String|Function}: error message; if function getsfn(actual, expected, value)
signaturereturns
{Undefined}: nothing is returned, throws if not okey
Example
var assert = require('assert-kindof')
assert.date(new Date()) // => not throws
assert.date(123) // => AssertionError: number !== date
try {
assert.date({ a: 'b' }, 'expect `val` to be {expected}')
} catch (err) {
console.log(err.message) // => 'expect `val` to be date'
console.log(err.actual) // => object
console.log(err.expected) // => date
console.log(err.value) // => { a: 'b' }
}
.error
Check
value
is error, if not throws AssertionError.
Params
value
{any}: value to be checkedmessage
{String|Function}: error message; if function getsfn(actual, expected, value)
signaturereturns
{Undefined}: nothing is returned, throws if not okey
Example
var assert = require('assert-kindof')
assert.error(new Error()) // => not throws
assert.error(new TypeError()) // => not throws
assert.error(123) // => AssertionError: number !== error
try {
assert.error({ a: 'b' }, 'expect `val` to be {expected}')
} catch (err) {
console.log(err.message) // => 'expect `val` to be error'
console.log(err.actual) // => object
console.log(err.expected) // => error
console.log(err.value) // => { a: 'b' }
}
.function
Check
value
is function, if not throws AssertionError.
Params
value
{any}: value to be checkedmessage
{String|Function}: error message; if function getsfn(actual, expected, value)
signaturereturns
{Undefined}: nothing is returned, throws if not okey
Example
var assert = require('assert-kindof')
assert.function(function noop () {}) // => not throws
assert.function((a, b) => {}) // => not throws
assert.function(123) // => AssertionError: number !== error
assert.function(function * noop () {})
// => AssertionError: generatorfunction !== function
try {
assert.function({ a: 'b' }, 'expect `val` to be {expected}')
} catch (err) {
console.log(err.message) // => 'expect `val` to be function'
console.log(err.actual) // => object
console.log(err.expected) // => function
console.log(err.value) // => { a: 'b' }
}
.generator
Check
value
is generator, if not throws AssertionError.
Params
value
{any}: value to be checkedmessage
{String|Function}: error message; if function getsfn(actual, expected, value)
signaturereturns
{Undefined}: nothing is returned, throws if not okey
Example
var generator = (function * gen () { yield 42 })()
var genFn = function * genFn () {}
var noop = () => { return 123 }
assert.generator(generator) // => not throws
assert.generator(genFn) // => AssertionError: generatorfunction !== generator
assert.generator(noop) // => AssertionError: function !== generator
assert.generator(123) // => AssertionError: number !== generator
try {
assert.generator({ a: 'b' }, 'expect `val` to be {expected}')
} catch (err) {
console.log(err.message) // => 'expect `val` to be generator'
console.log(err.actual) // => object
console.log(err.expected) // => generator
console.log(err.value) // => { a: 'b' }
}
.generatorfunction
Check
value
is generator function, if not throws AssertionError.
Params
value
{any}: value to be checkedmessage
{String|Function}: error message; if function getsfn(actual, expected, value)
signaturereturns
{Undefined}: nothing is returned, throws if not okey
Example
var generator = (function * gen () { yield 42 })()
var genFn = function * genFn () {}
var noop = () => { return 123 }
assert.generatorfunction(genFn) // => not throws
assert.generatorfunction(generator) // => AssertionError: generator !== generatorfunction
assert.generatorfunction(noop) // => AssertionError: function !== generatorfunction
assert.generatorfunction(123) // => AssertionError: number !== generatorfunction
try {
assert.generatorfunction({ a: 'b' }, 'expect `val` to be {expected}')
} catch (err) {
console.log(err.message) // => 'expect `val` to be generatorfunction'
console.log(err.actual) // => object
console.log(err.expected) // => generatorfunction
console.log(err.value) // => { a: 'b' }
}
.map
Check
value
is ES2015/ES6 Map, if not throws AssertionError.
Params
value
{any}: value to be checkedmessage
{String|Function}: error message; if function getsfn(actual, expected, value)
signaturereturns
{Undefined}: nothing is returned, throws if not okey
Example
var assert = require('assert-kindof')
assert.map(new Map()) // => not throws
assert.map(new WeakMap()) // => AssertionError: weakmap !== map
assert.map(123) // => AssertionError: number !== map
try {
assert.map(123, 'expect `val` to be {expected}')
} catch (err) {
console.log(err.message) // => 'expect `val` to be map'
console.log(err.actual) // => number
console.log(err.expected) // => map
console.log(err.value) // => { a: 'b' }
}
.null
Check
value
is null, if not throws AssertionError.
Params
value
{any}: value to be checkedmessage
{String|Function}: error message; if function getsfn(actual, expected, value)
signaturereturns
{Undefined}: nothing is returned, throws if not okey
Example
var assert = require('assert-kindof')
assert.null(null) // => not throws
assert.null({ a: 'b' }) // => AssertionError: object !== null
assert.null(123) // => AssertionError: number !== null
try {
assert.null(123, 'expect `val` to be {expected}')
} catch (err) {
console.log(err.message) // => 'expect `val` to be null'
console.log(err.actual) // => number
console.log(err.expected) // => null
console.log(err.value) // => 123
}
.number
Check
value
is number, if not throws AssertionError.
Params
value
{any}: value to be checkedmessage
{String|Function}: error message; if function getsfn(actual, expected, value)
signaturereturns
{Undefined}: nothing is returned, throws if not okey
Example
var assert = require('assert-kindof')
assert.number(123) // => not throws
assert.number({ a: 'b' }) // => AssertionError: object !== number
assert.number(null) // => AssertionError: null !== number
try {
assert.number([111, 222], 'expect `val` to be {expected}')
} catch (err) {
console.log(err.message) // => 'expect `val` to be number'
console.log(err.actual) // => array
console.log(err.expected) // => number
console.log(err.value) // => [111, 222]
}
.object
Check
value
is object, if not throws AssertionError.
Params
value
{any}: value to be checkedmessage
{String|Function}: error message; if function getsfn(actual, expected, value)
signaturereturns
{Undefined}: nothing is returned, throws if not okey
Example
var assert = require('assert-kindof')
assert.object({ aaa: 'bbb' }) // => not throws
assert.object([1, 2, 3]) // => AssertionError: array !== object
assert.object(null) // => AssertionError: null !== object
try {
assert.object([111, 222], 'expect `val` to be {expected}')
} catch (err) {
console.log(err.message) // => 'expect `val` to be object'
console.log(err.actual) // => array
console.log(err.expected) // => object
console.log(err.value) // => [111, 222]
}
.promise
Check
value
is promise, if not throws AssertionError.
Params
value
{any}: value to be checkedmessage
{String|Function}: error message; if function getsfn(actual, expected, value)
signaturereturns
{Undefined}: nothing is returned, throws if not okey
Example
var assert = require('assert-kindof')
assert.promise(Promise.resolve(123)) // => not throws
assert.promise(Promise.reject(new Error('foo'))) // => not throws
assert.promise(new Map()) // => AssertionError: map !== promise
assert.promise(123) // => AssertionError: number !== promise
try {
assert.promise({ a: 1 }, 'expect `val` to be {expected}')
} catch (err) {
console.log(err.message) // => 'expect `val` to be promise'
console.log(err.actual) // => object
console.log(err.expected) // => promise
console.log(err.value) // => { a: 1 }
}
.regexp
Check
value
is regexp, if not throws AssertionError.
Params
value
{any}: value to be checkedmessage
{String|Function}: error message; if function getsfn(actual, expected, value)
signaturereturns
{Undefined}: nothing is returned, throws if not okey
Example
var assert = require('assert-kindof')
assert.regexp(/foo ba?r abz/i) // => not throws
assert.regexp(new RegExp('aa bb')) // => not throws
assert.regexp(new Map()) // => AssertionError: map !== regexp
assert.regexp(123) // => AssertionError: number !== regexp
try {
assert.regexp({ a: 1 }, 'expect `val` to be {expected}')
} catch (err) {
console.log(err.message) // => 'expect `val` to be regexp'
console.log(err.actual) // => object
console.log(err.expected) // => regexp
console.log(err.value) // => { a: 1 }
}
.set
Check
value
is ES2015/ES6 Set, if not throws AssertionError.
Params
value
{any}: value to be checkedmessage
{String|Function}: error message; if function getsfn(actual, expected, value)
signaturereturns
{Undefined}: nothing is returned, throws if not okey
Example
var assert = require('assert-kindof')
assert.set(new Set()) // => not throws
assert.set(new Map()) // => AssertionError: map !== set
assert.set(123) // => AssertionError: number !== set
try {
assert.set({ a: 1 }, 'expect `val` to be {expected}')
} catch (err) {
console.log(err.message) // => 'expect `val` to be set'
console.log(err.actual) // => object
console.log(err.expected) // => set
console.log(err.value) // => { a: 1 }
}
.stream
Check
value
is stream, if not throws AssertionError.
Params
value
{any}: value to be checkedmessage
{String|Function}: error message; if function getsfn(actual, expected, value)
signaturereturns
{Undefined}: nothing is returned, throws if not okey
Example
var through2 = require('through2')
assert.stream(through2()) // => not throws
assert.stream(through2.obj()) // => not throws
assert.stream(new Map()) // => AssertionError: map !== stream
assert.stream(123) // => AssertionError: number !== stream
try {
assert.stream({ a: 1 }, 'expect `val` to be {expected}')
} catch (err) {
console.log(err.message) // => 'expect `val` to be stream'
console.log(err.actual) // => object
console.log(err.expected) // => stream
console.log(err.value) // => { a: 1 }
}
.string
Check
value
is string, if not throws AssertionError.
Params
value
{any}: value to be checkedmessage
{String|Function}: error message; if function getsfn(actual, expected, value)
signaturereturns
{Undefined}: nothing is returned, throws if not okey
Example
var fn = function aa () { return 123 }
assert.string('foo bar baz') // => not throws
assert.string(fn.toString()) // => not throws
assert.string(new String('abc')) // => not throws
assert.string(new Map()) // => AssertionError: map !== string
assert.string(123) // => AssertionError: number !== string
try {
assert.string({ a: 1 }, 'expect `val` to be {expected}')
} catch (err) {
console.log(err.message) // => 'expect `val` to be string'
console.log(err.actual) // => object
console.log(err.expected) // => string
console.log(err.value) // => { a: 1 }
}
.symbol
Check
value
is Symbol, if not throws AssertionError.
var assert = require('assert-kindof')*
Params
value
{any}: value to be checkedmessage
{String|Function}: error message; if function getsfn(actual, expected, value)
signaturereturns
{Undefined}: nothing is returned, throws if not okey
Example
assert.symbol(Symbol()) // => not throws
assert.symbol(new Map()) // => AssertionError: map !== symbol
assert.symbol(123) // => AssertionError: number !== symbol
try {
assert.symbol({ a: 1 }, 'expect `val` to be {expected}')
} catch (err) {
console.log(err.message) // => 'expect `val` to be symbol'
console.log(err.actual) // => object
console.log(err.expected) // => symbol
console.log(err.value) // => { a: 1 }
}
.undefined
Check
value
is undefined, if not throws AssertionError.
Params
value
{any}: value to be checkedmessage
{String|Function}: error message; if function getsfn(actual, expected, value)
signaturereturns
{Undefined}: nothing is returned, throws if not okey
Example
var assert = require('assert-kindof')
assert.undefined() // => not throws
assert.undefined(undefined) // => not throws
assert.undefined(new Map()) // => AssertionError: map !== undefined
assert.undefined(123) // => AssertionError: number !== undefined
try {
assert.undefined({ a: 1 }, 'expect `val` to be {expected}')
} catch (err) {
console.log(err.message) // => 'expect `val` to be undefined'
console.log(err.actual) // => object
console.log(err.expected) // => undefined
console.log(err.value) // => { a: 1 }
}
.weakmap
Check
value
is ES2015/ES6 WeakMap, if not throws AssertionError.
Params
value
{any}: value to be checkedmessage
{String|Function}: error message; if function getsfn(actual, expected, value)
signaturereturns
{Undefined}: nothing is returned, throws if not okey
Example
var assert = require('assert-kindof')
assert.weakmap(new WeakMap()) // => not throws
assert.weakmap(new WeakSet()) // => AssertionError: weakset !== weakmap
assert.weakmap(new Map()) // => AssertionError: map !== weakmap
assert.weakmap(123) // => AssertionError: number !== weakmap
try {
assert.weakmap({ a: 1 }, 'expect `val` to be {expected}')
} catch (err) {
console.log(err.message) // => 'expect `val` to be weakmap'
console.log(err.actual) // => object
console.log(err.expected) // => weakmap
console.log(err.value) // => { a: 1 }
}
.weakset
Check
value
is ES2015/ES6 WeakSet, if not throws AssertionError.
Params
value
{any}: value to be checkedmessage
{String|Function}: error message; if function getsfn(actual, expected, value)
signaturereturns
{Undefined}: nothing is returned, throws if not okey
Example
var assert = require('assert-kindof')
assert.weakmap(new WeakSet()) // => not throws
assert.weakset(new WeakMap()) // => AssertionError: weakmap !== weakset
assert.weakset(new Map()) // => AssertionError: map !== weakset
assert.weakset(123) // => AssertionError: number !== weakset
try {
assert.weakset({ a: 1 }, 'expect `val` to be {expected}')
} catch (err) {
console.log(err.message) // => 'expect `val` to be weakset'
console.log(err.actual) // => object
console.log(err.expected) // => weakset
console.log(err.value) // => { a: 1 }
}
Related
- always-done: Handle completion and errors with elegance! Support for streams, callbacks, promises, child processes, async/await and sync functions. A drop-in replacement for async-done - pass 100% of its… more | homepage
- assertit: Thin sugar layer on top of
testit
framework,is-kindof
andassert
. | homepage - is-kindof: Check type of given javascript value. Support promises, generators, streams, and native types. Built on kind-of lib. | homepage
- kind-of-extra: Additional functionality to kind-of type check utility. Support promises, generators, streams, errors. | homepage
- kind-of-types: List of all javascript types. Used and useful for checking, validation, sanitizing and testing. Like isStream, isPromise, isWeakset and etc. | homepage
- kind-of: Get the native type of a value. | homepage
- mukla: Small, parallel and fast test framework with suppport for async/await, promises, callbacks, streams and observables. Targets and works at node.js v0.10 and above. | homepage
- try-catch-callback: try/catch block with a callback, used in try-catch-core. Use it when you don't care about asyncness so much and don't want guarantees. If you care use try-catch-core. | homepage
- try-catch-core: Low-level package to handle completion and errors of sync or asynchronous functions, using once and dezalgo libs. Useful for and used in higher-level libs such as [always-done… more | homepage
- try-read-json: Graceful reading of JSON value, using JSON.parse with support for optional callback | homepage
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
But before doing anything, please read the CONTRIBUTING.md guidelines.