UNPKG

sly-svelte-router

Version:

A spa router for svelte based on the History API

47 lines (46 loc) 1.46 kB
import { default as Router } from './Router.svelte'; export declare let currRoute: Route; export declare function link(node: HTMLAnchorElement, data?: any): { destroy(): void; }; export declare function route(node: HTMLElement, route: Omit<RouteChange, 'changeState'> | string): { destroy(): void; }; export declare function goTo(route: Omit<RouteChange, 'changeState'> | string, changeState?: ChangeState): void; export declare function goNext(): void; export declare function goPrev(): void; type RouteChange = { key: string; data?: any; changeState?: ChangeState; }; type ChangeState = 'push' | 'replace'; export type Route = { path: string; comp: any; title: string; data?: any; restrictions?: Array<string>; disableSlot?: boolean; }; export type Routes = { [key: string]: Omit<Route, 'data'>; }; /** * Returns false for when the route is let through (not restricted), and * false, or route key to redirect to when restricted. */ export type RestrictionResolver = (route: Route) => false | string; export type RouterConf = { routes: Routes; onRouteChanged: (route: Route) => void; rewriteInvalid: boolean; onInvalidRoute?: string; restrictions?: { [restriction: string]: RestrictionResolver; }; }; export declare function isRouteRestricted(route: Route): false | string; export declare function createRouter(conf: RouterConf): Route; export { Router, }; export default link;