@kubb/plugin-solid-query 3.16.2 → 3.16.4

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 (39) hide show
  1. package/dist/components-CNM6UaoG.js +320 -0
  2. package/dist/components-CNM6UaoG.js.map +1 -0
  3. package/dist/components-LAcBpjX8.cjs +366 -0
  4. package/dist/components-LAcBpjX8.cjs.map +1 -0
  5. package/dist/components.cjs +4 -19
  6. package/dist/components.d.cts +143 -57
  7. package/dist/components.d.ts +143 -57
  8. package/dist/components.js +3 -3
  9. package/dist/generators-DS71XOIi.cjs +199 -0
  10. package/dist/generators-DS71XOIi.cjs.map +1 -0
  11. package/dist/generators-DU74wsZY.js +194 -0
  12. package/dist/generators-DU74wsZY.js.map +1 -0
  13. package/dist/generators.cjs +3 -12
  14. package/dist/generators.d.cts +5 -7
  15. package/dist/generators.d.ts +5 -7
  16. package/dist/generators.js +4 -4
  17. package/dist/index.cjs +97 -128
  18. package/dist/index.cjs.map +1 -1
  19. package/dist/index.d.cts +6 -8
  20. package/dist/index.d.ts +6 -8
  21. package/dist/index.js +97 -122
  22. package/dist/index.js.map +1 -1
  23. package/dist/types-C4Kxe-X1.d.ts +1335 -0
  24. package/dist/types-DULzisVA.d.cts +1335 -0
  25. package/package.json +23 -28
  26. package/dist/chunk-DVQAS6QW.cjs +0 -265
  27. package/dist/chunk-DVQAS6QW.cjs.map +0 -1
  28. package/dist/chunk-IH7LFLIP.cjs +0 -161
  29. package/dist/chunk-IH7LFLIP.cjs.map +0 -1
  30. package/dist/chunk-U7KQKXOC.js +0 -159
  31. package/dist/chunk-U7KQKXOC.js.map +0 -1
  32. package/dist/chunk-XXQM3BYJ.js +0 -261
  33. package/dist/chunk-XXQM3BYJ.js.map +0 -1
  34. package/dist/components.cjs.map +0 -1
  35. package/dist/components.js.map +0 -1
  36. package/dist/generators.cjs.map +0 -1
  37. package/dist/generators.js.map +0 -1
  38. package/dist/types-Cx6RgBxP.d.cts +0 -114
  39. package/dist/types-Cx6RgBxP.d.ts +0 -114
