0.2.1 • Published 10 years ago

assert-types v0.2.1

Weekly downloads
42
License
-
Repository
github
Last release
10 years ago

assert-types.js

A small JavaScript library for arguments assertion. Browser and Node.JS compatible.

What's the mission

The main mission is to provide simple and slick API for checking arguments and throwing exceptions. Let's get rid of explicit complex conditions.

Dependencies

  • Underscore.js

7.5 Kb unminified with comments, 3.6 Kb minified

How to install

NPM

npm install assert-types

Development and contributing

Install dependencies

npm install && bower install

Build Project

npm run build

Run Tests

npm run test

How to use

Loading library

If you're running in Node.js, you can require assertTypes.js like so:

var assertTypes = require('assert-types');

It also supports Require.js:

require.config({
	paths: {
		'assert-types': 'assert-types.js/dist/assert-types.min.js'
	}
});

require(['assert-types'], function(assert) {});

Also assertTypes.js could be included with an HTML <script> tag and assertTypes variable will be visible globally.

Assertions

// Numbers

assertTypes.number(num);
assertTypes.numberPositive(num);
assertTypes.numberNegative(num);
assertTypes.numberOdd(num);
assertTypes.numberEven(num);
assertTypes.numberInt(num);
assertTypes.numberFloat(num);
assertTypes.numberRange(num, min, max);

// Equals

assertTypes.equal(value, expectedValue);

// Boolean

assertTypes.bool(value);
assertTypes.boolTrue(value);
assertTypes.boolFalse(value);

// String

assertTypes.string(value);
assertTypes.stringNotEmpty(value);

// Other 

assertTypes.object(value);
assertTypes.fn(value);
assertTypes.array(value);
assertTypes.instance(value, instance);
assertTypes.nulled(value); 
assertTypes.defined(value);
assertTypes.date(value);

In case if assertion is failed, assertTypes will throw Error.

Conditions

Also the library has possibility to define conditions. Let's take a look here:

// These could be translated as: if value is defined then it should be a number
assertTypes.number(value, assertTypes.conditionIfDefined);

// Other examples
assertTypes.object(value, assertTypes.conditionIfDefined);

// You can define your own conditions
assertTypes.defined(value, today === 'Friday'); 

// Condition could be a function
assertTypes.numberPositive(value, function(value) {
    
    return today === 'Friday' || today === 'Monday';
    
});

The assertion will be performed if condition is true;

Maintainers

License

MIT