explicit

0.1.3 • Public • Published

build status Code Climate js-standard-style

Explicit.js

Explicit.js allows explicitl annotation, documentation and augmentation of JavaScript methods.

npm i explicit joi -S

Usage

var explicit = require("explicit"),
    joi = require("joi");
 
var object = explicit({
    foo: {
        $args: [
            joi.string().meta("bar")
        ],
        $: function (bar) {
            console.info(bar);
        }
    }
});
 
object.foo(1); // 1
object.foo.valid(1); // will fail because the first argument is not allowed to be a string
object.foo.validObject({
    bar: "Hello World"
}); // "Hello World"

For single method definition add the $one parameter.

var foo = explicit({
    $one: true,   
    $args: [
        joi.string().meta("bar")
    ],
    $: function (bar) {
        console.info(bar);
    }
});
 
foo(1); // 1
foo.valid(1); // will fail because the first argument has to be a string
foo.validObject({
    bar: "Hello World"
}); // "Hello World"

And in case you want to make the assertion required you add the $assert parameter.

var foo = explicit({
    $one: true,
    $assert: true, 
    $args: [
        joi.string().meta("bar")
    ],
    $: function (bar) {
        console.info(bar);
    }
});
foo(1); // will fail because the first argument has to be a string

Package Sidebar

Install

npm i explicit

Weekly Downloads

293

Version

0.1.3

License

ISC

Unpacked Size

27.2 kB

Total Files

26

Last publish

Collaborators

  • leichtgewicht