UNPKG

@virtualstate/app-history

Version:

Native JavaScript [app-history](https://github.com/WICG/app-history) implementation

43 lines (42 loc) 1.99 kB
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;