new BooleanNode(){BooleanNode}
The BooleanNode class represents a value that can be anything
Returns:
BooleanNode instance.Methods
-
addCustomValidator(node){BooleanNode}
-
Add a custom object validator
Name Type Description node
CustomNode custom validation node to be used for this field validation
Example
// Create a Custom validator assert = require('assert'), Compiler = require('vitesse').Compiler, BooleanNode = require('vitesse').BooleanNode, CustomNode = require('../lib/custom'); var customValidator = new CustomNode() .setContext({divisibleBy: 10}) .setValidator(function(object, context) { if(object == false) { return new Error('value must be true'); } }); var schema = new BooleanNode(null, null, {typeCheck:true}) .addCustomValidator(customValidator); var compiler = new Compiler({}); // Compile the AST var func = compiler.compile(schema, {}); // Validate {} var results = func.validate({}); assert.equal(1, results.length); assert.equal('field is not a boolean', results[0].message); assert.deepEqual(['object'], results[0].path); assert.ok(results[0].rule === schema); // Validate '' var results = func.validate(false); assert.equal(1, results.length); assert.equal('value must be true', results[0].message); assert.deepEqual(['object'], results[0].path); assert.ok(results[0].rule === customValidator); // Validate string 'xxxxxx' var results = func.validate(true); assert.equal(0, results.length);
-
generate(context)
-
Generate the code for this node
Name Type Description context
object the generation context for this node
-
path(){array}
-
Return the current object path
Returns:
array containing the path to this node
-
setTypeCheck(typeCheck){BooleanNode}
-
Type check value
Name Type Description typeCheck
boolean type check value