Socket
Socket
Sign inDemoInstall

db-schema-validator

Package Overview
Dependencies
2
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    db-schema-validator

Object model validation


Version published
Weekly downloads
1
decreased by-87.5%
Maintainers
1
Install size
14.3 kB
Created
Weekly downloads
 

Readme

Source

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

FAQs

Last updated on 24 Jan 2016

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc