Skip to content

Commit

Permalink
golf: save handler directly to route obj;
Browse files Browse the repository at this point in the history
- drops 9 bytes
  • Loading branch information
lukeed committed Jun 3, 2019
1 parent 876c677 commit 11a5f29
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions src/index.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import convert from 'regexparam';

export default function Navaid(base, on404) {
var rgx, routes=[], handlers={}, $={};
var rgx, routes=[], $={};

var fmt = $.format = function (uri) {
if (!uri) return uri;
Expand All @@ -18,10 +18,8 @@ export default function Navaid(base, on404) {
}

$.on = function (pat, fn) {
handlers[pat] = fn;
fn = convert(pat);
fn.route = pat;
routes.push(fn);
(pat = convert(pat)).fn = fn;
routes.push(pat);
return $;
}

Expand All @@ -30,8 +28,10 @@ export default function Navaid(base, on404) {
uri = fmt(uri || location.pathname);
for (; i < routes.length; i++) {
if (arr = (obj=routes[i]).pattern.exec(uri)) {
for (i=0; i < obj.keys.length;) params[obj.keys[i]]=arr[++i] || null;
handlers[obj.route](params); // todo loop?
for (i=0; i < obj.keys.length;) {
params[obj.keys[i]] = arr[++i] || null;
}
obj.fn(params); // todo loop?
return $;
}
}
Expand Down

0 comments on commit 11a5f29

Please sign in to comment.