@kubb/plugin-react-query 4.0.2 → 4.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.
@@ -1,177 +1,12 @@
1
- import { File, Function, FunctionParams, Type } from "@kubb/react";
2
1
  import { isOptional } from "@kubb/oas";
3
- import { Client } from "@kubb/plugin-client/components";
4
2
  import { getComments, getPathParams } from "@kubb/plugin-oas/utils";
3
+ import { File, Function, FunctionParams, Type } from "@kubb/react";
5
4
  import { URLPath } from "@kubb/core/utils";
6
5
  import { Fragment, jsx, jsxs } from "@kubb/react/jsx-runtime";
6
+ import { Client } from "@kubb/plugin-client/components";
7
7
 
8
- //#region src/components/MutationKey.tsx
9
- function getParams$7({}) {
10
- return FunctionParams.factory({});
11
- }
12
- const getTransformer$1 = ({ operation, casing }) => {
13
- return [`{ url: '${new URLPath(operation.path, { casing }).toURLPath()}' }`];
14
- };
15
- function MutationKey({ name, typeSchemas, pathParamsType, paramsCasing, operation, typeName, transformer = getTransformer$1 }) {
16
- const params = getParams$7({
17
- pathParamsType,
18
- typeSchemas
19
- });
20
- const keys = transformer({
21
- operation,
22
- schemas: typeSchemas,
23
- casing: paramsCasing
24
- });
25
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(File.Source, {
26
- name,
27
- isExportable: true,
28
- isIndexable: true,
29
- children: /* @__PURE__ */ jsx(Function.Arrow, {
30
- name,
31
- export: true,
32
- params: params.toConstructor(),
33
- singleLine: true,
34
- children: `[${keys.join(", ")}] as const`
35
- })
36
- }), /* @__PURE__ */ jsx(File.Source, {
37
- name: typeName,
38
- isExportable: true,
39
- isIndexable: true,
40
- isTypeOnly: true,
41
- children: /* @__PURE__ */ jsx(Type, {
42
- name: typeName,
43
- export: true,
44
- children: `ReturnType<typeof ${name}>`
45
- })
46
- })] });
47
- }
48
- MutationKey.getParams = getParams$7;
49
- MutationKey.getTransformer = getTransformer$1;
50
-
51
- //#endregion
52
- //#region src/components/Mutation.tsx
53
- function getParams$6({ paramsCasing, dataReturnType, typeSchemas }) {
54
- const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
55
- const TRequest = FunctionParams.factory({
56
- ...getPathParams(typeSchemas.pathParams, {
57
- typed: true,
58
- casing: paramsCasing
59
- }),
60
- data: typeSchemas.request?.name ? {
61
- type: typeSchemas.request?.name,
62
- optional: isOptional(typeSchemas.request?.schema)
63
- } : void 0,
64
- params: typeSchemas.queryParams?.name ? {
65
- type: typeSchemas.queryParams?.name,
66
- optional: isOptional(typeSchemas.queryParams?.schema)
67
- } : void 0,
68
- headers: typeSchemas.headerParams?.name ? {
69
- type: typeSchemas.headerParams?.name,
70
- optional: isOptional(typeSchemas.headerParams?.schema)
71
- } : void 0
72
- }).toConstructor();
73
- const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"}>`;
74
- const generics = [
75
- TData,
76
- TError,
77
- TRequest ? `{${TRequest}}` : "void",
78
- "TContext"
79
- ].join(", ");
80
- return FunctionParams.factory({ options: {
81
- type: `
82
- {
83
- mutation?: UseMutationOptions<${generics}> & { client?: QueryClient },
84
- client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }` : "Partial<RequestConfig> & { client?: typeof fetch }"},
85
- }
86
- `,
87
- default: "{}"
88
- } });
89
- }
90
- function Mutation({ name, clientName, paramsCasing, paramsType, pathParamsType, dataReturnType, typeSchemas, operation, mutationKeyName }) {
91
- const mutationKeyParams = MutationKey.getParams({
92
- pathParamsType,
93
- typeSchemas
94
- });
95
- const params = getParams$6({
96
- paramsCasing,
97
- pathParamsType,
98
- dataReturnType,
99
- typeSchemas
100
- });
101
- const clientParams = Client.getParams({
102
- paramsCasing,
103
- paramsType,
104
- typeSchemas,
105
- pathParamsType,
106
- isConfigurable: true
107
- });
108
- const mutationParams = FunctionParams.factory({
109
- ...getPathParams(typeSchemas.pathParams, {
110
- typed: true,
111
- casing: paramsCasing
112
- }),
113
- data: typeSchemas.request?.name ? {
114
- type: typeSchemas.request?.name,
115
- optional: isOptional(typeSchemas.request?.schema)
116
- } : void 0,
117
- params: typeSchemas.queryParams?.name ? {
118
- type: typeSchemas.queryParams?.name,
119
- optional: isOptional(typeSchemas.queryParams?.schema)
120
- } : void 0,
121
- headers: typeSchemas.headerParams?.name ? {
122
- type: typeSchemas.headerParams?.name,
123
- optional: isOptional(typeSchemas.headerParams?.schema)
124
- } : void 0
125
- });
126
- const dataParams = FunctionParams.factory({ data: {
127
- mode: "object",
128
- children: Object.entries(mutationParams.params).reduce((acc, [key, value]) => {
129
- if (value) acc[key] = {
130
- ...value,
131
- type: void 0
132
- };
133
- return acc;
134
- }, {})
135
- } });
136
- const TRequest = mutationParams.toConstructor();
137
- const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
138
- const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"}>`;
139
- const generics = [
140
- TData,
141
- TError,
142
- TRequest ? `{${TRequest}}` : "void",
143
- "TContext"
144
- ].join(", ");
145
- return /* @__PURE__ */ jsx(File.Source, {
146
- name,
147
- isExportable: true,
148
- isIndexable: true,
149
- children: /* @__PURE__ */ jsx(Function, {
150
- name,
151
- export: true,
152
- params: params.toConstructor(),
153
- JSDoc: { comments: getComments(operation) },
154
- generics: ["TContext"],
155
- children: `
156
- const { mutation = {}, client: config = {} } = options ?? {}
157
- const { client: queryClient, ...mutationOptions } = mutation;
158
- const mutationKey = mutationOptions.mutationKey ?? ${mutationKeyName}(${mutationKeyParams.toCall()})
159
-
160
- return useMutation<${generics}>({
161
- mutationFn: async(${dataParams.toConstructor()}) => {
162
- return ${clientName}(${clientParams.toCall()})
163
- },
164
- mutationKey,
165
- ...mutationOptions
166
- }, queryClient)
167
- `
168
- })
169
- });
170
- }
171
-
172
- //#endregion
173
8
  //#region src/components/QueryKey.tsx
174
- function getParams$5({ pathParamsType, paramsCasing, typeSchemas }) {
9
+ function getParams$8({ pathParamsType, paramsCasing, typeSchemas }) {
175
10
  return FunctionParams.factory({
176
11
  pathParams: {
177
12
  mode: pathParamsType === "object" ? "object" : "inlineSpread",
@@ -190,7 +25,7 @@ function getParams$5({ pathParamsType, paramsCasing, typeSchemas }) {
190
25
  } : void 0
191
26
  });
192
27
  }
193
- const getTransformer = ({ operation, schemas, casing }) => {
28
+ const getTransformer$1 = ({ operation, schemas, casing }) => {
194
29
  return [
195
30
  new URLPath(operation.path, { casing }).toObject({
196
31
  type: "path",
@@ -200,8 +35,8 @@ const getTransformer = ({ operation, schemas, casing }) => {
200
35
  schemas.request?.name ? "...(data ? [data] : [])" : void 0
201
36
  ].filter(Boolean);
202
37
  };
203
- function QueryKey({ name, typeSchemas, paramsCasing, pathParamsType, operation, typeName, transformer = getTransformer }) {
204
- const params = getParams$5({
38
+ function QueryKey({ name, typeSchemas, paramsCasing, pathParamsType, operation, typeName, transformer = getTransformer$1 }) {
39
+ const params = getParams$8({
205
40
  pathParamsType,
206
41
  typeSchemas,
207
42
  paramsCasing
@@ -234,12 +69,12 @@ function QueryKey({ name, typeSchemas, paramsCasing, pathParamsType, operation,
234
69
  })
235
70
  })] });
236
71
  }
237
- QueryKey.getParams = getParams$5;
238
- QueryKey.getTransformer = getTransformer;
72
+ QueryKey.getParams = getParams$8;
73
+ QueryKey.getTransformer = getTransformer$1;
239
74
 
240
75
  //#endregion
241
76
  //#region src/components/QueryOptions.tsx
242
- function getParams$4({ paramsType, paramsCasing, pathParamsType, typeSchemas }) {
77
+ function getParams$7({ paramsType, paramsCasing, pathParamsType, typeSchemas }) {
243
78
  if (paramsType === "object") return FunctionParams.factory({
244
79
  data: {
245
80
  mode: "object",
@@ -295,7 +130,7 @@ function getParams$4({ paramsType, paramsCasing, pathParamsType, typeSchemas })
295
130
  });
296
131
  }
297
132
  function QueryOptions({ name, clientName, dataReturnType, typeSchemas, paramsCasing, paramsType, pathParamsType, queryKeyName }) {
298
- const params = getParams$4({
133
+ const params = getParams$7({
299
134
  paramsType,
300
135
  paramsCasing,
301
136
  pathParamsType,
@@ -339,13 +174,11 @@ function QueryOptions({ name, clientName, dataReturnType, typeSchemas, paramsCas
339
174
  })
340
175
  });
341
176
  }
342
- QueryOptions.getParams = getParams$4;
177
+ QueryOptions.getParams = getParams$7;
343
178
 
344
179
  //#endregion
345
- //#region src/components/Query.tsx
346
- function getParams$3({ paramsType, paramsCasing, pathParamsType, dataReturnType, typeSchemas }) {
347
- const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
348
- const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"}>`;
180
+ //#region src/components/InfiniteQuery.tsx
181
+ function getParams$6({ paramsType, paramsCasing, pathParamsType, typeSchemas, pageParamGeneric }) {
349
182
  if (paramsType === "object") return FunctionParams.factory({
350
183
  data: {
351
184
  mode: "object",
@@ -371,13 +204,7 @@ function getParams$3({ paramsType, paramsCasing, pathParamsType, dataReturnType,
371
204
  options: {
372
205
  type: `
373
206
  {
374
- query?: Partial<QueryObserverOptions<${[
375
- TData,
376
- TError,
377
- "TData",
378
- "TQueryData",
379
- "TQueryKey"
380
- ].join(", ")}>> & { client?: QueryClient },
207
+ query?: Partial<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryKey, ${pageParamGeneric}>> & { client?: QueryClient },
381
208
  client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }` : "Partial<RequestConfig> & { client?: typeof fetch }"}
382
209
  }
383
210
  `,
@@ -408,13 +235,7 @@ function getParams$3({ paramsType, paramsCasing, pathParamsType, dataReturnType,
408
235
  options: {
409
236
  type: `
410
237
  {
411
- query?: Partial<QueryObserverOptions<${[
412
- TData,
413
- TError,
414
- "TData",
415
- "TQueryData",
416
- "TQueryKey"
417
- ].join(", ")}>> & { client?: QueryClient },
238
+ query?: Partial<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryKey, ${pageParamGeneric}>> & { client?: QueryClient },
418
239
  client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }` : "Partial<RequestConfig> & { client?: typeof fetch }"}
419
240
  }
420
241
  `,
@@ -422,13 +243,17 @@ function getParams$3({ paramsType, paramsCasing, pathParamsType, dataReturnType,
422
243
  }
423
244
  });
424
245
  }
425
- function Query({ name, queryKeyTypeName, queryOptionsName, queryKeyName, paramsType, paramsCasing, pathParamsType, dataReturnType, typeSchemas, operation }) {
426
- const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
427
- const returnType = `UseQueryResult<${["TData", `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"}>`].join(", ")}> & { queryKey: TQueryKey }`;
246
+ function InfiniteQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName, paramsType, paramsCasing, pathParamsType, dataReturnType, typeSchemas, operation, queryParam }) {
247
+ const responseType = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
248
+ const errorType = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"}>`;
249
+ const pageParamType = (queryParam && typeSchemas.queryParams?.name ? `NonNullable<${typeSchemas.queryParams?.name}['${queryParam}']>` : void 0) ?? "number";
250
+ const returnType = "UseInfiniteQueryResult<TData, TError> & { queryKey: TQueryKey }";
428
251
  const generics = [
429
- `TData = ${TData}`,
430
- `TQueryData = ${TData}`,
431
- `TQueryKey extends QueryKey = ${queryKeyTypeName}`
252
+ `TQueryFnData = ${responseType}`,
253
+ `TError = ${errorType}`,
254
+ "TData = InfiniteData<TQueryFnData>",
255
+ `TQueryKey extends QueryKey = ${queryKeyTypeName}`,
256
+ `TPageParam = ${pageParamType}`
432
257
  ];
433
258
  const queryKeyParams = QueryKey.getParams({
434
259
  pathParamsType,
@@ -441,12 +266,12 @@ function Query({ name, queryKeyTypeName, queryOptionsName, queryKeyName, paramsT
441
266
  typeSchemas,
442
267
  paramsCasing
443
268
  });
444
- const params = getParams$3({
269
+ const params = getParams$6({
445
270
  paramsCasing,
446
271
  paramsType,
447
272
  pathParamsType,
448
- dataReturnType,
449
- typeSchemas
273
+ typeSchemas,
274
+ pageParamGeneric: "TPageParam"
450
275
  });
451
276
  const queryOptions = `${queryOptionsName}(${queryOptionsParams.toCall()})`;
452
277
  return /* @__PURE__ */ jsx(File.Source, {
@@ -464,11 +289,11 @@ function Query({ name, queryKeyTypeName, queryOptionsName, queryKeyName, paramsT
464
289
  const { client: queryClient, ...queryOptions } = queryConfig
465
290
  const queryKey = queryOptions?.queryKey ?? ${queryKeyName}(${queryKeyParams.toCall()})
466
291
 
467
- const query = useQuery({
292
+ const query = useInfiniteQuery({
468
293
  ...${queryOptions},
469
294
  queryKey,
470
295
  ...queryOptions
471
- } as unknown as QueryObserverOptions, queryClient) as ${returnType}
296
+ } as unknown as InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, queryClient) as ${returnType}
472
297
 
473
298
  query.queryKey = queryKey as TQueryKey
474
299
 
@@ -477,11 +302,11 @@ function Query({ name, queryKeyTypeName, queryOptionsName, queryKeyName, paramsT
477
302
  })
478
303
  });
479
304
  }
480
- Query.getParams = getParams$3;
305
+ InfiniteQuery.getParams = getParams$6;
481
306
 
482
307
  //#endregion
483
308
  //#region src/components/InfiniteQueryOptions.tsx
484
- function getParams$2({ paramsType, paramsCasing, pathParamsType, typeSchemas }) {
309
+ function getParams$5({ paramsType, paramsCasing, pathParamsType, typeSchemas }) {
485
310
  if (paramsType === "object") return FunctionParams.factory({
486
311
  data: {
487
312
  mode: "object",
@@ -540,7 +365,7 @@ function InfiniteQueryOptions({ name, clientName, initialPageParam, cursorParam,
540
365
  const queryFnDataType = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
541
366
  const errorType = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"}>`;
542
367
  const pageParamType = queryParam && typeSchemas.queryParams?.name ? `NonNullable<${typeSchemas.queryParams?.name}['${queryParam}']>` : "number";
543
- const params = getParams$2({
368
+ const params = getParams$5({
544
369
  paramsType,
545
370
  paramsCasing,
546
371
  pathParamsType,
@@ -619,11 +444,235 @@ function InfiniteQueryOptions({ name, clientName, initialPageParam, cursorParam,
619
444
  })
620
445
  });
621
446
  }
622
- InfiniteQueryOptions.getParams = getParams$2;
447
+ InfiniteQueryOptions.getParams = getParams$5;
623
448
 
624
449
  //#endregion
625
- //#region src/components/InfiniteQuery.tsx
626
- function getParams$1({ paramsType, paramsCasing, pathParamsType, typeSchemas, pageParamGeneric }) {
450
+ //#region src/components/MutationKey.tsx
451
+ function getParams$4({}) {
452
+ return FunctionParams.factory({});
453
+ }
454
+ const getTransformer = ({ operation, casing }) => {
455
+ return [`{ url: '${new URLPath(operation.path, { casing }).toURLPath()}' }`];
456
+ };
457
+ function MutationKey({ name, typeSchemas, pathParamsType, paramsCasing, operation, typeName, transformer = getTransformer }) {
458
+ const params = getParams$4({
459
+ pathParamsType,
460
+ typeSchemas
461
+ });
462
+ const keys = transformer({
463
+ operation,
464
+ schemas: typeSchemas,
465
+ casing: paramsCasing
466
+ });
467
+ return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(File.Source, {
468
+ name,
469
+ isExportable: true,
470
+ isIndexable: true,
471
+ children: /* @__PURE__ */ jsx(Function.Arrow, {
472
+ name,
473
+ export: true,
474
+ params: params.toConstructor(),
475
+ singleLine: true,
476
+ children: `[${keys.join(", ")}] as const`
477
+ })
478
+ }), /* @__PURE__ */ jsx(File.Source, {
479
+ name: typeName,
480
+ isExportable: true,
481
+ isIndexable: true,
482
+ isTypeOnly: true,
483
+ children: /* @__PURE__ */ jsx(Type, {
484
+ name: typeName,
485
+ export: true,
486
+ children: `ReturnType<typeof ${name}>`
487
+ })
488
+ })] });
489
+ }
490
+ MutationKey.getParams = getParams$4;
491
+ MutationKey.getTransformer = getTransformer;
492
+
493
+ //#endregion
494
+ //#region src/components/MutationOptions.tsx
495
+ function getParams$3({ typeSchemas }) {
496
+ return FunctionParams.factory({ config: {
497
+ type: typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }` : "Partial<RequestConfig> & { client?: typeof fetch }",
498
+ default: "{}"
499
+ } });
500
+ }
501
+ function MutationOptions({ name, clientName, dataReturnType, typeSchemas, paramsCasing, paramsType, pathParamsType, mutationKeyName }) {
502
+ const params = getParams$3({ typeSchemas });
503
+ const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
504
+ const TError = typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error";
505
+ const clientParams = Client.getParams({
506
+ typeSchemas,
507
+ paramsCasing,
508
+ paramsType,
509
+ pathParamsType,
510
+ isConfigurable: true
511
+ });
512
+ const mutationKeyParams = MutationKey.getParams({
513
+ pathParamsType,
514
+ typeSchemas
515
+ });
516
+ const mutationParams = FunctionParams.factory({
517
+ ...getPathParams(typeSchemas.pathParams, {
518
+ typed: true,
519
+ casing: paramsCasing
520
+ }),
521
+ data: typeSchemas.request?.name ? {
522
+ type: typeSchemas.request?.name,
523
+ optional: isOptional(typeSchemas.request?.schema)
524
+ } : void 0,
525
+ params: typeSchemas.queryParams?.name ? {
526
+ type: typeSchemas.queryParams?.name,
527
+ optional: isOptional(typeSchemas.queryParams?.schema)
528
+ } : void 0,
529
+ headers: typeSchemas.headerParams?.name ? {
530
+ type: typeSchemas.headerParams?.name,
531
+ optional: isOptional(typeSchemas.headerParams?.schema)
532
+ } : void 0
533
+ });
534
+ const dataParams = FunctionParams.factory({ data: {
535
+ mode: "object",
536
+ children: Object.entries(mutationParams.params).reduce((acc, [key, value]) => {
537
+ if (value) acc[key] = {
538
+ ...value,
539
+ type: void 0
540
+ };
541
+ return acc;
542
+ }, {})
543
+ } });
544
+ const TRequest = mutationParams.toConstructor();
545
+ return /* @__PURE__ */ jsx(File.Source, {
546
+ name,
547
+ isExportable: true,
548
+ isIndexable: true,
549
+ children: /* @__PURE__ */ jsx(Function, {
550
+ name,
551
+ export: true,
552
+ params: params.toConstructor(),
553
+ children: `
554
+ const mutationKey = ${mutationKeyName}(${mutationKeyParams.toCall()})
555
+ return mutationOptions<${TData}, ResponseErrorConfig<${TError}>, ${TRequest ? `{${TRequest}}` : "void"}, typeof mutationKey>({
556
+ mutationKey,
557
+ mutationFn: async(${dataParams.toConstructor()}) => {
558
+ return ${clientName}(${clientParams.toCall()})
559
+ },
560
+ })
561
+ `
562
+ })
563
+ });
564
+ }
565
+ MutationOptions.getParams = getParams$3;
566
+
567
+ //#endregion
568
+ //#region src/components/Mutation.tsx
569
+ function getParams$2({ paramsCasing, dataReturnType, typeSchemas }) {
570
+ const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
571
+ const TRequest = FunctionParams.factory({
572
+ ...getPathParams(typeSchemas.pathParams, {
573
+ typed: true,
574
+ casing: paramsCasing
575
+ }),
576
+ data: typeSchemas.request?.name ? {
577
+ type: typeSchemas.request?.name,
578
+ optional: isOptional(typeSchemas.request?.schema)
579
+ } : void 0,
580
+ params: typeSchemas.queryParams?.name ? {
581
+ type: typeSchemas.queryParams?.name,
582
+ optional: isOptional(typeSchemas.queryParams?.schema)
583
+ } : void 0,
584
+ headers: typeSchemas.headerParams?.name ? {
585
+ type: typeSchemas.headerParams?.name,
586
+ optional: isOptional(typeSchemas.headerParams?.schema)
587
+ } : void 0
588
+ }).toConstructor();
589
+ const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"}>`;
590
+ const generics = [
591
+ TData,
592
+ TError,
593
+ TRequest ? `{${TRequest}}` : "void",
594
+ "TContext"
595
+ ].join(", ");
596
+ return FunctionParams.factory({ options: {
597
+ type: `
598
+ {
599
+ mutation?: UseMutationOptions<${generics}> & { client?: QueryClient },
600
+ client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }` : "Partial<RequestConfig> & { client?: typeof fetch }"},
601
+ }
602
+ `,
603
+ default: "{}"
604
+ } });
605
+ }
606
+ function Mutation({ name, mutationOptionsName, paramsCasing, pathParamsType, dataReturnType, typeSchemas, operation, mutationKeyName }) {
607
+ const mutationKeyParams = MutationKey.getParams({
608
+ pathParamsType,
609
+ typeSchemas
610
+ });
611
+ const params = getParams$2({
612
+ paramsCasing,
613
+ pathParamsType,
614
+ dataReturnType,
615
+ typeSchemas
616
+ });
617
+ const mutationParams = FunctionParams.factory({
618
+ ...getPathParams(typeSchemas.pathParams, {
619
+ typed: true,
620
+ casing: paramsCasing
621
+ }),
622
+ data: typeSchemas.request?.name ? {
623
+ type: typeSchemas.request?.name,
624
+ optional: isOptional(typeSchemas.request?.schema)
625
+ } : void 0,
626
+ params: typeSchemas.queryParams?.name ? {
627
+ type: typeSchemas.queryParams?.name,
628
+ optional: isOptional(typeSchemas.queryParams?.schema)
629
+ } : void 0,
630
+ headers: typeSchemas.headerParams?.name ? {
631
+ type: typeSchemas.headerParams?.name,
632
+ optional: isOptional(typeSchemas.headerParams?.schema)
633
+ } : void 0
634
+ });
635
+ const mutationOptionsParams = MutationOptions.getParams({ typeSchemas });
636
+ const TRequest = mutationParams.toConstructor();
637
+ const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
638
+ const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"}>`;
639
+ const returnType = `UseMutationOptions<${[
640
+ TData,
641
+ TError,
642
+ TRequest ? `{${TRequest}}` : "void",
643
+ "TContext"
644
+ ].join(", ")}>`;
645
+ const mutationOptions = `${mutationOptionsName}(${mutationOptionsParams.toCall()})`;
646
+ return /* @__PURE__ */ jsx(File.Source, {
647
+ name,
648
+ isExportable: true,
649
+ isIndexable: true,
650
+ children: /* @__PURE__ */ jsx(Function, {
651
+ name,
652
+ export: true,
653
+ params: params.toConstructor(),
654
+ JSDoc: { comments: getComments(operation) },
655
+ generics: ["TContext"],
656
+ children: `
657
+ const { mutation = {}, client: config = {} } = options ?? {}
658
+ const { client: queryClient, ...mutationOptions } = mutation;
659
+ const mutationKey = mutationOptions.mutationKey ?? ${mutationKeyName}(${mutationKeyParams.toCall()})
660
+
661
+ return useMutation({
662
+ ...${mutationOptions},
663
+ mutationKey,
664
+ ...mutationOptions
665
+ } as unknown as UseMutationOptions, queryClient) as ${returnType}
666
+ `
667
+ })
668
+ });
669
+ }
670
+
671
+ //#endregion
672
+ //#region src/components/Query.tsx
673
+ function getParams$1({ paramsType, paramsCasing, pathParamsType, dataReturnType, typeSchemas }) {
674
+ const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
675
+ const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"}>`;
627
676
  if (paramsType === "object") return FunctionParams.factory({
628
677
  data: {
629
678
  mode: "object",
@@ -649,7 +698,13 @@ function getParams$1({ paramsType, paramsCasing, pathParamsType, typeSchemas, pa
649
698
  options: {
650
699
  type: `
651
700
  {
652
- query?: Partial<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryKey, ${pageParamGeneric}>> & { client?: QueryClient },
701
+ query?: Partial<QueryObserverOptions<${[
702
+ TData,
703
+ TError,
704
+ "TData",
705
+ "TQueryData",
706
+ "TQueryKey"
707
+ ].join(", ")}>> & { client?: QueryClient },
653
708
  client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }` : "Partial<RequestConfig> & { client?: typeof fetch }"}
654
709
  }
655
710
  `,
@@ -680,7 +735,13 @@ function getParams$1({ paramsType, paramsCasing, pathParamsType, typeSchemas, pa
680
735
  options: {
681
736
  type: `
682
737
  {
683
- query?: Partial<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryKey, ${pageParamGeneric}>> & { client?: QueryClient },
738
+ query?: Partial<QueryObserverOptions<${[
739
+ TData,
740
+ TError,
741
+ "TData",
742
+ "TQueryData",
743
+ "TQueryKey"
744
+ ].join(", ")}>> & { client?: QueryClient },
684
745
  client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }` : "Partial<RequestConfig> & { client?: typeof fetch }"}
685
746
  }
686
747
  `,
@@ -688,17 +749,13 @@ function getParams$1({ paramsType, paramsCasing, pathParamsType, typeSchemas, pa
688
749
  }
689
750
  });
690
751
  }
691
- function InfiniteQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName, paramsType, paramsCasing, pathParamsType, dataReturnType, typeSchemas, operation, queryParam }) {
692
- const responseType = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
693
- const errorType = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"}>`;
694
- const pageParamType = (queryParam && typeSchemas.queryParams?.name ? `NonNullable<${typeSchemas.queryParams?.name}['${queryParam}']>` : void 0) ?? "number";
695
- const returnType = "UseInfiniteQueryResult<TData, TError> & { queryKey: TQueryKey }";
752
+ function Query({ name, queryKeyTypeName, queryOptionsName, queryKeyName, paramsType, paramsCasing, pathParamsType, dataReturnType, typeSchemas, operation }) {
753
+ const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
754
+ const returnType = `UseQueryResult<${["TData", `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"}>`].join(", ")}> & { queryKey: TQueryKey }`;
696
755
  const generics = [
697
- `TQueryFnData = ${responseType}`,
698
- `TError = ${errorType}`,
699
- "TData = InfiniteData<TQueryFnData>",
700
- `TQueryKey extends QueryKey = ${queryKeyTypeName}`,
701
- `TPageParam = ${pageParamType}`
756
+ `TData = ${TData}`,
757
+ `TQueryData = ${TData}`,
758
+ `TQueryKey extends QueryKey = ${queryKeyTypeName}`
702
759
  ];
703
760
  const queryKeyParams = QueryKey.getParams({
704
761
  pathParamsType,
@@ -715,8 +772,8 @@ function InfiniteQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName,
715
772
  paramsCasing,
716
773
  paramsType,
717
774
  pathParamsType,
718
- typeSchemas,
719
- pageParamGeneric: "TPageParam"
775
+ dataReturnType,
776
+ typeSchemas
720
777
  });
721
778
  const queryOptions = `${queryOptionsName}(${queryOptionsParams.toCall()})`;
722
779
  return /* @__PURE__ */ jsx(File.Source, {
@@ -734,11 +791,11 @@ function InfiniteQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName,
734
791
  const { client: queryClient, ...queryOptions } = queryConfig
735
792
  const queryKey = queryOptions?.queryKey ?? ${queryKeyName}(${queryKeyParams.toCall()})
736
793
 
737
- const query = useInfiniteQuery({
794
+ const query = useQuery({
738
795
  ...${queryOptions},
739
796
  queryKey,
740
797
  ...queryOptions
741
- } as unknown as InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, queryClient) as ${returnType}
798
+ } as unknown as QueryObserverOptions, queryClient) as ${returnType}
742
799
 
743
800
  query.queryKey = queryKey as TQueryKey
744
801
 
@@ -747,7 +804,7 @@ function InfiniteQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName,
747
804
  })
748
805
  });
749
806
  }
750
- InfiniteQuery.getParams = getParams$1;
807
+ Query.getParams = getParams$1;
751
808
 
752
809
  //#endregion
753
810
  //#region src/components/SuspenseQuery.tsx
@@ -889,5 +946,5 @@ function SuspenseQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName,
889
946
  SuspenseQuery.getParams = getParams;
890
947
 
891
948
  //#endregion
892
- export { InfiniteQuery, InfiniteQueryOptions, Mutation, MutationKey, Query, QueryKey, QueryOptions, SuspenseQuery };
893
- //# sourceMappingURL=components-BRLaeCYI.js.map
949
+ export { InfiniteQuery, InfiniteQueryOptions, Mutation, MutationKey, MutationOptions, Query, QueryKey, QueryOptions, SuspenseQuery };
950
+ //# sourceMappingURL=components-Dz_s6t75.js.map