File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -18,9 +18,19 @@ export interface ResolvedResourceQuery extends ResourceQuery {
1818 params ?: QueryParameters
1919}
2020
21- export type Query = Record < string , ResourceQuery >
21+ export type Query < TQueryResult extends QueryResult = QueryResult > = Record <
22+ keyof TQueryResult ,
23+ ResourceQuery
24+ >
2225export type QueryResult = JsonMap
2326
27+ export type QueryResultData <
28+ TQuery extends Query < TQueryResultData > ,
29+ TQueryResultData extends QueryResult = QueryResult
30+ > = {
31+ [ K in keyof TQuery ] : TQueryResultData
32+ }
33+
2434export interface QueryOptions {
2535 variables ?: QueryVariables
2636 onComplete ?: ( data : QueryResult ) => void
Original file line number Diff line number Diff line change @@ -3,11 +3,11 @@ import { useQuery, setLogger } from 'react-query'
33import type {
44 Query ,
55 QueryOptions ,
6- QueryResult ,
76 QueryVariables ,
7+ QueryResultData
88} from '../../engine'
99import type { FetchError } from '../../engine/types/FetchError'
10- import type { QueryRenderInput , QueryRefetchFunction } from '../../types'
10+ import type { DataQueryResult , QueryRefetchFunction } from '../../types'
1111import { mergeAndCompareVariables } from './mergeAndCompareVariables'
1212import { useDataEngine } from './useDataEngine'
1313import { useStaticInput } from './useStaticInput'
@@ -33,15 +33,18 @@ type QueryState = {
3333 refetchCallback ?: ( data : any ) => void
3434}
3535
36- export const useDataQuery = < TQueryResult = QueryResult > (
37- query : Query ,
36+ export const useDataQuery = <
37+ TQueryResultData extends QueryResultData < TQuery > ,
38+ TQuery extends Query < TQueryResultData > = Query < TQueryResultData >
39+ > (
40+ query : TQuery ,
3841 {
3942 onComplete : userOnSuccess ,
4043 onError : userOnError ,
4144 variables : initialVariables = { } ,
4245 lazy : initialLazy = false ,
4346 } : QueryOptions = { }
44- ) : QueryRenderInput < TQueryResult > => {
47+ ) : DataQueryResult < TQueryResultData > => {
4548 const [ staticQuery ] = useStaticInput < Query > ( query , {
4649 warn : true ,
4750 name : 'query' ,
Original file line number Diff line number Diff line change @@ -54,6 +54,8 @@ export interface QueryRenderInput<TQueryResult = QueryResult>
5454 refetch : QueryRefetchFunction
5555}
5656
57+ export type DataQueryResult < TQueryResult > = QueryRenderInput < TQueryResult >
58+
5759export interface MutationState {
5860 engine : DataEngine
5961 called : boolean
You can’t perform that action at this time.
0 commit comments