UNPKG

react-torch

Version:

A lib to server-side render with react.

81 lines (80 loc) 3.03 kB
"use strict"; var __read = (this && this.__read) || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.useSelector = exports.useStore = exports.useParams = exports.useTorchContext = exports.useHistory = exports.useLocation = exports.usePageSetup = void 0; var react_1 = require("react"); var context_1 = __importDefault(require("../context")); var hook_1 = require("../../internal/hook"); Object.defineProperty(exports, "usePageSetup", { enumerable: true, get: function () { return hook_1.usePageSetup; } }); var useLocation = function () { var location = (0, react_1.useContext)(context_1.default).location; return location; }; exports.useLocation = useLocation; var useHistory = function () { var history = (0, react_1.useContext)(context_1.default).history; return history; }; exports.useHistory = useHistory; var useTorchContext = function () { var context = (0, react_1.useContext)(context_1.default).context; return context; }; exports.useTorchContext = useTorchContext; var useParams = function () { var params = (0, react_1.useContext)(context_1.default).params; return params; }; exports.useParams = useParams; var useStore = function () { var store = (0, react_1.useContext)(context_1.default).store; var _a = __read((0, react_1.useState)(null), 2), state = _a[0], setState = _a[1]; var _b = __read((0, react_1.useReducer)(function (s) { return s + 1; }, 0), 2), forceRender = _b[1]; var update = function () { var curState = store.getState(); if (!Object.is(curState, state)) { forceRender(); } }; (0, react_1.useEffect)(function () { setState(store.getState()); store.subscribe(update); }, []); return store; }; exports.useStore = useStore; var useSelector = function (select) { var store = (0, react_1.useContext)(context_1.default).store; var _a = __read((0, react_1.useState)(null), 2), state = _a[0], setState = _a[1]; var _b = __read((0, react_1.useReducer)(function (s) { return s + 1; }, 0), 2), forceRender = _b[1]; var update = function () { var curState = select(store.getState()); if (!Object.is(curState, state)) { forceRender(); } }; (0, react_1.useEffect)(function () { setState(select(store.getState())); store.subscribe(update); }, []); return state; }; exports.useSelector = useSelector;