@omnia/fx
Version:
Provide Omnia Fx typings and tooling for clientside Omnia development.
32 lines (31 loc) • 1.4 kB
TypeScript
import { ITokenBasedRouteContext, TokenBasedRouteStateData, IMessageBusTopicSubscription, TokenBasedRoute } from "../models";
export declare abstract class TokenBasedRouter<T1 extends TokenBasedRoute, T2 extends TokenBasedRouteStateData> {
private static initialized;
private static initialTokenBasedPath;
private static existingTokenBasedRouters;
private static fullPathTitle;
private static internalRouter;
private readonly routeChangedTopic;
private readonly token;
private _tokenExistsOnUrl;
private _routeContext;
constructor(token: string);
/**
* Build the path base on the current context
*
* */
protected abstract buildContextPath(routeContext: T1): string;
protected abstract resolveRouteFromPath(path: string): T1;
get onNavigate(): IMessageBusTopicSubscription<ITokenBasedRouteContext<T1, T2>>;
get routeContext(): ITokenBasedRouteContext<T1, T2>;
get tokenExistsOnUrl(): boolean;
protected protectedNavigate(title: string, route: T1, stateData?: T2, replaceState?: boolean): void;
protected protectedClearRoute(): void;
protected combinePathParts(...parts: string[]): string;
private resolveContext;
static getRouterUrl(): string;
private static buildPath;
private static resolveTokenBasedContext;
private static ensureNoSlashAtTheBeginningAndTheEnd;
private static init;
}