MCPcopy Create free account
hub / github.com/TanStack/query / useQueries

Function useQueries

packages/solid-query/src/useQueries.ts:187–344  ·  view source on GitHub ↗
(
  queriesOptions: Accessor<{
    queries:
      | readonly [...QueriesOptions<T>]
      | readonly [...{ [K in keyof T]: GetOptions<T[K]> }]
    combine?: (result: QueriesResults<T>) => TCombinedResult
  }>,
  queryClient?: Accessor<QueryClient>,
)

Source from the content-addressed store, hash-verified

185 : { [K in keyof T]: GetResults<T[K]> }
186
187export function useQueries<
188 T extends Array<any>,
189 TCombinedResult extends QueriesResults<T> = QueriesResults<T>,
190>(
191 queriesOptions: Accessor<{
192 queries:
193 | readonly [...QueriesOptions<T>]
194 | readonly [...{ [K in keyof T]: GetOptions<T[K]> }]
195 combine?: (result: QueriesResults<T>) => TCombinedResult
196 }>,
197 queryClient?: Accessor<QueryClient>,
198): TCombinedResult {
199 const resolveClient = useQueryClientResolver(queryClient)
200 const client = createMemo(() => resolveClient())
201 const isRestoring = useIsRestoring()
202
203 const defaultedQueries = createMemo(() =>
204 queriesOptions().queries.map((options) =>
205 mergeProps(
206 client().defaultQueryOptions(options as QueryObserverOptions),
207 {
208 get _optimisticResults() {
209 return isRestoring() ? 'isRestoring' : 'optimistic'
210 },
211 },
212 ),
213 ),
214 )
215
216 const observer = new QueriesObserver(
217 client(),
218 defaultedQueries(),
219 queriesOptions().combine
220 ? ({
221 combine: queriesOptions().combine,
222 } as QueriesObserverOptions<TCombinedResult>)
223 : undefined,
224 )
225
226 const [state, setState] = createStore<TCombinedResult>(
227 observer.getOptimisticResult(
228 defaultedQueries(),
229 (queriesOptions() as QueriesObserverOptions<TCombinedResult>).combine,
230 )[1](),
231 )
232
233 createRenderEffect(
234 on(
235 () => queriesOptions().queries.length,
236 () =>
237 setState(
238 observer.getOptimisticResult(
239 defaultedQueries(),
240 (queriesOptions() as QueriesObserverOptions<TCombinedResult>)
241 .combine,
242 )[1](),
243 ),
244 ),

Callers 7

PageFunction · 0.90
useCustomQueriesFunction · 0.50
PageFunction · 0.50
useWrappedQueriesFunction · 0.50
PageFunction · 0.50
QueriesFunction · 0.50

Calls 11

getOptimisticResultMethod · 0.95
setQueriesMethod · 0.95
useQueryClientResolverFunction · 0.90
useIsRestoringFunction · 0.90
clientFunction · 0.85
cleanupFunction · 0.85
subscribeToObserverFunction · 0.85
getProxiesFunction · 0.85
defaultQueryOptionsMethod · 0.80
refetchMethod · 0.80
mutateMethod · 0.45

Tested by 6

PageFunction · 0.72
useCustomQueriesFunction · 0.40
PageFunction · 0.40
useWrappedQueriesFunction · 0.40
PageFunction · 0.40
QueriesFunction · 0.40