UNPKG

resig.js

Version:

Universal reactive signal library with complete platform features: signals, animations, CRDTs, scheduling, DOM integration. Works identically across React, SolidJS, Svelte, Vue, and Qwik.

113 lines (112 loc) 3.52 kB
/** * Framework Adapters for Router * Universal router integration with React, Svelte, Vue, etc. */ import { Route, RouteTree } from './types'; /** * React Router Adapter */ export declare const useReactRouter: <A>(routes: Route<A>[]) => { route: import("./types").Option<Route<A>>; params: A; navigate: (to: string) => void; back: () => import("..").Effect<void>; forward: () => import("..").Effect<void>; replace: (to: string) => import("..").Effect<void>; }; /** * React Tree Router Adapter */ export declare const useReactTreeRouter: <A>(tree: RouteTree<A>) => { route: import("./types").Option<Route<A>>; params: A; navigate: (to: string) => import("..").Effect<void>; back: () => import("..").Effect<void>; forward: () => import("..").Effect<void>; replace: (to: string) => import("..").Effect<void>; }; /** * Svelte Router Adapter */ export declare const useSvelteRouter: <A>(routes: Route<A>[]) => { route: import("..").Signal<import("./types").Option<Route<A>>>; params: import("..").Signal<A>; navigate: (to: string) => import("..").Effect<void>; back: () => import("..").Effect<void>; forward: () => import("..").Effect<void>; replace: (to: string) => import("..").Effect<void>; }; /** * Vue Router Adapter */ export declare const useVueRouter: <A>(routes: Route<A>[]) => { route: any; params: any; navigate: (to: string) => import("..").Effect<void>; back: () => import("..").Effect<void>; forward: () => import("..").Effect<void>; replace: (to: string) => import("..").Effect<void>; }; /** * SolidJS Router Adapter */ export declare const useSolidRouter: <A>(routes: Route<A>[]) => { route: any; params: any; navigate: (to: string) => import("..").Effect<void>; back: () => import("..").Effect<void>; forward: () => import("..").Effect<void>; replace: (to: string) => import("..").Effect<void>; }; /** * Universal Router Hook * Automatically detects framework and returns appropriate adapter */ export declare const useRouter: <A>(routes: Route<A>[]) => { route: import("./types").Option<Route<A>>; params: A; navigate: (to: string) => void; back: () => import("..").Effect<void>; forward: () => import("..").Effect<void>; replace: (to: string) => import("..").Effect<void>; } | { route: any; params: any; navigate: (to: string) => import("..").Effect<void>; back: () => import("..").Effect<void>; forward: () => import("..").Effect<void>; replace: (to: string) => import("..").Effect<void>; } | { route: { tag: "None"; }; params: any; navigate: (_to: string) => void; back: () => void; forward: () => void; replace: (_to: string) => void; }; /** * Server-Side Rendering Adapter */ export declare const createSSRRouter: <A>(routes: Route<A>[], initialPath: string) => { getRoute: () => import("./types").Option<Route<A>>; getParams: () => A; setPath: (path: string) => void; render: () => { route: import("./types").Option<Route<A>>; params: A; path: string; }; }; /** * Testing Adapter */ export declare const createTestRouter: <A>(routes: Route<A>[], initialPath?: string) => { router: import("./types").RouterSignal<A>; navigate: (to: string) => import("..").Effect<void>; getPath: () => any; setPath: (path: string) => any; back: () => import("..").Effect<void>; forward: () => import("..").Effect<void>; };