@eolme/vma-router
Version:
Router for VK Mini Apps
48 lines (47 loc) • 1.34 kB
TypeScript
import type { Emitter } from '@eolme/vma-engine';
import Route from './Route';
import type { RouteList, RouteLike } from '../types';
declare class History {
private static _name;
private _idle;
private _offset;
private _stack;
private _index;
private _bus;
private _scheduler;
routes: RouteList;
constructor(routes: any);
get index(): number;
get location(): string;
get route(): Readonly<Route>;
get length(): number;
push(route: Route): void;
replace(route: Route): void;
moveBy(by: number): void;
moveTo(to: number): void;
back(): void;
reset(): void;
pushAfterMove(prevRoute: Route, nextRoute: Route): void;
canMoveBy(by: number): boolean;
canMoveTo(to: number): boolean;
indexOf(route: RouteLike): number;
lastIndexOf(route: RouteLike): number;
check(): void;
/**
* History is broken after:
* - VKPay
* - Post from notification
* - Outside manipulations
*/
private _fixHistory;
private _initEmitter;
private _initScheduler;
private _initHistory;
private _initListener;
_createTickWithPopstate(): Promise<void>;
on: Emitter['on'];
once: Emitter['once'];
off: Emitter['off'];
}
export { History };
export default History;