UNPKG

react-stable-ref

Version:

An assortment of utilities for testing against unstable references in React

42 lines 1.67 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); var react_1 = require("react"); var useWhichDepChanged = function (dependencies, onChange) { if (process.env.NODE_ENV === 'production') { console.warn('useStableRefTester is only intended for development purposes only. Please remove from production bundles.'); } var previousDeps = react_1.useRef(); react_1.useEffect(function () { if (previousDeps.current) { var allKeys = Object.keys(__assign(__assign({}, previousDeps.current), dependencies)); var changedDeps_1 = {}; allKeys.forEach(function (key) { if (previousDeps.current[key] !== dependencies[key]) { changedDeps_1[key] = { from: previousDeps.current[key], to: dependencies[key], }; } }); if (Object.keys(changedDeps_1).length) { onChange ? onChange(changedDeps_1) : console.log('[useWhichDepChanged]', changedDeps_1); } } previousDeps.current = dependencies; }); }; exports.default = useWhichDepChanged; //# sourceMappingURL=useWhichDepChanged.js.map