Some checks failed
CI/CD Pipeline / unit-tests (push) Failing after 1m16s
CI/CD Pipeline / integration-tests (push) Failing after 2m32s
CI/CD Pipeline / lint (push) Successful in 5m22s
CI/CD Pipeline / e2e-tests (push) Has been skipped
CI/CD Pipeline / build (push) Has been skipped
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 };
|