Skip to content

Commit b2b27d9

Browse files
committed
config object
1 parent 33304e4 commit b2b27d9

File tree

3 files changed

+12
-7
lines changed

3 files changed

+12
-7
lines changed

packages/toolkit/src/entities/models.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import type { PayloadAction } from '../createAction'
22
import type { IsAny } from '../tsHelpers'
3-
import type { AnyCreateSelectorFunction } from './state_selectors'
3+
import type { GetSelectorsOptions } from './state_selectors'
44

55
/**
66
* @public
@@ -167,10 +167,10 @@ export interface EntityAdapter<T> extends EntityStateAdapter<T> {
167167
getInitialState<S extends object>(state: S): EntityState<T> & S
168168
getSelectors(
169169
selectState?: undefined,
170-
createSelector?: AnyCreateSelectorFunction
170+
options?: GetSelectorsOptions
171171
): EntitySelectors<T, EntityState<T>>
172172
getSelectors<V>(
173173
selectState: (state: V) => EntityState<T>,
174-
createSelector?: AnyCreateSelectorFunction
174+
options?: GetSelectorsOptions
175175
): EntitySelectors<T, V>
176176
}

packages/toolkit/src/entities/state_selectors.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,24 @@ export type AnyCreateSelectorFunction = CreateSelectorFunction<
1212
<F extends (...args: any[]) => any>(func: F) => F
1313
>
1414

15+
export interface GetSelectorsOptions {
16+
createSelector?: AnyCreateSelectorFunction
17+
}
18+
1519
export function createSelectorsFactory<T>() {
1620
function getSelectors(
1721
selectState?: undefined,
18-
createSelector?: AnyCreateSelectorFunction
22+
options?: GetSelectorsOptions
1923
): EntitySelectors<T, EntityState<T>>
2024
function getSelectors<V>(
2125
selectState: (state: V) => EntityState<T>,
22-
createSelector?: AnyCreateSelectorFunction
26+
options?: GetSelectorsOptions
2327
): EntitySelectors<T, V>
2428
function getSelectors<V>(
2529
selectState?: (state: V) => EntityState<T>,
26-
createSelector: AnyCreateSelectorFunction = createDraftSafeSelector
30+
options: GetSelectorsOptions = {}
2731
): EntitySelectors<T, any> {
32+
const { createSelector = createDraftSafeSelector } = options
2833
const selectIds = (state: EntityState<T>) => state.ids
2934

3035
const selectEntities = (state: EntityState<T>) => state.entities

packages/toolkit/src/entities/tests/state_selectors.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ describe('Entity State Selectors', () => {
133133
selectId: (book: BookModel) => book.id,
134134
})
135135

136-
adapter.getSelectors(undefined, createCustomSelector)
136+
adapter.getSelectors(undefined, { createSelector: createCustomSelector })
137137

138138
expect(memoizeSpy).toHaveBeenCalled()
139139

0 commit comments

Comments
 (0)