Skip to content

Commit 130c91c

Browse files
committedOct 3, 2023
add immer
1 parent 6c9672e commit 130c91c

File tree

3 files changed

+24
-1
lines changed

3 files changed

+24
-1
lines changed
 

‎package-lock.json

+15
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎package.json

+1
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
"jest": "^29.0.3"
5858
},
5959
"dependencies": {
60+
"immer": "^10.0.3",
6061
"secure-event-emitter": "^4.3.5"
6162
}
6263
}

‎src/Store.js

+8-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { SingularEventEmitter } from 'secure-event-emitter'
22
import { isFunction, eq, memoizeByArgs } from './utils'
3-
3+
import { produce } from 'immer'
44

55
class Store {
66
#emitter_key = Symbol()
@@ -26,6 +26,13 @@ class Store {
2626
}
2727
}
2828

29+
updateStateImmer = (cb) => {
30+
if (!isFunction(cb)) {
31+
throw new TypeError('[[updateStateImmer()]] argument must be a function');
32+
}
33+
this.updateState(() => produce(this.state, cb))
34+
}
35+
2936
subscribe = (cb) => {
3037
cb = memoizeByArgs(cb)
3138
const _cb = (order) => {

0 commit comments

Comments
 (0)
Please sign in to comment.