A type assertion and validation library.
npm install @ebntly/assert-typeA type assertion and validation library.
* Reasoning
* Installation
* Usage
* License
The purpose of this library is to provide a simple and quick way to validate types and if neccessary, throwing normalized and informative exceptions.
Install using npm or with yarn.
* npm - npm install @ebntly/assert-type --save
* yarn - yarn add @ebntly/assert-type
All functions are available on the default export and as named exports of the main file.
They are also accessible as default exports of the file it is defined in.
You can find more information in the docs. Note: At the time of publishing the docs are incomplete, but actively being worked on.
Using main file exports
``js`
// import { assert, string } from '@ebntly/assert-type'
const { assert, string } = require('@ebntly/assert-type')
// or
// import assertType from '@ebntly/assert-type'
const assertType = require('@ebntly/assert-type')
const { assert, string } = assertType
Using defined file exports
`js`
// import assert from '@ebntly/assert-type/assert'
// import string from '@ebntly/assert-type/assert/types/string'
const { defualt: assert } = require('@ebntly/assert-type/assert')
const { defualt: string } = require('@ebntly/assert-type/assert/types/string')
assert
assert throws a TypeError if the the value in not the specified type.
`js
import { assert, string, arrayOf } from '@ebntly/assert-type'
const goodValue = ['Hello', 'World']
const badType = ['Hello', true]
assert(goodValue, 'goodValue', arrayOf(string)) // Does not throw
assert({}, 'badValue', arrayOf(string)) // throws Expected badValue to be of type array. Not an array.'
assert(goodValue, 'badValue', arrayOf(string)) // throws 'Expected badValue to be of type array. Failed on indexes 1.'
``
validate type
Using the type validators directly, returns an object.
`js
import { string, arrayOf } from '@ebntly/assert-type'
const goodValue = ['Hello', 'World']
const badValue = ['Hello', true]
arrayOf(string)(goodValue)
/*
* {
* valid: true,
* name: 'value'
* type: 'array
* }
*/
arrayOf(string)({})
/*
* {
* valid: false,
* name: 'value'
* type: 'array
* error: 'TypeError: Expected value to be of type array. Not an array.'
* }
*/
arrayOf(string)(badValue)
/*
* {
* valid: false,
* name: 'value'
* type: 'array
* error: 'TypeError: Expected value to be of type array. Failed on indexes 1.'``
* }
*/