Class: BooleanNode

BooleanNode

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

comments powered by Disqus