resolve #111: allow passing initial state to curried producer function #121
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Should implement issue #111.
Notes:
fn
andinitialState
,produce(fn, initialState)
will throw an error, see https://github.com/pkerschbaum/immer/blob/202d54cb96949b45cdfdfb08f180b93723faef29/src/immer.js#L24.Because if produce would allow this, each call of the curried function with
undefined
would create a curried function again.S
is typed withany
, and if two arguments are passed toproduce
, TypeScript (and I think also Flow) cannot exactly determine which overloaded version of the function gets called.If we add typings for the state/currentState/initialState
S
, the typing systems should be able to distinguish theproduce
calls.