@@ -32,10 +32,8 @@ import type { TODO, WithRequired } from '../type-utils';
3232import { QueryBuilderClient } from './QueryBuilderClient' ;
3333import { QueryBuilderTagsManager } from './QueryBuilderTagsManager' ;
3434import { type BuilderOptions , BuilderPaginationOptions , mergeBuilderOptions , mergeBuilderPaginationOptions } from './options' ;
35- import type { BuilderConfig , BuilderFlags , BuilderQueriesResult , HasClient , HasPagination , IsBound } from './types' ;
36- import { areKeysEqual , assertBound , getRandomKey , mergeMutationOptions , mergeVars } from './utils' ;
37-
38- type IsBoundThis < TFlags extends BuilderFlags , TB extends QueryBuilderFrozen < any , any , any , any , any , TFlags > > = IsBound < TFlags , TB > ;
35+ import type { BuilderConfig , BuilderFlags , BuilderQueriesResult , HasClient , HasPagination } from './types' ;
36+ import { areKeysEqual , assertThis , getRandomKey , mergeMutationOptions , mergeVars } from './utils' ;
3937
4038type UseQueriesArgs < TVars , TData , TError , TKey extends unknown [ ] > = [
4139 queries : {
@@ -111,11 +109,8 @@ export class QueryBuilderFrozen<
111109
112110 //#region Query
113111
114- getQueryFn (
115- this : IsBoundThis < TFlags , this> ,
116- operationType : 'query' | 'queries' | 'infiniteQuery' = 'query' ,
117- ) : QueryFunction < TData , TKey , Partial < TVars > > {
118- assertBound ( this ) ;
112+ getQueryFn ( operationType : 'query' | 'queries' | 'infiniteQuery' = 'query' ) : QueryFunction < TData , TKey , Partial < TVars > > {
113+ assertThis ( this ) ;
119114 return ( { client, meta, queryKey, signal, pageParam } ) => {
120115 return this . config . queryFn ( {
121116 client,
@@ -129,26 +124,25 @@ export class QueryBuilderFrozen<
129124 } ;
130125 }
131126
132- getQueryKeyHashFn ( this : IsBoundThis < TFlags , this > ) : ( key : TKey ) => string {
133- assertBound ( this ) ;
127+ getQueryKeyHashFn ( ) : ( key : TKey ) => string {
128+ assertThis ( this ) ;
134129 return ( key ) => {
135130 const sanitized = this . config . queryKeySanitizer ? this . config . queryKeySanitizer ( key ) : key ;
136131 return hashKey ( sanitized ) ;
137132 } ;
138133 }
139134
140- getQueryKey ( this : IsBoundThis < TFlags , this > , vars : TVars ) : DataTag < TKey , TData , TError > {
141- assertBound ( this ) ;
135+ getQueryKey ( vars : TVars ) : DataTag < TKey , TData , TError > {
136+ assertThis ( this ) ;
142137 return [ this . preprocessVars ( this . mergeVars ( [ this . config . vars , vars as TODO ] ) ) ] as DataTag < TKey , TData , TError > ;
143138 }
144139
145140 getQueryOptions (
146- this : IsBoundThis < TFlags , this> ,
147141 vars : TVars ,
148142 opts ?: BuilderOptions < TVars , TData , TError , TKey > ,
149143 operationType ?: 'query' | 'queries' | 'infiniteQuery' ,
150144 ) : WithRequired < BuilderOptions < TVars , TData , TError , TKey > , 'queryFn' | 'queryKey' > {
151- assertBound ( this ) ;
145+ assertThis ( this ) ;
152146
153147 return mergeBuilderOptions ( [
154148 {
@@ -161,27 +155,23 @@ export class QueryBuilderFrozen<
161155 ] ) as TODO ;
162156 }
163157
164- useQuery ( this : IsBoundThis < TFlags , this > , vars : TVars , opts ?: BuilderOptions < TVars , TData , TError , TKey > ) : UseQueryResult < TData , TError > {
165- assertBound ( this ) ;
158+ useQuery ( vars : TVars , opts ?: BuilderOptions < TVars , TData , TError , TKey > ) : UseQueryResult < TData , TError > {
159+ assertThis ( this ) ;
166160 return useQuery ( this . getQueryOptions ( vars , opts ) , this . config . queryClient ) ;
167161 }
168162
169- useSuspenseQuery (
170- this : IsBoundThis < TFlags , this> ,
171- vars : TVars ,
172- opts ?: BuilderOptions < TVars , TData , TError , TKey > ,
173- ) : UseSuspenseQueryResult < TData , TError > {
174- assertBound ( this ) ;
163+ useSuspenseQuery ( vars : TVars , opts ?: BuilderOptions < TVars , TData , TError , TKey > ) : UseSuspenseQueryResult < TData , TError > {
164+ assertThis ( this ) ;
175165 return useSuspenseQuery ( this . getQueryOptions ( vars , opts ) , this . config . queryClient ) ;
176166 }
177167
178- usePrefetchQuery ( this : IsBoundThis < TFlags , this > , vars : TVars , opts ?: BuilderOptions < TVars , TData , TError , TKey > ) : void {
179- assertBound ( this ) ;
168+ usePrefetchQuery ( vars : TVars , opts ?: BuilderOptions < TVars , TData , TError , TKey > ) : void {
169+ assertThis ( this ) ;
180170 usePrefetchQuery ( this . getQueryOptions ( vars , opts ) , this . config . queryClient ) ;
181171 }
182172
183- useIsFetching ( this : IsBoundThis < TFlags , this > , vars : TVars , filters ?: QueryFilters ) : number {
184- assertBound ( this ) ;
173+ useIsFetching ( vars : TVars , filters ?: QueryFilters ) : number {
174+ assertThis ( this ) ;
185175 return useIsFetching ( { queryKey : this . getQueryKey ( vars ) , ...filters } , this . config . queryClient ) ;
186176 }
187177
@@ -190,11 +180,10 @@ export class QueryBuilderFrozen<
190180 //#region Queries
191181
192182 private useQueriesInternal (
193- this : IsBoundThis < TFlags , this> ,
194183 useHook : typeof useQueries | typeof useSuspenseQueries ,
195184 ...[ queries , sharedVars , sharedOpts ] : UseQueriesArgs < TVars , TData , TError , TKey >
196185 ) : BuilderQueriesResult < TVars , TData , TError , TKey > {
197- assertBound ( this ) ;
186+ assertThis ( this ) ;
198187
199188 type ResultType = BuilderQueriesResult < TVars , TData , TError , TKey > ;
200189
@@ -217,19 +206,13 @@ export class QueryBuilderFrozen<
217206 return result ;
218207 }
219208
220- useQueries (
221- this : IsBoundThis < TFlags , this> ,
222- ...args : UseQueriesArgs < TVars , TData , TError , TKey >
223- ) : BuilderQueriesResult < TVars , TData , TError , TKey > {
224- assertBound ( this ) ;
209+ useQueries ( ...args : UseQueriesArgs < TVars , TData , TError , TKey > ) : BuilderQueriesResult < TVars , TData , TError , TKey > {
210+ assertThis ( this ) ;
225211 return this . useQueriesInternal ( useQueries , ...args ) ;
226212 }
227213
228- useSuspenseQueries (
229- this : IsBoundThis < TFlags , this> ,
230- ...args : UseQueriesArgs < TVars , TData , TError , TKey >
231- ) : BuilderQueriesResult < TVars , TData , TError , TKey > {
232- assertBound ( this ) ;
214+ useSuspenseQueries ( ...args : UseQueriesArgs < TVars , TData , TError , TKey > ) : BuilderQueriesResult < TVars , TData , TError , TKey > {
215+ assertThis ( this ) ;
233216 return this . useQueriesInternal ( useSuspenseQueries , ...args ) ;
234217 }
235218
@@ -240,7 +223,6 @@ export class QueryBuilderFrozen<
240223 declare getInfiniteQueryOptions : HasPagination <
241224 TFlags ,
242225 (
243- this : IsBoundThis < TFlags , this> ,
244226 vars : TVars ,
245227 opts ?: Partial < BuilderPaginationOptions < TVars , TData , TError , TKey > > ,
246228 ) => WithRequired < BuilderPaginationOptions < TVars , TData , TError , TKey > , 'queryFn' | 'queryKey' | 'initialPageParam' >
@@ -249,21 +231,19 @@ export class QueryBuilderFrozen<
249231 declare useInfiniteQuery : HasPagination <
250232 TFlags ,
251233 (
252- this : IsBoundThis < TFlags , this> ,
253234 vars : TVars ,
254235 opts ?: Partial < BuilderPaginationOptions < TVars , TData , TError , TKey > > ,
255236 ) => UseInfiniteQueryResult < InfiniteData < TData , Partial < TVars > > , TError >
256237 > ;
257238
258239 declare usePrefetchInfiniteQuery : HasPagination <
259240 TFlags ,
260- ( this : IsBoundThis < TFlags , this > , vars : TVars , opts ?: Partial < BuilderPaginationOptions < TVars , TData , TError , TKey > > ) => void
241+ ( vars : TVars , opts ?: Partial < BuilderPaginationOptions < TVars , TData , TError , TKey > > ) => void
261242 > ;
262243
263244 declare useSuspenseInfiniteQuery : HasPagination <
264245 TFlags ,
265246 (
266- this : IsBoundThis < TFlags , this> ,
267247 vars : TVars ,
268248 opts ?: Partial < BuilderPaginationOptions < TVars , TData , TError , TKey > > ,
269249 ) => UseSuspenseInfiniteQueryResult < InfiniteData < TData , Partial < TVars > > , TError >
@@ -273,8 +253,8 @@ export class QueryBuilderFrozen<
273253
274254 //#region Mutation
275255
276- getMutationFn ( this : IsBoundThis < TFlags , this > , queryClient : QueryClient , meta ?: any ) : MutationFunction < TData , TVars > {
277- assertBound ( this ) ;
256+ getMutationFn ( queryClient : QueryClient , meta ?: any ) : MutationFunction < TData , TVars > {
257+ assertThis ( this ) ;
278258
279259 return async ( vars ) => {
280260 const queryKey = [ this . mergeVars ( [ this . config . vars , vars as TODO ] ) ] as TKey ;
@@ -290,8 +270,8 @@ export class QueryBuilderFrozen<
290270 }
291271
292272 #randomKey?: string ;
293- getMutationKey ( this : IsBoundThis < TFlags , this > ) : MutationKey {
294- assertBound ( this ) ;
273+ getMutationKey ( ) : MutationKey {
274+ assertThis ( this ) ;
295275
296276 if ( this . config . options ?. mutationKey ) return this . config . options . mutationKey ;
297277
@@ -301,11 +281,10 @@ export class QueryBuilderFrozen<
301281 }
302282
303283 getMutationOptions (
304- this : IsBoundThis < TFlags , this> ,
305284 queryClient : QueryClient ,
306285 opts ?: BuilderOptions < TVars , TData , TError , TKey > ,
307286 ) : UseMutationOptions < TData , TError , TVars > {
308- assertBound ( this ) ;
287+ assertThis ( this ) ;
309288
310289 return mergeMutationOptions ( [
311290 {
@@ -317,12 +296,8 @@ export class QueryBuilderFrozen<
317296 ] ) ;
318297 }
319298
320- getMutationFilters (
321- this : IsBoundThis < TFlags , this> ,
322- vars ?: TVars ,
323- filters ?: MutationFilters < TData , TError , TVars > ,
324- ) : MutationFilters < any , any , any > {
325- assertBound ( this ) ;
299+ getMutationFilters ( vars ?: TVars , filters ?: MutationFilters < TData , TError , TVars > ) : MutationFilters < any , any , any > {
300+ assertThis ( this ) ;
326301
327302 const baseKey = this . preprocessVars ( this . mergeVars ( [ this . config . vars , vars as TODO ] ) ) ;
328303
@@ -340,27 +315,23 @@ export class QueryBuilderFrozen<
340315 } ;
341316 }
342317
343- useMutation (
344- this : IsBoundThis < TFlags , this> ,
345- opts ?: BuilderOptions < TVars , TData , TError , TKey > ,
346- ) : ReturnType < typeof useMutation < TData , TError , TVars > > {
347- assertBound ( this ) ;
318+ useMutation ( opts ?: BuilderOptions < TVars , TData , TError , TKey > ) : ReturnType < typeof useMutation < TData , TError , TVars > > {
319+ assertThis ( this ) ;
348320 const queryClient = useQueryClient ( this . config . queryClient ) ;
349321 return useMutation ( this . getMutationOptions ( queryClient , opts ) , this . config . queryClient ) ;
350322 }
351323
352- useIsMutating ( this : IsBoundThis < TFlags , this > , vars : TVars , filters ?: MutationFilters < TData , TError , TVars > ) : number {
353- assertBound ( this ) ;
324+ useIsMutating ( vars : TVars , filters ?: MutationFilters < TData , TError , TVars > ) : number {
325+ assertThis ( this ) ;
354326 return useIsMutating ( this . getMutationFilters ( vars , filters ) , this . config . queryClient ) ;
355327 }
356328
357329 useMutationState < TSelect = Mutation < TData , TError , TVars > > (
358- this : IsBoundThis < TFlags , this> ,
359330 vars ?: TVars ,
360331 filters ?: MutationFilters < TData , TError , TVars > ,
361332 select ?: ( mt : Mutation < TData , TError , TVars > ) => TSelect ,
362333 ) : TSelect [ ] {
363- assertBound ( this ) ;
334+ assertThis ( this ) ;
364335 return useMutationState ( { filters : this . getMutationFilters ( vars , filters ) , select : select as any } , this . config . queryClient ) ;
365336 }
366337
@@ -370,7 +341,7 @@ export class QueryBuilderFrozen<
370341//#region InfiniteQuery implementation
371342
372343QueryBuilderFrozen . prototype . getInfiniteQueryOptions = function getInfiniteQueryOptions ( vars , opts ) {
373- assertBound ( this ) ;
344+ assertThis ( this ) ;
374345
375346 // Remove incompatible options from the base query options
376347 const {
@@ -401,17 +372,17 @@ QueryBuilderFrozen.prototype.getInfiniteQueryOptions = function getInfiniteQuery
401372} ;
402373
403374QueryBuilderFrozen . prototype . useInfiniteQuery = function ( vars , opts ) {
404- assertBound ( this ) ;
375+ assertThis ( this ) ;
405376 return useInfiniteQuery ( this . getInfiniteQueryOptions ( vars , opts ) , this . config . queryClient ) ;
406377} ;
407378
408379QueryBuilderFrozen . prototype . usePrefetchInfiniteQuery = function ( vars , opts ) {
409- assertBound ( this ) ;
380+ assertThis ( this ) ;
410381 return usePrefetchInfiniteQuery ( this . getInfiniteQueryOptions ( vars , opts ) , this . config . queryClient ) ;
411382} ;
412383
413384QueryBuilderFrozen . prototype . useSuspenseInfiniteQuery = function ( vars , opts ) {
414- assertBound ( this ) ;
385+ assertThis ( this ) ;
415386 return useSuspenseInfiniteQuery ( this . getInfiniteQueryOptions ( vars , opts ) , this . config . queryClient ) ;
416387} ;
417388
0 commit comments