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.

45 lines 3.61 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useReactTreeRouter = exports.useReactRouter = void 0; const router_1 = require("./router"); const navigation_1 = require("./navigation"); /** * React Router Adapter */ const useReactRouter = (routes) => { const routerSignal = (0, router_1.router)(routes, (0, navigation_1.createBrowserNav)()); return { routerSignal, route: routerSignal.route, params: routerSignal.params, navigate: (to) => { routerSignal.navigate(to); }, back: () => routerSignal.back(), forward: () => routerSignal.forward(), replace: (to) => routerSignal.replace(to) }; }; exports.useReactRouter = useReactRouter; /** * React Tree Router Adapter */ const useReactTreeRouter = (tree) => { const React = require('react'); const routerSignal = (0, router_1.treeRouter)(tree, (0, navigation_1.createBrowserNav)()); const [, forceUpdate] = React.useReducer((x) => x + 1, 0); React.useEffect(() => { const unsubscribe = routerSignal.subscribe(() => forceUpdate()); return unsubscribe; }, []); return { route: routerSignal.route.value(), params: routerSignal.params.value(), navigate: (to) => routerSignal.navigate(to), back: () => routerSignal.back(), forward: () => routerSignal.forward(), replace: (to) => routerSignal.replace(to) }; }; exports.useReactTreeRouter = useReactTreeRouter; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRlci5yZWFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yb3V0ZXIvYWRhcHRlci5yZWFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxQ0FBOEM7QUFDOUMsNkNBQWdEO0FBRWhEOztHQUVHO0FBQ0ksTUFBTSxjQUFjLEdBQUcsQ0FBSSxNQUFrQixFQUFFLEVBQUU7SUFDdEQsTUFBTSxZQUFZLEdBQUcsSUFBQSxlQUFNLEVBQUMsTUFBTSxFQUFFLElBQUEsNkJBQWdCLEdBQUUsQ0FBQyxDQUFDO0lBRXhELE9BQU87UUFDTCxZQUFZO1FBQ1osS0FBSyxFQUFFLFlBQVksQ0FBQyxLQUFLO1FBQ3pCLE1BQU0sRUFBRSxZQUFZLENBQUMsTUFBTTtRQUMzQixRQUFRLEVBQUUsQ0FBQyxFQUFVLEVBQUUsRUFBRTtZQUN2QixZQUFZLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLENBQUM7UUFDRCxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRTtRQUMvQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRTtRQUNyQyxPQUFPLEVBQUUsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO0tBQ2xELENBQUM7QUFDSixDQUFDLENBQUM7QUFkVyxRQUFBLGNBQWMsa0JBY3pCO0FBRUY7O0dBRUc7QUFDSSxNQUFNLGtCQUFrQixHQUFHLENBQUksSUFBa0IsRUFBRSxFQUFFO0lBQzFELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQixNQUFNLFlBQVksR0FBRyxJQUFBLG1CQUFVLEVBQUMsSUFBSSxFQUFFLElBQUEsNkJBQWdCLEdBQUUsQ0FBQyxDQUFDO0lBRTFELE1BQU0sQ0FBQyxFQUFFLFdBQVcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFbEUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDbkIsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVQLE9BQU87UUFDTCxLQUFLLEVBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUU7UUFDakMsTUFBTSxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ25DLFFBQVEsRUFBRSxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDbkQsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUU7UUFDL0IsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUU7UUFDckMsT0FBTyxFQUFFLENBQUMsRUFBVSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztLQUNsRCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBbkJXLFFBQUEsa0JBQWtCLHNCQW1CN0IifQ==