Skip to content

Commit fcb0fec

Browse files
refactor: add GetState type
1 parent cf1d5b7 commit fcb0fec

File tree

4 files changed

+10
-8
lines changed

4 files changed

+10
-8
lines changed

src/store/reducers/executeTopQueries.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import {parseQueryAPIExecuteResponse} from '../../utils/query';
1313

1414
import {createRequestActionTypes, createApiRequest} from '../utils';
1515

16-
import type {IRootState} from '.';
16+
import type {RootState} from '.';
1717

1818
export const FETCH_TOP_QUERIES = createRequestActionTypes('top-queries', 'FETCH_TOP_QUERIES');
1919
const SET_TOP_QUERIES_STATE = 'top-queries/SET_TOP_QUERIES_STATE';
@@ -126,7 +126,7 @@ const executeTopQueries: Reducer<ITopQueriesState, ITopQueriesAction> = (
126126
type FetchTopQueries = (params: {
127127
database: string;
128128
filters?: ITopQueriesFilters;
129-
}) => ThunkAction<Promise<IQueryResult | undefined>, IRootState, unknown, AnyAction>;
129+
}) => ThunkAction<Promise<IQueryResult | undefined>, RootState, unknown, AnyAction>;
130130

131131
export const fetchTopQueries: FetchTopQueries =
132132
({database, filters}) =>

src/store/reducers/index.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,8 @@ const combinedReducer = combineReducers({
8282
...rootReducer,
8383
});
8484

85-
export type IRootReducer = typeof combinedReducer;
86-
export type IRootState = ReturnType<IRootReducer>;
85+
export type RootReducer = typeof combinedReducer;
86+
export type RootState = ReturnType<RootReducer>;
87+
export type GetState = () => RootState;
8788

8889
export default combinedReducer;

src/store/utils.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import {AxiosResponse} from 'axios';
44
import createToast from '../utils/createToast';
55

66
import {SET_UNAUTHENTICATED} from './reducers/authentication';
7+
import type {GetState} from './reducers';
78

89
export const nop = (result: any) => result;
910

@@ -24,7 +25,7 @@ const isAxiosResponse = (response: any): response is AxiosResponse =>
2425
type CreateApiRequestParams<Actions, Response, HandledResponse> = {
2526
actions: Actions;
2627
request: Promise<Response>;
27-
dataHandler?: (data: Response, getState?: () => any) => HandledResponse;
28+
dataHandler?: (data: Response, getState: GetState) => HandledResponse;
2829
};
2930

3031
export function createApiRequest<
@@ -36,7 +37,7 @@ export function createApiRequest<
3637
request,
3738
dataHandler = nop,
3839
}: CreateApiRequestParams<Actions, Response, HandledResponse>) {
39-
const doRequest = async function (dispatch: Dispatch, getState: () => any) {
40+
const doRequest = async function (dispatch: Dispatch, getState: GetState) {
4041
dispatch({
4142
type: actions.REQUEST,
4243
});
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import {TypedUseSelectorHook, useSelector} from 'react-redux';
22

3-
import {IRootState} from '../../store';
3+
import {RootState} from '../../store';
44

5-
export const useTypedSelector: TypedUseSelectorHook<IRootState> = useSelector;
5+
export const useTypedSelector: TypedUseSelectorHook<RootState> = useSelector;

0 commit comments

Comments
 (0)