`produceWithPatches` wrong return type
omnitout opened this issue Β· comments
omnitout commented
π Bug Report
The curried form of produceWithPatches
returns the wrong type, while produce
does.
Link to repro
https://codesandbox.io/s/producewithpatches-wrong-return-type-mr5hdp?file=/src/index.ts
Observed behavior
The state returned by produceWithPatches((draft: Draft<N>, m: number) => { ... })
is of type WritableDraft<N>
but should be of type N
.
The type of produceWithPatches<N, [number]>((draft, m) => { ... })
is never
while the type of produce<N, [number]>((draft, m) => { ... })
is as expected.
Expected behavior
The types of the values returned by produceWithPatches
should be the same as produce
.
Environment
- Immer version: 10.0.1
- I filed this report against the latest version of Immer
- Occurs with
setUseProxies(true)
- Occurs with
setUseProxies(false)
(ES5 only)