File tree Expand file tree Collapse file tree 3 files changed +12
-7
lines changed
packages/toolkit/src/entities Expand file tree Collapse file tree 3 files changed +12
-7
lines changed Original file line number Diff line number Diff line change 1
1
import type { PayloadAction } from '../createAction'
2
2
import type { IsAny } from '../tsHelpers'
3
- import type { AnyCreateSelectorFunction } from './state_selectors'
3
+ import type { GetSelectorsOptions } from './state_selectors'
4
4
5
5
/**
6
6
* @public
@@ -167,10 +167,10 @@ export interface EntityAdapter<T> extends EntityStateAdapter<T> {
167
167
getInitialState < S extends object > ( state : S ) : EntityState < T > & S
168
168
getSelectors (
169
169
selectState ?: undefined ,
170
- createSelector ?: AnyCreateSelectorFunction
170
+ options ?: GetSelectorsOptions
171
171
) : EntitySelectors < T , EntityState < T > >
172
172
getSelectors < V > (
173
173
selectState : ( state : V ) => EntityState < T > ,
174
- createSelector ?: AnyCreateSelectorFunction
174
+ options ?: GetSelectorsOptions
175
175
) : EntitySelectors < T , V >
176
176
}
Original file line number Diff line number Diff line change @@ -12,19 +12,24 @@ export type AnyCreateSelectorFunction = CreateSelectorFunction<
12
12
< F extends ( ...args : any [ ] ) => any > ( func : F ) => F
13
13
>
14
14
15
+ export interface GetSelectorsOptions {
16
+ createSelector ?: AnyCreateSelectorFunction
17
+ }
18
+
15
19
export function createSelectorsFactory < T > ( ) {
16
20
function getSelectors (
17
21
selectState ?: undefined ,
18
- createSelector ?: AnyCreateSelectorFunction
22
+ options ?: GetSelectorsOptions
19
23
) : EntitySelectors < T , EntityState < T > >
20
24
function getSelectors < V > (
21
25
selectState : ( state : V ) => EntityState < T > ,
22
- createSelector ?: AnyCreateSelectorFunction
26
+ options ?: GetSelectorsOptions
23
27
) : EntitySelectors < T , V >
24
28
function getSelectors < V > (
25
29
selectState ?: ( state : V ) => EntityState < T > ,
26
- createSelector : AnyCreateSelectorFunction = createDraftSafeSelector
30
+ options : GetSelectorsOptions = { }
27
31
) : EntitySelectors < T , any > {
32
+ const { createSelector = createDraftSafeSelector } = options
28
33
const selectIds = ( state : EntityState < T > ) => state . ids
29
34
30
35
const selectEntities = ( state : EntityState < T > ) => state . entities
Original file line number Diff line number Diff line change @@ -133,7 +133,7 @@ describe('Entity State Selectors', () => {
133
133
selectId : ( book : BookModel ) => book . id ,
134
134
} )
135
135
136
- adapter . getSelectors ( undefined , createCustomSelector )
136
+ adapter . getSelectors ( undefined , { createSelector : createCustomSelector } )
137
137
138
138
expect ( memoizeSpy ) . toHaveBeenCalled ( )
139
139
You can’t perform that action at this time.
0 commit comments