Nucleus Powered Mitochondria

    @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

    Keywords

    none

    Install

    npm i @ebntly/assert-type

    DownloadsWeekly Downloads

    1

    Version

    0.1.2

    License

    MIT

    Unpacked Size

    39.5 kB

    Total Files

    26

    Last publish

    Collaborators

    • bntly