@ebntly/assert-type

0.1.2 • Public • Published

@ebntly/assert-type

A type assertion and validation library.

  • Reasoning
  • Installation
  • Usage
  • License

Reasoning

The purpose of this library is to provide a simple and quick way to validate types and if neccessary, throwing normalized and informative exceptions.

Installation

Install using npm or with yarn.

  • npm - npm install @ebntly/assert-type --save
  • yarn - yarn add @ebntly/assert-type

Usage

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

//  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

//  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')

Examples

assert

assert throws a TypeError if the the value in not the specified type.

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<string>`. Not an `array`.'
assert(goodValue, 'badValue', arrayOf(string)) //  throws 'Expected `badValue` to be of type `array<string>`. Failed on indexes 1.'

validate type

Using the type validators directly, returns an object.

import { string, arrayOf } from '@ebntly/assert-type'

const goodValue = ['Hello', 'World']
const badValue = ['Hello', true]

arrayOf(string)(goodValue)
/*
 * {
 *      valid: true,
 *      name: 'value'
 *      type: 'array<string>'
 * }
*/

arrayOf(string)({})
/*
 * {
 *      valid: false,
 *      name: 'value'
 *      type: 'array<string>',
 *      error: 'TypeError: Expected `value` to be of type `array<string>`. Not an `array`.'
 * }
*/

arrayOf(string)(badValue)
/*
 * {
 *      valid: false,
 *      name: 'value'
 *      type: 'array<string>',
 *      error: 'TypeError: Expected `value` to be of type `array<string>`. Failed on indexes 1.'
 * }
*/

Maintainers

License

MIT

Dependents (0)

Package Sidebar

Install

npm i @ebntly/assert-type

Weekly Downloads

1

Version

0.1.2

License

MIT

Unpacked Size

39.5 kB

Total Files

26

Last publish

Collaborators

  • bntly