11import { addToEnd } from './utils'
22import type { QueryFunction , QueryFunctionContext , QueryKey } from './types'
33
4- type BaseStreamedQueryParams < TQueryFnData , TQueryKey extends QueryKey > = {
5- queryFn : (
4+ type BaseStreamedQueryParams < TQueryFnData , TQueryKey extends QueryKey > = {
5+ queryFn : (
66 context : QueryFunctionContext < TQueryKey > ,
77 ) => AsyncIterable < TQueryFnData > | Promise < AsyncIterable < TQueryFnData > >
88 refetchMode ?: 'append' | 'reset' | 'replace'
99}
1010
11- type SimpleStreamedQueryParams < TQueryFnData , TQueryKey extends QueryKey > = BaseStreamedQueryParams < TQueryFnData , TQueryKey > & {
12- reducer ?: never ;
13- initialValue ?: never ;
11+ type SimpleStreamedQueryParams <
12+ TQueryFnData ,
13+ TQueryKey extends QueryKey ,
14+ > = BaseStreamedQueryParams < TQueryFnData , TQueryKey > & {
15+ reducer ?: never
16+ initialValue ?: never
1417}
1518
16- type ReducibleStreamedQueryParams < TQueryFnData , TData , TQueryKey extends QueryKey > = BaseStreamedQueryParams < TQueryFnData , TQueryKey > & {
19+ type ReducibleStreamedQueryParams <
20+ TQueryFnData ,
21+ TData ,
22+ TQueryKey extends QueryKey ,
23+ > = BaseStreamedQueryParams < TQueryFnData , TQueryKey > & {
1724 reducer : ( acc : TData , chunk : TQueryFnData ) => TData
1825 initialValue : TData
1926}
@@ -22,7 +29,6 @@ type StreamedQueryParams<TQueryFnData, TData, TQueryKey extends QueryKey> =
2229 | SimpleStreamedQueryParams < TQueryFnData , TQueryKey >
2330 | ReducibleStreamedQueryParams < TQueryFnData , TData , TQueryKey >
2431
25-
2632/**
2733 * This is a helper function to create a query function that streams data from an AsyncIterable.
2834 * Data will be an Array of all the chunks received.
@@ -44,13 +50,13 @@ export function streamedQuery<
4450> ( {
4551 queryFn,
4652 refetchMode = 'reset' ,
47- reducer = ( items , chunk ) => addToEnd ( items as Array < TQueryFnData > , chunk ) as TData ,
53+ reducer = ( items , chunk ) =>
54+ addToEnd ( items as Array < TQueryFnData > , chunk ) as TData ,
4855 initialValue = [ ] as TData ,
4956} : StreamedQueryParams < TQueryFnData , TData , TQueryKey > ) : QueryFunction <
5057 TData ,
5158 TQueryKey
5259> {
53-
5460 return async ( context ) => {
5561 const query = context . client
5662 . getQueryCache ( )
0 commit comments