@zenstackhq/tanstack-query 2.21.0 → 3.0.0-beta.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/.turbo/turbo-build.log +32 -0
  2. package/.turbo/turbo-lint.log +5 -0
  3. package/LICENSE +1 -1
  4. package/dist/react.cjs +1238 -0
  5. package/dist/react.cjs.map +1 -0
  6. package/dist/react.d.cts +696 -0
  7. package/dist/react.d.ts +696 -0
  8. package/dist/react.js +1195 -0
  9. package/dist/react.js.map +1 -0
  10. package/eslint.config.js +4 -0
  11. package/package.json +56 -109
  12. package/scripts/generate.ts +27 -0
  13. package/src/react.ts +531 -0
  14. package/src/utils/common.ts +457 -0
  15. package/src/utils/mutator.ts +441 -0
  16. package/src/utils/nested-read-visitor.ts +61 -0
  17. package/src/utils/nested-write-visitor.ts +359 -0
  18. package/src/utils/query-analysis.ts +116 -0
  19. package/src/utils/serialization.ts +39 -0
  20. package/src/utils/types.ts +19 -0
  21. package/test/react-query.test.tsx +1787 -0
  22. package/test/schemas/basic/input.ts +70 -0
  23. package/test/schemas/basic/models.ts +12 -0
  24. package/test/schemas/basic/schema-lite.ts +124 -0
  25. package/test/schemas/basic/schema.zmodel +25 -0
  26. package/tsconfig.json +7 -0
  27. package/tsconfig.test.json +8 -0
  28. package/tsup.config.ts +13 -0
  29. package/vitest.config.ts +11 -0
  30. package/README.md +0 -5
  31. package/generator.d.ts +0 -6
  32. package/generator.js +0 -578
  33. package/generator.js.map +0 -1
  34. package/index.d.ts +0 -4
  35. package/index.js +0 -22
  36. package/index.js.map +0 -1
  37. package/runtime/common-CXlL7vTW.d.mts +0 -121
  38. package/runtime/common-CXlL7vTW.d.ts +0 -121
  39. package/runtime/index.d.mts +0 -20
  40. package/runtime/index.d.ts +0 -20
  41. package/runtime/index.js +0 -44
  42. package/runtime/index.js.map +0 -1
  43. package/runtime/index.mjs +0 -21
  44. package/runtime/index.mjs.map +0 -1
  45. package/runtime/react.d.mts +0 -322
  46. package/runtime/react.d.ts +0 -322
  47. package/runtime/react.js +0 -408
  48. package/runtime/react.js.map +0 -1
  49. package/runtime/react.mjs +0 -380
  50. package/runtime/react.mjs.map +0 -1
  51. package/runtime/svelte.d.mts +0 -322
  52. package/runtime/svelte.d.ts +0 -322
  53. package/runtime/svelte.js +0 -407
  54. package/runtime/svelte.js.map +0 -1
  55. package/runtime/svelte.mjs +0 -379
  56. package/runtime/svelte.mjs.map +0 -1
  57. package/runtime/vue.d.mts +0 -330
  58. package/runtime/vue.d.ts +0 -330
  59. package/runtime/vue.js +0 -418
  60. package/runtime/vue.js.map +0 -1
  61. package/runtime/vue.mjs +0 -390
  62. package/runtime/vue.mjs.map +0 -1
  63. package/runtime-v5/angular.d.mts +0 -59
  64. package/runtime-v5/angular.d.ts +0 -59
  65. package/runtime-v5/angular.js +0 -425
  66. package/runtime-v5/angular.js.map +0 -1
  67. package/runtime-v5/angular.mjs +0 -397
  68. package/runtime-v5/angular.mjs.map +0 -1
  69. package/runtime-v5/common-CXlL7vTW.d.mts +0 -121
  70. package/runtime-v5/common-CXlL7vTW.d.ts +0 -121
  71. package/runtime-v5/index.d.mts +0 -20
  72. package/runtime-v5/index.d.ts +0 -20
  73. package/runtime-v5/index.js +0 -44
  74. package/runtime-v5/index.js.map +0 -1
  75. package/runtime-v5/index.mjs +0 -21
  76. package/runtime-v5/index.mjs.map +0 -1
  77. package/runtime-v5/react.d.mts +0 -474
  78. package/runtime-v5/react.d.ts +0 -474
  79. package/runtime-v5/react.js +0 -440
  80. package/runtime-v5/react.js.map +0 -1
  81. package/runtime-v5/react.mjs +0 -412
  82. package/runtime-v5/react.mjs.map +0 -1
  83. package/runtime-v5/svelte.d.mts +0 -386
  84. package/runtime-v5/svelte.d.ts +0 -386
  85. package/runtime-v5/svelte.js +0 -436
  86. package/runtime-v5/svelte.js.map +0 -1
  87. package/runtime-v5/svelte.mjs +0 -408
  88. package/runtime-v5/svelte.mjs.map +0 -1
  89. package/runtime-v5/vue.d.mts +0 -330
  90. package/runtime-v5/vue.d.ts +0 -330
  91. package/runtime-v5/vue.js +0 -420
  92. package/runtime-v5/vue.js.map +0 -1
  93. package/runtime-v5/vue.mjs +0 -392
  94. package/runtime-v5/vue.mjs.map +0 -1
