13 lines
367 B
JavaScript
13 lines
367 B
JavaScript
import { produce } from 'immer';
|
|
|
|
const immerImpl = (initializer) => (set, get, store) => {
|
|
store.setState = (updater, replace, ...a) => {
|
|
const nextState = typeof updater === "function" ? produce(updater) : updater;
|
|
return set(nextState, replace, ...a);
|
|
};
|
|
return initializer(store.setState, get, store);
|
|
};
|
|
const immer = immerImpl;
|
|
|
|
export { immer };
|