Class: abstract
AbstractRoute<T>
Defined in: packages/core/src/router/AbstractRoute.ts:43
Utility for representing and manipulating a single route in the router's configuration.
Extended by
Type Parameters
• T extends string
| RoutePathExpression
Constructors
new AbstractRoute()
new AbstractRoute<
T
>(name
,pathExpression
,controller
,view
,options
?):AbstractRoute
<T
>
Defined in: packages/core/src/router/AbstractRoute.ts:91
Initializes the route.
Parameters
name
string
The unique name of this route, identifying it among the rest of the routes in the application.
pathExpression
T
Path expression used in route matching, to generate valid path with provided params and parsing params from current path.
controller
The full name of Object Container alias identifying the controller associated with this route.
view
The full name or Object Container alias identifying the view class associated with this route.
options?
Partial
<RouteFactoryOptions
>
The route additional options.
Returns
Properties
_controller
protected
_controller:object
Defined in: packages/core/src/router/AbstractRoute.ts:58
The full name of Object Container alias identifying the controller associated with this route.
cached
cached:
null
|RouteController
|Promise
<RouteController
>
controller
controller:
AsyncRouteController
resolved
resolved:
boolean
_name
protected
_name:string
Defined in: packages/core/src/router/AbstractRoute.ts:48
The unique name of this route, identifying it among the rest of the routes in the application.
_options
protected
_options:RouteFactoryOptions
Defined in: packages/core/src/router/AbstractRoute.ts:76
The route additional options.
_pathExpression
protected
_pathExpression:T
Defined in: packages/core/src/router/AbstractRoute.ts:53
Path expression used in route matching, to generate valid path with provided params and parsing params from current path.
_view
protected
_view:object
Defined in: packages/core/src/router/AbstractRoute.ts:67
The full name or Object Container alias identifying the view class associated with this route.
cached
resolved
resolved:
boolean
view
view:
AsyncRouteView
Methods
extractParameters()
extractParameters(
path
,baseUrl
):RouteParams
<{}>
Defined in: packages/core/src/router/AbstractRoute.ts:292
Extracts the parameter values from the provided path. The method extracts both the in-path parameters and parses the query, allowing the query parameters to override the in-path parameters.
The method returns an empty hash object if the path does not match this route.
Parameters
path
string
Currently routed path.
baseUrl
string
Currently routed baseUrl.
Returns
RouteParams
<{}>
Map of parameter names to parameter values.
getController()
getController():
RouteController
|Promise
<RouteController
>
Defined in: packages/core/src/router/AbstractRoute.ts:153
Returns Controller class/alias/constant associated with this route. Internally caches async calls for dynamically imported controllers, meaning that once they're loaded, you get the same promise for subsequent calls.
Returns
RouteController
| Promise
<RouteController
>
The Controller class/alias/constant.
getName()
getName():
string
Defined in: packages/core/src/router/AbstractRoute.ts:132
Returns the unique identifying name of this route.
Returns
string
The name of the route, identifying it.
getOptions()
getOptions():
RouteFactoryOptions
Defined in: packages/core/src/router/AbstractRoute.ts:210
Return route additional options.
Returns
getPathExpression()
getPathExpression():
T
Defined in: packages/core/src/router/AbstractRoute.ts:220
Path expression used in route matching, to generate valid path with provided params and parsing params from current path.
Returns
T
The path expression.
getTrimmedPath()
getTrimmedPath(
path
):string
Defined in: packages/core/src/router/AbstractRoute.ts:230
Trims the trailing forward slash from the provided URL path.
Parameters
path
string
The path to trim.
Returns
string
Trimmed path.
getView()
Defined in: packages/core/src/router/AbstractRoute.ts:185
Returns View class/alias/constant associated with this route. Internally caches async calls for dynamically imported views, meaning that once they're loaded, you get the same promise for subsequent calls.
Returns
RouteView
| Promise
<RouteView
>
The View class/alias/constant.
isAsync()
isAsync(
module
):boolean
Defined in: packages/core/src/router/AbstractRoute.ts:139
Checks if given argument is an async handler.
Parameters
module
unknown
Returns
boolean
isControllerResolved()
isControllerResolved():
boolean
Defined in: packages/core/src/router/AbstractRoute.ts:173
Returns true for resolved controller. This is always true for sync route views.
Returns
boolean
isViewResolved()
isViewResolved():
boolean
Defined in: packages/core/src/router/AbstractRoute.ts:203
Returns true for resolved view. This is always true for sync route views.
Returns
boolean
matches()
matches(
path
):boolean
Defined in: packages/core/src/router/AbstractRoute.ts:271
Tests whether the provided URL path matches this route. The provided path may contain the query.
Parameters
path
string
The URL path.
Returns
boolean
true
if the provided path matches this route.
preload()
preload():
Promise
<[RouteController
,RouteView
]>
Defined in: packages/core/src/router/AbstractRoute.ts:239
Preloads dynamically imported view and controller.
Returns
Promise
<[RouteController
, RouteView
]>
Promise.All resolving to [view, controller] tuple.
toPath()
toPath(
params
):string
Defined in: packages/core/src/router/AbstractRoute.ts:256
Creates the URL and query parts of a URL by substituting the route's parameter placeholders by the provided parameter value.
The extraneous parameters that do not match any of the route's placeholders will be appended as the query string.
Parameters
params
RouteParams
<{}>
The route parameter values.
Returns
string
Path and, if necessary, query parts of the URL representing this route with its parameters replaced by the provided parameter values.