@kubb/plugin-svelte-query 0.0.0-canary-20241214150347 → 0.0.0-canary-20250109143608

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 (40) hide show
  1. package/dist/{chunk-YSVAGB5Y.cjs → chunk-5E5RFWUM.cjs} +68 -33
  2. package/dist/chunk-5E5RFWUM.cjs.map +1 -0
  3. package/dist/{chunk-EZRBBWGF.js → chunk-EE3OWZ2P.js} +68 -33
  4. package/dist/chunk-EE3OWZ2P.js.map +1 -0
  5. package/dist/{chunk-BB5SCJJT.js → chunk-KACKUZF2.js} +7 -6
  6. package/dist/chunk-KACKUZF2.js.map +1 -0
  7. package/dist/{chunk-DJNDGHXY.cjs → chunk-L344MSSI.cjs} +14 -13
  8. package/dist/chunk-L344MSSI.cjs.map +1 -0
  9. package/dist/components.cjs +6 -6
  10. package/dist/components.d.cts +2 -1
  11. package/dist/components.d.ts +2 -1
  12. package/dist/components.js +1 -1
  13. package/dist/generators.cjs +4 -4
  14. package/dist/generators.js +2 -2
  15. package/dist/index.cjs +14 -7
  16. package/dist/index.cjs.map +1 -1
  17. package/dist/index.js +11 -4
  18. package/dist/index.js.map +1 -1
  19. package/package.json +13 -13
  20. package/src/components/Mutation.tsx +5 -4
  21. package/src/components/Query.tsx +5 -3
  22. package/src/components/QueryOptions.tsx +6 -2
  23. package/src/generators/__snapshots__/clientDataReturnTypeFull.ts +10 -5
  24. package/src/generators/__snapshots__/clientGetImportPath.ts +5 -5
  25. package/src/generators/__snapshots__/clientPostImportPath.ts +4 -4
  26. package/src/generators/__snapshots__/findByTags.ts +5 -5
  27. package/src/generators/__snapshots__/findByTagsObject.ts +5 -5
  28. package/src/generators/__snapshots__/findByTagsPathParamsObject.ts +5 -5
  29. package/src/generators/__snapshots__/findByTagsWithCustomQueryKey.ts +5 -5
  30. package/src/generators/__snapshots__/findByTagsWithZod.ts +5 -5
  31. package/src/generators/__snapshots__/postAsQuery.ts +5 -5
  32. package/src/generators/__snapshots__/updatePetById.ts +4 -4
  33. package/src/generators/__snapshots__/updatePetByIdPathParamsObject.ts +4 -4
  34. package/src/generators/mutationGenerator.tsx +1 -1
  35. package/src/generators/queryGenerator.tsx +2 -2
  36. package/src/plugin.ts +9 -2
  37. package/dist/chunk-BB5SCJJT.js.map +0 -1
  38. package/dist/chunk-DJNDGHXY.cjs.map +0 -1
  39. package/dist/chunk-EZRBBWGF.js.map +0 -1
  40. package/dist/chunk-YSVAGB5Y.cjs.map +0 -1
@@ -8,6 +8,31 @@ var jsxRuntime = require('@kubb/react/jsx-runtime');
8
8
 
9
9
  // src/components/Mutation.tsx
