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.

44 lines (43 loc) 1.5 kB
/** * Route Guards Implementation * Access control and navigation guards */ import { Route, RouteGuard, Navigation } from './types'; import { Effect } from '../core/effect'; /** * Creates a guarded route that checks permissions before navigation */ export declare const withGuard: <A>(route: Route<A>, _guard: RouteGuard<A>) => Route<A>; /** * Multiple guards combinator */ export declare const withGuards: <A>(route: Route<A>, guards: RouteGuard<A>[]) => Route<A>; /** * Authentication guard */ export declare const authGuard: <A>(isAuthenticated: () => Effect<boolean>) => RouteGuard<A>; /** * Role-based guard */ export declare const roleGuard: <A>(requiredRole: string, getUserRole: () => Effect<string | null>) => RouteGuard<A>; /** * Confirmation guard */ export declare const confirmGuard: <A>(message: string) => RouteGuard<A>; /** * Navigation guard executor * Checks all guards before allowing navigation */ export declare const executeGuards: <A>(guards: RouteGuard<A>[], params: A, type: 'activate' | 'deactivate') => Promise<boolean>; /** * Guarded navigation wrapper */ export declare const createGuardedNavigation: <A>(navigation: Navigation<A>, _guards: RouteGuard<A>[]) => Navigation<A>; /** * Guard composition utilities */ export declare const composeGuards: <A>(..._guards: RouteGuard<A>[]) => RouteGuard<A>; /** * Conditional guard */ export declare const conditionalGuard: <A>(condition: (params: A) => boolean, guard: RouteGuard<A>) => RouteGuard<A>;