Skip to content

Commit 89f6443

Browse files
committed
fix(ts): parameter types of curried producers
Fixes #288
1 parent f820657 commit 89f6443

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/immer.d.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,15 +88,20 @@ export interface IProduce {
8888
listener?: PatchListener
8989
): Produced<Base, Return>
9090

91-
/** Curried producer */
91+
/** Curried producer with a default value */
9292
<Default = any, Base = Default, Rest extends any[] = [], Return = void>(
9393
recipe: (
9494
this: Draft<Base>,
9595
draft: Draft<Base>,
9696
...rest: Rest
9797
) => Return,
98-
defaultBase?: Default
98+
defaultBase: Default
9999
): (base: Base | undefined, ...rest: Rest) => Produced<Base, Return>
100+
101+
/** Curried producer with no default value */
102+
<Base = any, Rest extends any[] = [], Return = void>(
103+
recipe: (this: Draft<Base>, draft: Draft<Base>, ...rest: Rest) => Return
104+
): (base: Base, ...rest: Rest) => Produced<Base, Return>
100105
}
101106

102107
export const produce: IProduce

0 commit comments

Comments
 (0)