@@ -23,9 +23,10 @@ type SliceLikeReducerPath<A extends AnySliceLike> =
2323type SliceLikeState < A extends AnySliceLike > =
2424 A extends SliceLike < any , infer State > ? State : never
2525
26- export type WithSlice < A extends AnySliceLike > = {
27- [ Path in SliceLikeReducerPath < A > ] : SliceLikeState < A >
28- }
26+ export type WithSlice < A extends AnySliceLike > = Record <
27+ SliceLikeReducerPath < A > ,
28+ SliceLikeState < A >
29+ >
2930
3031type ReducerMap = Record < string , Reducer >
3132
@@ -292,7 +293,7 @@ export interface CombinedSliceReducer<
292293 }
293294}
294295
295- type InitialState < Slices extends Array < AnySliceLike | ReducerMap > > =
296+ type InitialState < Slices extends ( AnySliceLike | ReducerMap ) [ ] > =
296297 UnionToIntersection <
297298 Slices [ number ] extends infer Slice
298299 ? Slice extends AnySliceLike
@@ -307,7 +308,7 @@ const isSliceLike = (
307308 'reducerPath' in maybeSliceLike &&
308309 typeof maybeSliceLike . reducerPath === 'string'
309310
310- const getReducers = ( slices : Array < AnySliceLike | ReducerMap > ) =>
311+ const getReducers = ( slices : ( AnySliceLike | ReducerMap ) [ ] ) =>
311312 slices . flatMap ( ( sliceOrMap ) =>
312313 isSliceLike ( sliceOrMap )
313314 ? [ [ sliceOrMap . reducerPath , sliceOrMap . reducer ] as const ]
@@ -368,7 +369,7 @@ const original = (state: any) => {
368369const emptyObject = { }
369370const noopReducer : Reducer < Record < string , any > > = ( state = emptyObject ) => state
370371
371- export function combineSlices < Slices extends Array < AnySliceLike | ReducerMap > > (
372+ export function combineSlices < Slices extends ( AnySliceLike | ReducerMap ) [ ] > (
372373 ...slices : Slices
373374) : CombinedSliceReducer < Id < InitialState < Slices > > > {
374375 const reducerMap = Object . fromEntries < Reducer > ( getReducers ( slices ) )
0 commit comments