@ima/core
Version:
IMA.js framework for isomorphic javascript application
37 lines (36 loc) • 1.5 kB
JavaScript
import { DynamicRoute } from './DynamicRoute';
import { StaticRoute } from './StaticRoute';
/**
* Utility factory used by router to create routes.
*/ export class RouteFactory {
static get $dependencies() {
return [];
}
/**
* Create new instance of ima.core.router.AbstractRoute.
*
* @param name The unique name of this route, identifying it among
* the rest of the routes in the application.
* @param pathExpression A path expression
* specifying either the URL path part matching this route (must not\
* contain a query string) with optionally containing named parameter
* placeholders specified as `:parameterName`. Or object defining
* matcher in form of regular expression and toPath and extractParameters
* function overrides.
* @param controller The full name of Object Container alias
* identifying the controller associated with this route.
* @param view The full name or Object Container alias identifying
* the view class associated with this route.
* @param options The route additional options.
* @return The constructed route.
*/ createRoute(name, pathExpression, controller, view, options) {
return Reflect.construct(typeof pathExpression === 'string' ? StaticRoute : DynamicRoute, [
name,
pathExpression,
controller,
view,
options
]);
}
}
//# sourceMappingURL=RouteFactory.js.map