Skip to content
argspec.js, but with sugar
JavaScript
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.gitignore
README.md
args-fetcher.js
bower.json

README.md

args-fetcher.js

Can be used only with require.js.

Install

Add to bower.json:

{
  "dependencies": {
    "args-fetcher.js": "*"
  }
}

Add to require.js main configuration file next deps:

{
  'argspecjs': 'Lib/Vendor/argspecjs/argspec',  // args-fetcher dependency
  'clonejs': 'Lib/Vendor/clone/clone', // args-fetcher dependency
  'args-fetcher': 'Lib/Vendor/args-fetcher.js/args-fetcher'
}

Usage

Component example:

define(['args-fetcher'], function(argsFetcher) {
    return {
        someMethod: function(widget, parameters, callback) {
            var args = argsFetcher.getArgs(arguments, {
                widget: { check: function(arg) { return arg && arg.someMethodExists; } },
                parameters: { default: {} },
                callback: { type: 'function', default: function() {} }
            });

            console.log(args);
        },

        someAnotherMethod: function() {
            var args = argsFetcher.getArgs(arguments, {
                url: { type: 'string' },
                param: { type: 'object', default: {} },
                method: { type: 'string', default: 'GET' },
                type: { type: 'string', default: 'json' },
                // Just one of: type/check can be used. If both used, then error will be thrown
                callback: { type: 'function', /* OR */ check: argsFetcher.isCallback, default: function() {} },
                skipCache: { type: 'boolean', default: Util.isIE() }
            });

            console.log(args);
        }
    }
});
Something went wrong with that request. Please try again.