@mangar2/checkinput
v2.6.1
Published
JSON schema check
Downloads
6
Readme
Abstract
JSON schema validator matching standard version 0 . 7
Contents
Meta
| | | | --- | --- | | File | checkinput.js | | Abstract | JSON schema validator matching standard version 0 . 7 | | Author | Volker Böhm | | Copyright | Copyright ( c ) 2020 Volker Böhm | | License | This software is licensed under the GNU LESSER GENERAL PUBLIC LICENSE Version 3 . It is furnished "as is" , without any support , and with no warranty , express or implied , as to its usefulness for any purpose . |
Global functions
_checkPropertyNames
_checkPropertyNames (definition, object, checkSubschema) => {CheckResult}
Checks the property names
_checkPropertyNames Parameters
| Name | Type | Description |
| ---------- | ------------ | ----------------- |
| definition
| Object
| property names schema definition | |
| object
| Object
| object to check | |
| checkSubschema
| function
| ( definition , data ) | |
_checkPropertyNames returns
| Type | Description |
| ---- | ----------- |
| CheckResult
| result of the check with 'check' and 'message' |
Class CheckInput
new CheckInput(definition, options)
Creates a new JSON Schema validation class to validate a data object according to a JSON Schema . Many thanks to epoberezkin/JSON-Schema-Test-Suite for providing a cool test suite . I use it to check my implementation This is not ( yet ) a complete implementation . The following tests are not running yet :
- remote-refs ( neither local nor remote )
- unicode-code-points ( EmacsScript length is used to get the lengt of a string ) definitions
Example
check = new CheckInput({
type: 'object',
properties: {
topic: { type: 'string' },
value: { type: 'string' },
},
required: ['topic', 'value']
})
// returns true, as the parameter fits to the descriptions
check.validate({ topic: '/a/b', value: 'on' })
// returns false and fills the error message
// check.message is { topic: 'missing property topic', value: 'missing property value' }
check.validate ( {} )
// Throws an Error, as the validation does not fits to the description
check.throwOnValidationError({ topic: '/a/b' })
// Prints the error message
console.log(check.messages)
CheckInput Parameters
| Name | Type | Description |
| ---------- | ------------ | ----------------- |
| definition
| Any
| JSON schema definition | |
| options
| Object
| schema validation options | |
options properties
| Name | Type | Attribute | Default | Description |
| ---------- | ------------ | ------------ | ------------ | ----------------- |
| deepUnique
| boolean
| optional | true | if true , the content is checked deeply . For example different objects with the same | |
| stringToNumber
| boolean
| optional | false | if true , strings containing numbers are automatically converted | |
CheckInput Members
| Name | Type | description |
| ------------ | ------------ | ------------ |
| messages
| Object, string
| Gets the list of error messages |
CheckInput Methods
throwOnValidationError
throwOnValidationError (data, message)
Validates the input and throws a message on error
throwOnValidationError Parameters
| Name | Type | Attribute | Default | Description |
| ---------- | ------------ | ------------ | ------------ | ----------------- |
| data
| Object
| | | data to check against definition | |
| message
| string
| optional | '' | starting string of the error message | |
validate
validate (data) => {boolean}
Checks an object against a swagger defintion
validate Parameters
| Name | Type | Description |
| ---------- | ------------ | ----------------- |
| data
| Object
| data to check against definition | |
validate returns
| Type | Description |
| ---- | ----------- |
| boolean
| true , if the data matches to the definition else false |