express-enrouten
Version:
An express route initialization and configuration module.
32 lines (24 loc) • 901 B
JavaScript
;
var assert = require('assert');
/**
* The `routes` configuration option handler.
*/
module.exports = function routes(router, options) {
if (Array.isArray(options)) {
options.forEach(function (def) {
var method, middleware;
assert(def.path, 'path is required');
assert(typeof def.handler === 'function', 'handler is required');
if (def.middleware) {
assert(Array.isArray(def.middleware), 'middleware must be an array');
def.middleware.forEach(function(mw) {
assert(typeof mw === 'function', 'middleware must be a function');
});
}
method = (def.method || 'get').toLowerCase();
middleware = def.middleware || [];
router[method](def.path, middleware, def.handler);
});
}
return router;
};