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
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
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);
assertTypes.equal(value, expectedValue);
assertTypes.bool(value);
assertTypes.boolTrue(value);
assertTypes.boolFalse(value);
assertTypes.string(value);
assertTypes.stringNotEmpty(value);
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:
assertTypes.number(value, assertTypes.conditionIfDefined);
assertTypes.object(value, assertTypes.conditionIfDefined);
assertTypes.defined(value, today === 'Friday');
assertTypes.numberPositive(value, function(value) {
return today === 'Friday' || today === 'Monday';
});
The assertion will be performed if condition is true;
Maintainers
License
MIT