1+ import {
2+ DataResultForQuery ,
3+ QueryResultForQuery ,
4+ } from './../../engine/types/Query'
15import { useState , useRef , useCallback , useDebugValue } from 'react'
26import { useQuery , setLogger } from 'react-query'
37import type {
48 Query ,
59 QueryOptions ,
610 QueryResult ,
11+ QueryResultForQuery ,
712 QueryVariables ,
813} from '../../engine'
914import type { FetchError } from '../../engine/types/FetchError'
10- import type { QueryRenderInput , QueryRefetchFunction } from '../../types'
15+ import type {
16+ QueryRenderInput ,
17+ QueryRefetchFunction ,
18+ UseDataQueryResult ,
19+ UseDataQueryResultWithModels ,
20+ } from '../../types'
1121import { mergeAndCompareVariables } from './mergeAndCompareVariables'
1222import { useDataEngine } from './useDataEngine'
1323import { useStaticInput } from './useStaticInput'
@@ -33,16 +43,19 @@ type QueryState = {
3343 refetchCallback ?: ( data : any ) => void
3444}
3545
36- export const useDataQuery = < TQueryResult = QueryResult > (
37- query : Query ,
46+ export const useDataQuery = <
47+ TQuery extends Query ,
48+ TDataResult extends DataResultForQuery < TQuery > = DataResultForQuery < TQuery >
49+ > (
50+ query : TQuery ,
3851 {
3952 onComplete : userOnSuccess ,
4053 onError : userOnError ,
4154 variables : initialVariables = { } ,
4255 lazy : initialLazy = false ,
4356 } : QueryOptions = { }
44- ) : QueryRenderInput < TQueryResult > => {
45- const [ staticQuery ] = useStaticInput < Query > ( query , {
57+ ) : UseDataQueryResult < TDataResult > => {
58+ const [ staticQuery ] = useStaticInput < TQuery > ( query , {
4659 warn : true ,
4760 name : 'query' ,
4861 } )
0 commit comments