http-assert of typed values
Install
npm install http-assert-value --save
Usage
const assert = ; // Common assert interface; // Ok // Assert typed valuesassert; // Okassert; // Okassert; // Okasserttext'The Green Mile'; // Ok // Assert by JSON schema// @see: http://json-schema.org/assert; // Ok // All methods have duplicates with `try...`asserttextundefined; // Errorassert; // Ok try asserttext'DROP DATABASE BOOKS;'; catch error errormessage; // 'Text is invalid' errorstatusCode; // 400 erroroptions; // { value: 'DROP DATABASE BOOKS;', internalCode: '400_TVI' }
API
assert(value, message, code, shortMessage, options={})
Assert value with http-specific error data
- value
Any
- asserting value - message
String
- error text - code
Number
- error http-code - shortMessage
String
- three-letter error code - [options]
Object
- error additional information
assert.identity(value, field = 'Identity')
Assert slug or unique identity value
- value
String|Array<String>
- asserting value - [field]
String
- name of the parameter containing value
assert.float(value, field = 'Float')
Assert float value
- value
String|Array<String>
- asserting value - [field]
String
- name of the parameter containing value
assert.positiveInt(value, field = 'Positive integer')
Assert positive integer value
- value
String|Array<String>
- asserting value - [field]
String
- name of the parameter containing value
assert.text(value, field = 'Text')
Assert text, like search request
- value
String|Array<String>
- asserting value - [field]
String
- name of the parameter containing value
assert.bySchema(value, schema, options = {})
Assert object by schema
- value
Any|Array<Any>
- asserting value - schema
Object
- json-schema - [options]
Object
- ajv constructor options
assert.oneOf(value, expected = [], comparator)
Assert value, that it is in array
- value
Any
- asserting value - [expected]
Array
- array which contains expected values - [comparator]
Function
- function which compare values from array with asserting value. By default used comparator to compare primitive ((lhs, rhs) => lhs === rhs
)
assert.id(value, field = 'Id')
Alias for assert.positiveInt
assert.maxLength(value, maxLength = 0, field = 'Text')
Assert that value length is less than passed maxLength
- value
Any
- asserting value - [maxLength]
Number
- max allowed length of a string - [field]
String
- name of the parameter containing value
Every method has try-version method, which has same interface and assert value, when value is passed:
- assert.tryIdentity
- assert.tryFloat
- assert.tryPositiveInt
- assert.tryText
- assert.tryBySchema
- assert.oneOf
- assert.id
- assert.maxLength