Skip to content

Commit be5436d

Browse files
authored
Merge pull request #3605 from amnis-dev/3455-module-with-private-name
2 parents 1ee08e0 + 0a19894 commit be5436d

File tree

2 files changed

+10
-9
lines changed

2 files changed

+10
-9
lines changed

packages/toolkit/src/createSlice.ts

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -233,15 +233,14 @@ createSlice({
233233
selectors?: Selectors
234234
}
235235

236-
const reducerDefinitionType: unique symbol = Symbol.for('rtk-reducer-type')
237-
enum ReducerType {
236+
export enum ReducerType {
238237
reducer = 'reducer',
239238
reducerWithPrepare = 'reducerWithPrepare',
240239
asyncThunk = 'asyncThunk',
241240
}
242241

243242
interface ReducerDefinition<T extends ReducerType = ReducerType> {
244-
[reducerDefinitionType]: T
243+
_reducerDefinitionType: T
245244
}
246245

247246
export interface CaseReducerDefinition<
@@ -375,7 +374,7 @@ export interface ReducerCreators<State> {
375374
ReturnType<_ActionCreatorWithPreparedPayload<Prepare>>
376375
>
377376
): {
378-
[reducerDefinitionType]: ReducerType.reducerWithPrepare
377+
_reducerDefinitionType: ReducerType.reducerWithPrepare
379378
prepare: Prepare
380379
reducer: CaseReducer<
381380
State,
@@ -748,7 +747,7 @@ function buildReducerCreators<State>(): ReducerCreators<State> {
748747
config: AsyncThunkSliceReducerConfig<State, any>
749748
): AsyncThunkSliceReducerDefinition<State, any> {
750749
return {
751-
[reducerDefinitionType]: ReducerType.asyncThunk,
750+
_reducerDefinitionType: ReducerType.asyncThunk,
752751
payloadCreator,
753752
...config,
754753
}
@@ -765,13 +764,13 @@ function buildReducerCreators<State>(): ReducerCreators<State> {
765764
},
766765
}[caseReducer.name],
767766
{
768-
[reducerDefinitionType]: ReducerType.reducer,
767+
_reducerDefinitionType: ReducerType.reducer,
769768
} as const
770769
)
771770
},
772771
preparedReducer(prepare, reducer) {
773772
return {
774-
[reducerDefinitionType]: ReducerType.reducerWithPrepare,
773+
_reducerDefinitionType: ReducerType.reducerWithPrepare,
775774
prepare,
776775
reducer,
777776
}
@@ -813,14 +812,14 @@ function handleNormalReducerDefinition<State>(
813812
function isAsyncThunkSliceReducerDefinition<State>(
814813
reducerDefinition: any
815814
): reducerDefinition is AsyncThunkSliceReducerDefinition<State, any, any, any> {
816-
return reducerDefinition[reducerDefinitionType] === ReducerType.asyncThunk
815+
return reducerDefinition._reducerDefinitionType === ReducerType.asyncThunk
817816
}
818817

819818
function isCaseReducerWithPrepareDefinition<State>(
820819
reducerDefinition: any
821820
): reducerDefinition is CaseReducerWithPrepareDefinition<State, any> {
822821
return (
823-
reducerDefinition[reducerDefinitionType] === ReducerType.reducerWithPrepare
822+
reducerDefinition._reducerDefinitionType === ReducerType.reducerWithPrepare
824823
)
825824
}
826825

packages/toolkit/src/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ export type {
6767
export {
6868
// js
6969
createSlice,
70+
ReducerType,
7071
} from './createSlice'
7172

7273
export type {
@@ -78,6 +79,7 @@ export type {
7879
ValidateSliceCaseReducers,
7980
CaseReducerWithPrepare,
8081
ReducerCreators,
82+
SliceSelectors,
8183
} from './createSlice'
8284
export type { ActionCreatorInvariantMiddlewareOptions } from './actionCreatorInvariantMiddleware'
8385
export { createActionCreatorInvariantMiddleware } from './actionCreatorInvariantMiddleware'

0 commit comments

Comments
 (0)