"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = require("react"); var _lodash = _interopRequireDefault(require("lodash.isequal")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function deepCompareEquals(a, b) { return (0, _lodash.default)(a, b); } function useDeepCompareMemoize(value) { var ref = (0, _react.useRef)(); // it can be done by using useMemo as well // but useRef is rather cleaner and easier if (!deepCompareEquals(value, ref.current)) { ref.current = value; } return ref.current; } function useDeepCompareEffect(effect, dependencies) { (0, _react.useEffect)(effect, useDeepCompareMemoize(dependencies)); } var _default = useDeepCompareEffect; exports.default = _default;