Skip to content

Commit

Permalink
move params handling in function; remove global parent; allow null pa…
Browse files Browse the repository at this point in the history
…rams
  • Loading branch information
Matthijs van Henten committed Mar 9, 2015
1 parent aa151b5 commit a152ec6
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 11 deletions.
2 changes: 2 additions & 0 deletions lib/params.js
Expand Up @@ -7,6 +7,8 @@ var BuiltinTypes = new Types();
var Params = {

normalize: function(params, types, source) {
if( ! params ) return {};

types = types || BuiltinTypes;

for (var name in params) {
Expand Down
27 changes: 16 additions & 11 deletions lib/route.js
Expand Up @@ -5,6 +5,20 @@ var Params = require("./params");
var flatten = require("./utils").flatten;
var error = require("http-error");

function prepareParams( options, types, parent ){
var params = Params.normalize(options.params, types );

if ( parent ){
for ( var key in parent.params ){
if ( params[key] ) continue;
params[key] = parent.params[key];
}
}

return params;
}


module.exports = function Route(route, options, handler, types, parent ) {

// options is optional
Expand All @@ -14,7 +28,6 @@ module.exports = function Route(route, options, handler, types, parent ) {
options = {};
}

parent = parent || {};

options.route = route;

Expand All @@ -33,16 +46,8 @@ module.exports = function Route(route, options, handler, types, parent ) {

var self = this;
var keys = [];
var params = options.params || {};

params = Params.normalize(params, types );

for ( var key in parent.params ){
if ( params[key] ) continue;
params[key] = parent.params[key];
}



var params = prepareParams( options, types, parent );
var routeRe = normalizePath(options.route, keys, params);

function wrapHandler(handler) {
Expand Down

0 comments on commit a152ec6

Please sign in to comment.