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.
40 lines (39 loc) • 1.22 kB
TypeScript
/**
* Navigation Monad Implementation
* Monadic composition for route changes
*/
import { Navigation, Route, NavigationEnv } from './types';
import { Effect } from '../core/effect';
/**
* Pure function for Navigation monad - left identity law
*/
export declare const pureNavigation: <A>(value: A, env: NavigationEnv) => Navigation<A>;
/**
* Navigation Environment Implementations
*/
/**
* Browser Navigation Environment
*/
export declare const createBrowserNav: () => NavigationEnv;
/**
* Node.js Navigation Environment (for SSR)
*/
export declare const createNodeNav: (initialPath?: string) => NavigationEnv;
/**
* Memory Navigation Environment (for testing)
*/
export declare const createMemoryNav: (initialPath?: string) => NavigationEnv;
/**
* Navigation Effects - additional navigation operations
*/
export declare const createNavigationEffects: (env: NavigationEnv) => {
back: () => Effect<void>;
forward: () => Effect<void>;
go: (delta: number) => Effect<void>;
replace: (path: string) => Effect<void>;
push: (path: string) => Effect<void>;
};
/**
* Export navigation constructor
*/
export declare const navigation: <A>(route: Route<A>, env: NavigationEnv) => Navigation<A>;