UNPKG

@virtualstate/navigation

Version:

Native JavaScript [navigation](https://developer.mozilla.org/en-US/docs/Web/API/Navigation_API) implementation

95 lines (94 loc) 6 kB
import { NavigationHistoryEntry as NavigationHistoryEntryPrototype, NavigationIntercept as NavigationInterceptPrototype, NavigationInterceptOptions, NavigationNavigationOptions, NavigationNavigationType, NavigationResult, NavigationTransition as NavigationTransitionPrototype, NavigationTransitionInit as NavigationTransitionInitPrototype } from "./spec/navigation"; import { NavigationHistoryEntry } from "./navigation-entry"; import { Deferred } from "./util/deferred"; import { EventTarget } from "./event-target"; export declare const Rollback: unique symbol; export declare const Unset: unique symbol; export type InternalNavigationNavigationType = NavigationNavigationType | typeof Rollback | typeof Unset; export declare const NavigationTransitionParentEventTarget: unique symbol; export declare const NavigationTransitionFinishedDeferred: unique symbol; export declare const NavigationTransitionCommittedDeferred: unique symbol; export declare const NavigationTransitionNavigationType: unique symbol; export declare const NavigationTransitionInitialEntries: unique symbol; export declare const NavigationTransitionFinishedEntries: unique symbol; export declare const NavigationTransitionInitialIndex: unique symbol; export declare const NavigationTransitionFinishedIndex: unique symbol; export declare const NavigationTransitionEntry: unique symbol; export declare const NavigationTransitionIsCommitted: unique symbol; export declare const NavigationTransitionIsFinished: unique symbol; export declare const NavigationTransitionIsRejected: unique symbol; export declare const NavigationTransitionKnown: unique symbol; export declare const NavigationTransitionPromises: unique symbol; export declare const NavigationIntercept: unique symbol; export declare const NavigationTransitionIsOngoing: unique symbol; export declare const NavigationTransitionIsPending: unique symbol; export declare const NavigationTransitionIsAsync: unique symbol; export declare const NavigationTransitionWait: unique symbol; export declare const NavigationTransitionPromiseResolved: unique symbol; export declare const NavigationTransitionRejected: unique symbol; export declare const NavigationTransitionBeforeCommit: unique symbol; export declare const NavigationTransitionCommit: unique symbol; export declare const NavigationTransitionFinish: unique symbol; export declare const NavigationTransitionStart: unique symbol; export declare const NavigationTransitionStartDeadline: unique symbol; export declare const NavigationTransitionError: unique symbol; export declare const NavigationTransitionFinally: unique symbol; export declare const NavigationTransitionAbort: unique symbol; export declare const NavigationTransitionInterceptOptionsCommit: unique symbol; export declare const NavigationTransitionCommitIsManual: unique symbol; export interface NavigationTransitionInit<S = unknown, R = unknown | void> extends Omit<NavigationTransitionInitPrototype, "finished"> { rollback(options?: NavigationNavigationOptions): NavigationResult<S>; [NavigationTransitionFinishedDeferred]?: Deferred<NavigationHistoryEntry<S>>; [NavigationTransitionCommittedDeferred]?: Deferred<NavigationHistoryEntry<S>>; [NavigationTransitionNavigationType]: InternalNavigationNavigationType; [NavigationTransitionInitialEntries]: NavigationHistoryEntry<S>[]; [NavigationTransitionInitialIndex]: number; [NavigationTransitionFinishedEntries]?: NavigationHistoryEntry<S>[]; [NavigationTransitionFinishedIndex]?: number; [NavigationTransitionKnown]?: Iterable<EventTarget>; [NavigationTransitionEntry]: NavigationHistoryEntry<S>; [NavigationTransitionParentEventTarget]: EventTarget; } export declare class NavigationTransition<S = unknown, R = unknown | void> extends EventTarget implements NavigationTransitionPrototype<S> { #private; readonly finished: Promise<NavigationHistoryEntryPrototype<S>>; /** * @experimental */ readonly committed: Promise<NavigationHistoryEntryPrototype<S>>; readonly from: NavigationHistoryEntryPrototype<S>; readonly navigationType: NavigationNavigationType; /** * true if transition has an async intercept */ [NavigationTransitionIsAsync]: boolean; /** * @experimental */ readonly [NavigationTransitionInterceptOptionsCommit]: NavigationInterceptOptions<S>["commit"][]; readonly [NavigationTransitionFinishedDeferred]: Deferred<NavigationHistoryEntry<S>>; readonly [NavigationTransitionCommittedDeferred]: Deferred<NavigationHistoryEntry<S>>; get [NavigationTransitionIsPending](): boolean; get [NavigationTransitionNavigationType](): InternalNavigationNavigationType; get [NavigationTransitionInitialEntries](): NavigationHistoryEntry<S>[]; get [NavigationTransitionInitialIndex](): number; get [NavigationTransitionCommitIsManual](): boolean; [NavigationTransitionFinishedEntries]?: NavigationHistoryEntry<S>[]; [NavigationTransitionFinishedIndex]?: number; [NavigationTransitionIsCommitted]: boolean; [NavigationTransitionIsFinished]: boolean; [NavigationTransitionIsRejected]: boolean; [NavigationTransitionIsOngoing]: boolean; readonly [NavigationTransitionKnown]: Set<EventTarget>; readonly [NavigationTransitionEntry]: NavigationHistoryEntry<S>; get signal(): AbortSignal; get [NavigationTransitionPromises](): Set<Promise<PromiseSettledResult<void>>>; constructor(init: NavigationTransitionInit<S, R>); rollback: (options?: NavigationNavigationOptions) => NavigationResult; [NavigationTransitionPromiseResolved]: (...promises: Promise<PromiseSettledResult<void>>[]) => void; [NavigationTransitionRejected]: (reason: unknown) => Promise<void>; [NavigationIntercept]: (options: NavigationInterceptPrototype<R>) => void; [NavigationTransitionWait]: () => Promise<NavigationHistoryEntry<S>>; [NavigationTransitionAbort](): void; [NavigationTransitionFinish]: () => Promise<void>; }