assert-types

0.2.1 • Public • Published

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

Package Sidebar

Install

npm i assert-types

Weekly Downloads

92

Version

0.2.1

License

none

Last publish

Collaborators

  • suevalov