2019-08-31 20:51:14 -07:00

34 lines
986 B
TypeScript

import RouterService from '@ember/routing/router-service';
import Transition from '@ember/routing/-private/transition';
/**
* Temporal fix until ember release proper typings for routing with just params
*/
export type RouterServiceFix = RouterService & {
transitionTo(options: { queryParams: object }): Transition;
replaceWith(options: { queryParams: object }): Transition;
};
/**
* Describes the interface for the callback function accepeted by onUpdateURL in an IEmberLocation instance
* @alias {(url: string) => void}
*/
type UpdateCallback = (url: string) => void;
/**
* Defines the interface for the EmberRouter location type
* @export
* @interface IEmberLocation
*/
export interface IEmberLocation {
implementation: string;
cancelRouterSetup?: boolean;
getURL(): string;
setURL(url: string): void;
replaceURL?(url: string): void;
onUpdateURL(callback: UpdateCallback): void;
formatURL(url: string): string;
detect?(): void;
initState?(): void;
}