on static method
This function is used to register your application in Karee Router module.
path
is the string that represents the resource location.
action
is the action to perform when resource represented by path
is
needed.
canActivated
is the route guard, use to allow the request to access to
the desired resource.
Implementation
static void on(String path, dynamic action, {RouteActivation? canActivated}) {
assert(action != null && action.toString().isNotEmpty);
assert(path.isNotEmpty);
final canActivateRoute = canActivated ?? defaultRouteActivation;
var routeEntry = _RouteEntry(path, action, canActivateRoute);
if (path.contains(_pathVariableRegExp)) {
var meta = _ParameterizedRoute(routeEntry, []);
var newPath = path.replaceAllMapped(_pathVariableRegExp, (m) {
meta.parameters.add(path.substring(m.start + 1, m.end - 1));
return _pathVariableGroup;
});
_routeWithParams[newPath] = meta;
} else {
_routeMap[path] = routeEntry;
}
// routeMap[route] = action;
if (canActivateRoute != defaultRouteActivation) {
var routes = _routeActivationMap[canActivateRoute] ?? <String>[];
routes.add(path);
_routeActivationMap[canActivateRoute] = routes;
}
}