@@ -0,0 +1,696 @@
1
+ import * as _tanstack_react_query from '@tanstack/react-query';
2
+ import { UseQueryOptions, DefaultError, UseQueryResult, QueryKey, UseSuspenseQueryOptions, UseSuspenseQueryResult, UseInfiniteQueryOptions, InfiniteData, UseInfiniteQueryResult, UseSuspenseInfiniteQueryOptions, UseSuspenseInfiniteQueryResult, UseMutationOptions, UseMutationResult } from '@tanstack/react-query';
3
+ import * as react from 'react';
4
+ import { FindUniqueArgs, SelectSubset, ModelResult, FindArgs, CreateArgs, CreateManyArgs, BatchResult, CreateManyAndReturnArgs, UpdateArgs, UpdateManyArgs, UpdateManyAndReturnArgs, UpsertArgs, DeleteArgs, DeleteManyArgs, CountArgs, CountResult, AggregateArgs, AggregateResult, GroupByArgs, GroupByResult } from '@zenstackhq/orm';
5
+ import { SchemaDef, GetModels } from '@zenstackhq/schema';
6
+
7
+ /**
8
+ * Function signature for `fetch`.
9
+ */
10
+ type FetchFn = (url: string, options?: RequestInit) => Promise<Response>;
11
+ /**
12
+ * Result of optimistic data provider.
13
+ */
14
+ type OptimisticDataProviderResult = {
15
+ /**
16
+ * Kind of the result.
17
+ * - Update: use the `data` field to update the query cache.
18
+ * - Skip: skip the optimistic update for this query.
19
+ * - ProceedDefault: proceed with the default optimistic update.
20
+ */
21
+ kind: 'Update' | 'Skip' | 'ProceedDefault';
22
+ /**
23
+ * Data to update the query cache. Only applicable if `kind` is 'Update'.
24
+ *
25
+ * If the data is an object with fields updated, it should have a `$optimistic`
26
+ * field set to `true`. If it's an array and an element object is created or updated,
27
+ * the element should have a `$optimistic` field set to `true`.
28
+ */
29
+ data?: any;
30
+ };
31
+ /**
32
+ * Optimistic data provider.
33
+ *
34
+ * @param args Arguments.
35
+ * @param args.queryModel The model of the query.
36
+ * @param args.queryOperation The operation of the query, `findMany`, `count`, etc.
37
+ * @param args.queryArgs The arguments of the query.
38
+ * @param args.currentData The current cache data for the query.
39
+ * @param args.mutationArgs The arguments of the mutation.
40
+ */
41
+ type OptimisticDataProvider = (args: {
42
+ queryModel: string;
43
+ queryOperation: string;
44
+ queryArgs: any;
45
+ currentData: any;
46
+ mutationArgs: any;
47
+ }) => OptimisticDataProviderResult | Promise<OptimisticDataProviderResult>;
48
+ /**
49
+ * Extra mutation options.
50
+ */
51
+ type ExtraMutationOptions = {
52
+ /**
53
+ * Whether to automatically invalidate queries potentially affected by the mutation. Defaults to `true`.
54
+ */
55
+ invalidateQueries?: boolean;
56
+ /**
57
+ * Whether to optimistically update queries potentially affected by the mutation. Defaults to `false`.
58
+ */
59
+ optimisticUpdate?: boolean;
60
+ /**
61
+ * A callback for computing optimistic update data for each query cache entry.
62
+ */
63
+ optimisticDataProvider?: OptimisticDataProvider;
64
+ };
65
+ /**
66
+ * Extra query options.
67
+ */
68
+ type ExtraQueryOptions = {
69
+ /**
70
+ * Whether to opt-in to optimistic updates for this query. Defaults to `true`.
71
+ */
72
+ optimisticUpdate?: boolean;
73
+ };
74
+ /**
75
+ * Context type for configuring the hooks.
76
+ */
77
+ type APIContext = {
78
+ /**
79
+ * The endpoint to use for the queries.
80
+ */
81
+ endpoint?: string;
82
+ /**
83
+ * A custom fetch function for sending the HTTP requests.
84
+ */
85
+ fetch?: FetchFn;
86
+ /**
87
+ * If logging is enabled.
88
+ */
89
+ logging?: boolean;
90
+ };
91
+
92
+ /**
93
+ * The default query endpoint.
94
+ */
95
+ declare const DEFAULT_QUERY_ENDPOINT = "/api/model";
96
+ /**
97
+ * React context for query settings.
98
+ */
99
+ declare const QuerySettingsContext: react.Context<APIContext>;
100
+ /**
101
+ * React context provider for configuring query settings.
102
+ */
103
+ declare const QuerySettingsProvider: react.Provider<APIContext>;
104
+ /**
105
+ * React context provider for configuring query settings.
106
+ *
107
+ * @deprecated Use `QuerySettingsProvider` instead.
108
+ */
109
+ declare const Provider: react.Provider<APIContext>;
110
+ type ModelQueryOptions<T> = Omit<UseQueryOptions<T, DefaultError>, 'queryKey'> & ExtraQueryOptions;
111
+ type ModelQueryResult<T> = UseQueryResult<T, DefaultError> & {
112
+ queryKey: QueryKey;
113
+ };
114
+ type ModelSuspenseQueryOptions<T> = Omit<UseSuspenseQueryOptions<T, DefaultError>, 'queryKey'> & ExtraQueryOptions;
115
+ type ModelSuspenseQueryResult<T> = UseSuspenseQueryResult<T, DefaultError> & {
116
+ queryKey: QueryKey;
117
+ };
118
+ type ModelInfiniteQueryOptions<T> = Omit<UseInfiniteQueryOptions<T, DefaultError, InfiniteData<T>>, 'queryKey' | 'initialPageParam'>;
119
+ type ModelInfiniteQueryResult<T> = UseInfiniteQueryResult<T, DefaultError> & {
120
+ queryKey: QueryKey;
121
+ };
122
+ type ModelSuspenseInfiniteQueryOptions<T> = Omit<UseSuspenseInfiniteQueryOptions<T, DefaultError, InfiniteData<T>>, 'queryKey' | 'initialPageParam'>;
123
+ type ModelSuspenseInfiniteQueryResult<T> = UseSuspenseInfiniteQueryResult<T, DefaultError> & {
124
+ queryKey: QueryKey;
125
+ };
126
+ type ModelMutationOptions<T, TArgs> = Omit<UseMutationOptions<T, DefaultError, TArgs>, 'mutationFn'> & ExtraMutationOptions;
127
+ type ModelMutationResult<T, TArgs> = UseMutationResult<T, DefaultError, TArgs>;
128
+ type SchemaHooks<Schema extends SchemaDef> = {
129
+ [Model in GetModels<Schema> as `${Uncapitalize<Model>}`]: ModelQueryHooks<Schema, Model>;
130
+ };
131
+ type ModelQueryHooks<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
132
+ useFindUnique<T extends FindUniqueArgs<Schema, Model>>(args: SelectSubset<T, FindUniqueArgs<Schema, Model>>, options?: ModelQueryOptions<ModelResult<Schema, Model, T> | null>): ModelQueryResult<ModelResult<Schema, Model, T> | null>;
133
+ useSuspenseFindUnique<T extends FindUniqueArgs<Schema, Model>>(args: SelectSubset<T, FindUniqueArgs<Schema, Model>>, options?: ModelSuspenseQueryOptions<ModelResult<Schema, Model, T> | null>): ModelSuspenseQueryResult<ModelResult<Schema, Model, T> | null>;
134
+ useFindFirst<T extends FindArgs<Schema, Model, false>>(args?: SelectSubset<T, FindArgs<Schema, Model, false>>, options?: ModelQueryOptions<ModelResult<Schema, Model, T> | null>): ModelQueryResult<ModelResult<Schema, Model, T> | null>;
135
+ useSuspenseFindFirst<T extends FindArgs<Schema, Model, false>>(args?: SelectSubset<T, FindArgs<Schema, Model, false>>, options?: ModelSuspenseQueryOptions<ModelResult<Schema, Model, T> | null>): ModelSuspenseQueryResult<ModelResult<Schema, Model, T> | null>;
136
+ useFindMany<T extends FindArgs<Schema, Model, true>>(args?: SelectSubset<T, FindArgs<Schema, Model, true>>, options?: ModelQueryOptions<ModelResult<Schema, Model, T>[]>): ModelQueryResult<ModelResult<Schema, Model, T>[]>;
137
+ useSuspenseFindMany<T extends FindArgs<Schema, Model, true>>(args?: SelectSubset<T, FindArgs<Schema, Model, true>>, options?: ModelSuspenseQueryOptions<ModelResult<Schema, Model, T>[]>): ModelSuspenseQueryResult<ModelResult<Schema, Model, T>[]>;
138
+ useInfiniteFindMany<T extends FindArgs<Schema, Model, true>>(args?: SelectSubset<T, FindArgs<Schema, Model, true>>, options?: ModelInfiniteQueryOptions<ModelResult<Schema, Model, T>[]>): ModelInfiniteQueryResult<InfiniteData<ModelResult<Schema, Model, T>[]>>;
139
+ useSuspenseInfiniteFindMany<T extends FindArgs<Schema, Model, true>>(args?: SelectSubset<T, FindArgs<Schema, Model, true>>, options?: ModelSuspenseInfiniteQueryOptions<ModelResult<Schema, Model, T>[]>): ModelSuspenseInfiniteQueryResult<InfiniteData<ModelResult<Schema, Model, T>[]>>;
140
+ useCreate<T extends CreateArgs<Schema, Model>>(options?: ModelMutationOptions<ModelResult<Schema, Model, T>, T>): ModelMutationResult<ModelResult<Schema, Model, T>, T>;
141
+ useCreateMany<T extends CreateManyArgs<Schema, Model>>(options?: ModelMutationOptions<BatchResult, T>): ModelMutationResult<BatchResult, T>;
142
+ useCreateManyAndReturn<T extends CreateManyAndReturnArgs<Schema, Model>>(options?: ModelMutationOptions<ModelResult<Schema, Model, T>[], T>): ModelMutationResult<ModelResult<Schema, Model, T>[], T>;
143
+ useUpdate<T extends UpdateArgs<Schema, Model>>(options?: ModelMutationOptions<ModelResult<Schema, Model, T>, T>): ModelMutationResult<ModelResult<Schema, Model, T>, T>;
144
+ useUpdateMany<T extends UpdateManyArgs<Schema, Model>>(options?: ModelMutationOptions<BatchResult, T>): ModelMutationResult<BatchResult, T>;
145
+ useUpdateManyAndReturn<T extends UpdateManyAndReturnArgs<Schema, Model>>(options?: ModelMutationOptions<ModelResult<Schema, Model, T>[], T>): ModelMutationResult<ModelResult<Schema, Model, T>[], T>;
146
+ useUpsert<T extends UpsertArgs<Schema, Model>>(options?: ModelMutationOptions<ModelResult<Schema, Model, T>, T>): ModelMutationResult<ModelResult<Schema, Model, T>, T>;
147
+ useDelete<T extends DeleteArgs<Schema, Model>>(options?: ModelMutationOptions<ModelResult<Schema, Model, T>, T>): ModelMutationResult<ModelResult<Schema, Model, T>, T>;
148
+ useDeleteMany<T extends DeleteManyArgs<Schema, Model>>(options?: ModelMutationOptions<BatchResult, T>): ModelMutationResult<BatchResult, T>;
149
+ useCount<T extends CountArgs<Schema, Model>>(options?: ModelQueryOptions<CountResult<Schema, Model, T>>): ModelQueryResult<CountResult<Schema, Model, T>>;
150
+ useSuspenseCount<T extends CountArgs<Schema, Model>>(options?: ModelSuspenseQueryOptions<CountResult<Schema, Model, T>>): ModelSuspenseQueryResult<CountResult<Schema, Model, T>>;
151
+ useAggregate<T extends AggregateArgs<Schema, Model>>(options?: ModelQueryOptions<AggregateResult<Schema, Model, T>>): ModelQueryResult<AggregateResult<Schema, Model, T>>;
152
+ useSuspenseAggregate<T extends AggregateArgs<Schema, Model>>(options?: ModelSuspenseQueryOptions<AggregateResult<Schema, Model, T>>): ModelSuspenseQueryResult<AggregateResult<Schema, Model, T>>;
153
+ useGroupBy<T extends GroupByArgs<Schema, Model>>(options?: ModelQueryOptions<GroupByResult<Schema, Model, T>>): ModelQueryResult<GroupByResult<Schema, Model, T>>;
154
+ useSuspenseGroupBy<T extends GroupByArgs<Schema, Model>>(options?: ModelSuspenseQueryOptions<GroupByResult<Schema, Model, T>>): ModelSuspenseQueryResult<GroupByResult<Schema, Model, T>>;
155
+ };
156
+ /**
157
+ * Gets data query hooks for all models in the schema.
158
+ */
159
+ declare function useClientQueries<Schema extends SchemaDef>(schema: Schema): SchemaHooks<Schema>;
160
+ /**
161
+ * Gets data query hooks for a specific model in the schema.
162
+ */
163
+ declare function useModelQueries<Schema extends SchemaDef, Model extends GetModels<Schema>>(schema: Schema, model: Model): ModelQueryHooks<Schema, Model>;
164
+ declare function useInternalQuery<TQueryFnData, TData>(_schema: SchemaDef, model: string, operation: string, args?: unknown, options?: Omit<UseQueryOptions<TQueryFnData, DefaultError, TData>, 'queryKey'> & ExtraQueryOptions): {
165
+ data: _tanstack_react_query.NoInfer<TData>;
166
+ error: Error;
167
+ isError: true;
168
+ isPending: false;
169
+ isLoading: false;
170
+ isLoadingError: false;
171
+ isRefetchError: true;
172
+ isSuccess: false;
173
+ isPlaceholderData: false;
174
+ status: "error";
175
+ dataUpdatedAt: number;
176
+ errorUpdatedAt: number;
177
+ failureCount: number;
178
+ failureReason: Error | null;
179
+ errorUpdateCount: number;
180
+ isFetched: boolean;
181
+ isFetchedAfterMount: boolean;
182
+ isFetching: boolean;
183
+ isInitialLoading: boolean;
184
+ isPaused: boolean;
185
+ isRefetching: boolean;
186
+ isStale: boolean;
187
+ isEnabled: boolean;
188
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_tanstack_react_query.NoInfer<TData>, Error>>;
189
+ fetchStatus: _tanstack_react_query.FetchStatus;
190
+ promise: Promise<_tanstack_react_query.NoInfer<TData>>;
191
+ queryKey: [string, string, string, unknown, {
192
+ infinite: boolean;
193
+ optimisticUpdate: boolean;
194
+ }];
195
+ } | {
196
+ data: _tanstack_react_query.NoInfer<TData>;
197
+ error: null;
198
+ isError: false;
199
+ isPending: false;
200
+ isLoading: false;
201
+ isLoadingError: false;
202
+ isRefetchError: false;
203
+ isSuccess: true;
204
+ isPlaceholderData: false;
205
+ status: "success";
206
+ dataUpdatedAt: number;
207
+ errorUpdatedAt: number;
208
+ failureCount: number;
209
+ failureReason: Error | null;
210
+ errorUpdateCount: number;
211
+ isFetched: boolean;
212
+ isFetchedAfterMount: boolean;
213
+ isFetching: boolean;
214
+ isInitialLoading: boolean;
215
+ isPaused: boolean;
216
+ isRefetching: boolean;
217
+ isStale: boolean;
218
+ isEnabled: boolean;
219
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_tanstack_react_query.NoInfer<TData>, Error>>;
220
+ fetchStatus: _tanstack_react_query.FetchStatus;
221
+ promise: Promise<_tanstack_react_query.NoInfer<TData>>;
222
+ queryKey: [string, string, string, unknown, {
223
+ infinite: boolean;
224
+ optimisticUpdate: boolean;
225
+ }];
226
+ } | {
227
+ data: undefined;
228
+ error: Error;
229
+ isError: true;
230
+ isPending: false;
231
+ isLoading: false;
232
+ isLoadingError: true;
233
+ isRefetchError: false;
234
+ isSuccess: false;
235
+ isPlaceholderData: false;
236
+ status: "error";
237
+ dataUpdatedAt: number;
238
+ errorUpdatedAt: number;
239
+ failureCount: number;
240
+ failureReason: Error | null;
241
+ errorUpdateCount: number;
242
+ isFetched: boolean;
243
+ isFetchedAfterMount: boolean;
244
+ isFetching: boolean;
245
+ isInitialLoading: boolean;
246
+ isPaused: boolean;
247
+ isRefetching: boolean;
248
+ isStale: boolean;
249
+ isEnabled: boolean;
250
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_tanstack_react_query.NoInfer<TData>, Error>>;
251
+ fetchStatus: _tanstack_react_query.FetchStatus;
252
+ promise: Promise<_tanstack_react_query.NoInfer<TData>>;
253
+ queryKey: [string, string, string, unknown, {
254
+ infinite: boolean;
255
+ optimisticUpdate: boolean;
256
+ }];
257
+ } | {
258
+ data: undefined;
259
+ error: null;
260
+ isError: false;
261
+ isPending: true;
262
+ isLoading: true;
263
+ isLoadingError: false;
264
+ isRefetchError: false;
265
+ isSuccess: false;
266
+ isPlaceholderData: false;
267
+ status: "pending";
268
+ dataUpdatedAt: number;
269
+ errorUpdatedAt: number;
270
+ failureCount: number;
271
+ failureReason: Error | null;
272
+ errorUpdateCount: number;
273
+ isFetched: boolean;
274
+ isFetchedAfterMount: boolean;
275
+ isFetching: boolean;
276
+ isInitialLoading: boolean;
277
+ isPaused: boolean;
278
+ isRefetching: boolean;
279
+ isStale: boolean;
280
+ isEnabled: boolean;
281
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_tanstack_react_query.NoInfer<TData>, Error>>;
282
+ fetchStatus: _tanstack_react_query.FetchStatus;
283
+ promise: Promise<_tanstack_react_query.NoInfer<TData>>;
284
+ queryKey: [string, string, string, unknown, {
285
+ infinite: boolean;
286
+ optimisticUpdate: boolean;
287
+ }];
288
+ } | {
289
+ data: undefined;
290
+ error: null;
291
+ isError: false;
292
+ isPending: true;
293
+ isLoadingError: false;
294
+ isRefetchError: false;
295
+ isSuccess: false;
296
+ isPlaceholderData: false;
297
+ status: "pending";
298
+ dataUpdatedAt: number;
299
+ errorUpdatedAt: number;
300
+ failureCount: number;
301
+ failureReason: Error | null;
302
+ errorUpdateCount: number;
303
+ isFetched: boolean;
304
+ isFetchedAfterMount: boolean;
305
+ isFetching: boolean;
306
+ isLoading: boolean;
307
+ isInitialLoading: boolean;
308
+ isPaused: boolean;
309
+ isRefetching: boolean;
310
+ isStale: boolean;
311
+ isEnabled: boolean;
312
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_tanstack_react_query.NoInfer<TData>, Error>>;
313
+ fetchStatus: _tanstack_react_query.FetchStatus;
314
+ promise: Promise<_tanstack_react_query.NoInfer<TData>>;
315
+ queryKey: [string, string, string, unknown, {
316
+ infinite: boolean;
317
+ optimisticUpdate: boolean;
318
+ }];
319
+ } | {
320
+ data: _tanstack_react_query.NoInfer<TData>;
321
+ isError: false;
322
+ error: null;
323
+ isPending: false;
324
+ isLoading: false;
325
+ isLoadingError: false;
326
+ isRefetchError: false;
327
+ isSuccess: true;
328
+ isPlaceholderData: true;
329
+ status: "success";
330
+ dataUpdatedAt: number;
331
+ errorUpdatedAt: number;
332
+ failureCount: number;
333
+ failureReason: Error | null;
334
+ errorUpdateCount: number;
335
+ isFetched: boolean;
336
+ isFetchedAfterMount: boolean;
337
+ isFetching: boolean;
338
+ isInitialLoading: boolean;
339
+ isPaused: boolean;
340
+ isRefetching: boolean;
341
+ isStale: boolean;
342
+ isEnabled: boolean;
343
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_tanstack_react_query.NoInfer<TData>, Error>>;
344
+ fetchStatus: _tanstack_react_query.FetchStatus;
345
+ promise: Promise<_tanstack_react_query.NoInfer<TData>>;
346
+ queryKey: [string, string, string, unknown, {
347
+ infinite: boolean;
348
+ optimisticUpdate: boolean;
349
+ }];
350
+ };
351
+ declare function useInternalSuspenseQuery<TQueryFnData, TData>(_schema: SchemaDef, model: string, operation: string, args?: unknown, options?: Omit<UseSuspenseQueryOptions<TQueryFnData, DefaultError, TData>, 'queryKey'> & ExtraQueryOptions): {
352
+ data: TData;
353
+ error: Error;
354
+ isError: true;
355
+ isPending: false;
356
+ isLoading: false;
357
+ isLoadingError: false;
358
+ isRefetchError: true;
359
+ isSuccess: false;
360
+ status: "error";
361
+ dataUpdatedAt: number;
362
+ errorUpdatedAt: number;
363
+ failureCount: number;
364
+ failureReason: Error | null;
365
+ errorUpdateCount: number;
366
+ isFetched: boolean;
367
+ isFetchedAfterMount: boolean;
368
+ isFetching: boolean;
369
+ isInitialLoading: boolean;
370
+ isPaused: boolean;
371
+ isRefetching: boolean;
372
+ isStale: boolean;
373
+ isEnabled: boolean;
374
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<TData, Error>>;
375
+ fetchStatus: _tanstack_react_query.FetchStatus;
376
+ queryKey: [string, string, string, unknown, {
377
+ infinite: boolean;
378
+ optimisticUpdate: boolean;
379
+ }];
380
+ } | {
381
+ data: TData;
382
+ error: null;
383
+ isError: false;
384
+ isPending: false;
385
+ isLoading: false;
386
+ isLoadingError: false;
387
+ isRefetchError: false;
388
+ isSuccess: true;
389
+ status: "success";
390
+ dataUpdatedAt: number;
391
+ errorUpdatedAt: number;
392
+ failureCount: number;
393
+ failureReason: Error | null;
394
+ errorUpdateCount: number;
395
+ isFetched: boolean;
396
+ isFetchedAfterMount: boolean;
397
+ isFetching: boolean;
398
+ isInitialLoading: boolean;
399
+ isPaused: boolean;
400
+ isRefetching: boolean;
401
+ isStale: boolean;
402
+ isEnabled: boolean;
403
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<TData, Error>>;
404
+ fetchStatus: _tanstack_react_query.FetchStatus;
405
+ queryKey: [string, string, string, unknown, {
406
+ infinite: boolean;
407
+ optimisticUpdate: boolean;
408
+ }];
409
+ };
410
+ declare function useInternalInfiniteQuery<TQueryFnData, TData>(_schema: SchemaDef, model: string, operation: string, args: unknown, options: Omit<UseInfiniteQueryOptions<TQueryFnData, DefaultError, InfiniteData<TData>>, 'queryKey' | 'initialPageParam'>): {
411
+ data: InfiniteData<TData, unknown>;
412
+ error: Error;
413
+ isError: true;
414
+ isPending: false;
415
+ isLoading: false;
416
+ isLoadingError: false;
417
+ isRefetchError: true;
418
+ isSuccess: false;
419
+ isPlaceholderData: false;
420
+ status: "error";
421
+ fetchNextPage: (options?: _tanstack_react_query.FetchNextPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<InfiniteData<TData, unknown>, Error>>;
422
+ fetchPreviousPage: (options?: _tanstack_react_query.FetchPreviousPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<InfiniteData<TData, unknown>, Error>>;
423
+ hasNextPage: boolean;
424
+ hasPreviousPage: boolean;
425
+ isFetchNextPageError: boolean;
426
+ isFetchingNextPage: boolean;
427
+ isFetchPreviousPageError: boolean;
428
+ isFetchingPreviousPage: boolean;
429
+ dataUpdatedAt: number;
430
+ errorUpdatedAt: number;
431
+ failureCount: number;
432
+ failureReason: Error | null;
433
+ errorUpdateCount: number;
434
+ isFetched: boolean;
435
+ isFetchedAfterMount: boolean;
436
+ isFetching: boolean;
437
+ isInitialLoading: boolean;
438
+ isPaused: boolean;
439
+ isRefetching: boolean;
440
+ isStale: boolean;
441
+ isEnabled: boolean;
442
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<InfiniteData<TData, unknown>, Error>>;
443
+ fetchStatus: _tanstack_react_query.FetchStatus;
444
+ promise: Promise<InfiniteData<TData, unknown>>;
445
+ queryKey: [string, string, string, unknown, {
446
+ infinite: boolean;
447
+ optimisticUpdate: boolean;
448
+ }];
449
+ } | {
450
+ data: InfiniteData<TData, unknown>;
451
+ error: null;
452
+ isError: false;
453
+ isPending: false;
454
+ isLoading: false;
455
+ isLoadingError: false;
456
+ isRefetchError: false;
457
+ isFetchNextPageError: false;
458
+ isFetchPreviousPageError: false;
459
+ isSuccess: true;
460
+ isPlaceholderData: false;
461
+ status: "success";
462
+ fetchNextPage: (options?: _tanstack_react_query.FetchNextPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<InfiniteData<TData, unknown>, Error>>;
463
+ fetchPreviousPage: (options?: _tanstack_react_query.FetchPreviousPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<InfiniteData<TData, unknown>, Error>>;
464
+ hasNextPage: boolean;
465
+ hasPreviousPage: boolean;
466
+ isFetchingNextPage: boolean;
467
+ isFetchingPreviousPage: boolean;
468
+ dataUpdatedAt: number;
469
+ errorUpdatedAt: number;
470
+ failureCount: number;
471
+ failureReason: Error | null;
472
+ errorUpdateCount: number;
473
+ isFetched: boolean;
474
+ isFetchedAfterMount: boolean;
475
+ isFetching: boolean;
476
+ isInitialLoading: boolean;
477
+ isPaused: boolean;
478
+ isRefetching: boolean;
479
+ isStale: boolean;
480
+ isEnabled: boolean;
481
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<InfiniteData<TData, unknown>, Error>>;
482
+ fetchStatus: _tanstack_react_query.FetchStatus;
483
+ promise: Promise<InfiniteData<TData, unknown>>;
484
+ queryKey: [string, string, string, unknown, {
485
+ infinite: boolean;
486
+ optimisticUpdate: boolean;
487
+ }];
488
+ } | {
489
+ data: undefined;
490
+ error: Error;
491
+ isError: true;
492
+ isPending: false;
493
+ isLoading: false;
494
+ isLoadingError: true;
495
+ isRefetchError: false;
496
+ isFetchNextPageError: false;
497
+ isFetchPreviousPageError: false;
498
+ isSuccess: false;
499
+ isPlaceholderData: false;
500
+ status: "error";
501
+ fetchNextPage: (options?: _tanstack_react_query.FetchNextPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<InfiniteData<TData, unknown>, Error>>;
502
+ fetchPreviousPage: (options?: _tanstack_react_query.FetchPreviousPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<InfiniteData<TData, unknown>, Error>>;
503
+ hasNextPage: boolean;
504
+ hasPreviousPage: boolean;
505
+ isFetchingNextPage: boolean;
506
+ isFetchingPreviousPage: boolean;
507
+ dataUpdatedAt: number;
508
+ errorUpdatedAt: number;
509
+ failureCount: number;
510
+ failureReason: Error | null;
511
+ errorUpdateCount: number;
512
+ isFetched: boolean;
513
+ isFetchedAfterMount: boolean;
514
+ isFetching: boolean;
515
+ isInitialLoading: boolean;
516
+ isPaused: boolean;
517
+ isRefetching: boolean;
518
+ isStale: boolean;
519
+ isEnabled: boolean;
520
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<InfiniteData<TData, unknown>, Error>>;
521
+ fetchStatus: _tanstack_react_query.FetchStatus;
522
+ promise: Promise<InfiniteData<TData, unknown>>;
523
+ queryKey: [string, string, string, unknown, {
524
+ infinite: boolean;
525
+ optimisticUpdate: boolean;
526
+ }];
527
+ } | {
528
+ data: undefined;
529
+ error: null;
530
+ isError: false;
531
+ isPending: true;
532
+ isLoading: true;
533
+ isLoadingError: false;
534
+ isRefetchError: false;
535
+ isFetchNextPageError: false;
536
+ isFetchPreviousPageError: false;
537
+ isSuccess: false;
538
+ isPlaceholderData: false;
539
+ status: "pending";
540
+ fetchNextPage: (options?: _tanstack_react_query.FetchNextPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<InfiniteData<TData, unknown>, Error>>;
541
+ fetchPreviousPage: (options?: _tanstack_react_query.FetchPreviousPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<InfiniteData<TData, unknown>, Error>>;
542
+ hasNextPage: boolean;
543
+ hasPreviousPage: boolean;
544
+ isFetchingNextPage: boolean;
545
+ isFetchingPreviousPage: boolean;
546
+ dataUpdatedAt: number;
547
+ errorUpdatedAt: number;
548
+ failureCount: number;
549
+ failureReason: Error | null;
550
+ errorUpdateCount: number;
551
+ isFetched: boolean;
552
+ isFetchedAfterMount: boolean;
553
+ isFetching: boolean;
554
+ isInitialLoading: boolean;
555
+ isPaused: boolean;
556
+ isRefetching: boolean;
557
+ isStale: boolean;
558
+ isEnabled: boolean;
559
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<InfiniteData<TData, unknown>, Error>>;
560
+ fetchStatus: _tanstack_react_query.FetchStatus;
561
+ promise: Promise<InfiniteData<TData, unknown>>;
562
+ queryKey: [string, string, string, unknown, {
563
+ infinite: boolean;
564
+ optimisticUpdate: boolean;
565
+ }];
566
+ } | {
567
+ data: undefined;
568
+ error: null;
569
+ isError: false;
570
+ isPending: true;
571
+ isLoadingError: false;
572
+ isRefetchError: false;
573
+ isFetchNextPageError: false;
574
+ isFetchPreviousPageError: false;
575
+ isSuccess: false;
576
+ isPlaceholderData: false;
577
+ status: "pending";
578
+ fetchNextPage: (options?: _tanstack_react_query.FetchNextPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<InfiniteData<TData, unknown>, Error>>;
579
+ fetchPreviousPage: (options?: _tanstack_react_query.FetchPreviousPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<InfiniteData<TData, unknown>, Error>>;
580
+ hasNextPage: boolean;
581
+ hasPreviousPage: boolean;
582
+ isFetchingNextPage: boolean;
583
+ isFetchingPreviousPage: boolean;
584
+ dataUpdatedAt: number;
585
+ errorUpdatedAt: number;
586
+ failureCount: number;
587
+ failureReason: Error | null;
588
+ errorUpdateCount: number;
589
+ isFetched: boolean;
590
+ isFetchedAfterMount: boolean;
591
+ isFetching: boolean;
592
+ isLoading: boolean;
593
+ isInitialLoading: boolean;
594
+ isPaused: boolean;
595
+ isRefetching: boolean;
596
+ isStale: boolean;
597
+ isEnabled: boolean;
598
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<InfiniteData<TData, unknown>, Error>>;
599
+ fetchStatus: _tanstack_react_query.FetchStatus;
600
+ promise: Promise<InfiniteData<TData, unknown>>;
601
+ queryKey: [string, string, string, unknown, {
602
+ infinite: boolean;
603
+ optimisticUpdate: boolean;
604
+ }];
605
+ } | {
606
+ data: InfiniteData<TData, unknown>;
607
+ isError: false;
608
+ error: null;
609
+ isPending: false;
610
+ isLoading: false;
611
+ isLoadingError: false;
612
+ isRefetchError: false;
613
+ isSuccess: true;
614
+ isPlaceholderData: true;
615
+ isFetchNextPageError: false;
616
+ isFetchPreviousPageError: false;
617
+ status: "success";
618
+ fetchNextPage: (options?: _tanstack_react_query.FetchNextPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<InfiniteData<TData, unknown>, Error>>;
619
+ fetchPreviousPage: (options?: _tanstack_react_query.FetchPreviousPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<InfiniteData<TData, unknown>, Error>>;
620
+ hasNextPage: boolean;
621
+ hasPreviousPage: boolean;
622
+ isFetchingNextPage: boolean;
623
+ isFetchingPreviousPage: boolean;
624
+ dataUpdatedAt: number;
625
+ errorUpdatedAt: number;
626
+ failureCount: number;
627
+ failureReason: Error | null;
628
+ errorUpdateCount: number;
629
+ isFetched: boolean;
630
+ isFetchedAfterMount: boolean;
631
+ isFetching: boolean;
632
+ isInitialLoading: boolean;
633
+ isPaused: boolean;
634
+ isRefetching: boolean;
635
+ isStale: boolean;
636
+ isEnabled: boolean;
637
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<InfiniteData<TData, unknown>, Error>>;
638
+ fetchStatus: _tanstack_react_query.FetchStatus;
639
+ promise: Promise<InfiniteData<TData, unknown>>;
640
+ queryKey: [string, string, string, unknown, {
641
+ infinite: boolean;
642
+ optimisticUpdate: boolean;
643
+ }];
644
+ };
645
+ declare function useInternalSuspenseInfiniteQuery<TQueryFnData, TData>(_schema: SchemaDef, model: string, operation: string, args: unknown, options: Omit<UseSuspenseInfiniteQueryOptions<TQueryFnData, DefaultError, InfiniteData<TData>>, 'queryKey' | 'initialPageParam'>): {
646
+ data: InfiniteData<TData, unknown>;
647
+ error: Error | null;
648
+ isError: boolean;
649
+ isPending: false;
650
+ isLoading: false;
651
+ isLoadingError: false;
652
+ isRefetchError: boolean;
653
+ isSuccess: boolean;
654
+ status: "error" | "success";
655
+ dataUpdatedAt: number;
656
+ errorUpdatedAt: number;
657
+ failureCount: number;
658
+ failureReason: Error | null;
659
+ errorUpdateCount: number;
660
+ isFetched: boolean;
661
+ isFetchedAfterMount: boolean;
662
+ isFetching: boolean;
663
+ isInitialLoading: boolean;
664
+ isPaused: boolean;
665
+ isRefetching: boolean;
666
+ isStale: boolean;
667
+ isEnabled: boolean;
668
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<InfiniteData<TData, unknown>, Error>>;
669
+ fetchStatus: _tanstack_react_query.FetchStatus;
670
+ fetchNextPage: (options?: _tanstack_react_query.FetchNextPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<InfiniteData<TData, unknown>, Error>>;
671
+ fetchPreviousPage: (options?: _tanstack_react_query.FetchPreviousPageOptions) => Promise<_tanstack_react_query.InfiniteQueryObserverResult<InfiniteData<TData, unknown>, Error>>;
672
+ hasNextPage: boolean;
673
+ hasPreviousPage: boolean;
674
+ isFetchNextPageError: boolean;
675
+ isFetchingNextPage: boolean;
676
+ isFetchPreviousPageError: boolean;
677
+ isFetchingPreviousPage: boolean;
678
+ queryKey: [string, string, string, unknown, {
679
+ infinite: boolean;
680
+ optimisticUpdate: boolean;
681
+ }];
682
+ };
683
+ /**
684
+ * Creates a react-query mutation
685
+ *
686
+ * @private
687
+ *
688
+ * @param model The name of the model under mutation.
689
+ * @param method The HTTP method.
690
+ * @param operation The mutation operation (e.g. `create`).
691
+ * @param options The react-query options.
692
+ * @param checkReadBack Whether to check for read back errors and return undefined if found.
693
+ */
694
+ declare function useInternalMutation<TArgs, R = any, C extends boolean = boolean, Result = C extends true ? R | undefined : R>(schema: SchemaDef, model: string, method: 'POST' | 'PUT' | 'DELETE', operation: string, options?: Omit<UseMutationOptions<Result, DefaultError, TArgs>, 'mutationFn'> & ExtraMutationOptions, checkReadBack?: C): UseMutationResult<Result, Error, TArgs, unknown>;
695
+
696
+ export { DEFAULT_QUERY_ENDPOINT, type FetchFn, type ModelInfiniteQueryOptions, type ModelInfiniteQueryResult, type ModelMutationOptions, type ModelMutationResult, type ModelQueryHooks, type ModelQueryOptions, type ModelQueryResult, type ModelSuspenseInfiniteQueryOptions, type ModelSuspenseInfiniteQueryResult, type ModelSuspenseQueryOptions, type ModelSuspenseQueryResult, Provider, QuerySettingsContext, QuerySettingsProvider, type SchemaHooks, useClientQueries, useInternalInfiniteQuery, useInternalMutation, useInternalQuery, useInternalSuspenseInfiniteQuery, useInternalSuspenseQuery, useModelQueries };