Adding route and parsing:
var router = new Router();
router.addRoute('default', '/{controller}/{action}?{search}', function(o){ console.log(o); });
router.parse('/home/index?me=kaxa&shen=arvici');
Output:
{
"controller":"home",
"action":"index",
"search":"me=kaxa&shen=arvici"
}
Optional rooting parts:
router.addRoute('optional', '/{controller}/{action}[?{search}]', function(o){ console.log(o); });
Suceeds in both cases: '/home/index?me=kaxa&shen=arvici'
and '/home/index'
In case if bypassed all routes:
var router = new Router({
bypassedCallback: function(){
console.log('Bypassed all routes');
}
});
--
searchVariableName: 'search',
leftClosure: '{',
rightClosure: '}',
optionalLeftClosure: '[',
optionalRightClosure: ']',
bypassedCallback: function () { console.log('bypassed all rootes'); }
--
TODOs:
- Add functionality to option-
searchVariableName
(converts search part of url into object) - Enable closures with multiple symbols