UNPKG

solid-native

Version:

Use solid.js to develop native mobile applications

29 lines 1.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useRerender = exports.useMemoCustom = exports.useOnce = void 0; const react_1 = require("react"); function useOnce(fn) { var _a; var _b; return ((_a = (_b = (0, react_1.useRef)()).current) !== null && _a !== void 0 ? _a : (_b.current = fn())); } exports.useOnce = useOnce; function useMemoCustom(fn, deps) { const lastDeps = (0, react_1.useRef)(); const value = (0, react_1.useRef)(); if (lastDeps.current && lastDeps.current.length === deps.length && lastDeps.current.every((x, i) => deps[i] === x)) { // eslint-disable-next-line @typescript-eslint/no-non-null-assertion return value.current; } lastDeps.current = deps; return (value.current = fn()); } exports.useMemoCustom = useMemoCustom; function useRerender() { const [, setState] = (0, react_1.useState)({}); return () => setState({}); } exports.useRerender = useRerender; //# sourceMappingURL=util.js.map