ember-source
Version:
A JavaScript framework for creating ambitious web applications
52 lines • 2.14 kB
TypeScript
declare module '@ember/routing/lib/dsl' {
import type { InternalFactory } from "@ember/-internals/owner";
import type { MatchCallback } from "route-recognizer";
import type { EngineInfo, EngineRouteInfo } from "@ember/routing/lib/engines";
export interface RouteOptions {
path?: string;
resetNamespace?: boolean;
serialize?: (model: {}, params: string[]) => {
[key: string]: unknown | undefined;
};
overrideNameAssertion?: boolean;
}
export interface MountOptions {
path?: string;
as?: string;
resetNamespace?: boolean;
}
export interface DSLCallback {
(this: DSL): void;
}
export interface DSL {
route(name: string): void;
route(name: string, callback: DSLCallback): void;
route(name: string, options: RouteOptions): void;
route(name: string, options: RouteOptions, callback: DSLCallback): void;
mount(name: string): void;
mount(name: string, options: MountOptions): void;
}
export interface DSLImplOptions {
enableLoadingSubstates: boolean;
engineInfo?: EngineInfo;
addRouteForEngine(name: string, routeOptions: EngineRouteInfo): void;
resolveRouteMap(name: string): InternalFactory<any, any>;
}
export default class DSLImpl implements DSL {
parent: string | null;
matches: Array<Object | undefined>;
enableLoadingSubstates: boolean;
explicitIndex: boolean;
options: DSLImplOptions;
constructor(name: string | null | undefined, options: DSLImplOptions);
route(name: string): void;
route(name: string, callback: DSLCallback): void;
route(name: string, options: RouteOptions): void;
route(name: string, options: RouteOptions, callback: DSLCallback): void;
push(url: string, name: string, callback?: MatchCallback, serialize?: (model: {}, params: string[]) => {
[key: string]: unknown | undefined;
}): void;
generate(): MatchCallback;
mount(_name: string, options?: MountOptions): void;
}
}