Nanobot: Polygonal Mascot

    verif

    1.0.2 • Public • Published

    verif

    Secure data validation in JS

    GitHub | NPM

    Install

    npm i verif
    
    const {Validator, Range} = require('verif')

    Usage

    Create a validator

    const myValidator = new Validator({
        'type': 'object',
        'props': {
            'name': {
                'type': 'string',
                'length': Range(3, 23)
            },
            'age': {
                'type': 'number',
                'value': Range(5, 4000)
            }
        }
    })

    Test with a validator

    myValidator.test({
        'name': 'Tester',
        'age': 17
    })
     
    // This will not throw; data is acceptable.
    myValidator.test({
        'name': 'Tester',
        'age': 4
    })
     
    // This will throw an error:
    // Error: Number value 4 out of bounds. Expected in [5, 4000]

    Validate with a validator

    const res = myValidator.validate({
        'name': 'Tester',
        'age': 4
    })
     
    // This will return information about the validation:
    /*
    {
        passed: false,
        message: 'Number value 4 out of bounds. Expected in [5, 4000]',
        path: '/age/'
    }
    */

    Create a range

    // new Range(min: number, max: number, inclusive: boolean)
     
     
    new Range(4, 7, false)
    // Exclusive range (4, 7)
     
    new Range(6, 10, true)
    new Range (6, 10)
    // Inclusive range [6, 10]

    Properties of types

    For all validations, a type must be specified.

    number

    • Range value

      Permitted number value range

    string

    • Range length

      Permitted string length range

    • RegEx test

      Mandatory string regular expression test

    array

    • Range length

      Permitted array length range

    • schema items

      Schema for item testing

    object

    • Object[schema] props

      Schemas for testing individual properties

    • boolean allowExtraProps

      Permit the inclusion of additional properties not defined in props

      Default: false

    Install

    npm i verif

    DownloadsWeekly Downloads

    0

    Version

    1.0.2

    License

    MIT

    Unpacked Size

    8.64 kB

    Total Files

    6

    Last publish

    Collaborators

    • ethan_