@kubb/plugin-solid-query 0.0.0-canary-20241104172400

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 (48) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +53 -0
  3. package/dist/chunk-34VWVEUR.js +341 -0
  4. package/dist/chunk-34VWVEUR.js.map +1 -0
  5. package/dist/chunk-36LQSNHS.js +400 -0
  6. package/dist/chunk-36LQSNHS.js.map +1 -0
  7. package/dist/chunk-642OIIJK.cjs +347 -0
  8. package/dist/chunk-642OIIJK.cjs.map +1 -0
  9. package/dist/chunk-Y6RUU6PO.cjs +406 -0
  10. package/dist/chunk-Y6RUU6PO.cjs.map +1 -0
  11. package/dist/components.cjs +20 -0
  12. package/dist/components.cjs.map +1 -0
  13. package/dist/components.d.cts +69 -0
  14. package/dist/components.d.ts +69 -0
  15. package/dist/components.js +3 -0
  16. package/dist/components.js.map +1 -0
  17. package/dist/generators.cjs +13 -0
  18. package/dist/generators.cjs.map +1 -0
  19. package/dist/generators.d.cts +8 -0
  20. package/dist/generators.d.ts +8 -0
  21. package/dist/generators.js +4 -0
  22. package/dist/generators.js.map +1 -0
  23. package/dist/index.cjs +119 -0
  24. package/dist/index.cjs.map +1 -0
  25. package/dist/index.d.cts +9 -0
  26. package/dist/index.d.ts +9 -0
  27. package/dist/index.js +112 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/types-DXL9Aw6E.d.cts +339 -0
  30. package/dist/types-DXL9Aw6E.d.ts +339 -0
  31. package/package.json +102 -0
  32. package/src/components/Query.tsx +177 -0
  33. package/src/components/QueryKey.tsx +83 -0
  34. package/src/components/QueryOptions.tsx +133 -0
  35. package/src/components/index.ts +3 -0
  36. package/src/generators/__snapshots__/clientDataReturnTypeFull.ts +52 -0
  37. package/src/generators/__snapshots__/clientGetImportPath.ts +52 -0
  38. package/src/generators/__snapshots__/findByTags.ts +52 -0
  39. package/src/generators/__snapshots__/findByTagsObject.ts +61 -0
  40. package/src/generators/__snapshots__/findByTagsPathParamsObject.ts +52 -0
  41. package/src/generators/__snapshots__/findByTagsWithCustomQueryKey.ts +52 -0
  42. package/src/generators/__snapshots__/findByTagsWithZod.ts +52 -0
  43. package/src/generators/__snapshots__/postAsQuery.ts +51 -0
  44. package/src/generators/index.ts +1 -0
  45. package/src/generators/queryGenerator.tsx +127 -0
  46. package/src/index.ts +2 -0
  47. package/src/plugin.ts +133 -0
  48. package/src/types.ts +106 -0
