@virtualstate/app-history
Version:
Native JavaScript [app-history](https://github.com/WICG/app-history) implementation
43 lines (42 loc) • 1.99 kB
TypeScript
import AbortController from "abort-controller";
import { AppHistoryCurrentChangeEvent, AppHistoryDestination, AppHistoryNavigateEvent as AppHistoryNavigateEventPrototype, AppHistoryNavigateOptions as AppHistoryNavigateOptionsPrototype, AppHistoryNavigationType } from "./spec/app-history";
import { AppHistoryEntry } from "./app-history-entry";
import { AppHistoryTransition, InternalAppHistoryNavigationType } from "./app-history-transition";
export declare const AppHistoryFormData: unique symbol;
export declare const AppHistoryCanTransition: unique symbol;
export declare const AppHistoryUserInitiated: unique symbol;
export interface AppHistoryNavigateOptions extends AppHistoryNavigateOptionsPrototype {
[AppHistoryFormData]?: FormData;
[AppHistoryCanTransition]?: boolean;
[AppHistoryUserInitiated]?: boolean;
}
export declare const EventAbortController: unique symbol;
export interface AbortControllerEvent {
[EventAbortController]: AbortController;
}
export interface AppHistoryNavigateEvent extends AppHistoryNavigateEventPrototype, AbortControllerEvent {
}
export interface InternalAppHistoryNavigateOptions extends AppHistoryNavigateOptions {
entries?: AppHistoryEntry[];
index?: number;
known?: Set<AppHistoryEntry>;
navigationType?: AppHistoryNavigationType;
}
export interface AppHistoryTransitionContext {
transition: AppHistoryTransition;
options?: InternalAppHistoryNavigateOptions;
currentIndex: number;
known: Set<AppHistoryEntry>;
startTime?: number;
current?: AppHistoryEntry;
}
export interface AppHistoryTransitionResult {
entries: AppHistoryEntry[];
index: number;
known: Set<AppHistoryEntry>;
destination: AppHistoryDestination;
navigate: AppHistoryNavigateEvent;
currentChange: AppHistoryCurrentChangeEvent;
navigationType: InternalAppHistoryNavigationType;
}
export declare function createAppHistoryTransition(context: AppHistoryTransitionContext): AppHistoryTransitionResult;