db-schema-validator

1.0.1 • Public • Published

db-schema-validator Build Status

Object model validation

Install

$ npm install --save db-schema-validator

Usage

import dbSchemaValidator from 'db-schema-validator';
 
const validate = dbSchemaValidator({
    aString: 'string',
    aNumber: 'number',
    aNullableDate: 'date?',
    anArray: ['any']
});
 
validate({
    aString: 'test',
    aNumber: 2.15,
    aNullableDate: null,
    anArray: ['string', 2, true]
});
//=> true
 
validate({
    aString: 2,
    aNumber: 2.15,
    aNullableDate: null,
    anArray: []
});
// => throw "Expected 'aString' to be a string"

API

dbSchemaValidator(schemaDefinition)(itemToValidate)

schemaDefinition

Type: object
required

the schema used to validate the object, see schema definition for more details

itemToValidate

Type: object
required

the object to validate

Schema definition

Types

  • string
  • number
  • int: non-floating number
  • date
  • bool
  • any: anything but undefined or null

Nullable types

Just append ? at the end of the above

ei: number? will validate undefined, null, or a number

Complex types

Object

Nested object are supported

ei:

{
    l1: {
        l2: {
            aString: 'string'
        },
        aNumber: 2
    }
}

Array

Just wrap your types in []

ei: ['string'] will validate an array of string

Array of objects are also supported

ei:

[{
    aString: 'string',
    aNumber: 'number'
}]

Inspirations

The schema definition is highly inspired by ottoman

License

MIT © Thomas Sileghem

Readme

Keywords

none

Package Sidebar

Install

npm i db-schema-validator

Weekly Downloads

11

Version

1.0.1

License

MIT

Last publish

Collaborators

  • mastilver