Welcome

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.

Highlights

  • Validation syntax based on JSDoc expressions

  • Entry and exit point contract validation

  • Explanatory exceptions in the style of aproba

  • Recursive structure (object) validation

  • Interface validation

  • Template tag flavor

  • Property decorators flavor

  • Can be disabled or completely cut off for production

Flavors

Main

function pdf( path, w, h, options, callback ) {
  validate( arguments, [
    "string",
    "!number",
    "!number",
    PdfOptionsType,
    "function=" ] );
}

Template tag

Property decorator

Last updated

Was this helpful?