Neptune's Potato Monsters

    underscore.assert

    1.2.1 • Public • Published

    underscore.assert (npm)

    npm version Travis Coverage Status

    🔨 Plugin for Underscore.js: add method "_.assert", which simplify checking states

                             _
                            | |
      __ _ ___ ___  ___ _ __| |_
     / _` / __/ __|/ _ \ '__| __|
    | (_| \__ \__ \  __/ |  | |_
     \__,_|___/___/\___|_|   \__|
    
    

    Warning!

    Probably, better option foy you is use assert package from npm.
    But if you insist I will be happy to hear that you use my package

    Please give me any feedback @piecioshka.

    Install

    $ npm install underscore.assert
    

    Usage

    var _ = require('underscore');
    var assert = require('underscore.assert');
    _.mixin({ assert: assert });
     
    _.assert(typeof fn === 'function', '*fn* should be function'); // throws AssertionError
    _.assert(list.length > 0, '*list* should contains any value'); // thows ONLY when list is empty
    _.assert(false); // => throw `AssertionError`
    _.assert.ErrorConstructor = MyCustomError;
    _.assert(false); // => throw `MyCustomError`

    Example

    Instead of this:

    function isUrl(url) {
        if (typeof url === 'string') {
            throw new Error('URL should be a *string* value');
        }
     
        // ... URL validation
    }

    ... you can that:

    function isUrl(url) {
        _.assert(typeof url === 'string', 'URL should be a *string* value');
        // ... URL validation
    }
     

    There is a shorter, nicer and better experience for developer 😄

    Proposals

    • This is not for tests files in project...
    • This is not instead of Jasmine or any test framework...
    • This is inline code for testing production code!

    License

    The MIT License @ 2013

    Install

    npm i underscore.assert

    DownloadsWeekly Downloads

    2

    Version

    1.2.1

    License

    MIT

    Last publish

    Collaborators

    • piecioshka