@@ -0,0 +1,406 @@
1
+ 'use strict';
2
+
3
+ var react = require('@kubb/react');
4
+ var oas = require('@kubb/oas');
5
+ var utils$1 = require('@kubb/plugin-oas/utils');
6
+ var utils = require('@kubb/core/utils');
7
+ var jsxRuntime = require('@kubb/react/jsx-runtime');
8
+
9
+ // src/components/Query.tsx
10
+ function getParams({ pathParamsType, typeSchemas }) {
11
+ return react.FunctionParams.factory({
12
+ pathParams: {
13
+ mode: pathParamsType === "object" ? "object" : "inlineSpread",
14
+ children: utils$1.getPathParams(typeSchemas.pathParams, { typed: true })
15
+ },
16
+ data: typeSchemas.request?.name ? {
17
+ type: typeSchemas.request?.name,
18
+ optional: oas.isOptional(typeSchemas.request?.schema)
19
+ } : void 0,
20
+ params: typeSchemas.queryParams?.name ? {
21
+ type: typeSchemas.queryParams?.name,
22
+ optional: oas.isOptional(typeSchemas.queryParams?.schema)
23
+ } : void 0
24
+ });
25
+ }
26
+ var getTransformer = ({ operation, schemas }) => {
27
+ const path = new utils.URLPath(operation.path);
28
+ const keys = [
29
+ path.toObject({
30
+ type: "path",
31
+ stringify: true
32
+ }),
33
+ schemas.queryParams?.name ? "...(params ? [params] : [])" : void 0,
34
+ schemas.request?.name ? "...(data ? [data] : [])" : void 0
35
+ ].filter(Boolean);
36
+ return keys;
37
+ };
38
+ function QueryKey({ name, typeSchemas, pathParamsType, operation, typeName, transformer = getTransformer }) {
39
+ const params = getParams({ pathParamsType, typeSchemas });
40
+ const keys = transformer({
41
+ operation,
42
+ schemas: typeSchemas
43
+ });
44
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
45
+ /* @__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` }) }),
46
+ /* @__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}>` }) })
47
+ ] });
48
+ }
49
+ QueryKey.getParams = getParams;
50
+ QueryKey.getTransformer = getTransformer;
51
+ function getParams2({ paramsType, pathParamsType, typeSchemas }) {
52
+ if (paramsType === "object") {
53
+ return react.FunctionParams.factory({
54
+ data: {
55
+ mode: "object",
56
+ children: {
57
+ ...utils$1.getPathParams(typeSchemas.pathParams, { typed: true }),
58
+ data: typeSchemas.request?.name ? {
59
+ type: typeSchemas.request?.name,
60
+ optional: oas.isOptional(typeSchemas.request?.schema)
61
+ } : void 0,
62
+ params: typeSchemas.queryParams?.name ? {
63
+ type: typeSchemas.queryParams?.name,
64
+ optional: oas.isOptional(typeSchemas.queryParams?.schema)
65
+ } : void 0,
66
+ headers: typeSchemas.headerParams?.name ? {
67
+ type: typeSchemas.headerParams?.name,
68
+ optional: oas.isOptional(typeSchemas.headerParams?.schema)
69
+ } : void 0
70
+ }
71
+ },
72
+ config: {
73
+ type: typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : "Partial<RequestConfig>",
74
+ default: "{}"
75
+ }
76
+ });
77
+ }
78
+ return react.FunctionParams.factory({
79
+ pathParams: typeSchemas.pathParams?.name ? {
80
+ mode: pathParamsType === "object" ? "object" : "inlineSpread",
81
+ children: utils$1.getPathParams(typeSchemas.pathParams, { typed: true }),
82
+ type: typeSchemas.pathParams?.name,
83
+ optional: oas.isOptional(typeSchemas.pathParams?.schema)
84
+ } : void 0,
85
+ data: typeSchemas.request?.name ? {
86
+ type: typeSchemas.request?.name,
87
+ optional: oas.isOptional(typeSchemas.request?.schema)
88
+ } : void 0,
89
+ params: typeSchemas.queryParams?.name ? {
90
+ type: typeSchemas.queryParams?.name,
91
+ optional: oas.isOptional(typeSchemas.queryParams?.schema)
92
+ } : void 0,
93
+ headers: typeSchemas.headerParams?.name ? {
94
+ type: typeSchemas.headerParams?.name,
95
+ optional: oas.isOptional(typeSchemas.headerParams?.schema)
96
+ } : void 0,
97
+ config: {
98
+ type: typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : "Partial<RequestConfig>",
99
+ default: "{}"
100
+ }
101
+ });
102
+ }
103
+ function Client({
104
+ name,
105
+ isExportable = true,
106
+ isIndexable = true,
107
+ typeSchemas,
108
+ baseURL,
109
+ dataReturnType,
110
+ parser,
111
+ zodSchemas,
112
+ paramsType,
113
+ pathParamsType,
114
+ operation
115
+ }) {
116
+ const path = new utils.URLPath(operation.path);
117
+ const contentType = operation.getContentType();
118
+ const isFormData = contentType === "multipart/form-data";
119
+ const headers = [
120
+ contentType !== "application/json" ? `'Content-Type': '${contentType}'` : void 0,
121
+ typeSchemas.headerParams?.name ? "...headers" : void 0
122
+ ].filter(Boolean);
123
+ const generics = [
124
+ typeSchemas.response.name,
125
+ typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error",
126
+ typeSchemas.request?.name || "unknown"
127
+ ].filter(Boolean);
128
+ const params = getParams2({ paramsType, pathParamsType, typeSchemas });
129
+ const clientParams = react.FunctionParams.factory({
130
+ config: {
131
+ mode: "object",
132
+ children: {
133
+ method: {
134
+ value: JSON.stringify(operation.method.toUpperCase())
135
+ },
136
+ url: {
137
+ value: path.template
138
+ },
139
+ baseURL: baseURL ? {
140
+ value: JSON.stringify(baseURL)
141
+ } : void 0,
142
+ params: typeSchemas.queryParams?.name ? {} : void 0,
143
+ data: typeSchemas.request?.name ? {
144
+ value: isFormData ? "formData" : void 0
145
+ } : void 0,
146
+ headers: headers.length ? {
147
+ value: headers.length ? `{ ${headers.join(", ")}, ...config.headers }` : void 0
148
+ } : void 0,
149
+ config: {
150
+ mode: "inlineSpread"
151
+ }
152
+ }
153
+ }
154
+ });
155
+ const formData = isFormData ? `
156
+ const formData = new FormData()
157
+ if(data) {
158
+ Object.keys(data).forEach((key) => {
159
+ const value = data[key as keyof typeof data];
160
+ if (typeof key === "string" && (typeof value === "string" || value instanceof Blob)) {
161
+ formData.append(key, value);
162
+ }
163
+ })
164
+ }
165
+ ` : "";
166
+ return /* @__PURE__ */ jsxRuntime.jsx(react.File.Source, { name, isExportable, isIndexable, children: /* @__PURE__ */ jsxRuntime.jsxs(
167
+ react.Function,
168
+ {
169
+ name,
170
+ async: true,
171
+ export: isExportable,
172
+ params: params.toConstructor(),
173
+ JSDoc: {
174
+ comments: utils$1.getComments(operation)
175
+ },
176
+ children: [
177
+ formData,
178
+ `const res = await client<${generics.join(", ")}>(${clientParams.toCall()})`,
179
+ /* @__PURE__ */ jsxRuntime.jsx("br", {}),
180
+ dataReturnType === "full" && parser === "zod" && zodSchemas && `return {...res, data: ${zodSchemas.response.name}.parse(res.data)}`,
181
+ dataReturnType === "data" && parser === "zod" && zodSchemas && `return ${zodSchemas.response.name}.parse(res.data)`,
182
+ dataReturnType === "full" && parser === "client" && "return res",
183
+ dataReturnType === "data" && parser === "client" && "return res.data"
184
+ ]
185
+ }
186
+ ) });
187
+ }
188
+ Client.getParams = getParams2;
189
+ function Operations({ name, operations }) {
190
+ const operationsObject = {};
191
+ operations.forEach((operation) => {
192
+ operationsObject[operation.getOperationId()] = {
193
+ path: new utils.URLPath(operation.path).URL,
194
+ method: operation.method
195
+ };
196
+ });
197
+ return /* @__PURE__ */ jsxRuntime.jsx(react.File.Source, { name, isExportable: true, isIndexable: true, children: /* @__PURE__ */ jsxRuntime.jsx(react.Const, { name, export: true, asConst: true, children: JSON.stringify(operationsObject, void 0, 2) }) });
198
+ }
199
+ function getParams3({ paramsType, pathParamsType, typeSchemas }) {
200
+ if (paramsType === "object") {
201
+ return react.FunctionParams.factory({
202
+ data: {
203
+ mode: "object",
204
+ children: {
205
+ ...utils$1.getPathParams(typeSchemas.pathParams, { typed: true }),
206
+ data: typeSchemas.request?.name ? {
207
+ type: typeSchemas.request?.name,
208
+ optional: oas.isOptional(typeSchemas.request?.schema)
209
+ } : void 0,
210
+ params: typeSchemas.queryParams?.name ? {
211
+ type: typeSchemas.queryParams?.name,
212
+ optional: oas.isOptional(typeSchemas.queryParams?.schema)
213
+ } : void 0,
214
+ headers: typeSchemas.headerParams?.name ? {
215
+ type: typeSchemas.headerParams?.name,
216
+ optional: oas.isOptional(typeSchemas.headerParams?.schema)
217
+ } : void 0
218
+ }
219
+ },
220
+ config: {
221
+ type: typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : "Partial<RequestConfig>",
222
+ default: "{}"
223
+ }
224
+ });
225
+ }
226
+ return react.FunctionParams.factory({
227
+ pathParams: typeSchemas.pathParams?.name ? {
228
+ mode: pathParamsType === "object" ? "object" : "inlineSpread",
229
+ children: utils$1.getPathParams(typeSchemas.pathParams, { typed: true }),
230
+ type: typeSchemas.pathParams?.name,
231
+ optional: oas.isOptional(typeSchemas.pathParams?.schema)
232
+ } : void 0,
233
+ data: typeSchemas.request?.name ? {
234
+ type: typeSchemas.request?.name,
235
+ optional: oas.isOptional(typeSchemas.request?.schema)
236
+ } : void 0,
237
+ params: typeSchemas.queryParams?.name ? {
238
+ type: typeSchemas.queryParams?.name,
239
+ optional: oas.isOptional(typeSchemas.queryParams?.schema)
240
+ } : void 0,
241
+ headers: typeSchemas.headerParams?.name ? {
242
+ type: typeSchemas.headerParams?.name,
243
+ optional: oas.isOptional(typeSchemas.headerParams?.schema)
244
+ } : void 0,
245
+ config: {
246
+ type: typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : "Partial<RequestConfig>",
247
+ default: "{}"
248
+ }
249
+ });
250
+ }
251
+ function QueryOptions({ name, clientName, typeSchemas, paramsType, pathParamsType, queryKeyName }) {
252
+ const params = getParams3({ paramsType, pathParamsType, typeSchemas });
253
+ const clientParams = Client.getParams({
254
+ typeSchemas,
255
+ paramsType,
256
+ pathParamsType
257
+ });
258
+ const queryKeyParams = QueryKey.getParams({
259
+ pathParamsType,
260
+ typeSchemas
261
+ });
262
+ const enabled = Object.entries(queryKeyParams.flatParams).map(([key, item]) => item && !item.optional ? key : void 0).filter(Boolean).join("&& ");
263
+ const enabledText = enabled ? `enabled: !!(${enabled})` : "";
264
+ 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: `
265
+ const queryKey = ${queryKeyName}(${queryKeyParams.toCall()})
266
+ return queryOptions({
267
+ ${enabledText}
268
+ queryKey,
269
+ queryFn: async ({ signal }) => {
270
+ config.signal = signal
271
+ return ${clientName}(${clientParams.toCall()})
272
+ },
273
+ })
274
+ ` }) });
275
+ }
276
+ QueryOptions.getParams = getParams3;
277
+ function getParams4({ paramsType, pathParamsType, dataReturnType, typeSchemas }) {
278
+ const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
279
+ if (paramsType === "object") {
280
+ return react.FunctionParams.factory({
281
+ data: {
282
+ mode: "object",
283
+ children: {
284
+ ...utils$1.getPathParams(typeSchemas.pathParams, { typed: true }),
285
+ data: typeSchemas.request?.name ? {
286
+ type: typeSchemas.request?.name,
287
+ optional: oas.isOptional(typeSchemas.request?.schema)
288
+ } : void 0,
289
+ params: typeSchemas.queryParams?.name ? {
290
+ type: typeSchemas.queryParams?.name,
291
+ optional: oas.isOptional(typeSchemas.queryParams?.schema)
292
+ } : void 0,
293
+ headers: typeSchemas.headerParams?.name ? {
294
+ type: typeSchemas.headerParams?.name,
295
+ optional: oas.isOptional(typeSchemas.headerParams?.schema)
296
+ } : void 0
297
+ }
298
+ },
299
+ options: {
300
+ type: `
301
+ {
302
+ query?: Partial<CreateBaseQueryOptions<${[TData, typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error", "TData", "TQueryData", "TQueryKey"].join(", ")}>>,
303
+ client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : "Partial<RequestConfig>"}
304
+ }
305
+ `,
306
+ default: "{}"
307
+ }
308
+ });
309
+ }
310
+ return react.FunctionParams.factory({
311
+ pathParams: typeSchemas.pathParams?.name ? {
312
+ mode: pathParamsType === "object" ? "object" : "inlineSpread",
313
+ children: utils$1.getPathParams(typeSchemas.pathParams, { typed: true }),
314
+ type: typeSchemas.pathParams?.name,
315
+ optional: oas.isOptional(typeSchemas.pathParams?.schema)
316
+ } : void 0,
317
+ data: typeSchemas.request?.name ? {
318
+ type: typeSchemas.request?.name,
319
+ optional: oas.isOptional(typeSchemas.request?.schema)
320
+ } : void 0,
321
+ params: typeSchemas.queryParams?.name ? {
322
+ type: typeSchemas.queryParams?.name,
323
+ optional: oas.isOptional(typeSchemas.queryParams?.schema)
324
+ } : void 0,
325
+ headers: typeSchemas.headerParams?.name ? {
326
+ type: typeSchemas.headerParams?.name,
327
+ optional: oas.isOptional(typeSchemas.headerParams?.schema)
328
+ } : void 0,
329
+ options: {
330
+ type: `
331
+ {
332
+ query?: Partial<CreateBaseQueryOptions<${[TData, typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error", "TData", "TQueryData", "TQueryKey"].join(", ")}>>,
333
+ client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : "Partial<RequestConfig>"}
334
+ }
335
+ `,
336
+ default: "{}"
337
+ }
338
+ });
339
+ }
340
+ function Query({
341
+ name,
342
+ queryKeyTypeName,
343
+ queryOptionsName,
344
+ queryKeyName,
345
+ paramsType,
346
+ pathParamsType,
347
+ dataReturnType,
348
+ typeSchemas,
349
+ operation
350
+ }) {
351
+ const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
352
+ const returnType = `CreateQueryResult<${["TData", typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"].join(", ")}> & { queryKey: TQueryKey }`;
353
+ const generics = [`TData = ${TData}`, `TQueryData = ${TData}`, `TQueryKey extends QueryKey = ${queryKeyTypeName}`];
354
+ const queryKeyParams = QueryKey.getParams({
355
+ pathParamsType,
356
+ typeSchemas
357
+ });
358
+ const queryOptionsParams = QueryOptions.getParams({
359
+ paramsType,
360
+ pathParamsType,
361
+ typeSchemas
362
+ });
363
+ const params = getParams4({
364
+ paramsType,
365
+ pathParamsType,
366
+ dataReturnType,
367
+ typeSchemas
368
+ });
369
+ const queryOptions = `${queryOptionsName}(${queryOptionsParams.toCall()}) as unknown as CreateBaseQueryOptions`;
370
+ return /* @__PURE__ */ jsxRuntime.jsx(react.File.Source, { name, isExportable: true, isIndexable: true, children: /* @__PURE__ */ jsxRuntime.jsx(
371
+ react.Function,
372
+ {
373
+ name,
374
+ export: true,
375
+ generics: generics.join(", "),
376
+ params: params.toConstructor(),
377
+ JSDoc: {
378
+ comments: utils$1.getComments(operation)
379
+ },
380
+ children: `
381
+ const { query: queryOptions, client: config = {} } = options ?? {}
382
+ const queryKey = queryOptions?.queryKey ?? ${queryKeyName}(${queryKeyParams.toCall()})
383
+
384
+ const query = createQuery(() => ({
385
+ ...${queryOptions},
386
+ queryKey,
387
+ initialData: null,
388
+ ...queryOptions as unknown as Omit<CreateBaseQueryOptions, "queryKey">
389
+ })) as ${returnType}
390
+
391
+ query.queryKey = queryKey as TQueryKey
392
+
393
+ return query
394
+ `
395
+ }
396
+ ) });
397
+ }
398
+ Query.getParams = getParams4;
399
+
400
+ exports.Client = Client;
401
+ exports.Operations = Operations;
402
+ exports.Query = Query;
403
+ exports.QueryKey = QueryKey;
404
+ exports.QueryOptions = QueryOptions;
405
+ //# sourceMappingURL=chunk-Y6RUU6PO.cjs.map
406
+ //# sourceMappingURL=chunk-Y6RUU6PO.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/QueryKey.tsx","../../plugin-client/src/components/Client.tsx","../../plugin-client/src/components/Operations.tsx","../src/components/QueryOptions.tsx","../src/components/Query.tsx"],"names":["FunctionParams","getPathParams","isOptional","URLPath","jsxs","Fragment","jsx","File","Function","Type","getParams","getComments","Const"],"mappings":"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","file":"chunk-Y6RUU6PO.cjs","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 pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n transformer: Transformer | undefined\n}\n\ntype GetParamsProps = {\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ pathParamsType, typeSchemas }: GetParamsProps) {\n return FunctionParams.factory({\n pathParams: {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true }),\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 }) => {\n const path = new URLPath(operation.path)\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, pathParamsType, operation, typeName, transformer = getTransformer }: Props): ReactNode {\n const params = getParams({ pathParamsType, typeSchemas })\n const keys = transformer({\n operation,\n schemas: typeSchemas,\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 { 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 { KubbNode } from '@kubb/react/types'\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 dataReturnType: PluginClient['resolvedOptions']['dataReturnType']\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 paramsType: PluginClient['resolvedOptions']['paramsType']\n pathParamsType: PluginClient['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, pathParamsType, typeSchemas }: GetParamsProps) {\n if (paramsType === 'object') {\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...getPathParams(typeSchemas.pathParams, { typed: true }),\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 }),\n type: typeSchemas.pathParams?.name,\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 pathParamsType,\n operation,\n}: Props): KubbNode {\n const path = new URLPath(operation.path)\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 generics = [\n typeSchemas.response.name,\n typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error',\n typeSchemas.request?.name || 'unknown',\n ].filter(Boolean)\n const params = getParams({ paramsType, pathParamsType, typeSchemas })\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: path.template,\n },\n baseURL: baseURL\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 { Const, File } from '@kubb/react'\n\nimport type { HttpMethod, Operation } from '@kubb/oas'\n\ntype OperationsProps = {\n name: string\n operations: Array<Operation>\n}\n\nexport function Operations({ name, operations }: OperationsProps) {\n const operationsObject: Record<string, { path: string; method: HttpMethod }> = {}\n\n operations.forEach((operation) => {\n operationsObject[operation.getOperationId()] = {\n path: new URLPath(operation.path).URL,\n method: operation.method,\n }\n })\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Const name={name} export asConst>\n {JSON.stringify(operationsObject, undefined, 2)}\n </Const>\n </File.Source>\n )\n}\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 paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n}\n\ntype GetParamsProps = {\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, pathParamsType, typeSchemas }: GetParamsProps) {\n if (paramsType === 'object') {\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...getPathParams(typeSchemas.pathParams, { typed: true }),\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 }),\n type: typeSchemas.pathParams?.name,\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, paramsType, pathParamsType, queryKeyName }: Props): ReactNode {\n const params = getParams({ paramsType, pathParamsType, typeSchemas })\n const clientParams = Client.getParams({\n typeSchemas,\n paramsType,\n pathParamsType,\n })\n const queryKeyParams = QueryKey.getParams({\n pathParamsType,\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({\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 paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType']\n}\n\ntype GetParamsProps = {\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, pathParamsType, dataReturnType, typeSchemas }: GetParamsProps) {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n\n if (paramsType === 'object') {\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...getPathParams(typeSchemas.pathParams, { typed: true }),\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, typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error', '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 }),\n type: typeSchemas.pathParams?.name,\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, typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error', '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 pathParamsType,\n dataReturnType,\n typeSchemas,\n operation,\n}: Props): ReactNode {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const returnType = `CreateQueryResult<${['TData', typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'].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 })\n const queryOptionsParams = QueryOptions.getParams({\n paramsType,\n pathParamsType,\n typeSchemas,\n })\n const params = getParams({\n paramsType,\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 initialData: null,\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"]}
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ var chunkY6RUU6PO_cjs = require('./chunk-Y6RUU6PO.cjs');
4
+
5
+
6
+
7
+ Object.defineProperty(exports, "Query", {
8
+ enumerable: true,
9
+ get: function () { return chunkY6RUU6PO_cjs.Query; }
10
+ });
11
+ Object.defineProperty(exports, "QueryKey", {
12
+ enumerable: true,
13
+ get: function () { return chunkY6RUU6PO_cjs.QueryKey; }
14
+ });
15
+ Object.defineProperty(exports, "QueryOptions", {
16
+ enumerable: true,
17
+ get: function () { return chunkY6RUU6PO_cjs.QueryOptions; }
18
+ });
19
+ //# sourceMappingURL=components.cjs.map
20
+ //# sourceMappingURL=components.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"components.cjs"}
@@ -0,0 +1,69 @@
1
+ import { FunctionParams } from '@kubb/react';
2
+ import { Operation } from '@kubb/oas';
3
+ import { OperationSchemas } from '@kubb/plugin-oas';
4
+ import { ReactNode } from 'react';
5
+ import { P as PluginSolidQuery, T as Transformer } from './types-DXL9Aw6E.cjs';
6
+ import '@kubb/core';
7
+
8
+ type Props$2 = {
9
+ /**
10
+ * Name of the function
11
+ */
12
+ name: string;
13
+ queryOptionsName: string;
14
+ queryKeyName: string;
15
+ queryKeyTypeName: string;
16
+ typeSchemas: OperationSchemas;
17
+ operation: Operation;
18
+ paramsType: PluginSolidQuery['resolvedOptions']['paramsType'];
19
+ pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType'];
20
+ dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType'];
21
+ };
22
+ type GetParamsProps$2 = {
23
+ paramsType: PluginSolidQuery['resolvedOptions']['paramsType'];
24
+ pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType'];
25
+ dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType'];
26
+ typeSchemas: OperationSchemas;
27
+ };
28
+ declare function Query({ name, queryKeyTypeName, queryOptionsName, queryKeyName, paramsType, pathParamsType, dataReturnType, typeSchemas, operation, }: Props$2): ReactNode;
29
+ declare namespace Query {
30
+ var getParams: ({ paramsType, pathParamsType, dataReturnType, typeSchemas }: GetParamsProps$2) => FunctionParams;
31
+ }
32
+
33
+ type Props$1 = {
34
+ name: string;
35
+ typeName: string;
36
+ typeSchemas: OperationSchemas;
37
+ operation: Operation;
38
+ pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType'];
39
+ transformer: Transformer | undefined;
40
+ };
41
+ type GetParamsProps$1 = {
42
+ pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType'];
43
+ typeSchemas: OperationSchemas;
44
+ };
45
+ declare function QueryKey({ name, typeSchemas, pathParamsType, operation, typeName, transformer }: Props$1): ReactNode;
46
+ declare namespace QueryKey {
47
+ var getParams: ({ pathParamsType, typeSchemas }: GetParamsProps$1) => FunctionParams;
48
+ var getTransformer: Transformer;
49
+ }
50
+
51
+ type Props = {
52
+ name: string;
53
+ clientName: string;
54
+ queryKeyName: string;
55
+ typeSchemas: OperationSchemas;
56
+ paramsType: PluginSolidQuery['resolvedOptions']['paramsType'];
57
+ pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType'];
58
+ };
59
+ type GetParamsProps = {
60
+ paramsType: PluginSolidQuery['resolvedOptions']['paramsType'];
61
+ pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType'];
62
+ typeSchemas: OperationSchemas;
63
+ };
64
+ declare function QueryOptions({ name, clientName, typeSchemas, paramsType, pathParamsType, queryKeyName }: Props): ReactNode;
65
+ declare namespace QueryOptions {
66
+ var getParams: ({ paramsType, pathParamsType, typeSchemas }: GetParamsProps) => FunctionParams;
67
+ }
68
+
69
+ export { Query, QueryKey, QueryOptions };
@@ -0,0 +1,69 @@
1
+ import { FunctionParams } from '@kubb/react';
2
+ import { Operation } from '@kubb/oas';
3
+ import { OperationSchemas } from '@kubb/plugin-oas';
4
+ import { ReactNode } from 'react';
5
+ import { P as PluginSolidQuery, T as Transformer } from './types-DXL9Aw6E.js';
6
+ import '@kubb/core';
7
+
8
+ type Props$2 = {
9
+ /**
10
+ * Name of the function
11
+ */
12
+ name: string;
13
+ queryOptionsName: string;
14
+ queryKeyName: string;
15
+ queryKeyTypeName: string;
16
+ typeSchemas: OperationSchemas;
17
+ operation: Operation;
18
+ paramsType: PluginSolidQuery['resolvedOptions']['paramsType'];
19
+ pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType'];
20
+ dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType'];
21
+ };
22
+ type GetParamsProps$2 = {
23
+ paramsType: PluginSolidQuery['resolvedOptions']['paramsType'];
24
+ pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType'];
25
+ dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType'];
26
+ typeSchemas: OperationSchemas;
27
+ };
28
+ declare function Query({ name, queryKeyTypeName, queryOptionsName, queryKeyName, paramsType, pathParamsType, dataReturnType, typeSchemas, operation, }: Props$2): ReactNode;
29
+ declare namespace Query {
30
+ var getParams: ({ paramsType, pathParamsType, dataReturnType, typeSchemas }: GetParamsProps$2) => FunctionParams;
31
+ }
32
+
33
+ type Props$1 = {
34
+ name: string;
35
+ typeName: string;
36
+ typeSchemas: OperationSchemas;
37
+ operation: Operation;
38
+ pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType'];
39
+ transformer: Transformer | undefined;
40
+ };
41
+ type GetParamsProps$1 = {
42
+ pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType'];
43
+ typeSchemas: OperationSchemas;
44
+ };
45
+ declare function QueryKey({ name, typeSchemas, pathParamsType, operation, typeName, transformer }: Props$1): ReactNode;
46
+ declare namespace QueryKey {
47
+ var getParams: ({ pathParamsType, typeSchemas }: GetParamsProps$1) => FunctionParams;
48
+ var getTransformer: Transformer;
49
+ }
50
+
51
+ type Props = {
52
+ name: string;
53
+ clientName: string;
54
+ queryKeyName: string;
55
+ typeSchemas: OperationSchemas;
56
+ paramsType: PluginSolidQuery['resolvedOptions']['paramsType'];
57
+ pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType'];
58
+ };
59
+ type GetParamsProps = {
60
+ paramsType: PluginSolidQuery['resolvedOptions']['paramsType'];
61
+ pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType'];
62
+ typeSchemas: OperationSchemas;
63
+ };
64
+ declare function QueryOptions({ name, clientName, typeSchemas, paramsType, pathParamsType, queryKeyName }: Props): ReactNode;
65
+ declare namespace QueryOptions {
66
+ var getParams: ({ paramsType, pathParamsType, typeSchemas }: GetParamsProps) => FunctionParams;
67
+ }
68
+
69
+ export { Query, QueryKey, QueryOptions };
@@ -0,0 +1,3 @@
1
+ export { Query, QueryKey, QueryOptions } from './chunk-36LQSNHS.js';
2
+ //# sourceMappingURL=components.js.map
3
+ //# sourceMappingURL=components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"components.js"}