UNPKG

tdesign-react

Version:
90 lines (83 loc) 2.84 kB
/** * tdesign v1.16.2 * (c) 2025 tdesign * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var React = require('react'); var _baseIsEqual = require('../_chunks/dep-625279d1.js'); require('../_chunks/dep-474eb386.js'); require('../_chunks/dep-3b256bc0.js'); require('../_chunks/dep-4ce0670e.js'); require('../_chunks/dep-b325182b.js'); require('../_chunks/dep-3448f35f.js'); require('../_chunks/dep-b6a3ada9.js'); require('../_chunks/dep-967e785f.js'); require('../_chunks/dep-5c8525ea.js'); require('../_chunks/dep-735cd5b9.js'); require('../_chunks/dep-bdafd287.js'); require('../_chunks/dep-4d300b8f.js'); require('../_chunks/dep-3332ad6f.js'); require('../_chunks/dep-98783318.js'); require('../_chunks/dep-fc884a8e.js'); require('../_chunks/dep-4f4b2eb1.js'); require('../_chunks/dep-e018b522.js'); require('../_chunks/dep-7f4d0687.js'); require('../_chunks/dep-b23d5e45.js'); /** * This method is like `_.isEqual` except that it accepts `customizer` which * is invoked to compare values. If `customizer` returns `undefined`, comparisons * are handled by the method instead. The `customizer` is invoked with up to * six arguments: (objValue, othValue [, index|key, object, other, stack]). * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to compare. * @param {*} other The other value to compare. * @param {Function} [customizer] The function to customize comparisons. * @returns {boolean} Returns `true` if the values are equivalent, else `false`. * @example * * function isGreeting(value) { * return /^h(?:i|ello)$/.test(value); * } * * function customizer(objValue, othValue) { * if (isGreeting(objValue) && isGreeting(othValue)) { * return true; * } * } * * var array = ['hello', 'goodbye']; * var other = ['hi', 'goodbye']; * * _.isEqualWith(array, other, customizer); * // => true */ function isEqualWith(value, other, customizer) { customizer = typeof customizer == 'function' ? customizer : undefined; var result = customizer ? customizer(value, other) : undefined; return result === undefined ? _baseIsEqual.baseIsEqual(value, other, undefined, customizer) : !!result; } function useDeepEffect(effect, deps) { var isInitial = React.useRef(true); var prevDeps = React.useRef(deps); React.useEffect(function () { var isSame = isEqualWith(prevDeps.current, deps, function (value1, value2) { if (typeof value1 === "function" && typeof value2 === "function") { return value1.toString() === value2.toString(); } return void 0; }); if (isInitial.current || !isSame) { effect(); } isInitial.current = false; prevDeps.current = deps; }, [effect, deps]); } exports["default"] = useDeepEffect; //# sourceMappingURL=useDeepEffect.js.map