@@ -0,0 +1,320 @@
1
+ import { File, Function, FunctionParams, Type } from "@kubb/react";
2
+ import { isOptional } from "@kubb/oas";
3
+ import { getComments, getPathParams } from "@kubb/plugin-oas/utils";
4
+ import { URLPath } from "@kubb/core/utils";
5
+ import { Fragment, jsx, jsxs } from "@kubb/react/jsx-runtime";
6
+ import { Client } from "@kubb/plugin-client/components";
7
+
8
+ //#region src/components/QueryKey.tsx
9
+ function getParams$2({ pathParamsType, paramsCasing, typeSchemas }) {
10
+ return FunctionParams.factory({
11
+ pathParams: {
12
+ mode: pathParamsType === "object" ? "object" : "inlineSpread",
13
+ children: getPathParams(typeSchemas.pathParams, {
14
+ typed: true,
15
+ casing: paramsCasing
16
+ })
17
+ },
18
+ data: typeSchemas.request?.name ? {
19
+ type: typeSchemas.request?.name,
20
+ optional: isOptional(typeSchemas.request?.schema)
21
+ } : void 0,
22
+ params: typeSchemas.queryParams?.name ? {
23
+ type: typeSchemas.queryParams?.name,
24
+ optional: isOptional(typeSchemas.queryParams?.schema)
25
+ } : void 0
26
+ });
27
+ }
28
+ const getTransformer = ({ operation, schemas, casing }) => {
29
+ const path = new URLPath(operation.path, { casing });
30
+ const keys = [
31
+ path.toObject({
32
+ type: "path",
33
+ stringify: true
34
+ }),
35
+ schemas.queryParams?.name ? "...(params ? [params] : [])" : void 0,
36
+ schemas.request?.name ? "...(data ? [data] : [])" : void 0
37
+ ].filter(Boolean);
38
+ return keys;
39
+ };
40
+ function QueryKey({ name, typeSchemas, paramsCasing, pathParamsType, operation, typeName, transformer = getTransformer }) {
41
+ const params = getParams$2({
42
+ pathParamsType,
43
+ paramsCasing,
44
+ typeSchemas
45
+ });
46
+ const keys = transformer({
47
+ operation,
48
+ schemas: typeSchemas,
49
+ casing: paramsCasing
50
+ });
51
+ return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(File.Source, {
52
+ name,
53
+ isExportable: true,
54
+ isIndexable: true,
55
+ children: /* @__PURE__ */ jsx(Function.Arrow, {
56
+ name,
57
+ export: true,
58
+ params: params.toConstructor(),
59
+ singleLine: true,
60
+ children: `[${keys.join(", ")}] as const`
61
+ })
62
+ }), /* @__PURE__ */ jsx(File.Source, {
63
+ name: typeName,
64
+ isExportable: true,
65
+ isIndexable: true,
66
+ isTypeOnly: true,
67
+ children: /* @__PURE__ */ jsx(Type, {
68
+ name: typeName,
69
+ export: true,
70
+ children: `ReturnType<typeof ${name}>`
71
+ })
72
+ })] });
73
+ }
74
+ QueryKey.getParams = getParams$2;
75
+ QueryKey.getTransformer = getTransformer;
76
+
77
+ //#endregion
78
+ //#region src/components/QueryOptions.tsx
79
+ function getParams$1({ paramsType, paramsCasing, pathParamsType, typeSchemas }) {
80
+ if (paramsType === "object") return FunctionParams.factory({
81
+ data: {
82
+ mode: "object",
83
+ children: {
84
+ ...getPathParams(typeSchemas.pathParams, {
85
+ typed: true,
86
+ casing: paramsCasing
87
+ }),
88
+ data: typeSchemas.request?.name ? {
89
+ type: typeSchemas.request?.name,
90
+ optional: isOptional(typeSchemas.request?.schema)
91
+ } : void 0,
92
+ params: typeSchemas.queryParams?.name ? {
93
+ type: typeSchemas.queryParams?.name,
94
+ optional: isOptional(typeSchemas.queryParams?.schema)
95
+ } : void 0,
96
+ headers: typeSchemas.headerParams?.name ? {
97
+ type: typeSchemas.headerParams?.name,
98
+ optional: isOptional(typeSchemas.headerParams?.schema)
99
+ } : void 0
100
+ }
101
+ },
102
+ config: {
103
+ type: typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }` : "Partial<RequestConfig> & { client?: typeof fetch }",
104
+ default: "{}"
105
+ }
106
+ });
107
+ return FunctionParams.factory({
108
+ pathParams: typeSchemas.pathParams?.name ? {
109
+ mode: pathParamsType === "object" ? "object" : "inlineSpread",
110
+ children: getPathParams(typeSchemas.pathParams, {
111
+ typed: true,
112
+ casing: paramsCasing
113
+ }),
114
+ optional: isOptional(typeSchemas.pathParams?.schema)
115
+ } : void 0,
116
+ data: typeSchemas.request?.name ? {
117
+ type: typeSchemas.request?.name,
118
+ optional: isOptional(typeSchemas.request?.schema)
119
+ } : void 0,
120
+ params: typeSchemas.queryParams?.name ? {
121
+ type: typeSchemas.queryParams?.name,
122
+ optional: isOptional(typeSchemas.queryParams?.schema)
123
+ } : void 0,
124
+ headers: typeSchemas.headerParams?.name ? {
125
+ type: typeSchemas.headerParams?.name,
126
+ optional: isOptional(typeSchemas.headerParams?.schema)
127
+ } : void 0,
128
+ config: {
129
+ type: typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }` : "Partial<RequestConfig> & { client?: typeof fetch }",
130
+ default: "{}"
131
+ }
132
+ });
133
+ }
134
+ function QueryOptions({ name, clientName, typeSchemas, paramsCasing, paramsType, dataReturnType, pathParamsType, queryKeyName }) {
135
+ const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
136
+ const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"}>`;
137
+ const params = getParams$1({
138
+ paramsType,
139
+ paramsCasing,
140
+ pathParamsType,
141
+ typeSchemas
142
+ });
143
+ const clientParams = Client.getParams({
144
+ paramsCasing,
145
+ typeSchemas,
146
+ paramsType,
147
+ pathParamsType,
148
+ isConfigurable: true
149
+ });
150
+ const queryKeyParams = QueryKey.getParams({
151
+ pathParamsType,
152
+ paramsCasing,
153
+ typeSchemas
154
+ });
155
+ const enabled = Object.entries(queryKeyParams.flatParams).map(([key, item]) => item && !item.optional ? key : void 0).filter(Boolean).join("&& ");
156
+ const enabledText = enabled ? `enabled: !!(${enabled}),` : "";
157
+ return /* @__PURE__ */ jsx(File.Source, {
158
+ name,
159
+ isExportable: true,
160
+ isIndexable: true,
161
+ children: /* @__PURE__ */ jsx(Function, {
162
+ name,
163
+ export: true,
164
+ params: params.toConstructor(),
165
+ children: `
166
+ const queryKey = ${queryKeyName}(${queryKeyParams.toCall()})
167
+ return queryOptions<${TData}, ${TError}, ${TData}, typeof queryKey>({
168
+ ${enabledText}
169
+ queryKey,
170
+ queryFn: async ({ signal }) => {
171
+ config.signal = signal
172
+ return ${clientName}(${clientParams.toCall()})
173
+ },
174
+ })
175
+ `
176
+ })
177
+ });
178
+ }
179
+ QueryOptions.getParams = getParams$1;
180
+
181
+ //#endregion
182
+ //#region src/components/Query.tsx
183
+ function getParams({ paramsType, paramsCasing, pathParamsType, dataReturnType, typeSchemas }) {
184
+ const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
185
+ const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"}>`;
186
+ if (paramsType === "object") return FunctionParams.factory({
187
+ data: {
188
+ mode: "object",
189
+ children: {
190
+ ...getPathParams(typeSchemas.pathParams, {
191
+ typed: true,
192
+ casing: paramsCasing
193
+ }),
194
+ data: typeSchemas.request?.name ? {
195
+ type: typeSchemas.request?.name,
196
+ optional: isOptional(typeSchemas.request?.schema)
197
+ } : void 0,
198
+ params: typeSchemas.queryParams?.name ? {
199
+ type: typeSchemas.queryParams?.name,
200
+ optional: isOptional(typeSchemas.queryParams?.schema)
201
+ } : void 0,
202
+ headers: typeSchemas.headerParams?.name ? {
203
+ type: typeSchemas.headerParams?.name,
204
+ optional: isOptional(typeSchemas.headerParams?.schema)
205
+ } : void 0
206
+ }
207
+ },
208
+ options: {
209
+ type: `
210
+ {
211
+ query?: Partial<UseBaseQueryOptions<${[
212
+ TData,
213
+ TError,
214
+ "TData",
215
+ "TQueryData",
216
+ "TQueryKey"
217
+ ].join(", ")}>> & { client?: QueryClient },
218
+ client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }` : "Partial<RequestConfig> & { client?: typeof fetch }"}
219
+ }
220
+ `,
221
+ default: "{}"
222
+ }
223
+ });
224
+ return FunctionParams.factory({
225
+ pathParams: typeSchemas.pathParams?.name ? {
226
+ mode: pathParamsType === "object" ? "object" : "inlineSpread",
227
+ children: getPathParams(typeSchemas.pathParams, {
228
+ typed: true,
229
+ casing: paramsCasing
230
+ }),
231
+ optional: isOptional(typeSchemas.pathParams?.schema)
232
+ } : void 0,
233
+ data: typeSchemas.request?.name ? {
234
+ type: typeSchemas.request?.name,
235
+ optional: isOptional(typeSchemas.request?.schema)
236
+ } : void 0,
237
+ params: typeSchemas.queryParams?.name ? {
238
+ type: typeSchemas.queryParams?.name,
239
+ optional: isOptional(typeSchemas.queryParams?.schema)
240
+ } : void 0,
241
+ headers: typeSchemas.headerParams?.name ? {
242
+ type: typeSchemas.headerParams?.name,
243
+ optional: isOptional(typeSchemas.headerParams?.schema)
244
+ } : void 0,
245
+ options: {
246
+ type: `
247
+ {
248
+ query?: Partial<UseBaseQueryOptions<${[
249
+ TData,
250
+ TError,
251
+ "TData",
252
+ "TQueryData",
253
+ "TQueryKey"
254
+ ].join(", ")}>> & { client?: QueryClient },
255
+ client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }` : "Partial<RequestConfig> & { client?: typeof fetch }"}
256
+ }
257
+ `,
258
+ default: "{}"
259
+ }
260
+ });
261
+ }
262
+ function Query({ name, queryKeyTypeName, queryOptionsName, queryKeyName, paramsCasing, paramsType, pathParamsType, dataReturnType, typeSchemas, operation }) {
263
+ const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
264
+ const TError = `ResponseErrorConfig<${typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"}>`;
265
+ const returnType = `UseQueryResult<${["TData", TError].join(", ")}> & { queryKey: TQueryKey }`;
266
+ const generics = [
267
+ `TData = ${TData}`,
268
+ `TQueryData = ${TData}`,
269
+ `TQueryKey extends QueryKey = ${queryKeyTypeName}`
270
+ ];
271
+ const queryKeyParams = QueryKey.getParams({
272
+ pathParamsType,
273
+ typeSchemas,
274
+ paramsCasing
275
+ });
276
+ const queryOptionsParams = QueryOptions.getParams({
277
+ paramsType,
278
+ paramsCasing,
279
+ pathParamsType,
280
+ typeSchemas
281
+ });
282
+ const params = getParams({
283
+ paramsCasing,
284
+ paramsType,
285
+ pathParamsType,
286
+ dataReturnType,
287
+ typeSchemas
288
+ });
289
+ const queryOptions = `${queryOptionsName}(${queryOptionsParams.toCall()}) as unknown as UseBaseQueryOptions`;
290
+ return /* @__PURE__ */ jsx(File.Source, {
291
+ name,
292
+ isExportable: true,
293
+ isIndexable: true,
294
+ children: /* @__PURE__ */ jsx(Function, {
295
+ name,
296
+ export: true,
297
+ generics: generics.join(", "),
298
+ params: params.toConstructor(),
299
+ JSDoc: { comments: getComments(operation) },
300
+ children: `
301
+ const { query: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {}
302
+ const queryKey = queryOptions?.queryKey ?? ${queryKeyName}(${queryKeyParams.toCall()})
303
+
304
+ const query = createQuery(() => ({
305
+ ...${queryOptions},
306
+ queryKey,
307
+ initialData: null,
308
+ ...queryOptions as unknown as Omit<UseBaseQueryOptions, "queryKey">
309
+ }), queryClient? () => queryClient: undefined) as ${returnType}
310
+
311
+ return query
312
+ `
313
+ })
314
+ });
315
+ }
316
+ Query.getParams = getParams;
317
+
318
+ //#endregion
319
+ export { Query, QueryKey, QueryOptions };
320
+ //# sourceMappingURL=components-CNM6UaoG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components-CNM6UaoG.js","names":["getParams","getTransformer: Transformer","getParams"],"sources":["../src/components/QueryKey.tsx","../src/components/QueryOptions.tsx","../src/components/Query.tsx"],"sourcesContent":["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 { PluginSolidQuery, Transformer } from '../types'\n\ntype Props = {\n name: string\n typeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n transformer: Transformer | undefined\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n pathParamsType: PluginSolidQuery['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 { PluginSolidQuery } 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: PluginSolidQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType']\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['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\n ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }`\n : 'Partial<RequestConfig> & { client?: typeof fetch }',\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\n ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }`\n : 'Partial<RequestConfig> & { client?: typeof fetch }',\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 paramsCasing,\n typeSchemas,\n paramsType,\n pathParamsType,\n isConfigurable: true,\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 { PluginSolidQuery } 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: PluginSolidQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType']\n}\n\ntype GetParamsProps = {\n paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSolidQuery['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<UseBaseQueryOptions<${[TData, TError, 'TData', 'TQueryData', 'TQueryKey'].join(', ')}>> & { client?: QueryClient },\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }` : 'Partial<RequestConfig> & { client?: typeof fetch }'}\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<UseBaseQueryOptions<${[TData, TError, 'TData', 'TQueryData', 'TQueryKey'].join(', ')}>> & { client?: QueryClient },\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: typeof fetch }` : 'Partial<RequestConfig> & { client?: typeof fetch }'}\n}\n`,\n default: '{}',\n },\n })\n}\n\nexport function Query({\n name,\n queryKeyTypeName,\n queryOptionsName,\n queryKeyName,\n paramsCasing,\n paramsType,\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 = `UseQueryResult<${['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 typeSchemas,\n paramsCasing,\n })\n const queryOptionsParams = QueryOptions.getParams({\n paramsType,\n paramsCasing,\n pathParamsType,\n typeSchemas,\n })\n const params = getParams({\n paramsCasing,\n paramsType,\n pathParamsType,\n dataReturnType,\n typeSchemas,\n })\n\n const queryOptions = `${queryOptionsName}(${queryOptionsParams.toCall()}) as unknown as UseBaseQueryOptions`\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: { client: queryClient, ...queryOptions } = {}, client: config = {} } = options ?? {}\n const queryKey = queryOptions?.queryKey ?? ${queryKeyName}(${queryKeyParams.toCall()})\n\n const query = createQuery(() => ({\n ...${queryOptions},\n queryKey,\n initialData: null,\n ...queryOptions as unknown as Omit<UseBaseQueryOptions, \"queryKey\">\n }), queryClient? () => queryClient: undefined) as ${returnType}\n\n return query\n `}\n </Function>\n </File.Source>\n )\n}\n\nQuery.getParams = getParams\n"],"mappings":"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"}