byContract is a small argument validation library based on JSDOC syntax. The library is available as a UMD-compatible module. Besides, it exposes byContract function globally when window object available, meaning you can still use it in non-modular programming.
It is covered with >100 unit-tests and ready for production. The project can be found on GitHub where you can also find our issue tracker.
Validation syntax based on JSDoc expressions
Entry and exit point contract validation
Explanatory exceptions in the style of aproba
Recursive structure (object) validation
Template tag flavor
Property decorators flavor
Can be disabled or completely cut off for production