MCPcopy Create free account
hub / github.com/SvelteStack/svelte-query / useQuery

Function useQuery

src/query/useQuery.ts:33–90  ·  view source on GitHub ↗
(
    arg1: TQueryKey | UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
    arg2?:
        | QueryFunction<TQueryFnData, TQueryKey>
        | UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
    arg3?: UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>
)

Source from the content-addressed store, hash-verified

31 options?: Omit<UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryKey' | 'queryFn'>
32): UseQueryStoreResult<TQueryFnData, TError, TData, TQueryKey>
33export default function useQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(
34 arg1: TQueryKey | UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
35 arg2?:
36 | QueryFunction<TQueryFnData, TQueryKey>
37 | UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
38 arg3?: UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>
39): UseQueryStoreResult<TQueryFnData, TError, TData, TQueryKey> {
40 const options = parseQueryArgs(arg1, arg2, arg3)
41 const client: QueryClient = useQueryClient()
42 let defaultedOptions = client.defaultQueryObserverOptions(options)
43 // Include callbacks in batch renders
44 defaultedOptions = setBatchCalls<UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>>(defaultedOptions)
45 const observer = new QueryObserver<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>(client, defaultedOptions)
46
47 const { subscribe } = readable(observer.getCurrentResult(), set => {
48 return observer.subscribe(notifyManager.batchCalls(set))
49 })
50
51 // Update result to make sure we did not miss any query updates
52 // between creating the observer and subscribing to it.
53 observer.updateResult()
54
55 function setOptions(options: UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>)
56 function setOptions(
57 queryKey: TQueryKey,
58 options?: UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>
59 )
60 function setOptions(
61 queryKey: TQueryKey,
62 queryFn: QueryFunction<TQueryFnData, TQueryKey>,
63 options?: UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>
64 )
65 function setOptions(
66 arg1: TQueryKey | UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
67 arg2?:
68 | QueryFunction<TQueryFnData, TQueryKey>
69 | UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
70 arg3?: UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>
71 ) {
72 const options = parseQueryArgs(arg1, arg2, arg3)
73 let defaultedOptions = client.defaultQueryObserverOptions(options)
74 // Include callbacks in batch renders
75 defaultedOptions = setBatchCalls<UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>>(defaultedOptions)
76 if (observer.hasListeners()) {
77 observer.setOptions(defaultedOptions, { listeners: false })
78 }
79 }
80
81 function updateOptions(options: Partial<UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>>): void {
82 observer.updateOptions(options)
83 }
84
85 function setEnabled(enabled: boolean): void {
86 updateOptions({ enabled })
87 }
88
89 return { subscribe, setOptions, updateOptions, setEnabled }
90}

Callers 2

usePostFunction · 0.85
usePostsFunction · 0.85

Calls 8

getCurrentResultMethod · 0.95
updateResultMethod · 0.95
parseQueryArgsFunction · 0.90
useQueryClientFunction · 0.90
setBatchCallsFunction · 0.90
batchCallsMethod · 0.80
subscribeMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…