UNPKG

prostgles-client

Version:

Reactive client for Postgres

24 lines (23 loc) 1.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useEffectDeep = exports.useMemoDeep = exports.useDeepCompareMemoize = void 0; const prostgles_types_1 = require("prostgles-types"); const reactImports_1 = require("./reactImports"); const { getReact, useEffect, useRef } = reactImports_1.reactImports; const React = getReact(); const useDeepCompareMemoize = (value) => { const ref = useRef(); if (!(0, prostgles_types_1.isEqual)(value, ref.current)) { ref.current = value; } return ref.current; }; exports.useDeepCompareMemoize = useDeepCompareMemoize; exports.useMemoDeep = ((callback, deps) => { // eslint-disable-next-line react-hooks/exhaustive-deps return React.useMemo(callback, deps.map(exports.useDeepCompareMemoize)); }); exports.useEffectDeep = ((callback, deps) => { // eslint-disable-next-line react-hooks/exhaustive-deps useEffect(callback, deps === null || deps === void 0 ? void 0 : deps.map(exports.useDeepCompareMemoize)); });