"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useMediatedState = void 0; var react_1 = require("react"); function useMediatedState(mediator, initialState) { var mediatorFn = react_1.useRef(mediator); var _a = react_1.useState(initialState), state = _a[0], setMediatedState = _a[1]; var setState = react_1.useCallback(function (newState) { if (mediatorFn.current.length === 2) { mediatorFn.current(newState, setMediatedState); } else { setMediatedState(mediatorFn.current(newState)); } }, [state]); return [state, setState]; } exports.useMediatedState = useMediatedState;