Skip to content

Commit d2aaff0

Browse files
committed
Revert the "ApiModule" move to fix TS errors
1 parent 69cba87 commit d2aaff0

File tree

3 files changed

+55
-70
lines changed

3 files changed

+55
-70
lines changed

src/query/react/index.ts

+15-19
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,22 @@
1-
import { reactHooksModuleName, ReactHooksBaseEndpoints } from './module'
1+
import { coreModule, coreModuleName } from '../core/module'
2+
import { buildCreateApi, CreateApi } from '../createApi'
3+
import { reactHooksModule, reactHooksModuleName } from './module'
24

3-
import { EndpointDefinitions } from '../endpointDefinitions'
5+
import { MutationHooks, QueryHooks } from './buildHooks'
6+
import {
7+
EndpointDefinitions,
8+
QueryDefinition,
9+
MutationDefinition,
10+
QueryArgFrom,
11+
} from '../endpointDefinitions'
412
import { BaseQueryFn } from '../baseQueryTypes'
5-
import { HooksWithUniqueNames } from './versionedTypes'
13+
14+
import { QueryKeys } from '../core/apiState'
15+
import { PrefetchOptions } from '../core/module'
616

717
export * from '..'
818
export { ApiProvider } from './ApiProvider'
919

10-
export { createApi } from './reactHooksCommonExports'
11-
export * from './reactHooksCommonExports'
20+
const createApi = buildCreateApi(coreModule(), reactHooksModule())
1221

13-
declare module '../apiTypes' {
14-
export interface ApiModules<
15-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
16-
BaseQuery extends BaseQueryFn,
17-
Definitions extends EndpointDefinitions,
18-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
19-
ReducerPath extends string,
20-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
21-
TagTypes extends string
22-
> {
23-
[reactHooksModuleName]: ReactHooksBaseEndpoints<Definitions> &
24-
HooksWithUniqueNames<Definitions>
25-
}
26-
}
22+
export { createApi, reactHooksModule }

src/query/react/module.ts

+40-28
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ import { capitalize } from '../utils'
1212
import { safeAssign } from '../tsHelpers'
1313
import { BaseQueryFn } from '../baseQueryTypes'
1414

15+
import { HooksWithUniqueNames } from './versionedTypes/index'
16+
1517
import {
1618
useDispatch as rrUseDispatch,
1719
useSelector as rrUseSelector,
@@ -24,35 +26,45 @@ import { PrefetchOptions } from '../core/module'
2426
export const reactHooksModuleName = Symbol()
2527
export type ReactHooksModule = typeof reactHooksModuleName
2628

27-
export interface ReactHooksBaseEndpoints<
28-
Definitions extends EndpointDefinitions
29-
> {
30-
/**
31-
* Endpoints based on the input endpoints provided to `createApi`, containing `select`, `hooks` and `action matchers`.
32-
*/
33-
endpoints: {
34-
[K in keyof Definitions]: Definitions[K] extends QueryDefinition<
35-
any,
36-
any,
37-
any,
38-
any,
39-
any
40-
>
41-
? QueryHooks<Definitions[K]>
42-
: Definitions[K] extends MutationDefinition<any, any, any, any, any>
43-
? MutationHooks<Definitions[K]>
44-
: never
29+
declare module '../apiTypes' {
30+
export interface ApiModules<
31+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
32+
BaseQuery extends BaseQueryFn,
33+
Definitions extends EndpointDefinitions,
34+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
35+
ReducerPath extends string,
36+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
37+
TagTypes extends string
38+
> {
39+
[reactHooksModuleName]: {
40+
/**
41+
* Endpoints based on the input endpoints provided to `createApi`, containing `select`, `hooks` and `action matchers`.
42+
*/
43+
endpoints: {
44+
[K in keyof Definitions]: Definitions[K] extends QueryDefinition<
45+
any,
46+
any,
47+
any,
48+
any,
49+
any
50+
>
51+
? QueryHooks<Definitions[K]>
52+
: Definitions[K] extends MutationDefinition<any, any, any, any, any>
53+
? MutationHooks<Definitions[K]>
54+
: never
55+
}
56+
/**
57+
* A hook that accepts a string endpoint name, and provides a callback that when called, pre-fetches the data for that endpoint.
58+
*/
59+
usePrefetch<EndpointName extends QueryKeys<Definitions>>(
60+
endpointName: EndpointName,
61+
options?: PrefetchOptions
62+
): (
63+
arg: QueryArgFrom<Definitions[EndpointName]>,
64+
options?: PrefetchOptions
65+
) => void
66+
} & HooksWithUniqueNames<Definitions>
4567
}
46-
/**
47-
* A hook that accepts a string endpoint name, and provides a callback that when called, pre-fetches the data for that endpoint.
48-
*/
49-
usePrefetch<EndpointName extends QueryKeys<Definitions>>(
50-
endpointName: EndpointName,
51-
options?: PrefetchOptions
52-
): (
53-
arg: QueryArgFrom<Definitions[EndpointName]>,
54-
options?: PrefetchOptions
55-
) => void
5668
}
5769

5870
// type RR = typeof import('react-redux')

src/query/react/reactHooksCommonExports.ts

-23
This file was deleted.

0 commit comments

Comments
 (0)