@navios/react-query 0.1.0 → 0.1.1

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.
@@ -0,0 +1,448 @@
1
+ import type { AbstractEndpoint } from '@navios/common';
2
+ import type { AnyEndpointConfig } from '@navios/common';
3
+ import type { AnyZodObject } from 'zod';
4
+ import type { BaseEndpointConfig } from '@navios/common';
5
+ import type { BuilderInstance } from '@navios/common';
6
+ import type { DataTag } from '@tanstack/react-query';
7
+ import { DefinedUseInfiniteQueryResult } from '@tanstack/react-query';
8
+ import type { EndpointFunctionArgs } from '@navios/common';
9
+ import type { HttpMethod } from '@navios/common';
10
+ import type { InfiniteData } from '@tanstack/react-query';
11
+ import type { NaviosZodRequest } from '@navios/common';
12
+ import type { QueryClient } from '@tanstack/react-query';
13
+ import { QueryKeyCreatorResult as QueryKeyCreatorResult_2 } from './utils/query-key-creator.mjs';
14
+ import { UrlHasParams } from '@navios/common';
15
+ import type { UrlParams } from '@navios/common';
16
+ import type { UseInfiniteQueryOptions } from '@tanstack/react-query';
17
+ import { UseInfiniteQueryResult } from '@tanstack/react-query';
18
+ import type { UseMutationOptions } from '@tanstack/react-query';
19
+ import type { UseMutationResult } from '@tanstack/react-query';
20
+ import type { UseQueryOptions } from '@tanstack/react-query';
21
+ import type { UseQueryResult } from '@tanstack/react-query';
22
+ import type { UseSuspenseInfiniteQueryOptions } from '@tanstack/react-query';
23
+ import { UseSuspenseInfiniteQueryResult } from '@tanstack/react-query';
24
+ import type { UseSuspenseQueryOptions } from '@tanstack/react-query';
25
+ import type { UseSuspenseQueryResult } from '@tanstack/react-query';
26
+ import type { Util_FlatObject } from '@navios/common';
27
+ import type { z } from 'zod';
28
+ import type { ZodType } from 'zod';
29
+
30
+ declare type BaseMutationArgs<Config extends AnyEndpointConfig> = NaviosZodRequest<Config>;
31
+ export { BaseMutationArgs }
32
+ export { BaseMutationArgs as BaseMutationArgs_alias_1 }
33
+
34
+ declare interface BaseMutationParams<Config extends AnyEndpointConfig, TData = unknown, TVariables = BaseMutationArgs<Config>, TResponse = z.output<Config['responseSchema']>, TContext = unknown, UseKey extends boolean = false> extends Omit<UseMutationOptions<TData, Error, TVariables>, 'mutationKey' | 'mutationFn' | 'onSuccess' | 'onError' | 'scope'> {
35
+ processResponse: ProcessResponseFunction<TData, TResponse>;
36
+ /**
37
+ * React hooks that will prepare the context for the mutation onSuccess and onError
38
+ * callbacks. This is useful for when you want to use the context in the callbacks
39
+ */
40
+ useContext?: () => TContext;
41
+ onSuccess?: (queryClient: QueryClient, data: TData, variables: TVariables, context: TContext) => void | Promise<void>;
42
+ onError?: (queryClient: QueryClient, err: unknown, variables: TVariables, context: TContext) => void | Promise<void>;
43
+ /**
44
+ * If true, we will create a mutation key that can be shared across the project.
45
+ */
46
+ useKey?: UseKey;
47
+ keyPrefix?: UseKey extends true ? UrlHasParams<Config['url']> extends true ? string[] : never : never;
48
+ keySuffix?: UseKey extends true ? UrlHasParams<Config['url']> extends true ? string[] : never : never;
49
+ }
50
+ export { BaseMutationParams }
51
+ export { BaseMutationParams as BaseMutationParams_alias_1 }
52
+
53
+ declare type BaseQueryArgs<Config extends AnyEndpointConfig> = (UrlHasParams<Config['url']> extends true ? {
54
+ urlParams: UrlParams<Config['url']>;
55
+ } : {}) & (Config['querySchema'] extends AnyZodObject ? {
56
+ params: z.input<Config['querySchema']>;
57
+ } : {});
58
+ export { BaseQueryArgs }
59
+ export { BaseQueryArgs as BaseQueryArgs_alias_1 }
60
+
61
+ declare type BaseQueryParams<Config extends AnyEndpointConfig, Res = any> = {
62
+ keyPrefix?: string[];
63
+ keySuffix?: string[];
64
+ onFail?: (err: unknown) => void;
65
+ processResponse: (data: z.output<Config['responseSchema']>) => Res;
66
+ };
67
+ export { BaseQueryParams }
68
+ export { BaseQueryParams as BaseQueryParams_alias_1 }
69
+
70
+ declare interface ClientEndpointDefinition<Method = HttpMethod, Url = string, QuerySchema = unknown, Response = ZodType> {
71
+ method: Method;
72
+ url: Url;
73
+ querySchema?: QuerySchema;
74
+ responseSchema: Response;
75
+ }
76
+ export { ClientEndpointDefinition }
77
+ export { ClientEndpointDefinition as ClientEndpointDefinition_alias_1 }
78
+
79
+ declare type ClientEndpointHelper<Method extends HttpMethod = HttpMethod, Url extends string = string, RequestSchema = unknown, ResponseSchema extends z.ZodType = z.ZodType, QuerySchema = unknown> = {
80
+ endpoint: ((params: Util_FlatObject<EndpointFunctionArgs<Url, QuerySchema, RequestSchema>>) => Promise<z.output<ResponseSchema>>) & {
81
+ config: BaseEndpointConfig<Method, Url, QuerySchema, ResponseSchema, RequestSchema>;
82
+ };
83
+ };
84
+ export { ClientEndpointHelper }
85
+ export { ClientEndpointHelper as ClientEndpointHelper_alias_1 }
86
+ export { ClientEndpointHelper as ClientEndpointHelper_alias_2 }
87
+
88
+ declare type ClientInfiniteQueryConfig<Method = HttpMethod, Url = string, QuerySchema extends AnyZodObject = AnyZodObject, Response extends ZodType = ZodType, PageResult = z.output<Response>, Result = InfiniteData<PageResult>> = Required<ClientEndpointDefinition<Method, Url, QuerySchema, Response>> & {
89
+ processResponse?: (data: z.output<Response>) => PageResult;
90
+ select?: (data: InfiniteData<PageResult>) => Result;
91
+ getNextPageParam: (lastPage: PageResult, allPages: PageResult[], lastPageParam: z.infer<QuerySchema> | undefined, allPageParams: z.infer<QuerySchema>[] | undefined) => z.input<QuerySchema> | undefined;
92
+ getPreviousPageParam?: (firstPage: PageResult, allPages: PageResult[], lastPageParam: z.infer<QuerySchema> | undefined, allPageParams: z.infer<QuerySchema>[] | undefined) => z.input<QuerySchema>;
93
+ initialPageParam?: z.input<QuerySchema>;
94
+ };
95
+ export { ClientInfiniteQueryConfig }
96
+ export { ClientInfiniteQueryConfig as ClientInfiniteQueryConfig_alias_1 }
97
+
98
+ declare interface ClientInstance {
99
+ query<Method extends 'GET' | 'HEAD' | 'OPTIONS' = 'GET', Url extends string = string, Response extends ZodType = ZodType, Result = z.output<Response>>(config: {
100
+ method: Method;
101
+ url: Url;
102
+ responseSchema: Response;
103
+ processResponse?: (data: z.output<Response>) => Result;
104
+ }): ((params: Util_FlatObject<ClientQueryArgs<Url, undefined>>) => UseSuspenseQueryOptions<Result, Error, Result, DataTag<Split<Url, '/'>, Result, Error>>) & QueryHelpers<Url, undefined, Result> & ClientEndpointHelper<Method, Url, undefined, Response>;
105
+ query<Method extends 'GET' | 'HEAD' | 'OPTIONS' = 'GET', Url extends string = string, QuerySchema extends AnyZodObject = AnyZodObject, Response extends ZodType = ZodType, Result = z.output<Response>>(config: {
106
+ method: Method;
107
+ url: Url;
108
+ querySchema: QuerySchema;
109
+ responseSchema: Response;
110
+ processResponse?: (data: z.output<Response>) => Result;
111
+ }): ((params: Util_FlatObject<ClientQueryArgs<Url, QuerySchema>>) => UseSuspenseQueryOptions<Result, Error, Result, DataTag<Split<Url, '/'>, Result, Error>>) & QueryHelpers<Url, QuerySchema, Result> & ClientEndpointHelper<Method, Url, undefined, Response, QuerySchema>;
112
+ infiniteQuery<Method extends 'GET' | 'HEAD' | 'OPTIONS' = 'GET', Url extends string = string, QuerySchema extends AnyZodObject = AnyZodObject, Response extends ZodType = ZodType, PageResult = z.output<Response>, Result = InfiniteData<PageResult>>(config: {
113
+ method: Method;
114
+ url: Url;
115
+ querySchema: QuerySchema;
116
+ responseSchema: Response;
117
+ processResponse?: (data: z.output<Response>) => PageResult;
118
+ getNextPageParam: (lastPage: PageResult, allPages: PageResult[], lastPageParam: z.infer<QuerySchema> | undefined, allPageParams: z.infer<QuerySchema>[] | undefined) => z.input<QuerySchema> | undefined;
119
+ getPreviousPageParam?: (firstPage: PageResult, allPages: PageResult[], lastPageParam: z.infer<QuerySchema> | undefined, allPageParams: z.infer<QuerySchema>[] | undefined) => z.input<QuerySchema>;
120
+ }): ((params: Util_FlatObject<ClientQueryArgs<Url, QuerySchema>>) => UseSuspenseInfiniteQueryOptions<PageResult, Error, Result, PageResult, DataTag<Split<Url, '/'>, PageResult, Error>, z.output<QuerySchema>>) & QueryHelpers<Url, QuerySchema, PageResult, true> & ClientEndpointHelper<Method, Url, undefined, Response, QuerySchema>;
121
+ mutation<Method extends 'POST' | 'PUT' | 'PATCH' = 'POST' | 'PUT' | 'PATCH', Url extends string = string, RequestSchema extends ZodType = ZodType, QuerySchema extends AnyZodObject = AnyZodObject, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown, UseKey extends true = true>(config: {
122
+ method: Method;
123
+ url: Url;
124
+ useKey: UseKey;
125
+ requestSchema: RequestSchema;
126
+ querySchema: QuerySchema;
127
+ responseSchema: Response;
128
+ processResponse: ProcessResponseFunction<Result, ReqResult>;
129
+ useContext?: () => Context;
130
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<ClientMutationArgs<Url, RequestSchema, QuerySchema>>, context: Context) => void | Promise<void>;
131
+ onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<ClientMutationArgs<Url, RequestSchema, QuerySchema>>, context: Context) => void | Promise<void>;
132
+ }): ((params: UrlHasParams<Url> extends true ? {
133
+ urlParams: UrlParams<Url>;
134
+ } : {}) => UseMutationResult<Result, Error, ClientMutationArgs<Url, RequestSchema, QuerySchema>>) & MutationHelpers<Url, Result> & ClientEndpointHelper<Method, Url, RequestSchema, Response, QuerySchema>;
135
+ mutation<Method extends 'POST' | 'PUT' | 'PATCH' = 'POST' | 'PUT' | 'PATCH', Url extends string = string, RequestSchema extends ZodType = ZodType, QuerySchema extends AnyZodObject = AnyZodObject, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown>(config: {
136
+ method: Method;
137
+ url: Url;
138
+ requestSchema: RequestSchema;
139
+ querySchema: QuerySchema;
140
+ responseSchema: Response;
141
+ processResponse: ProcessResponseFunction<Result, ReqResult>;
142
+ useContext?: () => Context;
143
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<ClientMutationArgs<Url, RequestSchema, QuerySchema>>, context: Context) => void | Promise<void>;
144
+ onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<ClientMutationArgs<Url, RequestSchema, QuerySchema>>, context: Context) => void | Promise<void>;
145
+ }): (params: UrlHasParams<Url> extends true ? {
146
+ urlParams: UrlParams<Url>;
147
+ } : {}) => UseMutationResult<Result, Error, ClientMutationArgs<Url, RequestSchema, QuerySchema>> & ClientEndpointHelper<Method, Url, RequestSchema, Response, QuerySchema>;
148
+ mutation<Method extends 'POST' | 'PUT' | 'PATCH' = 'POST' | 'PUT' | 'PATCH', Url extends string = string, RequestSchema extends ZodType = ZodType, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown>(config: {
149
+ method: Method;
150
+ url: Url;
151
+ requestSchema: RequestSchema;
152
+ responseSchema: Response;
153
+ processResponse: ProcessResponseFunction<Result, ReqResult>;
154
+ useContext?: () => Context;
155
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<ClientMutationArgs<Url, RequestSchema, undefined>>, context: Context) => void | Promise<void>;
156
+ onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<ClientMutationArgs<Url, RequestSchema, undefined>>, context: Context) => void | Promise<void>;
157
+ }): ((params: UrlHasParams<Url> extends true ? {
158
+ urlParams: UrlParams<Url>;
159
+ } : {}) => UseMutationResult<Result, Error, ClientMutationArgs<Url, RequestSchema, undefined>>) & MutationHelpers<Url, Result> & ClientEndpointHelper<Method, Url, RequestSchema, Response>;
160
+ mutation<Method extends 'POST' | 'PUT' | 'PATCH' = 'POST' | 'PUT' | 'PATCH', Url extends string = string, RequestSchema extends ZodType = ZodType, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown, UseKey extends true = true>(config: {
161
+ method: Method;
162
+ url: Url;
163
+ useKey: UseKey;
164
+ requestSchema: RequestSchema;
165
+ responseSchema: Response;
166
+ processResponse: ProcessResponseFunction<Result, ReqResult>;
167
+ useContext?: () => Context;
168
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<ClientMutationArgs<Url, RequestSchema, undefined>>, context: Context) => void | Promise<void>;
169
+ onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<ClientMutationArgs<Url, RequestSchema, undefined>>, context: Context) => void | Promise<void>;
170
+ }): ((params: UrlHasParams<Url> extends true ? {
171
+ urlParams: UrlParams<Url>;
172
+ } : {}) => UseMutationResult<Result, Error, ClientMutationArgs<Url, RequestSchema, undefined>>) & MutationHelpers<Url, Result> & ClientEndpointHelper<Method, Url, RequestSchema, Response>;
173
+ mutation<Method extends 'DELETE' = 'DELETE', Url extends string = string, QuerySchema extends AnyZodObject = AnyZodObject, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown, UseKey extends true = true>(config: {
174
+ method: Method;
175
+ url: Url;
176
+ useKey: UseKey;
177
+ querySchema: QuerySchema;
178
+ responseSchema: Response;
179
+ processResponse: ProcessResponseFunction<Result, ReqResult>;
180
+ useContext?: () => Context;
181
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<ClientMutationArgs<Url, undefined, QuerySchema>>, context: Context) => void | Promise<void>;
182
+ onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<ClientMutationArgs<Url, undefined, QuerySchema>>, context: Context) => void | Promise<void>;
183
+ }): ((params: UrlHasParams<Url> extends true ? {
184
+ urlParams: UrlParams<Url>;
185
+ } : {}) => UseMutationResult<Result, Error, ClientMutationArgs<Url, undefined, QuerySchema>>) & MutationHelpers<Url, Result> & ClientEndpointHelper<Method, Url, undefined, Response, QuerySchema>;
186
+ mutation<Method extends 'DELETE' = 'DELETE', Url extends string = string, QuerySchema extends AnyZodObject = AnyZodObject, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown>(config: {
187
+ method: Method;
188
+ url: Url;
189
+ querySchema: QuerySchema;
190
+ responseSchema: Response;
191
+ processResponse: ProcessResponseFunction<Result, ReqResult>;
192
+ useContext?: () => Context;
193
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<ClientMutationArgs<Url, undefined, QuerySchema>>, context: Context) => void | Promise<void>;
194
+ onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<ClientMutationArgs<Url, undefined, QuerySchema>>, context: Context) => void | Promise<void>;
195
+ }): (params: UrlHasParams<Url> extends true ? {
196
+ urlParams: UrlParams<Url>;
197
+ } : {}) => UseMutationResult<Result, Error, ClientMutationArgs<Url, undefined, QuerySchema>> & ClientEndpointHelper<Method, Url, undefined, Response, QuerySchema>;
198
+ mutation<Method extends 'DELETE' = 'DELETE', Url extends string = string, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown, UseKey extends true = true>(config: {
199
+ method: Method;
200
+ url: Url;
201
+ useKey: UseKey;
202
+ responseSchema: Response;
203
+ processResponse: ProcessResponseFunction<Result, ReqResult>;
204
+ useContext?: () => Context;
205
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<ClientMutationArgs<Url, undefined, undefined>>, context: Context) => void | Promise<void>;
206
+ onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<ClientMutationArgs<Url, undefined, undefined>>, context: Context) => void | Promise<void>;
207
+ }): ((params: UrlHasParams<Url> extends true ? {
208
+ urlParams: UrlParams<Url>;
209
+ } : {}) => UseMutationResult<Result, Error, ClientMutationArgs<Url, undefined, undefined>>) & MutationHelpers<Url, Result> & ClientEndpointHelper<Method, Url, undefined, Response>;
210
+ mutation<Method extends 'DELETE' = 'DELETE', Url extends string = string, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown>(config: {
211
+ method: Method;
212
+ url: Url;
213
+ responseSchema: Response;
214
+ processResponse: ProcessResponseFunction<Result, ReqResult>;
215
+ useContext?: () => Context;
216
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<ClientMutationArgs<Url, undefined, undefined>>, context: Context) => void | Promise<void>;
217
+ onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<ClientMutationArgs<Url, undefined, undefined>>, context: Context) => void | Promise<void>;
218
+ }): (params: UrlHasParams<Url> extends true ? {
219
+ urlParams: UrlParams<Url>;
220
+ } : {}) => UseMutationResult<Result, Error, ClientMutationArgs<Url, undefined, undefined>> & ClientEndpointHelper<Method, Url, undefined, Response>;
221
+ queryFromEndpoint<Method extends 'GET' | 'HEAD' | 'OPTIONS' = 'GET', Url extends string = string, QuerySchema extends AnyZodObject = AnyZodObject, Response extends ZodType = ZodType, Result = z.output<Response>>(endpoint: any & {
222
+ config: BaseEndpointConfig<Method, Url, QuerySchema, Response>;
223
+ }, options?: {
224
+ processResponse?: (data: z.output<Response>) => Result;
225
+ }): (params: UrlHasParams<Url> extends true ? {
226
+ urlParams: UrlParams<Url>;
227
+ } : {}) => UseSuspenseQueryOptions<Result, Error, Result, DataTag<Split<Url, '/'>, Result, Error>> & QueryHelpers<Url, QuerySchema, Result>;
228
+ queryFromEndpoint<Method extends 'GET' | 'HEAD' | 'OPTIONS' = 'GET', Url extends string = string, Response extends ZodType = ZodType, Result = z.output<Response>>(endpoint: any & {
229
+ config: BaseEndpointConfig<Method, Url, undefined, Response>;
230
+ }, options?: {
231
+ processResponse?: (data: z.output<Response>) => Result;
232
+ }): (params: UrlHasParams<Url> extends true ? {
233
+ urlParams: UrlParams<Url>;
234
+ } : {}) => UseSuspenseQueryOptions<Result, Error, Result, DataTag<Split<Url, '/'>, Result, Error>> & QueryHelpers<Url, undefined, Result>;
235
+ infiniteQueryFromEndpoint<Method extends 'GET' | 'HEAD' | 'OPTIONS' = 'GET', Url extends string = string, QuerySchema extends AnyZodObject = AnyZodObject, Response extends ZodType = ZodType, PageResult = z.output<Response>, Result = InfiniteData<PageResult>>(endpoint: any & {
236
+ config: BaseEndpointConfig<Method, Url, QuerySchema, Response>;
237
+ }, options: {
238
+ processResponse?: (data: z.output<Response>) => PageResult;
239
+ getNextPageParam: (lastPage: PageResult, allPages: PageResult[], lastPageParam: z.infer<QuerySchema> | undefined, allPageParams: z.infer<QuerySchema>[] | undefined) => z.input<QuerySchema> | undefined;
240
+ getPreviousPageParam?: (firstPage: PageResult, allPages: PageResult[], lastPageParam: z.infer<QuerySchema> | undefined, allPageParams: z.infer<QuerySchema>[] | undefined) => z.input<QuerySchema>;
241
+ }): (params: UrlHasParams<Url> extends true ? {
242
+ urlParams: UrlParams<Url>;
243
+ } : {}) => UseSuspenseInfiniteQueryOptions<PageResult, Error, Result, PageResult, DataTag<Split<Url, '/'>, PageResult, Error>, z.output<QuerySchema>> & QueryHelpers<Url, QuerySchema, PageResult, true>;
244
+ }
245
+ export { ClientInstance }
246
+ export { ClientInstance as ClientInstance_alias_1 }
247
+ export { ClientInstance as ClientInstance_alias_2 }
248
+
249
+ declare type ClientMutationArgs<Url extends string = string, RequestSchema = unknown, QuerySchema = unknown> = (UrlHasParams<Url> extends true ? {
250
+ urlParams: UrlParams<Url>;
251
+ } : {}) & (RequestSchema extends AnyZodObject ? {
252
+ data: z.input<RequestSchema>;
253
+ } : {}) & (QuerySchema extends AnyZodObject ? {
254
+ params: z.input<QuerySchema>;
255
+ } : {});
256
+ export { ClientMutationArgs }
257
+ export { ClientMutationArgs as ClientMutationArgs_alias_1 }
258
+ export { ClientMutationArgs as ClientMutationArgs_alias_2 }
259
+
260
+ declare interface ClientMutationDataConfig<Method extends 'POST' | 'PUT' | 'PATCH' | 'DELETE' = 'POST' | 'PUT' | 'PATCH' | 'DELETE', Url extends string = string, RequestSchema = Method extends 'DELETE' ? never : AnyZodObject, QuerySchema = unknown, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown, UseKey extends boolean = false> extends ClientEndpointDefinition<Method, Url, QuerySchema, Response> {
261
+ requestSchema?: RequestSchema;
262
+ processResponse: ProcessResponseFunction<Result, ReqResult>;
263
+ useContext?: () => Context;
264
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<ClientMutationArgs<Url, RequestSchema, QuerySchema>>, context: Context) => void | Promise<void>;
265
+ onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<ClientMutationArgs<Url, RequestSchema, QuerySchema>>, context: Context) => void | Promise<void>;
266
+ useKey?: UseKey;
267
+ }
268
+ export { ClientMutationDataConfig }
269
+ export { ClientMutationDataConfig as ClientMutationDataConfig_alias_1 }
270
+
271
+ declare type ClientOptions<ProcessResponse = unknown> = {
272
+ api: BuilderInstance;
273
+ defaults?: {
274
+ keyPrefix?: string[];
275
+ keySuffix?: string[];
276
+ };
277
+ };
278
+ export { ClientOptions }
279
+ export { ClientOptions as ClientOptions_alias_1 }
280
+
281
+ declare type ClientQueryArgs<Url extends string = string, QuerySchema = AnyZodObject> = (UrlHasParams<Url> extends true ? {
282
+ urlParams: UrlParams<Url>;
283
+ } : {}) & (QuerySchema extends AnyZodObject ? {
284
+ params: z.input<QuerySchema>;
285
+ } : {});
286
+ export { ClientQueryArgs }
287
+ export { ClientQueryArgs as ClientQueryArgs_alias_1 }
288
+ export { ClientQueryArgs as ClientQueryArgs_alias_2 }
289
+
290
+ declare interface ClientQueryConfig<Method = HttpMethod, Url = string, QuerySchema = AnyZodObject, Response extends ZodType = ZodType, Result = z.output<Response>> extends ClientEndpointDefinition<Method, Url, QuerySchema, Response> {
291
+ processResponse?: (data: z.output<Response>) => Result;
292
+ }
293
+ export { ClientQueryConfig }
294
+ export { ClientQueryConfig as ClientQueryConfig_alias_1 }
295
+
296
+ declare type ClientQueryUrlParamsArgs<Url extends string = string> = UrlHasParams<Url> extends true ? {
297
+ urlParams: UrlParams<Url>;
298
+ } : {} | undefined;
299
+ export { ClientQueryUrlParamsArgs }
300
+ export { ClientQueryUrlParamsArgs as ClientQueryUrlParamsArgs_alias_1 }
301
+ export { ClientQueryUrlParamsArgs as ClientQueryUrlParamsArgs_alias_2 }
302
+
303
+ declare function declareClient<Options extends ClientOptions>({ api, defaults, }: Options): ClientInstance;
304
+ export { declareClient }
305
+ export { declareClient as declareClient_alias_1 }
306
+
307
+ declare type InfiniteQueryOptions<Config extends BaseEndpointConfig<HttpMethod, string, AnyZodObject>, Res = any> = {
308
+ keyPrefix?: string[];
309
+ keySuffix?: string[];
310
+ processResponse: (data: z.infer<Config['responseSchema']>) => Res;
311
+ onFail?: (err: unknown) => void;
312
+ getNextPageParam: (lastPage: z.infer<Config['responseSchema']>, allPages: z.infer<Config['responseSchema']>[], lastPageParam: z.infer<Config['querySchema']> | undefined, allPageParams: z.infer<Config['querySchema']>[] | undefined) => z.input<Config['querySchema']> | z.infer<Config['querySchema']> | undefined;
313
+ initialPageParam?: z.input<Config['querySchema']> | z.infer<Config['querySchema']>;
314
+ };
315
+ export { InfiniteQueryOptions }
316
+ export { InfiniteQueryOptions as InfiniteQueryOptions_alias_1 }
317
+
318
+ declare function makeInfiniteQueryOptions<Config extends AnyEndpointConfig, Options extends InfiniteQueryOptions<Config>, BaseQuery extends Omit<UseInfiniteQueryOptions<ReturnType<Options['processResponse']>, Error, any>, 'queryKey' | 'queryFn' | 'getNextPageParam' | 'initialPageParam' | 'placeholderData' | 'throwOnError'>>(endpoint: AbstractEndpoint<Config>, options: Options, baseQuery?: BaseQuery): {
319
+ (params: ClientQueryArgs): Options["processResponse"] extends (...args: any[]) => infer Result ? UseSuspenseInfiniteQueryOptions<Result, Error, BaseQuery["select"] extends (...args: any[]) => infer T ? T : InfiniteData<Result>> : never;
320
+ queryKey: QueryKeyCreatorResult_2<Config["querySchema"], Config["url"], Options["processResponse"] extends (...args: any[]) => infer Result ? Result : never, true, UrlHasParams<Config["url"]>>;
321
+ use(params: ClientQueryArgs): UseInfiniteQueryResult<BaseQuery["select"] extends (...args: any[]) => infer T ? T : InfiniteData<unknown, unknown>, Error>;
322
+ useSuspense(params: ClientQueryArgs): UseSuspenseInfiniteQueryResult<BaseQuery["select"] extends (...args: any[]) => infer T ? T : InfiniteData<unknown, unknown>, Error>;
323
+ invalidate(queryClient: QueryClient, params: ClientQueryArgs): Promise<void>;
324
+ invalidateAll(queryClient: QueryClient, params: ClientQueryArgs): Promise<void>;
325
+ };
326
+ export { makeInfiniteQueryOptions }
327
+ export { makeInfiniteQueryOptions as makeInfiniteQueryOptions_alias_1 }
328
+
329
+ declare function makeMutation<Config extends AnyEndpointConfig, TData = unknown, TVariables extends BaseMutationArgs<Config> = BaseMutationArgs<Config>, TResponse = z.output<Config['responseSchema']>, TContext = unknown, UseKey extends boolean = false>(endpoint: AbstractEndpoint<Config>, options: BaseMutationParams<Config, TData, TVariables, TResponse, TContext, UseKey>): {
330
+ (keyParams: UseKey extends true ? UrlHasParams<Config["url"]> extends true ? UrlParams<Config["url"]> : never : never): UseMutationResult<TData, Error, BaseMutationArgs<Config>>;
331
+ useIsMutating(keyParams: UseKey extends true ? UrlHasParams<Config["url"]> extends true ? UrlParams<Config["url"]> : never : never): boolean;
332
+ mutationKey: (params: UrlHasParams<Config["url"]> extends infer T ? T extends UrlHasParams<Config["url"]> ? T extends true ? {
333
+ urlParams: UrlParams<Config["url"]>;
334
+ } : {} : never : never) => [Config["url"]] & {
335
+ [dataTagSymbol]: TData | Promise<TData>;
336
+ [dataTagErrorSymbol]: Error;
337
+ };
338
+ };
339
+ export { makeMutation }
340
+ export { makeMutation as makeMutation_alias_1 }
341
+
342
+ declare function makeQueryOptions<Config extends AnyEndpointConfig, Options extends BaseQueryParams<Config>, BaseQuery extends Omit<UseQueryOptions<ReturnType<Options['processResponse']>, Error, any>, 'queryKey' | 'queryFn' | 'getNextPageParam' | 'initialPageParam' | 'enabled' | 'throwOnError' | 'placeholderData'>>(endpoint: AbstractEndpoint<Config>, options: Options, baseQuery?: BaseQuery): {
343
+ (params: BaseQueryArgs<Config>): Options["processResponse"] extends (...args: any[]) => infer Result ? UseSuspenseQueryOptions<Result, Error, BaseQuery["select"] extends (...args: any[]) => infer T ? T : Result, DataTag<Split_3<Config["url"], "/">, Result, Error>> : never;
344
+ queryKey: QueryKeyCreatorResult_2<Config["querySchema"], Config["url"], Options["processResponse"] extends (...args: any[]) => infer Result ? Result : never, false, UrlHasParams<Config["url"]>>;
345
+ use(params: ClientQueryArgs): DefinedUseInfiniteQueryResult<BaseQuery["select"] extends (...args: any[]) => infer T ? T : unknown, Error>;
346
+ useSuspense(params: ClientQueryArgs): UseSuspenseInfiniteQueryResult<BaseQuery["select"] extends (...args: any[]) => infer T ? T : unknown, Error>;
347
+ invalidate(queryClient: QueryClient, params: ClientQueryArgs): Promise<void>;
348
+ invalidateAll(queryClient: QueryClient, params: ClientQueryArgs): Promise<void>;
349
+ };
350
+ export { makeQueryOptions }
351
+ export { makeQueryOptions as makeQueryOptions_alias_1 }
352
+
353
+ declare type MutationHelpers<Url extends string, Result = unknown> = UrlHasParams<Url> extends true ? {
354
+ mutationKey: (params: UrlParams<Url>) => DataTag<[Url], Result, Error>;
355
+ useIsMutating: (keyParams: UrlParams<Url>) => boolean;
356
+ } : {
357
+ mutationKey: () => DataTag<[Url], Result, Error>;
358
+ useIsMutating: () => boolean;
359
+ };
360
+ export { MutationHelpers }
361
+ export { MutationHelpers as MutationHelpers_alias_1 }
362
+ export { MutationHelpers as MutationHelpers_alias_2 }
363
+
364
+ /**
365
+ * Creates a mutation key for a given endpoint configuration and options.
366
+ *
367
+ * @param {config: Config } config - The endpoint object containing the configuration.
368
+ * @param {Options} [options] - Optional query parameters with a default `processResponse` function that processes the response data.
369
+ *
370
+ * @returns {Object} An object containing the `mutationKey` function.
371
+ *
372
+ * The `mutationKey` function generates a mutation key based on the provided parameters:
373
+ * - If the URL has parameters (`HasParams` is `true`), it expects an object with `urlParams`.
374
+ * - The return type of the `mutationKey` function depends on the `processResponse` function in `options`.
375
+ * If `processResponse` is defined, the return type is a `DataTag` containing the processed result and an error type.
376
+ *
377
+ * @example Example usage:
378
+ * ```typescript
379
+ * const createMutationKey = mutationKeyCreator(endpoint.config);
380
+ * const mutationKey = createMutationKey({ urlParams: { id: 123 } });
381
+ * ```
382
+ *
383
+ * @example Advanced usage:
384
+ * ```ts
385
+ * const createMutationKey = mutationKeyCreator(endpoint.config, {
386
+ * processResponse: (data) => {
387
+ * if (!data.success) {
388
+ * throw new Error(data.message);
389
+ * }
390
+ * return data.data;
391
+ * },
392
+ * });
393
+ * // We create a mutation that will be shared across the project for all passed userId
394
+ * const mutationKey = createMutationKey({ urlParams: { projectId: 123, userId: 'wildcard' } });
395
+ */
396
+ declare function mutationKeyCreator<Config extends AnyEndpointConfig, Options extends BaseQueryParams<Config>, Url extends Config['url'] = Config['url'], HasParams extends UrlHasParams<Url> = UrlHasParams<Url>>(config: Config, options?: Options): (params: HasParams extends true ? {
397
+ urlParams: UrlParams<Url>;
398
+ } : {}) => Options['processResponse'] extends (...args: any[]) => infer Result ? DataTag<[Config['url']], Result, Error> : never;
399
+ export { mutationKeyCreator }
400
+ export { mutationKeyCreator as mutationKeyCreator_alias_1 }
401
+
402
+ declare type ProcessResponseFunction<TData = unknown, TVariables = unknown> = (variables: TVariables) => Promise<TData> | TData;
403
+ export { ProcessResponseFunction }
404
+ export { ProcessResponseFunction as ProcessResponseFunction_alias_1 }
405
+
406
+ declare type QueryHelpers<Url extends string, QuerySchema extends AnyZodObject | undefined = undefined, Result = undefined, IsInfinite extends boolean = false> = {
407
+ queryKey: QueryKeyCreatorResult<QuerySchema, Url, Result, IsInfinite>;
408
+ use: (params: Util_FlatObject<ClientQueryArgs<Url, QuerySchema>>) => UseQueryResult<Result, Error>;
409
+ useSuspense: (params: Util_FlatObject<ClientQueryArgs<Url, QuerySchema>>) => UseSuspenseQueryResult<Result, Error>;
410
+ invalidate: (queryClient: QueryClient, params: Util_FlatObject<ClientQueryArgs<Url, QuerySchema>>) => () => Promise<void>;
411
+ invalidateAll: (queryClient: QueryClient, params: Util_FlatObject<ClientQueryUrlParamsArgs<Url>>) => () => Promise<void>;
412
+ };
413
+ export { QueryHelpers }
414
+ export { QueryHelpers as QueryHelpers_alias_1 }
415
+ export { QueryHelpers as QueryHelpers_alias_2 }
416
+
417
+ declare function queryKeyCreator<Config extends AnyEndpointConfig, Options extends BaseQueryParams<Config>, IsInfinite extends boolean, Url extends Config['url'] = Config['url'], HasParams extends UrlHasParams<Url> = UrlHasParams<Url>>(config: Config, options: Options, isInfinite: IsInfinite): QueryKeyCreatorResult<Config['querySchema'], Url, Options['processResponse'] extends (...args: any[]) => infer Result ? Result : never, IsInfinite, HasParams>;
418
+ export { queryKeyCreator }
419
+ export { queryKeyCreator as queryKeyCreator_alias_1 }
420
+
421
+ declare type QueryKeyCreatorResult<QuerySchema = undefined, Url extends string = string, Result = unknown, IsInfinite extends boolean = false, HasParams extends UrlHasParams<Url> = UrlHasParams<Url>> = {
422
+ template: Split_2<Url, '/'>;
423
+ dataTag: (params: (HasParams extends true ? {
424
+ urlParams: UrlParams<Url>;
425
+ } : {}) & (QuerySchema extends AnyZodObject ? {
426
+ params: z.input<QuerySchema>;
427
+ } : {})) => DataTag<Split_2<Url, '/'>, IsInfinite extends true ? InfiniteData<Result> : Result, Error>;
428
+ filterKey: (params: HasParams extends true ? {
429
+ urlParams: UrlParams<Url>;
430
+ } : {}) => DataTag<Split_2<Url, '/'>, IsInfinite extends true ? InfiniteData<Result> : Result, Error>;
431
+ bindToUrl: (params: (HasParams extends true ? {
432
+ urlParams: UrlParams<Url>;
433
+ } : {}) & (QuerySchema extends AnyZodObject ? {
434
+ params: z.infer<QuerySchema>;
435
+ } : {})) => string;
436
+ };
437
+ export { QueryKeyCreatorResult }
438
+ export { QueryKeyCreatorResult as QueryKeyCreatorResult_alias_1 }
439
+
440
+ declare type Split<S extends string, D extends string> = string extends S ? string[] : S extends '' ? [] : S extends `${infer T}${D}${infer U}` ? [T, ...Split<U, D>] : [S];
441
+ export { Split }
442
+ export { Split as Split_alias_1 }
443
+
444
+ declare type Split_2<S extends string, D extends string> = string extends S ? string[] : S extends '' ? [] : S extends `${infer T}${D}${infer U}` ? [T, ...Split_2<U, D>] : [S];
445
+
446
+ declare type Split_3<S extends string, D extends string> = string extends S ? string[] : S extends '' ? [] : S extends `${infer T}${D}${infer U}` ? [T, ...Split_3<U, D>] : [S];
447
+
448
+ export { }