@kubb/plugin-swr 3.0.0-beta.1 → 3.0.0-beta.10
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.
- package/dist/{chunk-H23WKEYP.js → chunk-5Y5IFA26.js} +101 -14
- package/dist/chunk-5Y5IFA26.js.map +1 -0
- package/dist/{chunk-JWGWABV5.cjs → chunk-HB6G7CVV.cjs} +101 -14
- package/dist/chunk-HB6G7CVV.cjs.map +1 -0
- package/dist/{chunk-4EGGCGSE.js → chunk-NA63ZY7W.js} +17 -5
- package/dist/chunk-NA63ZY7W.js.map +1 -0
- package/dist/{chunk-PTOQHHST.cjs → chunk-SFNEO267.cjs} +21 -9
- package/dist/chunk-SFNEO267.cjs.map +1 -0
- package/dist/components.cjs +6 -6
- package/dist/components.d.cts +9 -5
- package/dist/components.d.ts +9 -5
- package/dist/components.js +1 -1
- package/dist/generators.cjs +4 -4
- package/dist/generators.d.cts +1 -1
- package/dist/generators.d.ts +1 -1
- package/dist/generators.js +2 -2
- package/dist/index.cjs +6 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +5 -4
- package/dist/index.js.map +1 -1
- package/dist/{types-DaH2Sc1M.d.cts → types-BbkGZjz1.d.cts} +16 -10
- package/dist/{types-DaH2Sc1M.d.ts → types-BbkGZjz1.d.ts} +16 -10
- package/package.json +15 -15
- package/src/components/Mutation.tsx +15 -3
- package/src/components/Query.tsx +63 -6
- package/src/components/QueryOptions.tsx +47 -7
- package/src/generators/__snapshots__/clientDataReturnTypeFull.ts +11 -5
- package/src/generators/__snapshots__/clientGetImportPath.ts +11 -5
- package/src/generators/__snapshots__/findByTags.ts +11 -5
- package/src/generators/__snapshots__/findByTagsObject.ts +49 -0
- package/src/generators/__snapshots__/findByTagsPathParamsObject.ts +11 -5
- package/src/generators/__snapshots__/findByTagsWithZod.ts +11 -5
- package/src/generators/__snapshots__/postAsQuery.ts +14 -5
- package/src/generators/__snapshots__/updatePetByIdPathParamsObject.ts +1 -3
- package/src/generators/mutationGenerator.tsx +2 -1
- package/src/generators/queryGenerator.tsx +9 -2
- package/src/plugin.ts +3 -2
- package/src/types.ts +16 -10
- package/dist/chunk-4EGGCGSE.js.map +0 -1
- package/dist/chunk-H23WKEYP.js.map +0 -1
- package/dist/chunk-JWGWABV5.cjs.map +0 -1
- package/dist/chunk-PTOQHHST.cjs.map +0 -1
|
@@ -46,13 +46,24 @@ function getParams2({ pathParamsType, dataReturnType, typeSchemas, mutationKeyTy
|
|
|
46
46
|
}
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
|
-
function Mutation({
|
|
49
|
+
function Mutation({
|
|
50
|
+
name,
|
|
51
|
+
clientName,
|
|
52
|
+
mutationKeyName,
|
|
53
|
+
mutationKeyTypeName,
|
|
54
|
+
paramsType,
|
|
55
|
+
pathParamsType,
|
|
56
|
+
dataReturnType,
|
|
57
|
+
typeSchemas,
|
|
58
|
+
operation
|
|
59
|
+
}) {
|
|
50
60
|
const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
|
|
51
61
|
const generics = [
|
|
52
62
|
TData,
|
|
53
63
|
typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error",
|
|
54
64
|
`${mutationKeyTypeName} | null`,
|
|
55
65
|
typeSchemas.request?.name
|
|
66
|
+
//arg: data
|
|
56
67
|
].filter(Boolean);
|
|
57
68
|
const mutationKeyParams = MutationKey.getParams({
|
|
58
69
|
pathParamsType,
|
|
@@ -65,6 +76,7 @@ function Mutation({ name, clientName, mutationKeyName, mutationKeyTypeName, path
|
|
|
65
76
|
mutationKeyTypeName
|
|
66
77
|
});
|
|
67
78
|
const clientParams = Client.getParams({
|
|
79
|
+
paramsType,
|
|
68
80
|
typeSchemas,
|
|
69
81
|
pathParamsType
|
|
70
82
|
});
|
|
@@ -125,12 +137,40 @@ function QueryKey({ name, typeSchemas, pathParamsType, operation, typeName, keys
|
|
|
125
137
|
] });
|
|
126
138
|
}
|
|
127
139
|
QueryKey.getParams = getParams3;
|
|
128
|
-
function getParams4({ pathParamsType, typeSchemas }) {
|
|
140
|
+
function getParams4({ paramsType, pathParamsType, typeSchemas }) {
|
|
141
|
+
if (paramsType === "object") {
|
|
142
|
+
return FunctionParams.factory({
|
|
143
|
+
data: {
|
|
144
|
+
mode: "object",
|
|
145
|
+
children: {
|
|
146
|
+
...getPathParams(typeSchemas.pathParams, { typed: true }),
|
|
147
|
+
data: typeSchemas.request?.name ? {
|
|
148
|
+
type: typeSchemas.request?.name,
|
|
149
|
+
optional: isOptional(typeSchemas.request?.schema)
|
|
150
|
+
} : void 0,
|
|
151
|
+
params: typeSchemas.queryParams?.name ? {
|
|
152
|
+
type: typeSchemas.queryParams?.name,
|
|
153
|
+
optional: isOptional(typeSchemas.queryParams?.schema)
|
|
154
|
+
} : void 0,
|
|
155
|
+
headers: typeSchemas.headerParams?.name ? {
|
|
156
|
+
type: typeSchemas.headerParams?.name,
|
|
157
|
+
optional: isOptional(typeSchemas.headerParams?.schema)
|
|
158
|
+
} : void 0
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
config: {
|
|
162
|
+
type: typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : "Partial<RequestConfig>",
|
|
163
|
+
default: "{}"
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
}
|
|
129
167
|
return FunctionParams.factory({
|
|
130
|
-
pathParams: {
|
|
168
|
+
pathParams: typeSchemas.pathParams?.name ? {
|
|
131
169
|
mode: pathParamsType === "object" ? "object" : "inlineSpread",
|
|
132
|
-
children: getPathParams(typeSchemas.pathParams, { typed: true })
|
|
133
|
-
|
|
170
|
+
children: getPathParams(typeSchemas.pathParams, { typed: true }),
|
|
171
|
+
type: typeSchemas.pathParams?.name,
|
|
172
|
+
optional: isOptional(typeSchemas.pathParams?.schema)
|
|
173
|
+
} : void 0,
|
|
134
174
|
data: typeSchemas.request?.name ? {
|
|
135
175
|
type: typeSchemas.request?.name,
|
|
136
176
|
optional: isOptional(typeSchemas.request?.schema)
|
|
@@ -149,9 +189,10 @@ function getParams4({ pathParamsType, typeSchemas }) {
|
|
|
149
189
|
}
|
|
150
190
|
});
|
|
151
191
|
}
|
|
152
|
-
function QueryOptions({ name, clientName, typeSchemas, pathParamsType }) {
|
|
153
|
-
const params = getParams4({ pathParamsType, typeSchemas });
|
|
192
|
+
function QueryOptions({ name, clientName, typeSchemas, paramsType, pathParamsType }) {
|
|
193
|
+
const params = getParams4({ paramsType, pathParamsType, typeSchemas });
|
|
154
194
|
const clientParams = Client.getParams({
|
|
195
|
+
paramsType,
|
|
155
196
|
typeSchemas,
|
|
156
197
|
pathParamsType
|
|
157
198
|
});
|
|
@@ -164,13 +205,47 @@ function QueryOptions({ name, clientName, typeSchemas, pathParamsType }) {
|
|
|
164
205
|
` }) });
|
|
165
206
|
}
|
|
166
207
|
QueryOptions.getParams = getParams4;
|
|
167
|
-
function getParams5({ pathParamsType, dataReturnType, typeSchemas, queryKeyTypeName }) {
|
|
208
|
+
function getParams5({ paramsType, pathParamsType, dataReturnType, typeSchemas, queryKeyTypeName }) {
|
|
168
209
|
const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
|
|
210
|
+
if (paramsType === "object") {
|
|
211
|
+
return FunctionParams.factory({
|
|
212
|
+
data: {
|
|
213
|
+
mode: "object",
|
|
214
|
+
children: {
|
|
215
|
+
...getPathParams(typeSchemas.pathParams, { typed: true }),
|
|
216
|
+
data: typeSchemas.request?.name ? {
|
|
217
|
+
type: typeSchemas.request?.name,
|
|
218
|
+
optional: isOptional(typeSchemas.request?.schema)
|
|
219
|
+
} : void 0,
|
|
220
|
+
params: typeSchemas.queryParams?.name ? {
|
|
221
|
+
type: typeSchemas.queryParams?.name,
|
|
222
|
+
optional: isOptional(typeSchemas.queryParams?.schema)
|
|
223
|
+
} : void 0,
|
|
224
|
+
headers: typeSchemas.headerParams?.name ? {
|
|
225
|
+
type: typeSchemas.headerParams?.name,
|
|
226
|
+
optional: isOptional(typeSchemas.headerParams?.schema)
|
|
227
|
+
} : void 0
|
|
228
|
+
}
|
|
229
|
+
},
|
|
230
|
+
options: {
|
|
231
|
+
type: `
|
|
232
|
+
{
|
|
233
|
+
query?: Parameters<typeof useSWR<${[TData, typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error", `${queryKeyTypeName} | null`].join(", ")}, any>>[2],
|
|
234
|
+
client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : "Partial<RequestConfig>"},
|
|
235
|
+
shouldFetch?: boolean,
|
|
236
|
+
}
|
|
237
|
+
`,
|
|
238
|
+
default: "{}"
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
}
|
|
169
242
|
return FunctionParams.factory({
|
|
170
|
-
pathParams: {
|
|
243
|
+
pathParams: typeSchemas.pathParams?.name ? {
|
|
171
244
|
mode: pathParamsType === "object" ? "object" : "inlineSpread",
|
|
172
|
-
children: getPathParams(typeSchemas.pathParams, { typed: true })
|
|
173
|
-
|
|
245
|
+
children: getPathParams(typeSchemas.pathParams, { typed: true }),
|
|
246
|
+
type: typeSchemas.pathParams?.name,
|
|
247
|
+
optional: isOptional(typeSchemas.pathParams?.schema)
|
|
248
|
+
} : void 0,
|
|
174
249
|
data: typeSchemas.request?.name ? {
|
|
175
250
|
type: typeSchemas.request?.name,
|
|
176
251
|
optional: isOptional(typeSchemas.request?.schema)
|
|
@@ -195,7 +270,17 @@ function getParams5({ pathParamsType, dataReturnType, typeSchemas, queryKeyTypeN
|
|
|
195
270
|
}
|
|
196
271
|
});
|
|
197
272
|
}
|
|
198
|
-
function Query({
|
|
273
|
+
function Query({
|
|
274
|
+
name,
|
|
275
|
+
typeSchemas,
|
|
276
|
+
queryKeyName,
|
|
277
|
+
queryKeyTypeName,
|
|
278
|
+
queryOptionsName,
|
|
279
|
+
operation,
|
|
280
|
+
dataReturnType,
|
|
281
|
+
paramsType,
|
|
282
|
+
pathParamsType
|
|
283
|
+
}) {
|
|
199
284
|
const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
|
|
200
285
|
const generics = [TData, typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error", `${queryKeyTypeName} | null`];
|
|
201
286
|
const queryKeyParams = QueryKey.getParams({
|
|
@@ -203,12 +288,14 @@ function Query({ name, typeSchemas, queryKeyName, queryKeyTypeName, queryOptions
|
|
|
203
288
|
typeSchemas
|
|
204
289
|
});
|
|
205
290
|
const params = getParams5({
|
|
291
|
+
paramsType,
|
|
206
292
|
pathParamsType,
|
|
207
293
|
dataReturnType,
|
|
208
294
|
typeSchemas,
|
|
209
295
|
queryKeyTypeName
|
|
210
296
|
});
|
|
211
297
|
const queryOptionsParams = QueryOptions.getParams({
|
|
298
|
+
paramsType,
|
|
212
299
|
pathParamsType,
|
|
213
300
|
typeSchemas
|
|
214
301
|
});
|
|
@@ -239,5 +326,5 @@ function Query({ name, typeSchemas, queryKeyName, queryKeyTypeName, queryOptions
|
|
|
239
326
|
}
|
|
240
327
|
|
|
241
328
|
export { Mutation, MutationKey, Query, QueryKey, QueryOptions };
|
|
242
|
-
//# sourceMappingURL=chunk-
|
|
243
|
-
//# sourceMappingURL=chunk-
|
|
329
|
+
//# sourceMappingURL=chunk-5Y5IFA26.js.map
|
|
330
|
+
//# sourceMappingURL=chunk-5Y5IFA26.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/MutationKey.tsx","../src/components/Mutation.tsx","../src/components/QueryKey.tsx","../src/components/QueryOptions.tsx","../src/components/Query.tsx"],"names":["name","getParams","FunctionParams","jsx","File","Function","getPathParams","isOptional","URLPath","jsxs","Fragment","Type","Client","getComments"],"mappings":"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","file":"chunk-5Y5IFA26.js","sourcesContent":["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 { PluginSwr } from '../types'\n\ntype Props = {\n name: string\n typeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n pathParamsType: PluginSwr['resolvedOptions']['pathParamsType']\n keysFn: ((keys: unknown[]) => unknown[]) | undefined\n}\n\ntype GetParamsProps = {\n pathParamsType: PluginSwr['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({}: GetParamsProps) {\n return FunctionParams.factory({})\n}\n\nexport function MutationKey({ name, typeSchemas, pathParamsType, operation, typeName, keysFn = (name) => name }: Props): ReactNode {\n const path = new URLPath(operation.path)\n const params = getParams({ pathParamsType, typeSchemas })\n const keys = [JSON.stringify({ url: path.path })].filter(Boolean)\n\n return (\n <>\n <File.Source name={name} isExportable isIndexable>\n <Function.Arrow name={name} export params={params.toConstructor()} singleLine>\n {`[${keysFn(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\n","import { URLPath } from '@kubb/core/utils'\nimport { 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 { ReactNode } from 'react'\nimport type { PluginSwr } 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 mutationKeyTypeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n paramsType: PluginSwr['resolvedOptions']['paramsType']\n dataReturnType: PluginSwr['resolvedOptions']['client']['dataReturnType']\n pathParamsType: PluginSwr['resolvedOptions']['pathParamsType']\n}\n\ntype GetParamsProps = {\n pathParamsType: PluginSwr['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSwr['resolvedOptions']['client']['dataReturnType']\n typeSchemas: OperationSchemas\n mutationKeyTypeName: string\n}\n// TODO add same logic as being done for react-query mutations\nfunction getParams({ pathParamsType, dataReturnType, typeSchemas, mutationKeyTypeName }: GetParamsProps) {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n\n return FunctionParams.factory({\n pathParams: {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true }),\n },\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 mutation?: Parameters<typeof useSWRMutation<${[TData, typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error', mutationKeyTypeName, typeSchemas.request?.name].join(', ')}>>[2],\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>'},\n shouldFetch?: boolean,\n}\n`,\n default: '{}',\n },\n })\n}\n\nexport function Mutation({\n name,\n clientName,\n mutationKeyName,\n mutationKeyTypeName,\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 generics = [\n TData,\n typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error',\n `${mutationKeyTypeName} | null`,\n typeSchemas.request?.name, //arg: data\n ].filter(Boolean)\n\n const mutationKeyParams = MutationKey.getParams({\n pathParamsType,\n typeSchemas,\n })\n\n const params = getParams({\n pathParamsType,\n dataReturnType,\n typeSchemas,\n mutationKeyTypeName,\n })\n\n const clientParams = Client.getParams({\n paramsType,\n typeSchemas,\n pathParamsType,\n })\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 = {}, shouldFetch = true } = options ?? {}\n const mutationKey = ${mutationKeyName}(${mutationKeyParams.toCall()})\n\n return useSWRMutation<${generics}>(\n shouldFetch ? mutationKey : null,\n async (_url${typeSchemas.request?.name ? ', { arg: data }' : ''}) => {\n return ${clientName}(${clientParams.toCall()})\n },\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 { PluginSwr } from '../types'\n\ntype Props = {\n name: string\n typeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n pathParamsType: PluginSwr['resolvedOptions']['pathParamsType']\n keysFn: ((keys: unknown[]) => unknown[]) | undefined\n}\n\ntype GetParamsProps = {\n pathParamsType: PluginSwr['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\nexport function QueryKey({ name, typeSchemas, pathParamsType, operation, typeName, keysFn = (name) => name }: Props): ReactNode {\n const path = new URLPath(operation.path)\n const params = getParams({ pathParamsType, typeSchemas })\n const keys = [\n path.toObject({\n type: 'path',\n stringify: true,\n }),\n typeSchemas.queryParams?.name ? '...(params ? [params] : [])' : undefined,\n typeSchemas.request?.name ? '...(data ? [data] : [])' : undefined,\n ].filter(Boolean)\n\n return (\n <>\n <File.Source name={name} isExportable isIndexable>\n <Function.Arrow name={name} export params={params.toConstructor()} singleLine>\n {`[${keysFn(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\n","import { getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams } from '@kubb/react'\n\nimport type { ReactNode } from 'react'\nimport type { PluginSwr } from '../types.ts'\n\nimport { isOptional } from '@kubb/oas'\nimport { Client } from '@kubb/plugin-client/components'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\n\ntype Props = {\n name: string\n clientName: string\n typeSchemas: OperationSchemas\n paramsType: PluginSwr['resolvedOptions']['paramsType']\n pathParamsType: PluginSwr['resolvedOptions']['pathParamsType']\n}\n\ntype GetParamsProps = {\n paramsType: PluginSwr['resolvedOptions']['paramsType']\n pathParamsType: PluginSwr['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 }: Props): ReactNode {\n const params = getParams({ paramsType, pathParamsType, typeSchemas })\n const clientParams = Client.getParams({\n paramsType,\n typeSchemas,\n pathParamsType,\n })\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Function name={name} export params={params.toConstructor()}>\n {`\n return {\n fetcher: async () => {\n return ${clientName}(${clientParams.toCall()})\n },\n }\n `}\n </Function>\n </File.Source>\n )\n}\n\nQueryOptions.getParams = getParams\n","import { URLPath } from '@kubb/core/utils'\nimport { 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 { PluginSwr } 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 paramsType: PluginSwr['resolvedOptions']['paramsType']\n pathParamsType: PluginSwr['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSwr['resolvedOptions']['client']['dataReturnType']\n operation: Operation\n}\n\ntype GetParamsProps = {\n paramsType: PluginSwr['resolvedOptions']['paramsType']\n pathParamsType: PluginSwr['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSwr['resolvedOptions']['client']['dataReturnType']\n queryKeyTypeName: string\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, pathParamsType, dataReturnType, typeSchemas, queryKeyTypeName }: 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?: Parameters<typeof useSWR<${[TData, typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error', `${queryKeyTypeName} | null`].join(', ')}, any>>[2],\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>'},\n shouldFetch?: boolean,\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?: Parameters<typeof useSWR<${[TData, typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error', `${queryKeyTypeName} | null`].join(', ')}, any>>[2],\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>'},\n shouldFetch?: boolean,\n}\n`,\n default: '{}',\n },\n })\n}\n\nexport function Query({\n name,\n typeSchemas,\n queryKeyName,\n queryKeyTypeName,\n queryOptionsName,\n operation,\n dataReturnType,\n paramsType,\n pathParamsType,\n}: Props): ReactNode {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const generics = [TData, typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error', `${queryKeyTypeName} | null`]\n\n const queryKeyParams = QueryKey.getParams({\n pathParamsType,\n typeSchemas,\n })\n const params = getParams({\n paramsType,\n pathParamsType,\n dataReturnType,\n typeSchemas,\n queryKeyTypeName,\n })\n\n const queryOptionsParams = QueryOptions.getParams({\n paramsType,\n pathParamsType,\n typeSchemas,\n })\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 { query: queryOptions, client: config = {}, shouldFetch = true } = options ?? {}\n\n const queryKey = ${queryKeyName}(${queryKeyParams.toCall()})\n\n return useSWR<${generics.join(', ')}>(\n shouldFetch ? queryKey : null,\n {\n ...${queryOptionsName}(${queryOptionsParams.toCall()})\n ...queryOptions\n }\n )\n `}\n </Function>\n </File.Source>\n )\n}\n"]}
|
|
@@ -48,13 +48,24 @@ function getParams2({ pathParamsType, dataReturnType, typeSchemas, mutationKeyTy
|
|
|
48
48
|
}
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
|
-
function Mutation({
|
|
51
|
+
function Mutation({
|
|
52
|
+
name,
|
|
53
|
+
clientName,
|
|
54
|
+
mutationKeyName,
|
|
55
|
+
mutationKeyTypeName,
|
|
56
|
+
paramsType,
|
|
57
|
+
pathParamsType,
|
|
58
|
+
dataReturnType,
|
|
59
|
+
typeSchemas,
|
|
60
|
+
operation
|
|
61
|
+
}) {
|
|
52
62
|
const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
|
|
53
63
|
const generics = [
|
|
54
64
|
TData,
|
|
55
65
|
typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error",
|
|
56
66
|
`${mutationKeyTypeName} | null`,
|
|
57
67
|
typeSchemas.request?.name
|
|
68
|
+
//arg: data
|
|
58
69
|
].filter(Boolean);
|
|
59
70
|
const mutationKeyParams = MutationKey.getParams({
|
|
60
71
|
pathParamsType,
|
|
@@ -67,6 +78,7 @@ function Mutation({ name, clientName, mutationKeyName, mutationKeyTypeName, path
|
|
|
67
78
|
mutationKeyTypeName
|
|
68
79
|
});
|
|
69
80
|
const clientParams = components.Client.getParams({
|
|
81
|
+
paramsType,
|
|
70
82
|
typeSchemas,
|
|
71
83
|
pathParamsType
|
|
72
84
|
});
|
|
@@ -127,12 +139,40 @@ function QueryKey({ name, typeSchemas, pathParamsType, operation, typeName, keys
|
|
|
127
139
|
] });
|
|
128
140
|
}
|
|
129
141
|
QueryKey.getParams = getParams3;
|
|
130
|
-
function getParams4({ pathParamsType, typeSchemas }) {
|
|
142
|
+
function getParams4({ paramsType, pathParamsType, typeSchemas }) {
|
|
143
|
+
if (paramsType === "object") {
|
|
144
|
+
return react.FunctionParams.factory({
|
|
145
|
+
data: {
|
|
146
|
+
mode: "object",
|
|
147
|
+
children: {
|
|
148
|
+
...utils$1.getPathParams(typeSchemas.pathParams, { typed: true }),
|
|
149
|
+
data: typeSchemas.request?.name ? {
|
|
150
|
+
type: typeSchemas.request?.name,
|
|
151
|
+
optional: oas.isOptional(typeSchemas.request?.schema)
|
|
152
|
+
} : void 0,
|
|
153
|
+
params: typeSchemas.queryParams?.name ? {
|
|
154
|
+
type: typeSchemas.queryParams?.name,
|
|
155
|
+
optional: oas.isOptional(typeSchemas.queryParams?.schema)
|
|
156
|
+
} : void 0,
|
|
157
|
+
headers: typeSchemas.headerParams?.name ? {
|
|
158
|
+
type: typeSchemas.headerParams?.name,
|
|
159
|
+
optional: oas.isOptional(typeSchemas.headerParams?.schema)
|
|
160
|
+
} : void 0
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
config: {
|
|
164
|
+
type: typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : "Partial<RequestConfig>",
|
|
165
|
+
default: "{}"
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
}
|
|
131
169
|
return react.FunctionParams.factory({
|
|
132
|
-
pathParams: {
|
|
170
|
+
pathParams: typeSchemas.pathParams?.name ? {
|
|
133
171
|
mode: pathParamsType === "object" ? "object" : "inlineSpread",
|
|
134
|
-
children: utils$1.getPathParams(typeSchemas.pathParams, { typed: true })
|
|
135
|
-
|
|
172
|
+
children: utils$1.getPathParams(typeSchemas.pathParams, { typed: true }),
|
|
173
|
+
type: typeSchemas.pathParams?.name,
|
|
174
|
+
optional: oas.isOptional(typeSchemas.pathParams?.schema)
|
|
175
|
+
} : void 0,
|
|
136
176
|
data: typeSchemas.request?.name ? {
|
|
137
177
|
type: typeSchemas.request?.name,
|
|
138
178
|
optional: oas.isOptional(typeSchemas.request?.schema)
|
|
@@ -151,9 +191,10 @@ function getParams4({ pathParamsType, typeSchemas }) {
|
|
|
151
191
|
}
|
|
152
192
|
});
|
|
153
193
|
}
|
|
154
|
-
function QueryOptions({ name, clientName, typeSchemas, pathParamsType }) {
|
|
155
|
-
const params = getParams4({ pathParamsType, typeSchemas });
|
|
194
|
+
function QueryOptions({ name, clientName, typeSchemas, paramsType, pathParamsType }) {
|
|
195
|
+
const params = getParams4({ paramsType, pathParamsType, typeSchemas });
|
|
156
196
|
const clientParams = components.Client.getParams({
|
|
197
|
+
paramsType,
|
|
157
198
|
typeSchemas,
|
|
158
199
|
pathParamsType
|
|
159
200
|
});
|
|
@@ -166,13 +207,47 @@ function QueryOptions({ name, clientName, typeSchemas, pathParamsType }) {
|
|
|
166
207
|
` }) });
|
|
167
208
|
}
|
|
168
209
|
QueryOptions.getParams = getParams4;
|
|
169
|
-
function getParams5({ pathParamsType, dataReturnType, typeSchemas, queryKeyTypeName }) {
|
|
210
|
+
function getParams5({ paramsType, pathParamsType, dataReturnType, typeSchemas, queryKeyTypeName }) {
|
|
170
211
|
const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
|
|
212
|
+
if (paramsType === "object") {
|
|
213
|
+
return react.FunctionParams.factory({
|
|
214
|
+
data: {
|
|
215
|
+
mode: "object",
|
|
216
|
+
children: {
|
|
217
|
+
...utils$1.getPathParams(typeSchemas.pathParams, { typed: true }),
|
|
218
|
+
data: typeSchemas.request?.name ? {
|
|
219
|
+
type: typeSchemas.request?.name,
|
|
220
|
+
optional: oas.isOptional(typeSchemas.request?.schema)
|
|
221
|
+
} : void 0,
|
|
222
|
+
params: typeSchemas.queryParams?.name ? {
|
|
223
|
+
type: typeSchemas.queryParams?.name,
|
|
224
|
+
optional: oas.isOptional(typeSchemas.queryParams?.schema)
|
|
225
|
+
} : void 0,
|
|
226
|
+
headers: typeSchemas.headerParams?.name ? {
|
|
227
|
+
type: typeSchemas.headerParams?.name,
|
|
228
|
+
optional: oas.isOptional(typeSchemas.headerParams?.schema)
|
|
229
|
+
} : void 0
|
|
230
|
+
}
|
|
231
|
+
},
|
|
232
|
+
options: {
|
|
233
|
+
type: `
|
|
234
|
+
{
|
|
235
|
+
query?: Parameters<typeof useSWR<${[TData, typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error", `${queryKeyTypeName} | null`].join(", ")}, any>>[2],
|
|
236
|
+
client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : "Partial<RequestConfig>"},
|
|
237
|
+
shouldFetch?: boolean,
|
|
238
|
+
}
|
|
239
|
+
`,
|
|
240
|
+
default: "{}"
|
|
241
|
+
}
|
|
242
|
+
});
|
|
243
|
+
}
|
|
171
244
|
return react.FunctionParams.factory({
|
|
172
|
-
pathParams: {
|
|
245
|
+
pathParams: typeSchemas.pathParams?.name ? {
|
|
173
246
|
mode: pathParamsType === "object" ? "object" : "inlineSpread",
|
|
174
|
-
children: utils$1.getPathParams(typeSchemas.pathParams, { typed: true })
|
|
175
|
-
|
|
247
|
+
children: utils$1.getPathParams(typeSchemas.pathParams, { typed: true }),
|
|
248
|
+
type: typeSchemas.pathParams?.name,
|
|
249
|
+
optional: oas.isOptional(typeSchemas.pathParams?.schema)
|
|
250
|
+
} : void 0,
|
|
176
251
|
data: typeSchemas.request?.name ? {
|
|
177
252
|
type: typeSchemas.request?.name,
|
|
178
253
|
optional: oas.isOptional(typeSchemas.request?.schema)
|
|
@@ -197,7 +272,17 @@ function getParams5({ pathParamsType, dataReturnType, typeSchemas, queryKeyTypeN
|
|
|
197
272
|
}
|
|
198
273
|
});
|
|
199
274
|
}
|
|
200
|
-
function Query({
|
|
275
|
+
function Query({
|
|
276
|
+
name,
|
|
277
|
+
typeSchemas,
|
|
278
|
+
queryKeyName,
|
|
279
|
+
queryKeyTypeName,
|
|
280
|
+
queryOptionsName,
|
|
281
|
+
operation,
|
|
282
|
+
dataReturnType,
|
|
283
|
+
paramsType,
|
|
284
|
+
pathParamsType
|
|
285
|
+
}) {
|
|
201
286
|
const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
|
|
202
287
|
const generics = [TData, typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error", `${queryKeyTypeName} | null`];
|
|
203
288
|
const queryKeyParams = QueryKey.getParams({
|
|
@@ -205,12 +290,14 @@ function Query({ name, typeSchemas, queryKeyName, queryKeyTypeName, queryOptions
|
|
|
205
290
|
typeSchemas
|
|
206
291
|
});
|
|
207
292
|
const params = getParams5({
|
|
293
|
+
paramsType,
|
|
208
294
|
pathParamsType,
|
|
209
295
|
dataReturnType,
|
|
210
296
|
typeSchemas,
|
|
211
297
|
queryKeyTypeName
|
|
212
298
|
});
|
|
213
299
|
const queryOptionsParams = QueryOptions.getParams({
|
|
300
|
+
paramsType,
|
|
214
301
|
pathParamsType,
|
|
215
302
|
typeSchemas
|
|
216
303
|
});
|
|
@@ -245,5 +332,5 @@ exports.MutationKey = MutationKey;
|
|
|
245
332
|
exports.Query = Query;
|
|
246
333
|
exports.QueryKey = QueryKey;
|
|
247
334
|
exports.QueryOptions = QueryOptions;
|
|
248
|
-
//# sourceMappingURL=chunk-
|
|
249
|
-
//# sourceMappingURL=chunk-
|
|
335
|
+
//# sourceMappingURL=chunk-HB6G7CVV.cjs.map
|
|
336
|
+
//# sourceMappingURL=chunk-HB6G7CVV.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/MutationKey.tsx","../src/components/Mutation.tsx","../src/components/QueryKey.tsx","../src/components/QueryOptions.tsx","../src/components/Query.tsx"],"names":["FunctionParams","name","URLPath","jsxs","Fragment","jsx","File","Function","Type","getParams","getPathParams","isOptional","Client","getComments"],"mappings":"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","file":"chunk-HB6G7CVV.cjs","sourcesContent":["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 { PluginSwr } from '../types'\n\ntype Props = {\n name: string\n typeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n pathParamsType: PluginSwr['resolvedOptions']['pathParamsType']\n keysFn: ((keys: unknown[]) => unknown[]) | undefined\n}\n\ntype GetParamsProps = {\n pathParamsType: PluginSwr['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({}: GetParamsProps) {\n return FunctionParams.factory({})\n}\n\nexport function MutationKey({ name, typeSchemas, pathParamsType, operation, typeName, keysFn = (name) => name }: Props): ReactNode {\n const path = new URLPath(operation.path)\n const params = getParams({ pathParamsType, typeSchemas })\n const keys = [JSON.stringify({ url: path.path })].filter(Boolean)\n\n return (\n <>\n <File.Source name={name} isExportable isIndexable>\n <Function.Arrow name={name} export params={params.toConstructor()} singleLine>\n {`[${keysFn(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\n","import { URLPath } from '@kubb/core/utils'\nimport { 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 { ReactNode } from 'react'\nimport type { PluginSwr } 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 mutationKeyTypeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n paramsType: PluginSwr['resolvedOptions']['paramsType']\n dataReturnType: PluginSwr['resolvedOptions']['client']['dataReturnType']\n pathParamsType: PluginSwr['resolvedOptions']['pathParamsType']\n}\n\ntype GetParamsProps = {\n pathParamsType: PluginSwr['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSwr['resolvedOptions']['client']['dataReturnType']\n typeSchemas: OperationSchemas\n mutationKeyTypeName: string\n}\n// TODO add same logic as being done for react-query mutations\nfunction getParams({ pathParamsType, dataReturnType, typeSchemas, mutationKeyTypeName }: GetParamsProps) {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n\n return FunctionParams.factory({\n pathParams: {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true }),\n },\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 mutation?: Parameters<typeof useSWRMutation<${[TData, typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error', mutationKeyTypeName, typeSchemas.request?.name].join(', ')}>>[2],\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>'},\n shouldFetch?: boolean,\n}\n`,\n default: '{}',\n },\n })\n}\n\nexport function Mutation({\n name,\n clientName,\n mutationKeyName,\n mutationKeyTypeName,\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 generics = [\n TData,\n typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error',\n `${mutationKeyTypeName} | null`,\n typeSchemas.request?.name, //arg: data\n ].filter(Boolean)\n\n const mutationKeyParams = MutationKey.getParams({\n pathParamsType,\n typeSchemas,\n })\n\n const params = getParams({\n pathParamsType,\n dataReturnType,\n typeSchemas,\n mutationKeyTypeName,\n })\n\n const clientParams = Client.getParams({\n paramsType,\n typeSchemas,\n pathParamsType,\n })\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 = {}, shouldFetch = true } = options ?? {}\n const mutationKey = ${mutationKeyName}(${mutationKeyParams.toCall()})\n\n return useSWRMutation<${generics}>(\n shouldFetch ? mutationKey : null,\n async (_url${typeSchemas.request?.name ? ', { arg: data }' : ''}) => {\n return ${clientName}(${clientParams.toCall()})\n },\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 { PluginSwr } from '../types'\n\ntype Props = {\n name: string\n typeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n pathParamsType: PluginSwr['resolvedOptions']['pathParamsType']\n keysFn: ((keys: unknown[]) => unknown[]) | undefined\n}\n\ntype GetParamsProps = {\n pathParamsType: PluginSwr['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\nexport function QueryKey({ name, typeSchemas, pathParamsType, operation, typeName, keysFn = (name) => name }: Props): ReactNode {\n const path = new URLPath(operation.path)\n const params = getParams({ pathParamsType, typeSchemas })\n const keys = [\n path.toObject({\n type: 'path',\n stringify: true,\n }),\n typeSchemas.queryParams?.name ? '...(params ? [params] : [])' : undefined,\n typeSchemas.request?.name ? '...(data ? [data] : [])' : undefined,\n ].filter(Boolean)\n\n return (\n <>\n <File.Source name={name} isExportable isIndexable>\n <Function.Arrow name={name} export params={params.toConstructor()} singleLine>\n {`[${keysFn(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\n","import { getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams } from '@kubb/react'\n\nimport type { ReactNode } from 'react'\nimport type { PluginSwr } from '../types.ts'\n\nimport { isOptional } from '@kubb/oas'\nimport { Client } from '@kubb/plugin-client/components'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\n\ntype Props = {\n name: string\n clientName: string\n typeSchemas: OperationSchemas\n paramsType: PluginSwr['resolvedOptions']['paramsType']\n pathParamsType: PluginSwr['resolvedOptions']['pathParamsType']\n}\n\ntype GetParamsProps = {\n paramsType: PluginSwr['resolvedOptions']['paramsType']\n pathParamsType: PluginSwr['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 }: Props): ReactNode {\n const params = getParams({ paramsType, pathParamsType, typeSchemas })\n const clientParams = Client.getParams({\n paramsType,\n typeSchemas,\n pathParamsType,\n })\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Function name={name} export params={params.toConstructor()}>\n {`\n return {\n fetcher: async () => {\n return ${clientName}(${clientParams.toCall()})\n },\n }\n `}\n </Function>\n </File.Source>\n )\n}\n\nQueryOptions.getParams = getParams\n","import { URLPath } from '@kubb/core/utils'\nimport { 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 { PluginSwr } 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 paramsType: PluginSwr['resolvedOptions']['paramsType']\n pathParamsType: PluginSwr['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSwr['resolvedOptions']['client']['dataReturnType']\n operation: Operation\n}\n\ntype GetParamsProps = {\n paramsType: PluginSwr['resolvedOptions']['paramsType']\n pathParamsType: PluginSwr['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSwr['resolvedOptions']['client']['dataReturnType']\n queryKeyTypeName: string\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, pathParamsType, dataReturnType, typeSchemas, queryKeyTypeName }: 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?: Parameters<typeof useSWR<${[TData, typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error', `${queryKeyTypeName} | null`].join(', ')}, any>>[2],\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>'},\n shouldFetch?: boolean,\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?: Parameters<typeof useSWR<${[TData, typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error', `${queryKeyTypeName} | null`].join(', ')}, any>>[2],\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>'},\n shouldFetch?: boolean,\n}\n`,\n default: '{}',\n },\n })\n}\n\nexport function Query({\n name,\n typeSchemas,\n queryKeyName,\n queryKeyTypeName,\n queryOptionsName,\n operation,\n dataReturnType,\n paramsType,\n pathParamsType,\n}: Props): ReactNode {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const generics = [TData, typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error', `${queryKeyTypeName} | null`]\n\n const queryKeyParams = QueryKey.getParams({\n pathParamsType,\n typeSchemas,\n })\n const params = getParams({\n paramsType,\n pathParamsType,\n dataReturnType,\n typeSchemas,\n queryKeyTypeName,\n })\n\n const queryOptionsParams = QueryOptions.getParams({\n paramsType,\n pathParamsType,\n typeSchemas,\n })\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 { query: queryOptions, client: config = {}, shouldFetch = true } = options ?? {}\n\n const queryKey = ${queryKeyName}(${queryKeyParams.toCall()})\n\n return useSWR<${generics.join(', ')}>(\n shouldFetch ? queryKey : null,\n {\n ...${queryOptionsName}(${queryOptionsParams.toCall()})\n ...queryOptions\n }\n )\n `}\n </Function>\n </File.Source>\n )\n}\n"]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { QueryKey, QueryOptions, Query, MutationKey, Mutation } from './chunk-
|
|
2
|
-
import '@kubb/core/transformers';
|
|
1
|
+
import { QueryKey, QueryOptions, Query, MutationKey, Mutation } from './chunk-5Y5IFA26.js';
|
|
3
2
|
import { pluginClientName } from '@kubb/plugin-client';
|
|
4
3
|
import { Client } from '@kubb/plugin-client/components';
|
|
5
4
|
import { createReactGenerator } from '@kubb/plugin-oas';
|
|
@@ -91,17 +90,28 @@ var queryGenerator = createReactGenerator({
|
|
|
91
90
|
typeSchemas: type.schemas,
|
|
92
91
|
zodSchemas: zod.schemas,
|
|
93
92
|
dataReturnType: options.client.dataReturnType,
|
|
93
|
+
paramsType: options.paramsType,
|
|
94
94
|
pathParamsType: options.pathParamsType,
|
|
95
95
|
parser: options.parser
|
|
96
96
|
}
|
|
97
97
|
),
|
|
98
|
-
/* @__PURE__ */ jsx(
|
|
98
|
+
/* @__PURE__ */ jsx(
|
|
99
|
+
QueryOptions,
|
|
100
|
+
{
|
|
101
|
+
name: queryOptions.name,
|
|
102
|
+
clientName: client.name,
|
|
103
|
+
typeSchemas: type.schemas,
|
|
104
|
+
paramsType: options.paramsType,
|
|
105
|
+
pathParamsType: options.pathParamsType
|
|
106
|
+
}
|
|
107
|
+
),
|
|
99
108
|
/* @__PURE__ */ jsx(
|
|
100
109
|
Query,
|
|
101
110
|
{
|
|
102
111
|
name: query.name,
|
|
103
112
|
queryOptionsName: queryOptions.name,
|
|
104
113
|
typeSchemas: type.schemas,
|
|
114
|
+
paramsType: options.paramsType,
|
|
105
115
|
pathParamsType: options.pathParamsType,
|
|
106
116
|
operation,
|
|
107
117
|
dataReturnType: options.client.dataReturnType,
|
|
@@ -190,6 +200,7 @@ var mutationGenerator = createReactGenerator({
|
|
|
190
200
|
typeSchemas: type.schemas,
|
|
191
201
|
zodSchemas: zod.schemas,
|
|
192
202
|
dataReturnType: options.client.dataReturnType,
|
|
203
|
+
paramsType: options.paramsType,
|
|
193
204
|
pathParamsType: options.pathParamsType,
|
|
194
205
|
parser: options.parser
|
|
195
206
|
}
|
|
@@ -203,6 +214,7 @@ var mutationGenerator = createReactGenerator({
|
|
|
203
214
|
typeSchemas: type.schemas,
|
|
204
215
|
operation,
|
|
205
216
|
dataReturnType: options.client.dataReturnType,
|
|
217
|
+
paramsType: options.paramsType,
|
|
206
218
|
pathParamsType: options.pathParamsType,
|
|
207
219
|
mutationKeyName: mutationKey.name,
|
|
208
220
|
mutationKeyTypeName: mutationKey.typeName
|
|
@@ -213,5 +225,5 @@ var mutationGenerator = createReactGenerator({
|
|
|
213
225
|
});
|
|
214
226
|
|
|
215
227
|
export { mutationGenerator, queryGenerator };
|
|
216
|
-
//# sourceMappingURL=chunk-
|
|
217
|
-
//# sourceMappingURL=chunk-
|
|
228
|
+
//# sourceMappingURL=chunk-NA63ZY7W.js.map
|
|
229
|
+
//# sourceMappingURL=chunk-NA63ZY7W.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/generators/queryGenerator.tsx","../src/generators/mutationGenerator.tsx"],"names":["createReactGenerator","useApp","useOperationManager","pluginTsName","pluginZodName","pluginClientName","jsxs","File","jsx","Client"],"mappings":"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","file":"chunk-NA63ZY7W.js","sourcesContent":["import { pluginClientName } from '@kubb/plugin-client'\nimport { Client } from '@kubb/plugin-client/components'\nimport { createReactGenerator } from '@kubb/plugin-oas'\nimport { useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File, useApp } from '@kubb/react'\nimport { Query, QueryOptions } from '../components'\nimport { QueryKey } from '../components'\nimport type { PluginSwr } from '../types'\n\nexport const queryGenerator = createReactGenerator<PluginSwr>({\n name: 'swr-query',\n Operation({ options, operation }) {\n const {\n plugin: {\n options: { output },\n },\n } = useApp<PluginSwr>()\n const { getSchemas, getName, getFile } = useOperationManager()\n\n const isQuery = typeof options.query === 'boolean' ? options.query : !!options.query.methods?.some((method) => operation.method === method)\n\n const query = {\n name: getName(operation, { type: 'function', prefix: 'use' }),\n typeName: getName(operation, { type: 'type' }),\n file: getFile(operation, { prefix: 'use' }),\n }\n\n const client = {\n name: getName(operation, { type: 'function', pluginKey: [pluginClientName] }),\n }\n\n const queryOptions = {\n name: getName(operation, { type: 'function', suffix: 'QueryOptions' }),\n }\n const queryKey = {\n name: getName(operation, { type: 'const', suffix: 'QueryKey' }),\n typeName: getName(operation, { type: 'type', suffix: 'QueryKey' }),\n }\n\n const type = {\n file: getFile(operation, { pluginKey: [pluginTsName] }),\n //todo remove type?\n schemas: getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' }),\n }\n\n const zod = {\n file: getFile(operation, { pluginKey: [pluginZodName] }),\n schemas: getSchemas(operation, { pluginKey: [pluginZodName], type: 'function' }),\n }\n\n if (!isQuery) {\n return null\n }\n\n return (\n <File baseName={query.file.baseName} path={query.file.path} meta={query.file.meta} banner={output?.banner} footer={output?.footer}>\n {options.parser === 'zod' && <File.Import name={[zod.schemas.response.name]} root={query.file.path} path={zod.file.path} />}\n <File.Import name=\"useSWR\" path={options.query.importPath} />\n <File.Import name={['SWRResponse']} path={options.query.importPath} isTypeOnly />\n <File.Import name={'client'} path={options.client.importPath} />\n <File.Import name={['RequestConfig']} path={options.client.importPath} isTypeOnly />\n {options.client.dataReturnType === 'full' && <File.Import name={['ResponseConfig']} path={options.client.importPath} isTypeOnly />}\n\n <File.Import\n name={[\n type.schemas.request?.name,\n type.schemas.response.name,\n type.schemas.pathParams?.name,\n type.schemas.queryParams?.name,\n type.schemas.headerParams?.name,\n ...(type.schemas.statusCodes?.map((item) => item.name) || []),\n ].filter(Boolean)}\n root={query.file.path}\n path={type.file.path}\n isTypeOnly\n />\n <QueryKey\n name={queryKey.name}\n typeName={queryKey.typeName}\n operation={operation}\n pathParamsType={options.pathParamsType}\n typeSchemas={type.schemas}\n keysFn={options.query.key}\n />\n <Client\n name={client.name}\n isExportable={false}\n isIndexable={false}\n baseURL={options.baseURL}\n operation={operation}\n typeSchemas={type.schemas}\n zodSchemas={zod.schemas}\n dataReturnType={options.client.dataReturnType}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n parser={options.parser}\n />\n <QueryOptions\n name={queryOptions.name}\n clientName={client.name}\n typeSchemas={type.schemas}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n />\n <Query\n name={query.name}\n queryOptionsName={queryOptions.name}\n typeSchemas={type.schemas}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n operation={operation}\n dataReturnType={options.client.dataReturnType}\n queryKeyName={queryKey.name}\n queryKeyTypeName={queryKey.typeName}\n />\n </File>\n )\n },\n})\n","import { pluginClientName } from '@kubb/plugin-client'\nimport { Client } from '@kubb/plugin-client/components'\nimport { createReactGenerator } from '@kubb/plugin-oas'\nimport { useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File, useApp } from '@kubb/react'\nimport { MutationKey } from '../components'\nimport { Mutation } from '../components'\nimport type { PluginSwr } from '../types'\n\nexport const mutationGenerator = createReactGenerator<PluginSwr>({\n name: 'swr-mutation',\n Operation({ options, operation }) {\n const {\n plugin: {\n options: { output },\n },\n } = useApp<PluginSwr>()\n const { getSchemas, getName, getFile } = useOperationManager()\n\n const isMutate = typeof options.query === 'boolean' ? options.mutation : !!options.mutation.methods?.some((method) => operation.method === method)\n\n const mutation = {\n name: getName(operation, { type: 'function', prefix: 'use' }),\n typeName: getName(operation, { type: 'type' }),\n file: getFile(operation, { prefix: 'use' }),\n }\n\n const type = {\n file: getFile(operation, { pluginKey: [pluginTsName] }),\n //todo remove type?\n schemas: getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' }),\n }\n\n const zod = {\n file: getFile(operation, { pluginKey: [pluginZodName] }),\n schemas: getSchemas(operation, { pluginKey: [pluginZodName], type: 'function' }),\n }\n\n const client = {\n name: getName(operation, { type: 'function', pluginKey: [pluginClientName] }),\n }\n\n const mutationKey = {\n name: getName(operation, { type: 'const', suffix: 'MutationKey' }),\n typeName: getName(operation, { type: 'type', suffix: 'MutationKey' }),\n }\n\n if (!isMutate) {\n return null\n }\n\n return (\n <File baseName={mutation.file.baseName} path={mutation.file.path} meta={mutation.file.meta} banner={output?.banner} footer={output?.footer}>\n {options.parser === 'zod' && <File.Import name={[zod.schemas.response.name]} root={mutation.file.path} path={zod.file.path} />}\n <File.Import name=\"useSWRMutation\" path={options.mutation.importPath} />\n <File.Import name={['SWRMutationResponse']} path={options.mutation.importPath} isTypeOnly />\n <File.Import name={'client'} path={options.client.importPath} />\n <File.Import name={['RequestConfig', 'ResponseConfig']} path={options.client.importPath} isTypeOnly />\n <File.Import\n name={[\n type.schemas.request?.name,\n type.schemas.response.name,\n type.schemas.pathParams?.name,\n type.schemas.queryParams?.name,\n type.schemas.headerParams?.name,\n ...(type.schemas.statusCodes?.map((item) => item.name) || []),\n ].filter(Boolean)}\n root={mutation.file.path}\n path={type.file.path}\n isTypeOnly\n />\n <MutationKey\n name={mutationKey.name}\n typeName={mutationKey.typeName}\n operation={operation}\n pathParamsType={options.pathParamsType}\n typeSchemas={type.schemas}\n keysFn={options.mutation.key}\n />\n <Client\n name={client.name}\n isExportable={false}\n isIndexable={false}\n baseURL={options.baseURL}\n operation={operation}\n typeSchemas={type.schemas}\n zodSchemas={zod.schemas}\n dataReturnType={options.client.dataReturnType}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n parser={options.parser}\n />\n <Mutation\n name={mutation.name}\n clientName={client.name}\n typeName={mutation.typeName}\n typeSchemas={type.schemas}\n operation={operation}\n dataReturnType={options.client.dataReturnType}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n mutationKeyName={mutationKey.name}\n mutationKeyTypeName={mutationKey.typeName}\n />\n </File>\n )\n },\n})\n"]}
|