8 lines
216 B
TypeScript
8 lines
216 B
TypeScript
export type MutateStateFunc<S> = (state: S) => S;
|
|
|
|
export const applyStateChanges = <S>(state: S, ...args: Array<MutateStateFunc<S>>): S => {
|
|
return args.reduce((all, cur) => {
|
|
return cur(all);
|
|
}, state);
|
|
};
|