10
10
  function getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas }) {
11
+ if (paramsType === "object") {
12
+ return react.FunctionParams.factory({
13
+ data: {
14
+ mode: "object",
15
+ children: {
16
+ ...utils$1.getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing })
17
+ }
18
+ }
19
+ });
20
+ }
21
+ return react.FunctionParams.factory({
22
+ pathParams: typeSchemas.pathParams?.name ? {
23
+ mode: pathParamsType === "object" ? "object" : "inlineSpread",
24
+ children: utils$1.getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),
25
+ optional: oas.isOptional(typeSchemas.pathParams?.schema)
26
+ } : void 0
27
+ });
28
+ }
29
+ function Url({ name, isExportable = true, isIndexable = true, typeSchemas, baseURL, paramsType, paramsCasing, pathParamsType, operation }) {
30
+ const path = new utils.URLPath(operation.path, { casing: paramsCasing });
31
+ const params = getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas });
32
+ return /* @__PURE__ */ jsxRuntime.jsx(react.File.Source, { name, isExportable, isIndexable, children: /* @__PURE__ */ jsxRuntime.jsx(react.Function, { name, export: isExportable, params: params.toConstructor(), children: `return ${path.toTemplateString({ prefix: baseURL })} as const` }) });
33
+ }
34
+ Url.getParams = getParams;
35
+ function getParams2({ paramsType, paramsCasing, pathParamsType, typeSchemas }) {
11
36
  if (paramsType === "object") {
12
37
  return react.FunctionParams.factory({
13
38
  data: {
@@ -70,7 +95,8 @@ function Client({
70
95
  paramsType,
71
96
  paramsCasing,
72
97
  pathParamsType,
73
- operation
98
+ operation,
99
+ urlName
74
100
  }) {
75
101
  const path = new utils.URLPath(operation.path, { casing: paramsCasing });
76
102
  const contentType = operation.getContentType();
@@ -79,12 +105,15 @@ function Client({
79
105
  contentType !== "application/json" ? `'Content-Type': '${contentType}'` : void 0,
80
106
  typeSchemas.headerParams?.name ? "...headers" : void 0
81
107
  ].filter(Boolean);
82
- const generics = [
83
- typeSchemas.response.name,
84
- typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error",
85
- typeSchemas.request?.name || "unknown"
86
- ].filter(Boolean);
87
- const params = getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas });
108
+ const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"}>`;
109
+ const generics = [typeSchemas.response.name, TError, typeSchemas.request?.name || "unknown"].filter(Boolean);
110
+ const params = getParams2({ paramsType, paramsCasing, pathParamsType, typeSchemas });
111
+ const urlParams = Url.getParams({
112
+ paramsType,
113
+ paramsCasing,
114
+ pathParamsType,
115
+ typeSchemas
116
+ });
88
117
  const clientParams = react.FunctionParams.factory({
89
118
  config: {
90
119
  mode: "object",
@@ -93,9 +122,9 @@ function Client({
93
122
  value: JSON.stringify(operation.method.toUpperCase())
94
123
  },
95
124
  url: {
96
- value: path.template
125
+ value: urlName ? `${urlName}(${urlParams.toCall()}).toString()` : path.template
97
126
  },
98
- baseURL: baseURL ? {
127
+ baseURL: baseURL && !urlName ? {
99
128
  value: JSON.stringify(baseURL)
100
129
  } : void 0,
101
130
  params: typeSchemas.queryParams?.name ? {} : void 0,
@@ -144,8 +173,8 @@ function Client({
144
173
  }
145
174
  ) });
146
175
  }
147
- Client.getParams = getParams;
148
- function getParams2({}) {
176
+ Client.getParams = getParams2;
177
+ function getParams3({}) {
149
178
  return react.FunctionParams.factory({});
150
179
  }
151
180
  var getTransformer = ({ operation, casing }) => {
@@ -153,17 +182,18 @@ var getTransformer = ({ operation, casing }) => {
153
182
  return [JSON.stringify({ url: path.path })].filter(Boolean);
154
183
  };
155
184
  function MutationKey({ name, typeSchemas, paramsCasing, pathParamsType, operation, typeName, transformer = getTransformer }) {
156
- const params = getParams2({ pathParamsType, typeSchemas });
185
+ const params = getParams3({ pathParamsType, typeSchemas });
157
186
  const keys = transformer({ operation, schemas: typeSchemas, casing: paramsCasing });
158
187
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
159
188
  /* @__PURE__ */ jsxRuntime.jsx(react.File.Source, { name, isExportable: true, isIndexable: true, children: /* @__PURE__ */ jsxRuntime.jsx(react.Function.Arrow, { name, export: true, params: params.toConstructor(), singleLine: true, children: `[${keys.join(", ")}] as const` }) }),
160
189
  /* @__PURE__ */ jsxRuntime.jsx(react.File.Source, { name: typeName, isExportable: true, isIndexable: true, isTypeOnly: true, children: /* @__PURE__ */ jsxRuntime.jsx(react.Type, { name: typeName, export: true, children: `ReturnType<typeof ${name}>` }) })
161
190
  ] });
162
191
  }
163
- MutationKey.getParams = getParams2;
192
+ MutationKey.getParams = getParams3;
164
193
  MutationKey.getTransformer = getTransformer;
165
- function getParams3({ paramsCasing, dataReturnType, typeSchemas }) {
194
+ function getParams4({ paramsCasing, dataReturnType, typeSchemas }) {
166
195
  const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
196
+ const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"}>`;
167
197
  const mutationParams = react.FunctionParams.factory({
168
198
  ...utils$1.getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),
169
199
  data: typeSchemas.request?.name ? {
@@ -184,7 +214,7 @@ function getParams3({ paramsCasing, dataReturnType, typeSchemas }) {
184
214
  options: {
185
215
  type: `
186
216
  {
187
- mutation?: CreateMutationOptions<${[TData, typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error", TRequest ? `{${TRequest}}` : void 0].filter(Boolean).join(", ")}>,
217
+ mutation?: CreateMutationOptions<${[TData, TError, TRequest ? `{${TRequest}}` : void 0].filter(Boolean).join(", ")}>,
188
218
  client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : "Partial<RequestConfig>"},
189
219
  }
190
220
  `,
@@ -207,7 +237,7 @@ function Mutation({
207
237
  pathParamsType,
208
238
  typeSchemas
209
239
  });
210
- const params = getParams3({
240
+ const params = getParams4({
211
241
  paramsCasing,
212
242
  pathParamsType,
213
243
  dataReturnType,
@@ -252,7 +282,8 @@ function Mutation({
252
282
  });
253
283
  const TRequest = mutationParams.toConstructor({ valueAsType: true });
254
284
  const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
255
- const generics = [TData, typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error", TRequest ? `{${TRequest}}` : void 0].filter(Boolean).join(", ");
285
+ const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"}>`;
286
+ const generics = [TData, TError, TRequest ? `{${TRequest}}` : void 0].filter(Boolean).join(", ");
256
287
  return /* @__PURE__ */ jsxRuntime.jsx(react.File.Source, { name, isExportable: true, isIndexable: true, children: /* @__PURE__ */ jsxRuntime.jsx(
257
288
  react.Function,
258
289
  {
@@ -277,7 +308,7 @@ function Mutation({
277
308
  }
278
309
  ) });
279
310
  }
280
- function getParams4({ pathParamsType, paramsCasing, typeSchemas }) {
311
+ function getParams5({ pathParamsType, paramsCasing, typeSchemas }) {
281
312
  return react.FunctionParams.factory({
282
313
  pathParams: {
283
314
  mode: pathParamsType === "object" ? "object" : "inlineSpread",
@@ -306,7 +337,7 @@ var getTransformer2 = ({ operation, schemas, casing }) => {
306
337
  return keys;
307
338
  };
308
339
  function QueryKey({ name, typeSchemas, paramsCasing, pathParamsType, operation, typeName, transformer = getTransformer2 }) {
309
- const params = getParams4({ pathParamsType, paramsCasing, typeSchemas });
340
+ const params = getParams5({ pathParamsType, paramsCasing, typeSchemas });
310
341
  const keys = transformer({
311
342
  operation,
312
343
  schemas: typeSchemas,
@@ -317,9 +348,9 @@ function QueryKey({ name, typeSchemas, paramsCasing, pathParamsType, operation,
317
348
  /* @__PURE__ */ jsxRuntime.jsx(react.File.Source, { name: typeName, isExportable: true, isIndexable: true, isTypeOnly: true, children: /* @__PURE__ */ jsxRuntime.jsx(react.Type, { name: typeName, export: true, children: `ReturnType<typeof ${name}>` }) })
318
349
  ] });
319
350
  }
320
- QueryKey.getParams = getParams4;
351
+ QueryKey.getParams = getParams5;
321
352
  QueryKey.getTransformer = getTransformer2;
322
- function getParams5({ paramsType, paramsCasing, pathParamsType, typeSchemas }) {
353
+ function getParams6({ paramsType, paramsCasing, pathParamsType, typeSchemas }) {
323
354
  if (paramsType === "object") {
324
355
  return react.FunctionParams.factory({
325
356
  data: {
@@ -370,8 +401,10 @@ function getParams5({ paramsType, paramsCasing, pathParamsType, typeSchemas }) {
370
401
  }
371
402
  });
372
403
  }
373
- function QueryOptions({ name, clientName, typeSchemas, paramsCasing, paramsType, pathParamsType, queryKeyName }) {
374
- const params = getParams5({ paramsType, paramsCasing, pathParamsType, typeSchemas });
404
+ function QueryOptions({ name, clientName, typeSchemas, paramsCasing, paramsType, dataReturnType, pathParamsType, queryKeyName }) {
405
+ const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
406
+ const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"}>`;
407
+ const params = getParams6({ paramsType, paramsCasing, pathParamsType, typeSchemas });
375
408
  const clientParams = Client.getParams({
376
409
  paramsType,
377
410
  paramsCasing,
@@ -387,7 +420,7 @@ function QueryOptions({ name, clientName, typeSchemas, paramsCasing, paramsType,
387
420
  const enabledText = enabled ? `enabled: !!(${enabled}),` : "";
388
421
  return /* @__PURE__ */ jsxRuntime.jsx(react.File.Source, { name, isExportable: true, isIndexable: true, children: /* @__PURE__ */ jsxRuntime.jsx(react.Function, { name, export: true, params: params.toConstructor(), children: `
389
422
  const queryKey = ${queryKeyName}(${queryKeyParams.toCall()})
390
- return queryOptions({
423
+ return queryOptions<${TData}, ${TError}, ${TData}, typeof queryKey>({
391
424
  ${enabledText}
392
425
  queryKey,
393
426
  queryFn: async ({ signal }) => {
@@ -397,9 +430,10 @@ function QueryOptions({ name, clientName, typeSchemas, paramsCasing, paramsType,
397
430
  })
398
431
  ` }) });
399
432
  }
400
- QueryOptions.getParams = getParams5;
401
- function getParams6({ paramsType, paramsCasing, pathParamsType, dataReturnType, typeSchemas }) {
433
+ QueryOptions.getParams = getParams6;
434
+ function getParams7({ paramsType, paramsCasing, pathParamsType, dataReturnType, typeSchemas }) {
402
435
  const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
436
+ const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"}>`;
403
437
  if (paramsType === "object") {
404
438
  return react.FunctionParams.factory({
405
439
  data: {
@@ -423,7 +457,7 @@ function getParams6({ paramsType, paramsCasing, pathParamsType, dataReturnType,
423
457
  options: {
424
458
  type: `
425
459
  {
426
- query?: Partial<CreateBaseQueryOptions<${[TData, typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error", "TData", "TQueryData", "TQueryKey"].join(", ")}>>,
460
+ query?: Partial<CreateBaseQueryOptions<${[TData, TError, "TData", "TQueryData", "TQueryKey"].join(", ")}>>,
427
461
  client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : "Partial<RequestConfig>"}
428
462
  }
429
463
  `,
@@ -452,7 +486,7 @@ function getParams6({ paramsType, paramsCasing, pathParamsType, dataReturnType,
452
486
  options: {
453
487
  type: `
454
488
  {
455
- query?: Partial<CreateBaseQueryOptions<${[TData, typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error", "TData", "TQueryData", "TQueryKey"].join(", ")}>>,
489
+ query?: Partial<CreateBaseQueryOptions<${[TData, TError, "TData", "TQueryData", "TQueryKey"].join(", ")}>>,
456
490
  client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : "Partial<RequestConfig>"}
457
491
  }
458
492
  `,
@@ -473,7 +507,8 @@ function Query({
473
507
  operation
474
508
  }) {
475
509
  const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
476
- const returnType = `CreateQueryResult<${["TData", typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"].join(", ")}> & { queryKey: TQueryKey }`;
510
+ const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"}>`;
511
+ const returnType = `CreateQueryResult<${["TData", TError].join(", ")}> & { queryKey: TQueryKey }`;
477
512
  const generics = [`TData = ${TData}`, `TQueryData = ${TData}`, `TQueryKey extends QueryKey = ${queryKeyTypeName}`];
478
513
  const queryKeyParams = QueryKey.getParams({
479
514
  pathParamsType,
@@ -486,7 +521,7 @@ function Query({
486
521
  pathParamsType,
487
522
  typeSchemas
488
523
  });
489
- const params = getParams6({
524
+ const params = getParams7({
490
525
  paramsType,
491
526
  paramsCasing,
492
527
  pathParamsType,
@@ -521,7 +556,7 @@ function Query({
521
556
  }
522
557
  ) });
523
558
  }
524
- Query.getParams = getParams6;
559
+ Query.getParams = getParams7;
525
560
 
526
561
  exports.Client = Client;
527
562
  exports.Mutation = Mutation;
@@ -529,5 +564,5 @@ exports.MutationKey = MutationKey;
529
564
  exports.Query = Query;
530
565
  exports.QueryKey = QueryKey;
531
566
  exports.QueryOptions = QueryOptions;
532
- //# sourceMappingURL=chunk-YSVAGB5Y.cjs.map
533
- //# sourceMappingURL=chunk-YSVAGB5Y.cjs.map
567
+ //# sourceMappingURL=chunk-5E5RFWUM.cjs.map
568
+ //# sourceMappingURL=chunk-5E5RFWUM.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../plugin-client/src/components/Url.tsx","../../plugin-client/src/components/Client.tsx","../src/components/MutationKey.tsx","../src/components/Mutation.tsx","../src/components/QueryKey.tsx","../src/components/QueryOptions.tsx","../src/components/Query.tsx"],"names":["FunctionParams","getPathParams","isOptional","URLPath","jsx","File","Function","getParams","jsxs","getComments","Fragment","Type","getTransformer"],"mappings":"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","file":"chunk-5E5RFWUM.cjs","sourcesContent":["import { URLPath } from '@kubb/core/utils'\n\nimport { type Operation, isOptional } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport { getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams } from '@kubb/react'\nimport type { PluginClient } from '../types.ts'\n\ntype Props = {\n /**\n * Name of the function\n */\n name: string\n isExportable?: boolean\n isIndexable?: boolean\n\n baseURL: string | undefined\n paramsCasing: PluginClient['resolvedOptions']['paramsCasing']\n paramsType: PluginClient['resolvedOptions']['pathParamsType']\n pathParamsType: PluginClient['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n operation: Operation\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginClient['resolvedOptions']['paramsCasing']\n paramsType: PluginClient['resolvedOptions']['paramsType']\n pathParamsType: PluginClient['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas }: GetParamsProps) {\n if (paramsType === 'object') {\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n },\n },\n })\n }\n\n return FunctionParams.factory({\n pathParams: typeSchemas.pathParams?.name\n ? {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n optional: isOptional(typeSchemas.pathParams?.schema),\n }\n : undefined,\n })\n}\n\nexport function Url({ name, isExportable = true, isIndexable = true, typeSchemas, baseURL, paramsType, paramsCasing, pathParamsType, operation }: Props) {\n const path = new URLPath(operation.path, { casing: paramsCasing })\n const params = getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas })\n\n return (\n <File.Source name={name} isExportable={isExportable} isIndexable={isIndexable}>\n <Function name={name} export={isExportable} params={params.toConstructor()}>\n {`return ${path.toTemplateString({ prefix: baseURL })} as const`}\n </Function>\n </File.Source>\n )\n}\n\nUrl.getParams = getParams\n","import { URLPath } from '@kubb/core/utils'\n\nimport { type Operation, isOptional } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport { getComments, getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams } from '@kubb/react'\nimport type { PluginClient } from '../types.ts'\nimport { Url } from './Url.tsx'\n\ntype Props = {\n /**\n * Name of the function\n */\n name: string\n urlName?: string\n isExportable?: boolean\n isIndexable?: boolean\n\n baseURL: string | undefined\n dataReturnType: PluginClient['resolvedOptions']['dataReturnType']\n paramsCasing: PluginClient['resolvedOptions']['paramsCasing']\n paramsType: PluginClient['resolvedOptions']['pathParamsType']\n pathParamsType: PluginClient['resolvedOptions']['pathParamsType']\n parser: PluginClient['resolvedOptions']['parser'] | undefined\n typeSchemas: OperationSchemas\n zodSchemas: OperationSchemas | undefined\n operation: Operation\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginClient['resolvedOptions']['paramsCasing']\n paramsType: PluginClient['resolvedOptions']['paramsType']\n pathParamsType: PluginClient['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas }: GetParamsProps) {\n if (paramsType === 'object') {\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n },\n },\n config: {\n type: typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>',\n default: '{}',\n },\n })\n }\n\n return FunctionParams.factory({\n pathParams: typeSchemas.pathParams?.name\n ? {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n optional: isOptional(typeSchemas.pathParams?.schema),\n }\n : undefined,\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n config: {\n type: typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>',\n default: '{}',\n },\n })\n}\n\nexport function Client({\n name,\n isExportable = true,\n isIndexable = true,\n typeSchemas,\n baseURL,\n dataReturnType,\n parser,\n zodSchemas,\n paramsType,\n paramsCasing,\n pathParamsType,\n operation,\n urlName,\n}: Props) {\n const path = new URLPath(operation.path, { casing: paramsCasing })\n const contentType = operation.getContentType()\n const isFormData = contentType === 'multipart/form-data'\n const headers = [\n contentType !== 'application/json' ? `'Content-Type': '${contentType}'` : undefined,\n typeSchemas.headerParams?.name ? '...headers' : undefined,\n ].filter(Boolean)\n\n const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'}>`\n\n const generics = [typeSchemas.response.name, TError, typeSchemas.request?.name || 'unknown'].filter(Boolean)\n const params = getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas })\n const urlParams = Url.getParams({\n paramsType,\n paramsCasing,\n pathParamsType,\n typeSchemas,\n })\n const clientParams = FunctionParams.factory({\n config: {\n mode: 'object',\n children: {\n method: {\n value: JSON.stringify(operation.method.toUpperCase()),\n },\n url: {\n value: urlName ? `${urlName}(${urlParams.toCall()}).toString()` : path.template,\n },\n baseURL:\n baseURL && !urlName\n ? {\n value: JSON.stringify(baseURL),\n }\n : undefined,\n params: typeSchemas.queryParams?.name ? {} : undefined,\n data: typeSchemas.request?.name\n ? {\n value: isFormData ? 'formData' : undefined,\n }\n : undefined,\n headers: headers.length\n ? {\n value: headers.length ? `{ ${headers.join(', ')}, ...config.headers }` : undefined,\n }\n : undefined,\n config: {\n mode: 'inlineSpread',\n },\n },\n },\n })\n\n const formData = isFormData\n ? `\n const formData = new FormData()\n if(data) {\n Object.keys(data).forEach((key) => {\n const value = data[key as keyof typeof data];\n if (typeof key === \"string\" && (typeof value === \"string\" || value instanceof Blob)) {\n formData.append(key, value);\n }\n })\n }\n `\n : ''\n\n return (\n <File.Source name={name} isExportable={isExportable} isIndexable={isIndexable}>\n <Function\n name={name}\n async\n export={isExportable}\n params={params.toConstructor()}\n JSDoc={{\n comments: getComments(operation),\n }}\n >\n {formData}\n {`const res = await client<${generics.join(', ')}>(${clientParams.toCall()})`}\n <br />\n {dataReturnType === 'full' && parser === 'zod' && zodSchemas && `return {...res, data: ${zodSchemas.response.name}.parse(res.data)}`}\n {dataReturnType === 'data' && parser === 'zod' && zodSchemas && `return ${zodSchemas.response.name}.parse(res.data)`}\n {dataReturnType === 'full' && parser === 'client' && 'return res'}\n {dataReturnType === 'data' && parser === 'client' && 'return res.data'}\n </Function>\n </File.Source>\n )\n}\n\nClient.getParams = getParams\n","import { URLPath } from '@kubb/core/utils'\nimport { File, Function, FunctionParams, Type } from '@kubb/react'\n\nimport type { Operation } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport type { ReactNode } from 'react'\nimport type { PluginSvelteQuery, Transformer } from '../types'\n\ntype Props = {\n name: string\n typeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n paramsCasing: PluginSvelteQuery['resolvedOptions']['paramsCasing']\n pathParamsType: PluginSvelteQuery['resolvedOptions']['pathParamsType']\n transformer: Transformer | undefined\n}\n\ntype GetParamsProps = {\n pathParamsType: PluginSvelteQuery['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({}: GetParamsProps) {\n return FunctionParams.factory({})\n}\n\nconst getTransformer: Transformer = ({ operation, casing }) => {\n const path = new URLPath(operation.path, { casing })\n\n return [JSON.stringify({ url: path.path })].filter(Boolean)\n}\n\nexport function MutationKey({ name, typeSchemas, paramsCasing, pathParamsType, operation, typeName, transformer = getTransformer }: Props): ReactNode {\n const params = getParams({ pathParamsType, typeSchemas })\n const keys = transformer({ operation, schemas: typeSchemas, casing: paramsCasing })\n\n return (\n <>\n <File.Source name={name} isExportable isIndexable>\n <Function.Arrow name={name} export params={params.toConstructor()} singleLine>\n {`[${keys.join(', ')}] as const`}\n </Function.Arrow>\n </File.Source>\n <File.Source name={typeName} isExportable isIndexable isTypeOnly>\n <Type name={typeName} export>\n {`ReturnType<typeof ${name}>`}\n </Type>\n </File.Source>\n </>\n )\n}\n\nMutationKey.getParams = getParams\nMutationKey.getTransformer = getTransformer\n","import { File, Function, FunctionParams } from '@kubb/react'\n\nimport { type Operation, isOptional } from '@kubb/oas'\nimport { Client } from '@kubb/plugin-client/components'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport { getComments, getPathParams } from '@kubb/plugin-oas/utils'\nimport type { Params } from '@kubb/react/types'\nimport type { ReactNode } from 'react'\nimport type { PluginSvelteQuery } from '../types.ts'\nimport { MutationKey } from './MutationKey.tsx'\n\ntype Props = {\n /**\n * Name of the function\n */\n name: string\n typeName: string\n clientName: string\n mutationKeyName: string\n typeSchemas: OperationSchemas\n operation: Operation\n paramsCasing: PluginSvelteQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSvelteQuery['resolvedOptions']['paramsType']\n dataReturnType: PluginSvelteQuery['resolvedOptions']['client']['dataReturnType']\n pathParamsType: PluginSvelteQuery['resolvedOptions']['pathParamsType']\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginSvelteQuery['resolvedOptions']['paramsCasing']\n pathParamsType: PluginSvelteQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSvelteQuery['resolvedOptions']['client']['dataReturnType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsCasing, dataReturnType, typeSchemas }: GetParamsProps) {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'}>`\n\n const mutationParams = FunctionParams.factory({\n ...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n })\n const TRequest = mutationParams.toConstructor({ valueAsType: true })\n\n return FunctionParams.factory({\n options: {\n type: `\n{\n mutation?: CreateMutationOptions<${[TData, TError, TRequest ? `{${TRequest}}` : undefined].filter(Boolean).join(', ')}>,\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>'},\n}\n`,\n default: '{}',\n },\n })\n}\n\nexport function Mutation({\n name,\n clientName,\n paramsCasing,\n paramsType,\n pathParamsType,\n dataReturnType,\n typeSchemas,\n operation,\n mutationKeyName,\n}: Props): ReactNode {\n const mutationKeyParams = MutationKey.getParams({\n pathParamsType,\n typeSchemas,\n })\n\n const params = getParams({\n paramsCasing,\n pathParamsType,\n dataReturnType,\n typeSchemas,\n })\n\n const clientParams = Client.getParams({\n paramsCasing,\n paramsType,\n typeSchemas,\n pathParamsType,\n })\n const mutationParams = FunctionParams.factory({\n ...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n })\n const dataParams = FunctionParams.factory({\n data: {\n // No use of pathParams because useMutation can only take one argument in object form,\n // see https://tanstack.com/query/latest/docs/framework/react/reference/useMutation#usemutation\n mode: 'object',\n children: Object.entries(mutationParams.params).reduce((acc, [key, value]) => {\n if (value) {\n acc[key] = {\n ...value,\n type: undefined,\n }\n }\n\n return acc\n }, {} as Params),\n },\n })\n\n const TRequest = mutationParams.toConstructor({ valueAsType: true })\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'}>`\n const generics = [TData, TError, TRequest ? `{${TRequest}}` : undefined].filter(Boolean).join(', ')\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Function\n name={name}\n export\n params={params.toConstructor()}\n JSDoc={{\n comments: getComments(operation),\n }}\n >\n {`\n const { mutation: mutationOptions, client: config = {} } = options ?? {}\n const mutationKey = mutationOptions?.mutationKey ?? ${mutationKeyName}(${mutationKeyParams.toCall()})\n\n return createMutation<${generics}>({\n mutationFn: async(${dataParams.toConstructor()}) => {\n return ${clientName}(${clientParams.toCall()})\n },\n mutationKey,\n ...mutationOptions\n })\n `}\n </Function>\n </File.Source>\n )\n}\n","import { URLPath } from '@kubb/core/utils'\nimport { getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams, Type } from '@kubb/react'\n\nimport { type Operation, isOptional } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport type { ReactNode } from 'react'\nimport type { PluginSvelteQuery, Transformer } from '../types'\n\ntype Props = {\n name: string\n typeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n paramsCasing: PluginSvelteQuery['resolvedOptions']['paramsCasing']\n pathParamsType: PluginSvelteQuery['resolvedOptions']['pathParamsType']\n transformer: Transformer | undefined\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginSvelteQuery['resolvedOptions']['paramsCasing']\n pathParamsType: PluginSvelteQuery['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ pathParamsType, paramsCasing, typeSchemas }: GetParamsProps) {\n return FunctionParams.factory({\n pathParams: {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n },\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n })\n}\n\nconst getTransformer: Transformer = ({ operation, schemas, casing }) => {\n const path = new URLPath(operation.path, { casing })\n const keys = [\n path.toObject({\n type: 'path',\n stringify: true,\n }),\n schemas.queryParams?.name ? '...(params ? [params] : [])' : undefined,\n schemas.request?.name ? '...(data ? [data] : [])' : undefined,\n ].filter(Boolean)\n\n return keys\n}\n\nexport function QueryKey({ name, typeSchemas, paramsCasing, pathParamsType, operation, typeName, transformer = getTransformer }: Props): ReactNode {\n const params = getParams({ pathParamsType, paramsCasing, typeSchemas })\n const keys = transformer({\n operation,\n schemas: typeSchemas,\n casing: paramsCasing,\n })\n\n return (\n <>\n <File.Source name={name} isExportable isIndexable>\n <Function.Arrow name={name} export params={params.toConstructor()} singleLine>\n {`[${keys.join(', ')}] as const`}\n </Function.Arrow>\n </File.Source>\n <File.Source name={typeName} isExportable isIndexable isTypeOnly>\n <Type name={typeName} export>\n {`ReturnType<typeof ${name}>`}\n </Type>\n </File.Source>\n </>\n )\n}\n\nQueryKey.getParams = getParams\nQueryKey.getTransformer = getTransformer\n","import { getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams } from '@kubb/react'\n\nimport type { ReactNode } from 'react'\n\nimport { isOptional } from '@kubb/oas'\nimport { Client } from '@kubb/plugin-client/components'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport type { PluginSvelteQuery } from '../types.ts'\nimport { QueryKey } from './QueryKey.tsx'\n\ntype Props = {\n name: string\n clientName: string\n queryKeyName: string\n typeSchemas: OperationSchemas\n paramsCasing: PluginSvelteQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSvelteQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSvelteQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSvelteQuery['resolvedOptions']['client']['dataReturnType']\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginSvelteQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSvelteQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSvelteQuery['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas }: GetParamsProps) {\n if (paramsType === 'object') {\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n },\n },\n config: {\n type: typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>',\n default: '{}',\n },\n })\n }\n\n return FunctionParams.factory({\n pathParams: typeSchemas.pathParams?.name\n ? {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n optional: isOptional(typeSchemas.pathParams?.schema),\n }\n : undefined,\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n config: {\n type: typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>',\n default: '{}',\n },\n })\n}\n\nexport function QueryOptions({ name, clientName, typeSchemas, paramsCasing, paramsType, dataReturnType, pathParamsType, queryKeyName }: Props): ReactNode {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'}>`\n\n const params = getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas })\n const clientParams = Client.getParams({\n paramsType,\n paramsCasing,\n typeSchemas,\n pathParamsType,\n })\n const queryKeyParams = QueryKey.getParams({\n pathParamsType,\n paramsCasing,\n typeSchemas,\n })\n\n const enabled = Object.entries(queryKeyParams.flatParams)\n .map(([key, item]) => (item && !item.optional ? key : undefined))\n .filter(Boolean)\n .join('&& ')\n\n const enabledText = enabled ? `enabled: !!(${enabled}),` : ''\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Function name={name} export params={params.toConstructor()}>\n {`\n const queryKey = ${queryKeyName}(${queryKeyParams.toCall()})\n return queryOptions<${TData}, ${TError}, ${TData}, typeof queryKey>({\n ${enabledText}\n queryKey,\n queryFn: async ({ signal }) => {\n config.signal = signal\n return ${clientName}(${clientParams.toCall()})\n },\n })\n`}\n </Function>\n </File.Source>\n )\n}\n\nQueryOptions.getParams = getParams\n","import { File, Function, FunctionParams } from '@kubb/react'\n\nimport { type Operation, isOptional } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport { getComments, getPathParams } from '@kubb/plugin-oas/utils'\nimport type { ReactNode } from 'react'\nimport type { PluginSvelteQuery } from '../types.ts'\nimport { QueryKey } from './QueryKey.tsx'\nimport { QueryOptions } from './QueryOptions.tsx'\n\ntype Props = {\n /**\n * Name of the function\n */\n name: string\n queryOptionsName: string\n queryKeyName: string\n queryKeyTypeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n paramsCasing: PluginSvelteQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSvelteQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSvelteQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSvelteQuery['resolvedOptions']['client']['dataReturnType']\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginSvelteQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSvelteQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSvelteQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSvelteQuery['resolvedOptions']['client']['dataReturnType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, paramsCasing, pathParamsType, dataReturnType, typeSchemas }: GetParamsProps) {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'}>`\n\n if (paramsType === 'object') {\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n },\n },\n options: {\n type: `\n{\n query?: Partial<CreateBaseQueryOptions<${[TData, TError, 'TData', 'TQueryData', 'TQueryKey'].join(', ')}>>,\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>'}\n}\n`,\n default: '{}',\n },\n })\n }\n\n return FunctionParams.factory({\n pathParams: typeSchemas.pathParams?.name\n ? {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),\n optional: isOptional(typeSchemas.pathParams?.schema),\n }\n : undefined,\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n options: {\n type: `\n{\n query?: Partial<CreateBaseQueryOptions<${[TData, TError, 'TData', 'TQueryData', 'TQueryKey'].join(', ')}>>,\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>'}\n}\n`,\n default: '{}',\n },\n })\n}\n\nexport function Query({\n name,\n queryKeyTypeName,\n queryOptionsName,\n queryKeyName,\n paramsType,\n paramsCasing,\n pathParamsType,\n dataReturnType,\n typeSchemas,\n operation,\n}: Props): ReactNode {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'}>`\n const returnType = `CreateQueryResult<${['TData', TError].join(', ')}> & { queryKey: TQueryKey }`\n const generics = [`TData = ${TData}`, `TQueryData = ${TData}`, `TQueryKey extends QueryKey = ${queryKeyTypeName}`]\n\n const queryKeyParams = QueryKey.getParams({\n pathParamsType,\n paramsCasing,\n typeSchemas,\n })\n const queryOptionsParams = QueryOptions.getParams({\n paramsType,\n paramsCasing,\n pathParamsType,\n typeSchemas,\n })\n const params = getParams({\n paramsType,\n paramsCasing,\n pathParamsType,\n dataReturnType,\n typeSchemas,\n })\n\n const queryOptions = `${queryOptionsName}(${queryOptionsParams.toCall()}) as unknown as CreateBaseQueryOptions`\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Function\n name={name}\n export\n generics={generics.join(', ')}\n params={params.toConstructor()}\n JSDoc={{\n comments: getComments(operation),\n }}\n >\n {`\n const { query: queryOptions, client: config = {} } = options ?? {}\n const queryKey = queryOptions?.queryKey ?? ${queryKeyName}(${queryKeyParams.toCall()})\n\n const query = createQuery({\n ...${queryOptions},\n queryKey,\n ...queryOptions as unknown as Omit<CreateBaseQueryOptions, \"queryKey\">\n }) as ${returnType}\n\n query.queryKey = queryKey as TQueryKey\n\n return query\n `}\n </Function>\n </File.Source>\n )\n}\n\nQuery.getParams = getParams\n"]}
@@ -6,6 +6,31 @@ import { jsx, jsxs, Fragment } from '@kubb/react/jsx-runtime';
6
6
 
7
7
  // src/components/Mutation.tsx
8
8
  function getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas }) {
9
+ if (paramsType === "object") {
10
+ return FunctionParams.factory({
11
+ data: {
12
+ mode: "object",
13
+ children: {
14
+ ...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing })
15
+ }
16
+ }
17
+ });
18
+ }
19
+ return FunctionParams.factory({
20
+ pathParams: typeSchemas.pathParams?.name ? {
21
+ mode: pathParamsType === "object" ? "object" : "inlineSpread",
22
+ children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),
23
+ optional: isOptional(typeSchemas.pathParams?.schema)
24
+ } : void 0
25
+ });
26
+ }
27
+ function Url({ name, isExportable = true, isIndexable = true, typeSchemas, baseURL, paramsType, paramsCasing, pathParamsType, operation }) {
28
+ const path = new URLPath(operation.path, { casing: paramsCasing });
29
+ const params = getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas });
30
+ return /* @__PURE__ */ jsx(File.Source, { name, isExportable, isIndexable, children: /* @__PURE__ */ jsx(Function, { name, export: isExportable, params: params.toConstructor(), children: `return ${path.toTemplateString({ prefix: baseURL })} as const` }) });
31
+ }
32
+ Url.getParams = getParams;
33
+ function getParams2({ paramsType, paramsCasing, pathParamsType, typeSchemas }) {
9
34
  if (paramsType === "object") {
10
35
  return FunctionParams.factory({
11
36
  data: {
@@ -68,7 +93,8 @@ function Client({
68
93
  paramsType,
69
94
  paramsCasing,
70
95
  pathParamsType,
71
- operation
96
+ operation,
97
+ urlName
72
98
  }) {
73
99
  const path = new URLPath(operation.path, { casing: paramsCasing });
74
100
  const contentType = operation.getContentType();
@@ -77,12 +103,15 @@ function Client({
77
103
  contentType !== "application/json" ? `'Content-Type': '${contentType}'` : void 0,
78
104
  typeSchemas.headerParams?.name ? "...headers" : void 0
79
105
  ].filter(Boolean);
80
- const generics = [
81
- typeSchemas.response.name,
82
- typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error",
83
- typeSchemas.request?.name || "unknown"
84
- ].filter(Boolean);
85
- const params = getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas });
106
+ const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"}>`;
107
+ const generics = [typeSchemas.response.name, TError, typeSchemas.request?.name || "unknown"].filter(Boolean);
108
+ const params = getParams2({ paramsType, paramsCasing, pathParamsType, typeSchemas });
109
+ const urlParams = Url.getParams({
110
+ paramsType,
111
+ paramsCasing,
112
+ pathParamsType,
113
+ typeSchemas
114
+ });
86
115
  const clientParams = FunctionParams.factory({
87
116
  config: {
88
117
  mode: "object",
@@ -91,9 +120,9 @@ function Client({
91
120
  value: JSON.stringify(operation.method.toUpperCase())
92
121
  },
93
122
  url: {
94
- value: path.template
123
+ value: urlName ? `${urlName}(${urlParams.toCall()}).toString()` : path.template
95
124
  },
96
- baseURL: baseURL ? {
125
+ baseURL: baseURL && !urlName ? {
97
126
  value: JSON.stringify(baseURL)
98
127
  } : void 0,
99
128
  params: typeSchemas.queryParams?.name ? {} : void 0,
@@ -142,8 +171,8 @@ function Client({
142
171
  }
143
172
  ) });
144
173
  }
145
- Client.getParams = getParams;
146
- function getParams2({}) {
174
+ Client.getParams = getParams2;
175
+ function getParams3({}) {
147
176
  return FunctionParams.factory({});
148
177
  }
149
178
  var getTransformer = ({ operation, casing }) => {
@@ -151,17 +180,18 @@ var getTransformer = ({ operation, casing }) => {
151
180
  return [JSON.stringify({ url: path.path })].filter(Boolean);
152
181
  };
153
182
  function MutationKey({ name, typeSchemas, paramsCasing, pathParamsType, operation, typeName, transformer = getTransformer }) {
154
- const params = getParams2({ pathParamsType, typeSchemas });
183
+ const params = getParams3({ pathParamsType, typeSchemas });
155
184
  const keys = transformer({ operation, schemas: typeSchemas, casing: paramsCasing });
156
185
  return /* @__PURE__ */ jsxs(Fragment, { children: [
157
186
  /* @__PURE__ */ jsx(File.Source, { name, isExportable: true, isIndexable: true, children: /* @__PURE__ */ jsx(Function.Arrow, { name, export: true, params: params.toConstructor(), singleLine: true, children: `[${keys.join(", ")}] as const` }) }),
158
187
  /* @__PURE__ */ jsx(File.Source, { name: typeName, isExportable: true, isIndexable: true, isTypeOnly: true, children: /* @__PURE__ */ jsx(Type, { name: typeName, export: true, children: `ReturnType<typeof ${name}>` }) })
159
188
  ] });
160
189
  }
161
- MutationKey.getParams = getParams2;
190
+ MutationKey.getParams = getParams3;
162
191
  MutationKey.getTransformer = getTransformer;
163
- function getParams3({ paramsCasing, dataReturnType, typeSchemas }) {
192
+ function getParams4({ paramsCasing, dataReturnType, typeSchemas }) {
164
193
  const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
194
+ const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"}>`;
165
195
  const mutationParams = FunctionParams.factory({
166
196
  ...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),
167
197
  data: typeSchemas.request?.name ? {
@@ -182,7 +212,7 @@ function getParams3({ paramsCasing, dataReturnType, typeSchemas }) {
182
212
  options: {
183
213
  type: `
184
214
  {
185
- mutation?: CreateMutationOptions<${[TData, typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error", TRequest ? `{${TRequest}}` : void 0].filter(Boolean).join(", ")}>,
215
+ mutation?: CreateMutationOptions<${[TData, TError, TRequest ? `{${TRequest}}` : void 0].filter(Boolean).join(", ")}>,
186
216
  client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : "Partial<RequestConfig>"},
187
217
  }
188
218
  `,
@@ -205,7 +235,7 @@ function Mutation({
205
235
  pathParamsType,
206
236
  typeSchemas
207
237
  });
208
- const params = getParams3({
238
+ const params = getParams4({
209
239
  paramsCasing,
210
240
  pathParamsType,
211
241
  dataReturnType,
@@ -250,7 +280,8 @@ function Mutation({
250
280
  });
251
281
  const TRequest = mutationParams.toConstructor({ valueAsType: true });
252
282
  const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
253
- const generics = [TData, typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error", TRequest ? `{${TRequest}}` : void 0].filter(Boolean).join(", ");
283
+ const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"}>`;
284
+ const generics = [TData, TError, TRequest ? `{${TRequest}}` : void 0].filter(Boolean).join(", ");
254
285
  return /* @__PURE__ */ jsx(File.Source, { name, isExportable: true, isIndexable: true, children: /* @__PURE__ */ jsx(
255
286
  Function,
256
287
  {
@@ -275,7 +306,7 @@ function Mutation({
275
306
  }
276
307
  ) });
277
308
  }
278
- function getParams4({ pathParamsType, paramsCasing, typeSchemas }) {
309
+ function getParams5({ pathParamsType, paramsCasing, typeSchemas }) {
279
310
  return FunctionParams.factory({
280
311
  pathParams: {
281
312
  mode: pathParamsType === "object" ? "object" : "inlineSpread",
@@ -304,7 +335,7 @@ var getTransformer2 = ({ operation, schemas, casing }) => {
304
335
  return keys;
305
336
  };
306
337
  function QueryKey({ name, typeSchemas, paramsCasing, pathParamsType, operation, typeName, transformer = getTransformer2 }) {
307
- const params = getParams4({ pathParamsType, paramsCasing, typeSchemas });
338
+ const params = getParams5({ pathParamsType, paramsCasing, typeSchemas });
308
339
  const keys = transformer({
309
340
  operation,
310
341
  schemas: typeSchemas,
@@ -315,9 +346,9 @@ function QueryKey({ name, typeSchemas, paramsCasing, pathParamsType, operation,
315
346
  /* @__PURE__ */ jsx(File.Source, { name: typeName, isExportable: true, isIndexable: true, isTypeOnly: true, children: /* @__PURE__ */ jsx(Type, { name: typeName, export: true, children: `ReturnType<typeof ${name}>` }) })
316
347
  ] });
317
348
  }
318
- QueryKey.getParams = getParams4;
349
+ QueryKey.getParams = getParams5;
319
350
  QueryKey.getTransformer = getTransformer2;
320
- function getParams5({ paramsType, paramsCasing, pathParamsType, typeSchemas }) {
351
+ function getParams6({ paramsType, paramsCasing, pathParamsType, typeSchemas }) {
321
352
  if (paramsType === "object") {
322
353
  return FunctionParams.factory({
323
354
  data: {
@@ -368,8 +399,10 @@ function getParams5({ paramsType, paramsCasing, pathParamsType, typeSchemas }) {
368
399
  }
369
400
  });
370
401
  }
371
- function QueryOptions({ name, clientName, typeSchemas, paramsCasing, paramsType, pathParamsType, queryKeyName }) {
372
- const params = getParams5({ paramsType, paramsCasing, pathParamsType, typeSchemas });
402
+ function QueryOptions({ name, clientName, typeSchemas, paramsCasing, paramsType, dataReturnType, pathParamsType, queryKeyName }) {
403
+ const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
404
+ const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"}>`;
405
+ const params = getParams6({ paramsType, paramsCasing, pathParamsType, typeSchemas });
373
406
  const clientParams = Client.getParams({
374
407
  paramsType,
375
408
  paramsCasing,
@@ -385,7 +418,7 @@ function QueryOptions({ name, clientName, typeSchemas, paramsCasing, paramsType,
385
418
  const enabledText = enabled ? `enabled: !!(${enabled}),` : "";
386
419
  return /* @__PURE__ */ jsx(File.Source, { name, isExportable: true, isIndexable: true, children: /* @__PURE__ */ jsx(Function, { name, export: true, params: params.toConstructor(), children: `
387
420
  const queryKey = ${queryKeyName}(${queryKeyParams.toCall()})
388
- return queryOptions({
421
+ return queryOptions<${TData}, ${TError}, ${TData}, typeof queryKey>({
389
422
  ${enabledText}
390
423
  queryKey,
391
424
  queryFn: async ({ signal }) => {
@@ -395,9 +428,10 @@ function QueryOptions({ name, clientName, typeSchemas, paramsCasing, paramsType,
395
428
  })
396
429
  ` }) });
397
430
  }
398
- QueryOptions.getParams = getParams5;
399
- function getParams6({ paramsType, paramsCasing, pathParamsType, dataReturnType, typeSchemas }) {
431
+ QueryOptions.getParams = getParams6;
432
+ function getParams7({ paramsType, paramsCasing, pathParamsType, dataReturnType, typeSchemas }) {
400
433
  const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
434
+ const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"}>`;
401
435
  if (paramsType === "object") {
402
436
  return FunctionParams.factory({
403
437
  data: {
@@ -421,7 +455,7 @@ function getParams6({ paramsType, paramsCasing, pathParamsType, dataReturnType,
421
455
  options: {
422
456
  type: `
423
457
  {
424
- query?: Partial<CreateBaseQueryOptions<${[TData, typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error", "TData", "TQueryData", "TQueryKey"].join(", ")}>>,
458
+ query?: Partial<CreateBaseQueryOptions<${[TData, TError, "TData", "TQueryData", "TQueryKey"].join(", ")}>>,
425
459
  client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : "Partial<RequestConfig>"}
426
460
  }
427
461
  `,
@@ -450,7 +484,7 @@ function getParams6({ paramsType, paramsCasing, pathParamsType, dataReturnType,
450
484
  options: {
451
485
  type: `
452
486
  {
453
- query?: Partial<CreateBaseQueryOptions<${[TData, typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error", "TData", "TQueryData", "TQueryKey"].join(", ")}>>,
487
+ query?: Partial<CreateBaseQueryOptions<${[TData, TError, "TData", "TQueryData", "TQueryKey"].join(", ")}>>,
454
488
  client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : "Partial<RequestConfig>"}
455
489
  }
456
490
  `,
@@ -471,7 +505,8 @@ function Query({
471
505
  operation
472
506
  }) {
473
507
  const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
474
- const returnType = `CreateQueryResult<${["TData", typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"].join(", ")}> & { queryKey: TQueryKey }`;
508
+ const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"}>`;
509
+ const returnType = `CreateQueryResult<${["TData", TError].join(", ")}> & { queryKey: TQueryKey }`;
475
510
  const generics = [`TData = ${TData}`, `TQueryData = ${TData}`, `TQueryKey extends QueryKey = ${queryKeyTypeName}`];
476
511
  const queryKeyParams = QueryKey.getParams({
477
512
  pathParamsType,
@@ -484,7 +519,7 @@ function Query({
484
519
  pathParamsType,
485
520
  typeSchemas
486
521
  });
487
- const params = getParams6({
522
+ const params = getParams7({
488
523
  paramsType,
489
524
  paramsCasing,
490
525
  pathParamsType,
@@ -519,8 +554,8 @@ function Query({
519
554
  }
520
555
  ) });
521
556
  }
522
- Query.getParams = getParams6;
557
+ Query.getParams = getParams7;
523
558
 
524
559
  export { Client, Mutation, MutationKey, Query, QueryKey, QueryOptions };
525
- //# sourceMappingURL=chunk-EZRBBWGF.js.map
526
- //# sourceMappingURL=chunk-EZRBBWGF.js.map
560
+ //# sourceMappingURL=chunk-EE3OWZ2P.js.map
561
+ //# sourceMappingURL=chunk-EE3OWZ2P.js.map