@@ -47,28 +47,28 @@ export class QueryBuilderFrozen<
4747
4848 constructor ( public readonly config : BuilderConfig < TVars , TData , TError , TKey > ) { }
4949
50- protected mergeConfigs : ( config : typeof this . config , other : Partial < typeof this . config > ) => typeof this . config = ( config , other ) => {
50+ protected mergeConfigs ( config : typeof this . config , other : Partial < typeof this . config > ) : typeof this . config {
5151 return {
5252 ...config ,
5353 ...other ,
5454 vars : mergeVars ( [ config . vars , other . vars ] , other . mergeVars || config . mergeVars ) ,
5555 options : mergeBuilderOptions ( [ config . options , other . options ] ) ,
5656 paginationOptions : mergeBuilderPaginationOptions ( [ config . paginationOptions , other . paginationOptions ] ) ,
5757 } ;
58- } ;
58+ }
5959
60- protected mergeVars : ( list : ( Partial < TVars > | undefined ) [ ] ) => TVars = ( list ) => {
60+ protected mergeVars ( list : ( Partial < TVars > | undefined ) [ ] ) : TVars {
6161 return mergeVars ( list , this . config . mergeVars ) ;
62- } ;
62+ }
6363
64- protected preprocessVars : ( vars : TVars ) => TKey [ 0 ] = ( vars ) => {
64+ protected preprocessVars ( vars : TVars ) : TKey [ 0 ] {
6565 if ( ! this . config . preprocessorFn ) return vars as TKey [ 0 ] ;
6666 return this . config . preprocessorFn ( vars ) ;
67- } ;
67+ }
6868
6969 //#region Query
7070
71- getQueryFn : ( operationType ?: 'query' | 'queries' | 'infiniteQuery' ) => QueryFunction < TData , TKey , Partial < TVars > > = (
71+ readonly getQueryFn : ( operationType ?: 'query' | 'queries' | 'infiniteQuery' ) => QueryFunction < TData , TKey , Partial < TVars > > = (
7272 operationType = 'query' ,
7373 ) => {
7474 return ( { client, meta, queryKey, signal, pageParam } ) => {
@@ -84,18 +84,18 @@ export class QueryBuilderFrozen<
8484 } ;
8585 } ;
8686
87- getQueryKeyHashFn : ( ) => ( key : TKey ) => string = ( ) => {
87+ readonly getQueryKeyHashFn : ( ) => ( key : TKey ) => string = ( ) => {
8888 return ( key ) => {
8989 const sanitized = this . config . queryKeySanitizer ? this . config . queryKeySanitizer ( key ) : key ;
9090 return hashKey ( sanitized ) ;
9191 } ;
9292 } ;
9393
94- getQueryKey : ( vars : TVars ) => DataTag < TKey , TData , TError > = ( vars ) => {
94+ readonly getQueryKey : ( vars : TVars ) => DataTag < TKey , TData , TError > = ( vars ) => {
9595 return [ this . preprocessVars ( this . mergeVars ( [ this . config . vars , vars ] ) ) ] as DataTag < TKey , TData , TError > ;
9696 } ;
9797
98- getQueryOptions : (
98+ readonly getQueryOptions : (
9999 vars : TVars ,
100100 opts ?: typeof this . _options ,
101101 operationType ?: 'query' | 'queries' | 'infiniteQuery' ,
@@ -111,33 +111,29 @@ export class QueryBuilderFrozen<
111111 ] ) as TODO ;
112112 } ;
113113
114- useQuery : ( vars : TVars , opts ?: typeof this . _options ) => UseQueryResult < TData , TError > = ( vars , opts ) => {
114+ readonly useQuery : ( vars : TVars , opts ?: typeof this . _options ) => UseQueryResult < TData , TError > = ( vars , opts ) => {
115115 return useQuery ( this . getQueryOptions ( vars , opts ) , this . config . queryClient ) ;
116116 } ;
117117
118- useSuspenseQuery : ( vars : TVars , opts ?: typeof this . _options ) => ReturnType < typeof useSuspenseQuery < TData , TError , TData , TKey > > = (
119- vars ,
120- opts ,
121- ) => {
122- return useSuspenseQuery ( this . getQueryOptions ( vars , opts ) , this . config . queryClient ) ;
123- } ;
118+ readonly useSuspenseQuery : ( vars : TVars , opts ?: typeof this . _options ) => ReturnType < typeof useSuspenseQuery < TData , TError , TData , TKey > > =
119+ ( vars , opts ) => {
120+ return useSuspenseQuery ( this . getQueryOptions ( vars , opts ) , this . config . queryClient ) ;
121+ } ;
124122
125- usePrefetchQuery : ( vars : TVars , opts ?: typeof this . _options ) => ReturnType < typeof usePrefetchQuery < TData , TError , TData , TKey > > = (
126- vars ,
127- opts ,
128- ) => {
129- return usePrefetchQuery ( this . getQueryOptions ( vars , opts ) , this . config . queryClient ) ;
130- } ;
123+ readonly usePrefetchQuery : ( vars : TVars , opts ?: typeof this . _options ) => ReturnType < typeof usePrefetchQuery < TData , TError , TData , TKey > > =
124+ ( vars , opts ) => {
125+ return usePrefetchQuery ( this . getQueryOptions ( vars , opts ) , this . config . queryClient ) ;
126+ } ;
131127
132- useIsFetching : ( vars : TVars , filters ?: QueryFilters ) => number = ( vars , filters ) => {
128+ readonly useIsFetching : ( vars : TVars , filters ?: QueryFilters ) => number = ( vars , filters ) => {
133129 return useIsFetching ( { queryKey : this . getQueryKey ( vars ) , ...filters } , this . config . queryClient ) ;
134130 } ;
135131
136132 //#endregion
137133
138134 //#region Queries
139135
140- private useQueriesInternal : ( useHook : typeof useQueries | typeof useSuspenseQueries ) => (
136+ private readonly useQueriesInternal : ( useHook : typeof useQueries | typeof useSuspenseQueries ) => (
141137 queries : {
142138 vars : TVars ;
143139 options ?: BuilderConfig < TVars , TData , TError , TKey > [ 'options' ] ;
@@ -167,19 +163,19 @@ export class QueryBuilderFrozen<
167163 return result ;
168164 } ;
169165
170- useQueries : ReturnType < typeof this . useQueriesInternal > = ( queries , sharedVars , sharedOpts ) => {
166+ readonly useQueries : ReturnType < typeof this . useQueriesInternal > = ( queries , sharedVars , sharedOpts ) => {
171167 return this . useQueriesInternal ( useQueries ) ( queries , sharedVars , sharedOpts ) ;
172168 } ;
173169
174- useSuspenseQueries : ReturnType < typeof this . useQueriesInternal > = ( queries , sharedVars , sharedOpts ) => {
170+ readonly useSuspenseQueries : ReturnType < typeof this . useQueriesInternal > = ( queries , sharedVars , sharedOpts ) => {
175171 return this . useQueriesInternal ( useSuspenseQueries ) ( queries , sharedVars , sharedOpts ) ;
176172 } ;
177173
178174 //#endregion
179175
180176 //#region InfiniteQuery
181177
182- getInfiniteQueryOptions = ( ( vars , opts ) => {
178+ readonly getInfiniteQueryOptions = ( ( vars , opts ) => {
183179 // Remove incompatible options from the base query options
184180 const {
185181 enabled,
@@ -214,18 +210,18 @@ export class QueryBuilderFrozen<
214210 ) => WithRequired < BuilderPaginationOptions < TVars , TData , TError , TKey > , 'queryFn' | 'queryKey' | 'initialPageParam' >
215211 > ;
216212
217- useInfiniteQuery = ( ( vars , opts ) => {
213+ readonly useInfiniteQuery = ( ( vars , opts ) => {
218214 return useInfiniteQuery ( this . getInfiniteQueryOptions ( vars , opts ) , this . config . queryClient ) ;
219215 } ) as HasPagination <
220216 TFlags ,
221217 ( vars : TVars , opts ?: typeof this . _pgOptions ) => UseInfiniteQueryResult < InfiniteData < TData , Partial < TVars > > , TError >
222218 > ;
223219
224- usePrefetchInfiniteQuery = ( ( vars , opts ) => {
220+ readonly usePrefetchInfiniteQuery = ( ( vars , opts ) => {
225221 return usePrefetchInfiniteQuery ( this . getInfiniteQueryOptions ( vars , opts ) , this . config . queryClient ) ;
226222 } ) as HasPagination < TFlags , ( vars : TVars , opts ?: typeof this . _pgOptions ) => void > ;
227223
228- useSuspenseInfiniteQuery = ( ( vars , opts ) => {
224+ readonly useSuspenseInfiniteQuery = ( ( vars , opts ) => {
229225 return useSuspenseInfiniteQuery ( this . getInfiniteQueryOptions ( vars , opts ) , this . config . queryClient ) ;
230226 } ) as HasPagination <
231227 TFlags ,
@@ -236,7 +232,7 @@ export class QueryBuilderFrozen<
236232
237233 //#region Mutation
238234
239- getMutationFn : ( queryClient : QueryClient , meta ?: any ) => MutationFunction < TData , TVars > = ( queryClient , meta ) => {
235+ readonly getMutationFn : ( queryClient : QueryClient , meta ?: any ) => MutationFunction < TData , TVars > = ( queryClient , meta ) => {
240236 return async ( vars ) => {
241237 const queryKey = [ this . mergeVars ( [ this . config . vars , vars ] ) ] as TKey ;
242238 return this . config . queryFn ( {
@@ -251,15 +247,15 @@ export class QueryBuilderFrozen<
251247 } ;
252248
253249 private randomKey ?: string ;
254- getMutationKey : ( ) => MutationKey = ( ) => {
250+ readonly getMutationKey : ( ) => MutationKey = ( ) => {
255251 if ( this . config . options ?. mutationKey ) return this . config . options . mutationKey ;
256252
257253 if ( this . config . queryKeySanitizer && this . config . vars ) return this . config . queryKeySanitizer ( [ this . config . vars ] as TKey ) ;
258254
259255 return this . config . options ?. mutationKey || [ ( this . randomKey ||= getRandomKey ( ) ) ] ;
260256 } ;
261257
262- getMutationOptions : ( queryClient : QueryClient , opts ?: typeof this . _options ) => UseMutationOptions < TData , TError , TVars > = (
258+ readonly getMutationOptions : ( queryClient : QueryClient , opts ?: typeof this . _options ) => UseMutationOptions < TData , TError , TVars > = (
263259 queryClient ,
264260 opts ,
265261 ) => {
@@ -273,7 +269,7 @@ export class QueryBuilderFrozen<
273269 ] ) ;
274270 } ;
275271
276- getMutationFilters : ( vars ?: TVars , filters ?: MutationFilters < TData , TError , TVars > ) => MutationFilters < any , any , any > = (
272+ readonly getMutationFilters : ( vars ?: TVars , filters ?: MutationFilters < TData , TError , TVars > ) => MutationFilters < any , any , any > = (
277273 vars ,
278274 filters ,
279275 ) => {
@@ -293,16 +289,16 @@ export class QueryBuilderFrozen<
293289 } ;
294290 } ;
295291
296- useMutation : ( opts ?: typeof this . _options ) => ReturnType < typeof useMutation < TData , TError , TVars > > = ( opts ) => {
292+ readonly useMutation : ( opts ?: typeof this . _options ) => ReturnType < typeof useMutation < TData , TError , TVars > > = ( opts ) => {
297293 const queryClient = useQueryClient ( this . config . queryClient ) ;
298294 return useMutation ( this . getMutationOptions ( queryClient , opts ) , this . config . queryClient ) ;
299295 } ;
300296
301- useIsMutating : ( vars : TVars , filters ?: MutationFilters < TData , TError , TVars > ) => number = ( vars , filters ) => {
297+ readonly useIsMutating : ( vars : TVars , filters ?: MutationFilters < TData , TError , TVars > ) => number = ( vars , filters ) => {
302298 return useIsMutating ( this . getMutationFilters ( vars , filters ) , this . config . queryClient ) ;
303299 } ;
304300
305- useMutationState : < TSelect = Mutation < TData , TError , TVars > > (
301+ readonly useMutationState : < TSelect = Mutation < TData , TError , TVars > > (
306302 vars ?: TVars ,
307303 filters ?: MutationFilters < TData , TError , TVars > ,
308304 select ?: ( mt : Mutation < TData , TError , TVars > ) => TSelect ,
@@ -312,13 +308,13 @@ export class QueryBuilderFrozen<
312308
313309 //#endregion
314310
315- private _client ?: QueryBuilderClient < TVars , TData , TError , TKey , TTags > ;
311+ #client ?: QueryBuilderClient < TVars , TData , TError , TKey , TTags > ;
316312 get client ( ) : HasClient < TFlags , QueryBuilderClient < TVars , TData , TError , TKey , TTags > > {
317- return ( this . _client ??= new QueryBuilderClient ( this ) ) as any ;
313+ return ( this . #client ??= new QueryBuilderClient ( this ) ) as any ;
318314 }
319315
320- private _tags ?: QueryBuilderTagsManager < TVars , TData , TError , TKey , TTags > ;
316+ #tags ?: QueryBuilderTagsManager < TVars , TData , TError , TKey , TTags > ;
321317 get tags ( ) : HasClient < TFlags , QueryBuilderTagsManager < TVars , TData , TError , TKey , TTags > > {
322- return ( this . _tags ??= new QueryBuilderTagsManager ( this ) ) as any ;
318+ return ( this . #tags ??= new QueryBuilderTagsManager ( this ) ) as any ;
323319 }
324320}
0 commit comments