@foko/type-check
TypeScript icon, indicating that this package has built-in type declarations

0.0.4 • Public • Published

type-check Build Status codecov Greenkeeper badge

Assert-style non-intrusive type checks.

Usage

It works similar to assert() where you simply state what should happen and then continue to operate. If the type check fails, a valid TypeError is thrown and your function will halt.

Simple example:

function add (a, b) {
  typeCheck('number', a)
  typeCheck('number', b)

  return a + b
}

add(1, 1) // returns 2
add('1', 1) // throws TypeError
add('1') // throws TypeError
add(1) // throws TypeError
// etc.

Available Types

Type detection is handled by type-detect by the lovely team over at chaijs. If you would like to use your own type detection, you can swap it out by replacing the function at typeCheck.typeOf:

const typeCheck = require('@karimsa/type-check')

// this replaces the type-detect typeOf function with just a native
// use of typeof (which is faster but less useful)
typeCheck.typeOf = function (value) {
  return typeof value
}

If you would like to make types optional (i.e. the type, undefined, or null) - just append ? to the end of the type name.

Example with optional types:

// all valid
typeCheck('number?', 2)
typeCheck('number?', undefined)
typeCheck('number?', null)

// invalid
typeCheck('number?', '2')

License

Licensed under MIT license.

Copyright © 2018-present Foko Inc. All rights reserved.

Readme

Keywords

Package Sidebar

Install

npm i @foko/type-check

Weekly Downloads

1

Version

0.0.4

License

MIT

Unpacked Size

260 kB

Total Files

14

Last publish

Collaborators

  • fokodeploy
  • cmcdonald
  • vinnyfoko
  • zketchum-foko
  • fokopratik
  • mbaroni
  • arbourd