db-schema-validator
v1.0.1
Published
Object model validation
Downloads
9
Readme
db-schema-validator
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-floatingnumber
date
bool
any
: anything butundefined
ornull
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