UNPKG

@easyroute/core

Version:

Framework-agnostic router for JavaScript single-page applications

41 lines (40 loc) 1.66 kB
import { RouteInfoData, RouteMatchData, BeforeRouterHook, AfterRouterHook, RouterSettings } from './types'; export default class Router { private settings; private readonly routes; private ignoreEvents; private currentUrl; private beforeEachHooks; private afterEachHooks; private modeName; transitionOutHooks: BeforeRouterHook[]; currentMatched: { readonly getValue: RouteMatchData[]; subscribe(listener: import("./types").ObservableListener<RouteMatchData[]>): () => boolean; set(v: any): void; }; currentRouteData: { readonly getValue: RouteInfoData; subscribe(listener: import("./types").ObservableListener<RouteInfoData>): () => boolean; set(v: any): void; }; currentRouteFromData: { readonly getValue: RouteInfoData | null; subscribe(listener: import("./types").ObservableListener<RouteInfoData | null>): () => boolean; set(v: any): void; }; silentControl: any; constructor(settings: RouterSettings); parseRoute(url: string, doPushState?: boolean, replace?: boolean): Promise<void>; private executeHook; push(url: string): Promise<void>; replace(url: string): Promise<void>; go(howFar: number): void; back(): void; beforeEach(hook: BeforeRouterHook): void; afterEach(hook: AfterRouterHook): void; transitionOut(hook: BeforeRouterHook): void; runHooksArray(hooks: BeforeRouterHook[] | AfterRouterHook[], to: RouteInfoData, from: RouteInfoData | null, type: 'before' | 'after' | 'transition'): Promise<boolean>; get base(): string; get currentRoute(): RouteInfoData; }