JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 6
  • Score
    100M100P100Q54020F
  • License MIT

Check native type of value and throw AssertionError if not okey. Clean stack traces. Simplicity. Built on [is-kindof][].

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 npmjs.com The MIT License npm downloads

Check native type of value and throw AssertionError if not okey. Clean stack traces. Simplicity. Built on is-kindof.

code climate standard code style travis build status coverage status dependency status

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 and value 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 checked
  • message {String|Function}: error message; if function gets fn(actual, expected, value) signature
  • returns {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 checked
  • message {String|Function}: error message; if function gets fn(actual, expected, value) signature
  • returns {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 checked
  • message {String|Function}: error message; if function gets fn(actual, expected, value) signature
  • returns {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 checked
  • message {String|Function}: error message; if function gets fn(actual, expected, value) signature
  • returns {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 checked
  • message {String|Function}: error message; if function gets fn(actual, expected, value) signature
  • returns {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 checked
  • message {String|Function}: error message; if function gets fn(actual, expected, value) signature
  • returns {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 checked
  • message {String|Function}: error message; if function gets fn(actual, expected, value) signature
  • returns {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 checked
  • message {String|Function}: error message; if function gets fn(actual, expected, value) signature
  • returns {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 checked
  • message {String|Function}: error message; if function gets fn(actual, expected, value) signature
  • returns {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 checked
  • message {String|Function}: error message; if function gets fn(actual, expected, value) signature
  • returns {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 checked
  • message {String|Function}: error message; if function gets fn(actual, expected, value) signature
  • returns {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 checked
  • message {String|Function}: error message; if function gets fn(actual, expected, value) signature
  • returns {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 checked
  • message {String|Function}: error message; if function gets fn(actual, expected, value) signature
  • returns {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 checked
  • message {String|Function}: error message; if function gets fn(actual, expected, value) signature
  • returns {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 checked
  • message {String|Function}: error message; if function gets fn(actual, expected, value) signature
  • returns {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 checked
  • message {String|Function}: error message; if function gets fn(actual, expected, value) signature
  • returns {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 checked
  • message {String|Function}: error message; if function gets fn(actual, expected, value) signature
  • returns {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 checked
  • message {String|Function}: error message; if function gets fn(actual, expected, value) signature
  • returns {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 checked
  • message {String|Function}: error message; if function gets fn(actual, expected, value) signature
  • returns {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 checked
  • message {String|Function}: error message; if function gets fn(actual, expected, value) signature
  • returns {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 checked
  • message {String|Function}: error message; if function gets fn(actual, expected, value) signature
  • returns {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 }
}
  • 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 and assert. | 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.

Charlike Make Reagent new message to charlike freenode #charlike

tunnckoCore.tk keybase tunnckoCore tunnckoCore npm tunnckoCore twitter tunnckoCore github