state-synchronizers
Version:
Deterministically update state based on other state
19 lines (18 loc) • 583 B
JavaScript
;
exports.__esModule = true;
exports.createSynchronizedStateUpdater = void 0;
/**
* @returns A state updater that runs the state synchronizer when the state changed. Caches the
* previous state internally.
*/
exports.createSynchronizedStateUpdater = function (stateSynchronizer, initialState) {
var previousState = initialState;
return function (state) {
if (state === previousState) {
return state;
}
stateSynchronizer(state, previousState);
previousState = state;
return state;
};
};