You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

7 lines
216 B

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);
};