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.
31 lines (30 loc) • 1.17 kB
TypeScript
/**
* Router Coalgebra Implementation
* Isomorphic router with Signal integration
*/
import { Router, RouterSignal, Route, RouteTree, RouteMatch, Option, NavigationEnv } from './types';
/**
* Creates a router coalgebra that maintains isomorphism
* between path strings and route states
*/
export declare const createRouter: <State>(routes: Route<State>[], env: NavigationEnv) => Router<State>;
/**
* Creates a reactive router signal
*/
export declare const createRouterSignal: <A>(routes: Route<A>[], env: NavigationEnv) => RouterSignal<A>;
/**
* Route Tree Matching - for nested routing
*/
export declare const matchRouteTree: <A>(tree: RouteTree<A>, path: string) => Option<RouteMatch<A>>;
/**
* Route Tree Router - for complex nested routing
*/
export declare const createTreeRouter: <A>(tree: RouteTree<A>, env: NavigationEnv) => RouterSignal<A>;
/**
* Router factory with environment detection
*/
export declare const router: <A>(routes: Route<A>[], env?: NavigationEnv) => RouterSignal<A>;
/**
* Tree router factory with environment detection
*/
export declare const treeRouter: <A>(tree: RouteTree<A>, env?: NavigationEnv) => RouterSignal<A>;