@nimel/directorr-router
Version:
Router store for directorr
53 lines (52 loc) • 2.19 kB
TypeScript
import { Action, Blocker, HistoryActionPayload, RouterActionPayload, LocationState, RouterGoToActionPayload, RouterBlockActionPayload, QueryObject, HistoryRouterTask, HistoryRouterHandler } from './types';
export default class HistoryStore {
path: string;
state?: LocationState;
queryObject?: QueryObject;
unsubHistory: () => void;
action: Action;
private history;
private handlersStack;
private blockState;
constructor(history?: import("history").BrowserHistory<import("history").State>);
subscribe: (handler: HistoryRouterHandler) => void;
unsubscribe: (handler: HistoryRouterHandler) => void;
toSetState: ({ path, queryObject, state }: RouterActionPayload) => void;
toDestroy: () => void;
toHistoryPush: (payload: HistoryActionPayload) => HistoryActionPayload;
toHistoryPop: (payload: HistoryActionPayload) => HistoryActionPayload;
toHistoryReplace: (payload: HistoryActionPayload) => HistoryActionPayload;
toPop: ({ path, queryObject, state, action }: HistoryActionPayload) => void;
push: (path: string, queryObject?: QueryObject, state?: LocationState) => {
path: string;
queryObject: QueryObject;
state: LocationState | undefined;
};
replace: (path: string, queryObject?: QueryObject, state?: LocationState) => {
path: string;
queryObject: QueryObject;
state: LocationState | undefined;
};
back: () => void;
reload: () => void;
toReload: () => void;
toPush: ({ path, queryObject, state }: RouterActionPayload) => void;
toReplace: ({ path, queryObject, state }: RouterActionPayload) => void;
toBack: () => void;
goTo: (index: number) => {
index: number;
};
toGoTo: ({ index }: RouterGoToActionPayload) => void;
forward: () => void;
toForward: () => void;
block: (blocker: Blocker) => {
blocker: Blocker;
};
toBlock: ({ blocker }: RouterBlockActionPayload) => void;
cancelBlock: (blocker: Blocker) => {
blocker: Blocker;
};
toCancelBlock: ({ blocker }: RouterBlockActionPayload) => void;
dispatchAction: (task: HistoryRouterTask) => void;
toJSON(): void;
}