Use chai to validate your method’s parameters

Quick start

Install it on your project

npm install chai-param

Require and load it

var chai = require('chai'),
    chaiParam = require('chai-param'),
    expect = chai.expect,
    should = chai.should(),
    param = chaiParam.param;


Happy method guarding :)

function register(user, pass) {
	// using should
	param(user, 'user', 'UsersCtl.register');
	// or using expect
	expect(user).param('user', 'UsersCtl.register')


Chai-param can be configured by setting the values in chaiParam.config object properties. E.g:

var chaiParam = require('chai-param');

chaiParam.config.improveMessages = true;


Type: Boolean Default: true

Controls whether or not chai-param should replace chai’s messages by more descriptive ones. So, for example, instead of getting

UserCtl.register: expected 'asdf' to have a length above 5 but got 4

You’ll get…

Improved error message

showCaller on error messages

Type: Boolean Default: true

This option is only available for node and requires improveMessages to be true.

chaiParam.config.showCaller = true;


Type: Boolean Default: false

Disables message coloring. Boring, but useful for tests.