UNPKG

@wroud/navigation

Version:

A flexible, pattern-matching navigation system for JavaScript applications with built-in routing, browser integration, and navigation state management

21 lines (16 loc) 515 B
import type { IRouteState } from "./IRouteState.js"; export type RouteActivationFn = ( toRoute: IRouteState, fromRoute: IRouteState | null ) => boolean | Promise<boolean>; export type RouteDeActivationFn = ( toRoute: IRouteState | null, fromRoute: IRouteState | null ) => boolean | Promise<boolean>; export interface IRoute { id: string; parents: string[]; canActivate?: RouteActivationFn; canDeactivate?: RouteDeActivationFn; } export interface IRouteOptions extends Omit<IRoute, "parents"> {}