ember-source
Version:
A JavaScript framework for creating ambitious web applications
58 lines (55 loc) • 1.84 kB
TypeScript
declare module '@ember/routing/lib/routing-service' {
/**
@module ember
*/
import Service from '@ember/service';
import type { ModelFor } from 'router_js';
import type Route from '@ember/routing/route';
import EmberRouter from '@ember/routing/router';
import type RouterState from '@ember/routing/lib/router_state';
import { ROUTER } from '@ember/routing/router-service';
/**
The Routing service is used by LinkTo, and provides facilities for
the component/view layer to interact with the router.
This is a private service for internal usage only. For public usage,
refer to the `Router` service.
@private
@class RoutingService
*/
export default class RoutingService<R extends Route> extends Service {
targetState: EmberRouter['targetState'];
currentState: EmberRouter['currentState'];
currentRouteName: EmberRouter['currentRouteName'];
currentPath: EmberRouter['currentPath'];
[ROUTER]?: EmberRouter;
get router(): EmberRouter;
hasRoute(routeName: string): boolean;
transitionTo(
routeName: string,
models: ModelFor<R>[],
queryParams: Record<string, unknown>,
shouldReplace: boolean
): import('router_js').Transition;
normalizeQueryParams(
routeName: string,
models: ModelFor<R>[],
queryParams: Record<string, unknown>
): void;
_generateURL(
routeName: string,
models: ModelFor<R>[],
queryParams: Record<string, unknown>
): string;
generateURL(
routeName: string,
models: ModelFor<R>[],
queryParams: Record<string, unknown>
): string | undefined;
isActiveForRoute(
contexts: ModelFor<R>[],
queryParams: Record<string, unknown> | undefined,
routeName: string,
routerState: RouterState
): boolean;
}
}