Skip to content

Commit 8fa3d9b

Browse files
committed
Update internal selector usage to compile with Reselect 4.1.5
1 parent e5ef8e2 commit 8fa3d9b

File tree

2 files changed

+15
-13
lines changed

2 files changed

+15
-13
lines changed

packages/toolkit/src/entities/state_selectors.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import type { Selector } from 'reselect'
12
import { createDraftSafeSelector } from '../createDraftSafeSelector'
23
import type {
34
EntityState,
@@ -11,21 +12,20 @@ export function createSelectorsFactory<T>() {
1112
function getSelectors<V>(
1213
selectState: (state: V) => EntityState<T>
1314
): EntitySelectors<T, V>
14-
function getSelectors(
15-
selectState?: (state: any) => EntityState<T>
15+
function getSelectors<V>(
16+
selectState?: (state: V) => EntityState<T>
1617
): EntitySelectors<T, any> {
17-
const selectIds = (state: any) => state.ids
18+
const selectIds = (state: EntityState<T>) => state.ids
1819

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

2122
const selectAll = createDraftSafeSelector(
2223
selectIds,
2324
selectEntities,
24-
(ids: readonly T[], entities: Dictionary<T>): any =>
25-
ids.map((id: any) => (entities as any)[id])
25+
(ids, entities): T[] => ids.map((id) => entities[id]!)
2626
)
2727

28-
const selectId = (_: any, id: EntityId) => id
28+
const selectId = (_: unknown, id: EntityId) => id
2929

3030
const selectById = (entities: Dictionary<T>, id: EntityId) => entities[id]
3131

@@ -46,7 +46,7 @@ export function createSelectorsFactory<T>() {
4646
}
4747

4848
const selectGlobalizedEntities = createDraftSafeSelector(
49-
selectState,
49+
selectState as Selector<V, EntityState<T>>,
5050
selectEntities
5151
)
5252

packages/toolkit/src/query/react/buildHooks.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { AnyAction, ThunkAction, ThunkDispatch } from '@reduxjs/toolkit'
2-
import { createSelector } from '@reduxjs/toolkit'
2+
import { createSelector, Selector } from '@reduxjs/toolkit'
33
import type { DependencyList } from 'react'
44
import {
55
useCallback,
@@ -556,7 +556,7 @@ export function buildHooks<Definitions extends EndpointDefinitions>({
556556
endpointName,
557557
})
558558
)
559-
lastResult = undefined
559+
lastResult = undefined
560560
}
561561

562562
// data is the last known good request result we have tracked - or if none has been tracked yet the last good result for the current args
@@ -789,22 +789,24 @@ export function buildHooks<Definitions extends EndpointDefinitions>({
789789
name
790790
)
791791

792+
type ApiRootState = Parameters<ReturnType<typeof select>>[0]
793+
792794
const lastValue = useRef<any>()
793795

794-
const selectDefaultResult = useMemo(
796+
const selectDefaultResult: Selector<ApiRootState, any, [any]> = useMemo(
795797
() =>
796798
createSelector(
797799
[
798800
select(stableArg),
799-
(_: any, lastResult: any) => lastResult,
800-
() => stableArg,
801+
(_: ApiRootState, lastResult: any) => lastResult,
802+
(_: ApiRootState) => stableArg,
801803
],
802804
queryStatePreSelector
803805
),
804806
[select, stableArg]
805807
)
806808

807-
const querySelector = useMemo(
809+
const querySelector: Selector<ApiRootState, any, [any]> = useMemo(
808810
() => createSelector([selectDefaultResult], selectFromResult),
809811
[selectDefaultResult, selectFromResult]
810812
)

0 commit comments

Comments
 (0)