@@ -2,7 +2,6 @@ import $$observable from './utils/symbol-observable'
2
2
3
3
import {
4
4
Store ,
5
- PreloadedState ,
6
5
StoreEnhancer ,
7
6
Dispatch ,
8
7
Observer ,
@@ -77,20 +76,22 @@ export function createStore<
77
76
S ,
78
77
A extends Action ,
79
78
Ext extends { } = { } ,
80
- StateExt extends { } = { }
79
+ StateExt extends { } = { } ,
80
+ PreloadedState = S
81
81
> (
82
- reducer : Reducer < S , A > ,
83
- preloadedState ?: PreloadedState < S > ,
82
+ reducer : Reducer < S , A , PreloadedState > ,
83
+ preloadedState ?: PreloadedState | undefined ,
84
84
enhancer ?: StoreEnhancer < Ext , StateExt >
85
85
) : Store < S , A , StateExt > & Ext
86
86
export function createStore <
87
87
S ,
88
88
A extends Action ,
89
89
Ext extends { } = { } ,
90
- StateExt extends { } = { }
90
+ StateExt extends { } = { } ,
91
+ PreloadedState = S
91
92
> (
92
- reducer : Reducer < S , A > ,
93
- preloadedState ?: PreloadedState < S > | StoreEnhancer < Ext , StateExt > ,
93
+ reducer : Reducer < S , A , PreloadedState > ,
94
+ preloadedState ?: PreloadedState | StoreEnhancer < Ext , StateExt > | undefined ,
94
95
enhancer ?: StoreEnhancer < Ext , StateExt >
95
96
) : Store < S , A , StateExt > & Ext {
96
97
if ( typeof reducer !== 'function' ) {
@@ -128,12 +129,14 @@ export function createStore<
128
129
129
130
return enhancer ( createStore ) (
130
131
reducer ,
131
- preloadedState as PreloadedState < S >
132
- ) as Store < S , A , StateExt > & Ext
132
+ preloadedState as PreloadedState | undefined
133
+ )
133
134
}
134
135
135
136
let currentReducer = reducer
136
- let currentState = preloadedState as S
137
+ let currentState : S | PreloadedState | undefined = preloadedState as
138
+ | PreloadedState
139
+ | undefined
137
140
let currentListeners : Map < number , ListenerCallback > | null = new Map ( )
138
141
let nextListeners = currentListeners
139
142
let listenerIdCounter = 0
@@ -315,7 +318,7 @@ export function createStore<
315
318
)
316
319
}
317
320
318
- currentReducer = nextReducer
321
+ currentReducer = nextReducer as unknown as Reducer < S , A , PreloadedState >
319
322
320
323
// This action has a similar effect to ActionTypes.INIT.
321
324
// Any reducers that existed in both the new and old rootReducer
@@ -456,20 +459,22 @@ export function legacy_createStore<
456
459
S ,
457
460
A extends Action ,
458
461
Ext extends { } = { } ,
459
- StateExt extends { } = { }
462
+ StateExt extends { } = { } ,
463
+ PreloadedState = S
460
464
> (
461
- reducer : Reducer < S , A > ,
462
- preloadedState ?: PreloadedState < S > ,
465
+ reducer : Reducer < S , A , PreloadedState > ,
466
+ preloadedState ?: PreloadedState | undefined ,
463
467
enhancer ?: StoreEnhancer < Ext , StateExt >
464
468
) : Store < S , A , StateExt > & Ext
465
469
export function legacy_createStore <
466
470
S ,
467
471
A extends Action ,
468
472
Ext extends { } = { } ,
469
- StateExt extends { } = { }
473
+ StateExt extends { } = { } ,
474
+ PreloadedState = S
470
475
> (
471
476
reducer : Reducer < S , A > ,
472
- preloadedState ?: PreloadedState < S > | StoreEnhancer < Ext , StateExt > ,
477
+ preloadedState ?: PreloadedState | StoreEnhancer < Ext , StateExt > | undefined ,
473
478
enhancer ?: StoreEnhancer < Ext , StateExt >
474
479
) : Store < S , A , StateExt > & Ext {
475
480
return createStore ( reducer , preloadedState as any , enhancer )
0 commit comments