@kubb/plugin-svelte-query 3.0.0-alpha.26 → 3.0.0-alpha.29
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-JVK6FU4M.js → chunk-A6W23SCP.js} +5 -5
- package/dist/chunk-A6W23SCP.js.map +1 -0
- package/dist/{chunk-YI2745MF.js → chunk-B7GVNGYU.js} +42 -31
- package/dist/chunk-B7GVNGYU.js.map +1 -0
- package/dist/{chunk-6R5UBB6J.cjs → chunk-FXHTVRAH.cjs} +14 -14
- package/dist/chunk-FXHTVRAH.cjs.map +1 -0
- package/dist/{chunk-3OCKBXBG.cjs → chunk-WAAKXO6O.cjs} +42 -31
- package/dist/chunk-WAAKXO6O.cjs.map +1 -0
- package/dist/components.cjs +6 -6
- package/dist/components.js +1 -1
- package/dist/generators.cjs +4 -4
- package/dist/generators.js +2 -2
- package/dist/index.cjs +3 -3
- package/dist/index.js +2 -2
- package/package.json +11 -11
- package/src/components/Mutation.tsx +42 -34
- package/src/components/Query.tsx +1 -1
- package/src/components/QueryOptions.tsx +10 -1
- package/src/generators/__snapshots__/clientDataReturnTypeFull.ts +4 -3
- package/src/generators/__snapshots__/clientGetImportPath.ts +4 -3
- package/src/generators/__snapshots__/clientPostImportPath.ts +9 -12
- package/src/generators/__snapshots__/findByTags.ts +4 -3
- package/src/generators/__snapshots__/findByTagsPathParamsObject.ts +4 -3
- package/src/generators/__snapshots__/findByTagsWithCustomQueryKey.ts +4 -3
- package/src/generators/__snapshots__/findByTagsWithZod.ts +4 -3
- package/src/generators/__snapshots__/postAsQuery.ts +5 -3
- package/src/generators/__snapshots__/updatePetById.ts +9 -12
- package/src/generators/__snapshots__/updatePetByIdPathParamsObject.ts +9 -12
- package/src/generators/mutationGenerator.tsx +1 -1
- package/src/generators/queryGenerator.tsx +1 -1
- package/dist/chunk-3OCKBXBG.cjs.map +0 -1
- package/dist/chunk-6R5UBB6J.cjs.map +0 -1
- package/dist/chunk-JVK6FU4M.js.map +0 -1
- package/dist/chunk-YI2745MF.js.map +0 -1
|
@@ -86,7 +86,7 @@ function Client({
|
|
|
86
86
|
const formData = new FormData()
|
|
87
87
|
if(data) {
|
|
88
88
|
Object.keys(data).forEach((key) => {
|
|
89
|
-
const value = data[key];
|
|
89
|
+
const value = data[key as keyof typeof data];
|
|
90
90
|
if (typeof key === "string" && (typeof value === "string" || value instanceof Blob)) {
|
|
91
91
|
formData.append(key, value);
|
|
92
92
|
}
|
|
@@ -141,7 +141,7 @@ function MutationKey({ name, typeSchemas, pathParamsType, operation, typeName, k
|
|
|
141
141
|
MutationKey.getParams = getParams2;
|
|
142
142
|
function getParams3({ dataReturnType, typeSchemas }) {
|
|
143
143
|
const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
|
|
144
|
-
const
|
|
144
|
+
const mutationParams = react.FunctionParams.factory({
|
|
145
145
|
...utils$1.getPathParams(typeSchemas.pathParams, { typed: true }),
|
|
146
146
|
data: typeSchemas.request?.name ? {
|
|
147
147
|
type: typeSchemas.request?.name,
|
|
@@ -156,7 +156,7 @@ function getParams3({ dataReturnType, typeSchemas }) {
|
|
|
156
156
|
optional: oas.isOptional(typeSchemas.headerParams?.schema)
|
|
157
157
|
} : void 0
|
|
158
158
|
});
|
|
159
|
-
const TRequest =
|
|
159
|
+
const TRequest = mutationParams.toConstructor({ valueAsType: true });
|
|
160
160
|
return react.FunctionParams.factory({
|
|
161
161
|
options: {
|
|
162
162
|
type: `
|
|
@@ -170,7 +170,6 @@ function getParams3({ dataReturnType, typeSchemas }) {
|
|
|
170
170
|
});
|
|
171
171
|
}
|
|
172
172
|
function Mutation({ name, clientName, pathParamsType, dataReturnType, typeSchemas, operation, mutationKeyName }) {
|
|
173
|
-
const returnType = "ReturnType<typeof mutation> & { mutationKey: MutationKey }";
|
|
174
173
|
const mutationKeyParams = MutationKey.getParams({
|
|
175
174
|
pathParamsType,
|
|
176
175
|
typeSchemas
|
|
@@ -185,28 +184,39 @@ function Mutation({ name, clientName, pathParamsType, dataReturnType, typeSchema
|
|
|
185
184
|
pathParamsType
|
|
186
185
|
});
|
|
187
186
|
const mutationParams = react.FunctionParams.factory({
|
|
187
|
+
...utils$1.getPathParams(typeSchemas.pathParams, { typed: true }),
|
|
188
|
+
data: typeSchemas.request?.name ? {
|
|
189
|
+
type: typeSchemas.request?.name,
|
|
190
|
+
optional: oas.isOptional(typeSchemas.request?.schema)
|
|
191
|
+
} : void 0,
|
|
192
|
+
params: typeSchemas.queryParams?.name ? {
|
|
193
|
+
type: typeSchemas.queryParams?.name,
|
|
194
|
+
optional: oas.isOptional(typeSchemas.queryParams?.schema)
|
|
195
|
+
} : void 0,
|
|
196
|
+
headers: typeSchemas.headerParams?.name ? {
|
|
197
|
+
type: typeSchemas.headerParams?.name,
|
|
198
|
+
optional: oas.isOptional(typeSchemas.headerParams?.schema)
|
|
199
|
+
} : void 0
|
|
200
|
+
});
|
|
201
|
+
const dataParams = react.FunctionParams.factory({
|
|
188
202
|
data: {
|
|
189
203
|
// No use of pathParams because useMutation can only take one argument in object form,
|
|
190
204
|
// see https://tanstack.com/query/latest/docs/framework/react/reference/useMutation#usemutation
|
|
191
205
|
mode: "object",
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
optional: oas.isOptional(typeSchemas.queryParams?.schema)
|
|
202
|
-
} : void 0,
|
|
203
|
-
headers: typeSchemas.headerParams?.name ? {
|
|
204
|
-
type: typeSchemas.headerParams?.name,
|
|
205
|
-
optional: oas.isOptional(typeSchemas.headerParams?.schema)
|
|
206
|
-
} : void 0
|
|
207
|
-
}
|
|
206
|
+
children: Object.entries(mutationParams.params).reduce((acc, [key, value]) => {
|
|
207
|
+
if (value) {
|
|
208
|
+
acc[key] = {
|
|
209
|
+
...value,
|
|
210
|
+
type: void 0
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
return acc;
|
|
214
|
+
}, {})
|
|
208
215
|
}
|
|
209
216
|
});
|
|
217
|
+
const TRequest = mutationParams.toConstructor({ valueAsType: true });
|
|
218
|
+
const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
|
|
219
|
+
const generics = [TData, typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error", `{${TRequest}}`].join(", ");
|
|
210
220
|
return /* @__PURE__ */ jsxRuntime.jsx(react.File.Source, { name, isExportable: true, isIndexable: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
211
221
|
react.Function,
|
|
212
222
|
{
|
|
@@ -220,16 +230,13 @@ function Mutation({ name, clientName, pathParamsType, dataReturnType, typeSchema
|
|
|
220
230
|
const { mutation: mutationOptions, client: config = {} } = options ?? {}
|
|
221
231
|
const mutationKey = mutationOptions?.mutationKey ?? ${mutationKeyName}(${mutationKeyParams.toCall()})
|
|
222
232
|
|
|
223
|
-
|
|
224
|
-
mutationFn: async(${
|
|
233
|
+
return createMutation<${generics}>({
|
|
234
|
+
mutationFn: async(${dataParams.toConstructor()}) => {
|
|
225
235
|
return ${clientName}(${clientParams.toCall()})
|
|
226
236
|
},
|
|
237
|
+
mutationKey,
|
|
227
238
|
...mutationOptions
|
|
228
|
-
})
|
|
229
|
-
|
|
230
|
-
mutation.mutationKey = mutationKey as MutationKey
|
|
231
|
-
|
|
232
|
-
return mutation
|
|
239
|
+
})
|
|
233
240
|
`
|
|
234
241
|
}
|
|
235
242
|
) });
|
|
@@ -301,11 +308,15 @@ function QueryOptions({ name, clientName, typeSchemas, pathParamsType, queryKeyN
|
|
|
301
308
|
pathParamsType,
|
|
302
309
|
typeSchemas
|
|
303
310
|
});
|
|
311
|
+
const enabled = Object.entries(queryKeyParams.flatParams).map(([key, item]) => item && !item.optional ? key : void 0).filter(Boolean).join("&& ");
|
|
312
|
+
const enabledText = enabled ? `enabled: !!(${enabled})` : "";
|
|
304
313
|
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: `
|
|
305
314
|
const queryKey = ${queryKeyName}(${queryKeyParams.toCall()})
|
|
306
315
|
return queryOptions({
|
|
316
|
+
${enabledText}
|
|
307
317
|
queryKey,
|
|
308
|
-
queryFn: async () => {
|
|
318
|
+
queryFn: async ({ signal }) => {
|
|
319
|
+
config.signal = signal
|
|
309
320
|
return ${clientName}(${clientParams.toCall()})
|
|
310
321
|
},
|
|
311
322
|
})
|
|
@@ -344,7 +355,7 @@ function getParams6({ pathParamsType, dataReturnType, typeSchemas }) {
|
|
|
344
355
|
}
|
|
345
356
|
function Query({ name, queryKeyTypeName, queryOptionsName, queryKeyName, pathParamsType, dataReturnType, typeSchemas, operation }) {
|
|
346
357
|
const TData = dataReturnType === "data" ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`;
|
|
347
|
-
const returnType = "
|
|
358
|
+
const returnType = `CreateQueryResult<${["TData", typeSchemas.errors?.map((item) => item.name).join(" | ") || "Error"].join(", ")}> & { queryKey: TQueryKey }`;
|
|
348
359
|
const generics = [`TData = ${TData}`, `TQueryData = ${TData}`, `TQueryKey extends QueryKey = ${queryKeyTypeName}`];
|
|
349
360
|
const queryKeyParams = QueryKey.getParams({
|
|
350
361
|
pathParamsType,
|
|
@@ -396,5 +407,5 @@ exports.Operations = Operations;
|
|
|
396
407
|
exports.Query = Query;
|
|
397
408
|
exports.QueryKey = QueryKey;
|
|
398
409
|
exports.QueryOptions = QueryOptions;
|
|
399
|
-
//# sourceMappingURL=chunk-
|
|
400
|
-
//# sourceMappingURL=chunk-
|
|
410
|
+
//# sourceMappingURL=chunk-WAAKXO6O.cjs.map
|
|
411
|
+
//# sourceMappingURL=chunk-WAAKXO6O.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../plugin-client/src/components/Client.tsx","../../plugin-client/src/components/Operations.tsx","../src/components/MutationKey.tsx","../src/components/Mutation.tsx","../src/components/QueryKey.tsx","../src/components/QueryOptions.tsx","../src/components/Query.tsx"],"names":["FunctionParams","getPathParams","isOptional","URLPath","File","jsxs","Function","getComments","jsx","Const","getParams","name","Fragment","Type"],"mappings":"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","file":"chunk-WAAKXO6O.cjs","sourcesContent":["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 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 pathParamsType: PluginClient['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 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 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({ 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 { URLPath } from '@kubb/core/utils'\nimport { File, Function, FunctionParams, Type } from '@kubb/react'\n\nimport type { Operation } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport type { ReactNode } from 'react'\nimport type { PluginSvelteQuery } from '../types'\n\ntype Props = {\n name: string\n typeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n pathParamsType: PluginSvelteQuery['resolvedOptions']['pathParamsType']\n keysFn: ((keys: unknown[]) => unknown[]) | undefined\n}\n\ntype GetParamsProps = {\n pathParamsType: PluginSvelteQuery['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 { File, Function, FunctionParams } from '@kubb/react'\n\nimport { type Operation, isOptional } from '@kubb/oas'\nimport { Client } from '@kubb/plugin-client/components'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport { getComments, getPathParams } from '@kubb/plugin-oas/utils'\nimport type { Params } from '@kubb/react/types'\nimport type { ReactNode } from 'react'\nimport type { PluginSvelteQuery } from '../types.ts'\nimport { MutationKey } from './MutationKey.tsx'\n\ntype Props = {\n /**\n * Name of the function\n */\n name: string\n typeName: string\n clientName: string\n mutationKeyName: string\n typeSchemas: OperationSchemas\n operation: Operation\n dataReturnType: PluginSvelteQuery['resolvedOptions']['client']['dataReturnType']\n pathParamsType: PluginSvelteQuery['resolvedOptions']['pathParamsType']\n}\n\ntype GetParamsProps = {\n pathParamsType: PluginSvelteQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSvelteQuery['resolvedOptions']['client']['dataReturnType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ dataReturnType, typeSchemas }: GetParamsProps) {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const mutationParams = FunctionParams.factory({\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 const TRequest = mutationParams.toConstructor({ valueAsType: true })\n\n return FunctionParams.factory({\n options: {\n type: `\n{\n mutation?: CreateMutationOptions<${[TData, typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error', `{${TRequest}}`].join(', ')}>,\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>'},\n}\n`,\n default: '{}',\n },\n })\n}\n\nexport function Mutation({ name, clientName, pathParamsType, dataReturnType, typeSchemas, operation, mutationKeyName }: Props): ReactNode {\n const mutationKeyParams = MutationKey.getParams({\n pathParamsType,\n typeSchemas,\n })\n\n const params = getParams({\n pathParamsType,\n dataReturnType,\n typeSchemas,\n })\n\n const clientParams = Client.getParams({\n typeSchemas,\n pathParamsType,\n })\n const mutationParams = FunctionParams.factory({\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 const dataParams = FunctionParams.factory({\n data: {\n // No use of pathParams because useMutation can only take one argument in object form,\n // see https://tanstack.com/query/latest/docs/framework/react/reference/useMutation#usemutation\n mode: 'object',\n children: Object.entries(mutationParams.params).reduce((acc, [key, value]) => {\n if (value) {\n acc[key] = {\n ...value,\n type: undefined,\n }\n }\n\n return acc\n }, {} as Params),\n },\n })\n\n const TRequest = mutationParams.toConstructor({ valueAsType: true })\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const generics = [TData, typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error', `{${TRequest}}`].join(', ')\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Function\n name={name}\n export\n params={params.toConstructor()}\n JSDoc={{\n comments: getComments(operation),\n }}\n >\n {`\n const { mutation: mutationOptions, client: config = {} } = options ?? {}\n const mutationKey = mutationOptions?.mutationKey ?? ${mutationKeyName}(${mutationKeyParams.toCall()})\n\n return createMutation<${generics}>({\n mutationFn: async(${dataParams.toConstructor()}) => {\n return ${clientName}(${clientParams.toCall()})\n },\n mutationKey,\n ...mutationOptions\n })\n `}\n </Function>\n </File.Source>\n )\n}\n","import { URLPath } from '@kubb/core/utils'\nimport { getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams, Type } from '@kubb/react'\n\nimport { type Operation, isOptional } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport type { ReactNode } from 'react'\nimport type { PluginSvelteQuery } from '../types'\n\ntype Props = {\n name: string\n typeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n pathParamsType: PluginSvelteQuery['resolvedOptions']['pathParamsType']\n keysFn: ((keys: unknown[]) => unknown[]) | undefined\n}\n\ntype GetParamsProps = {\n pathParamsType: PluginSvelteQuery['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'\n\nimport { isOptional } from '@kubb/oas'\nimport { Client } from '@kubb/plugin-client/components'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport type { PluginSvelteQuery } from '../types.ts'\nimport { QueryKey } from './QueryKey.tsx'\n\ntype Props = {\n name: string\n clientName: string\n queryKeyName: string\n typeSchemas: OperationSchemas\n pathParamsType: PluginSvelteQuery['resolvedOptions']['pathParamsType']\n}\n\ntype GetParamsProps = {\n pathParamsType: PluginSvelteQuery['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 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, pathParamsType, queryKeyName }: Props): ReactNode {\n const params = getParams({ pathParamsType, typeSchemas })\n const clientParams = Client.getParams({\n typeSchemas,\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 { PluginSvelteQuery } from '../types.ts'\nimport { QueryKey } from './QueryKey.tsx'\nimport { QueryOptions } from './QueryOptions.tsx'\n\ntype Props = {\n /**\n * Name of the function\n */\n name: string\n queryOptionsName: string\n queryKeyName: string\n queryKeyTypeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n pathParamsType: PluginSvelteQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSvelteQuery['resolvedOptions']['client']['dataReturnType']\n}\n\ntype GetParamsProps = {\n pathParamsType: PluginSvelteQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSvelteQuery['resolvedOptions']['client']['dataReturnType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ pathParamsType, dataReturnType, typeSchemas }: 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 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({ name, queryKeyTypeName, queryOptionsName, queryKeyName, pathParamsType, dataReturnType, typeSchemas, operation }: 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 pathParamsType,\n typeSchemas,\n })\n const params = getParams({\n pathParamsType,\n dataReturnType,\n typeSchemas,\n })\n\n const queryOptions = `${queryOptionsName}(${queryOptionsParams.toCall()}) as unknown as CreateBaseQueryOptions`\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Function\n name={name}\n export\n generics={generics.join(', ')}\n params={params.toConstructor()}\n JSDoc={{\n comments: getComments(operation),\n }}\n >\n {`\n const { query: queryOptions, client: config = {} } = options ?? {}\n const queryKey = queryOptions?.queryKey ?? ${queryKeyName}(${queryKeyParams.toCall()})\n\n const query = createQuery({\n ...${queryOptions},\n queryKey,\n ...queryOptions as unknown as Omit<CreateBaseQueryOptions, \"queryKey\">\n }) as ${returnType}\n\n query.queryKey = queryKey as TQueryKey\n\n return query\n `}\n </Function>\n </File.Source>\n )\n}\n\nQuery.getParams = getParams\n"]}
|
package/dist/components.cjs
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkWAAKXO6O_cjs = require('./chunk-WAAKXO6O.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
Object.defineProperty(exports, "Mutation", {
|
|
8
8
|
enumerable: true,
|
|
9
|
-
get: function () { return
|
|
9
|
+
get: function () { return chunkWAAKXO6O_cjs.Mutation; }
|
|
10
10
|
});
|
|
11
11
|
Object.defineProperty(exports, "MutationKey", {
|
|
12
12
|
enumerable: true,
|
|
13
|
-
get: function () { return
|
|
13
|
+
get: function () { return chunkWAAKXO6O_cjs.MutationKey; }
|
|
14
14
|
});
|
|
15
15
|
Object.defineProperty(exports, "Query", {
|
|
16
16
|
enumerable: true,
|
|
17
|
-
get: function () { return
|
|
17
|
+
get: function () { return chunkWAAKXO6O_cjs.Query; }
|
|
18
18
|
});
|
|
19
19
|
Object.defineProperty(exports, "QueryKey", {
|
|
20
20
|
enumerable: true,
|
|
21
|
-
get: function () { return
|
|
21
|
+
get: function () { return chunkWAAKXO6O_cjs.QueryKey; }
|
|
22
22
|
});
|
|
23
23
|
Object.defineProperty(exports, "QueryOptions", {
|
|
24
24
|
enumerable: true,
|
|
25
|
-
get: function () { return
|
|
25
|
+
get: function () { return chunkWAAKXO6O_cjs.QueryOptions; }
|
|
26
26
|
});
|
|
27
27
|
//# sourceMappingURL=components.cjs.map
|
|
28
28
|
//# sourceMappingURL=components.cjs.map
|
package/dist/components.js
CHANGED
package/dist/generators.cjs
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('./chunk-
|
|
3
|
+
var chunkFXHTVRAH_cjs = require('./chunk-FXHTVRAH.cjs');
|
|
4
|
+
require('./chunk-WAAKXO6O.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
Object.defineProperty(exports, "mutationGenerator", {
|
|
9
9
|
enumerable: true,
|
|
10
|
-
get: function () { return
|
|
10
|
+
get: function () { return chunkFXHTVRAH_cjs.mutationGenerator; }
|
|
11
11
|
});
|
|
12
12
|
Object.defineProperty(exports, "queryGenerator", {
|
|
13
13
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
14
|
+
get: function () { return chunkFXHTVRAH_cjs.queryGenerator; }
|
|
15
15
|
});
|
|
16
16
|
//# sourceMappingURL=generators.cjs.map
|
|
17
17
|
//# sourceMappingURL=generators.cjs.map
|
package/dist/generators.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { mutationGenerator, queryGenerator } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { mutationGenerator, queryGenerator } from './chunk-A6W23SCP.js';
|
|
2
|
+
import './chunk-B7GVNGYU.js';
|
|
3
3
|
//# sourceMappingURL=generators.js.map
|
|
4
4
|
//# sourceMappingURL=generators.js.map
|
package/dist/index.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('./chunk-
|
|
3
|
+
var chunkFXHTVRAH_cjs = require('./chunk-FXHTVRAH.cjs');
|
|
4
|
+
require('./chunk-WAAKXO6O.cjs');
|
|
5
5
|
var path = require('path');
|
|
6
6
|
var core = require('@kubb/core');
|
|
7
7
|
var transformers = require('@kubb/core/transformers');
|
|
@@ -27,7 +27,7 @@ var pluginSvelteQuery = core.createPlugin((options) => {
|
|
|
27
27
|
pathParamsType = "inline",
|
|
28
28
|
mutation = {},
|
|
29
29
|
query = {},
|
|
30
|
-
generators = [
|
|
30
|
+
generators = [chunkFXHTVRAH_cjs.queryGenerator, chunkFXHTVRAH_cjs.mutationGenerator].filter(Boolean)
|
|
31
31
|
} = options;
|
|
32
32
|
const template = group?.output ? group.output : `${output.path}/{{tag}}Controller`;
|
|
33
33
|
return {
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { queryGenerator, mutationGenerator } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
import { queryGenerator, mutationGenerator } from './chunk-A6W23SCP.js';
|
|
2
|
+
import './chunk-B7GVNGYU.js';
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import { createPlugin, FileManager, PluginManager } from '@kubb/core';
|
|
5
5
|
import { camelCase, pascalCase } from '@kubb/core/transformers';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kubb/plugin-svelte-query",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.29",
|
|
4
4
|
"description": "Generator svelte-query hooks",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"faker",
|
|
@@ -62,24 +62,24 @@
|
|
|
62
62
|
"!/**/__tests__/**"
|
|
63
63
|
],
|
|
64
64
|
"dependencies": {
|
|
65
|
-
"@kubb/core": "3.0.0-alpha.
|
|
66
|
-
"@kubb/fs": "3.0.0-alpha.
|
|
67
|
-
"@kubb/oas": "3.0.0-alpha.
|
|
68
|
-
"@kubb/plugin-oas": "3.0.0-alpha.
|
|
69
|
-
"@kubb/plugin-ts": "3.0.0-alpha.
|
|
70
|
-
"@kubb/plugin-zod": "3.0.0-alpha.
|
|
71
|
-
"@kubb/react": "3.0.0-alpha.
|
|
65
|
+
"@kubb/core": "3.0.0-alpha.29",
|
|
66
|
+
"@kubb/fs": "3.0.0-alpha.29",
|
|
67
|
+
"@kubb/oas": "3.0.0-alpha.29",
|
|
68
|
+
"@kubb/plugin-oas": "3.0.0-alpha.29",
|
|
69
|
+
"@kubb/plugin-ts": "3.0.0-alpha.29",
|
|
70
|
+
"@kubb/plugin-zod": "3.0.0-alpha.29",
|
|
71
|
+
"@kubb/react": "3.0.0-alpha.29"
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
74
74
|
"@types/react": "^18.3.9",
|
|
75
75
|
"react": "^18.3.1",
|
|
76
76
|
"tsup": "^8.3.0",
|
|
77
77
|
"typescript": "^5.6.2",
|
|
78
|
-
"@kubb/config-ts": "3.0.0-alpha.
|
|
79
|
-
"@kubb/config-tsup": "3.0.0-alpha.
|
|
78
|
+
"@kubb/config-ts": "3.0.0-alpha.29",
|
|
79
|
+
"@kubb/config-tsup": "3.0.0-alpha.29"
|
|
80
80
|
},
|
|
81
81
|
"peerDependencies": {
|
|
82
|
-
"@kubb/react": "3.0.0-alpha.
|
|
82
|
+
"@kubb/react": "3.0.0-alpha.29"
|
|
83
83
|
},
|
|
84
84
|
"engines": {
|
|
85
85
|
"node": ">=20"
|
|
@@ -4,6 +4,7 @@ import { type Operation, isOptional } from '@kubb/oas'
|
|
|
4
4
|
import { Client } from '@kubb/plugin-client/components'
|
|
5
5
|
import type { OperationSchemas } from '@kubb/plugin-oas'
|
|
6
6
|
import { getComments, getPathParams } from '@kubb/plugin-oas/utils'
|
|
7
|
+
import type { Params } from '@kubb/react/types'
|
|
7
8
|
import type { ReactNode } from 'react'
|
|
8
9
|
import type { PluginSvelteQuery } from '../types.ts'
|
|
9
10
|
import { MutationKey } from './MutationKey.tsx'
|
|
@@ -30,7 +31,7 @@ type GetParamsProps = {
|
|
|
30
31
|
|
|
31
32
|
function getParams({ dataReturnType, typeSchemas }: GetParamsProps) {
|
|
32
33
|
const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`
|
|
33
|
-
const
|
|
34
|
+
const mutationParams = FunctionParams.factory({
|
|
34
35
|
...getPathParams(typeSchemas.pathParams, { typed: true }),
|
|
35
36
|
data: typeSchemas.request?.name
|
|
36
37
|
? {
|
|
@@ -51,7 +52,7 @@ function getParams({ dataReturnType, typeSchemas }: GetParamsProps) {
|
|
|
51
52
|
}
|
|
52
53
|
: undefined,
|
|
53
54
|
})
|
|
54
|
-
const TRequest =
|
|
55
|
+
const TRequest = mutationParams.toConstructor({ valueAsType: true })
|
|
55
56
|
|
|
56
57
|
return FunctionParams.factory({
|
|
57
58
|
options: {
|
|
@@ -67,8 +68,6 @@ function getParams({ dataReturnType, typeSchemas }: GetParamsProps) {
|
|
|
67
68
|
}
|
|
68
69
|
|
|
69
70
|
export function Mutation({ name, clientName, pathParamsType, dataReturnType, typeSchemas, operation, mutationKeyName }: Props): ReactNode {
|
|
70
|
-
const returnType = 'ReturnType<typeof mutation> & { mutationKey: MutationKey }'
|
|
71
|
-
|
|
72
71
|
const mutationKeyParams = MutationKey.getParams({
|
|
73
72
|
pathParamsType,
|
|
74
73
|
typeSchemas,
|
|
@@ -84,37 +83,49 @@ export function Mutation({ name, clientName, pathParamsType, dataReturnType, typ
|
|
|
84
83
|
typeSchemas,
|
|
85
84
|
pathParamsType,
|
|
86
85
|
})
|
|
87
|
-
|
|
88
86
|
const mutationParams = FunctionParams.factory({
|
|
87
|
+
...getPathParams(typeSchemas.pathParams, { typed: true }),
|
|
88
|
+
data: typeSchemas.request?.name
|
|
89
|
+
? {
|
|
90
|
+
type: typeSchemas.request?.name,
|
|
91
|
+
optional: isOptional(typeSchemas.request?.schema),
|
|
92
|
+
}
|
|
93
|
+
: undefined,
|
|
94
|
+
params: typeSchemas.queryParams?.name
|
|
95
|
+
? {
|
|
96
|
+
type: typeSchemas.queryParams?.name,
|
|
97
|
+
optional: isOptional(typeSchemas.queryParams?.schema),
|
|
98
|
+
}
|
|
99
|
+
: undefined,
|
|
100
|
+
headers: typeSchemas.headerParams?.name
|
|
101
|
+
? {
|
|
102
|
+
type: typeSchemas.headerParams?.name,
|
|
103
|
+
optional: isOptional(typeSchemas.headerParams?.schema),
|
|
104
|
+
}
|
|
105
|
+
: undefined,
|
|
106
|
+
})
|
|
107
|
+
const dataParams = FunctionParams.factory({
|
|
89
108
|
data: {
|
|
90
109
|
// No use of pathParams because useMutation can only take one argument in object form,
|
|
91
110
|
// see https://tanstack.com/query/latest/docs/framework/react/reference/useMutation#usemutation
|
|
92
111
|
mode: 'object',
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
? {
|
|
104
|
-
type: typeSchemas.queryParams?.name,
|
|
105
|
-
optional: isOptional(typeSchemas.queryParams?.schema),
|
|
106
|
-
}
|
|
107
|
-
: undefined,
|
|
108
|
-
headers: typeSchemas.headerParams?.name
|
|
109
|
-
? {
|
|
110
|
-
type: typeSchemas.headerParams?.name,
|
|
111
|
-
optional: isOptional(typeSchemas.headerParams?.schema),
|
|
112
|
-
}
|
|
113
|
-
: undefined,
|
|
114
|
-
},
|
|
112
|
+
children: Object.entries(mutationParams.params).reduce((acc, [key, value]) => {
|
|
113
|
+
if (value) {
|
|
114
|
+
acc[key] = {
|
|
115
|
+
...value,
|
|
116
|
+
type: undefined,
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
return acc
|
|
121
|
+
}, {} as Params),
|
|
115
122
|
},
|
|
116
123
|
})
|
|
117
124
|
|
|
125
|
+
const TRequest = mutationParams.toConstructor({ valueAsType: true })
|
|
126
|
+
const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`
|
|
127
|
+
const generics = [TData, typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error', `{${TRequest}}`].join(', ')
|
|
128
|
+
|
|
118
129
|
return (
|
|
119
130
|
<File.Source name={name} isExportable isIndexable>
|
|
120
131
|
<Function
|
|
@@ -129,16 +140,13 @@ export function Mutation({ name, clientName, pathParamsType, dataReturnType, typ
|
|
|
129
140
|
const { mutation: mutationOptions, client: config = {} } = options ?? {}
|
|
130
141
|
const mutationKey = mutationOptions?.mutationKey ?? ${mutationKeyName}(${mutationKeyParams.toCall()})
|
|
131
142
|
|
|
132
|
-
|
|
133
|
-
mutationFn: async(${
|
|
143
|
+
return createMutation<${generics}>({
|
|
144
|
+
mutationFn: async(${dataParams.toConstructor()}) => {
|
|
134
145
|
return ${clientName}(${clientParams.toCall()})
|
|
135
146
|
},
|
|
147
|
+
mutationKey,
|
|
136
148
|
...mutationOptions
|
|
137
|
-
})
|
|
138
|
-
|
|
139
|
-
mutation.mutationKey = mutationKey as MutationKey
|
|
140
|
-
|
|
141
|
-
return mutation
|
|
149
|
+
})
|
|
142
150
|
`}
|
|
143
151
|
</Function>
|
|
144
152
|
</File.Source>
|
package/src/components/Query.tsx
CHANGED
|
@@ -68,7 +68,7 @@ function getParams({ pathParamsType, dataReturnType, typeSchemas }: GetParamsPro
|
|
|
68
68
|
|
|
69
69
|
export function Query({ name, queryKeyTypeName, queryOptionsName, queryKeyName, pathParamsType, dataReturnType, typeSchemas, operation }: Props): ReactNode {
|
|
70
70
|
const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`
|
|
71
|
-
const returnType = '
|
|
71
|
+
const returnType = `CreateQueryResult<${['TData', typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'].join(', ')}> & { queryKey: TQueryKey }`
|
|
72
72
|
const generics = [`TData = ${TData}`, `TQueryData = ${TData}`, `TQueryKey extends QueryKey = ${queryKeyTypeName}`]
|
|
73
73
|
|
|
74
74
|
const queryKeyParams = QueryKey.getParams({
|
|
@@ -64,14 +64,23 @@ export function QueryOptions({ name, clientName, typeSchemas, pathParamsType, qu
|
|
|
64
64
|
typeSchemas,
|
|
65
65
|
})
|
|
66
66
|
|
|
67
|
+
const enabled = Object.entries(queryKeyParams.flatParams)
|
|
68
|
+
.map(([key, item]) => (item && !item.optional ? key : undefined))
|
|
69
|
+
.filter(Boolean)
|
|
70
|
+
.join('&& ')
|
|
71
|
+
|
|
72
|
+
const enabledText = enabled ? `enabled: !!(${enabled})` : ''
|
|
73
|
+
|
|
67
74
|
return (
|
|
68
75
|
<File.Source name={name} isExportable isIndexable>
|
|
69
76
|
<Function name={name} export params={params.toConstructor()}>
|
|
70
77
|
{`
|
|
71
78
|
const queryKey = ${queryKeyName}(${queryKeyParams.toCall()})
|
|
72
79
|
return queryOptions({
|
|
80
|
+
${enabledText}
|
|
73
81
|
queryKey,
|
|
74
|
-
queryFn: async () => {
|
|
82
|
+
queryFn: async ({ signal }) => {
|
|
83
|
+
config.signal = signal
|
|
75
84
|
return ${clientName}(${clientParams.toCall()})
|
|
76
85
|
},
|
|
77
86
|
})
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import client from "@kubb/plugin-client/client";
|
|
2
2
|
import type { RequestConfig, ResponseConfig } from "@kubb/plugin-client/client";
|
|
3
|
-
import type { QueryKey, CreateBaseQueryOptions } from "@tanstack/svelte-query";
|
|
3
|
+
import type { QueryKey, CreateBaseQueryOptions, CreateQueryResult } from "@tanstack/svelte-query";
|
|
4
4
|
import { createQuery, queryOptions } from "@tanstack/svelte-query";
|
|
5
5
|
|
|
6
6
|
export const findPetsByTagsQueryKey = (params?: FindPetsByTagsQueryParams) => [{ url: "/pet/findByTags" }, ...(params ? [params] : [])] as const;
|
|
@@ -21,7 +21,8 @@ async function findPetsByTags(headers: FindPetsByTagsHeaderParams, params?: Find
|
|
|
21
21
|
const queryKey = findPetsByTagsQueryKey(params);
|
|
22
22
|
return queryOptions({
|
|
23
23
|
queryKey,
|
|
24
|
-
queryFn: async () => {
|
|
24
|
+
queryFn: async ({ signal }) => {
|
|
25
|
+
config.signal = signal;
|
|
25
26
|
return findPetsByTags(headers, params, config);
|
|
26
27
|
},
|
|
27
28
|
});
|
|
@@ -42,7 +43,7 @@ export function createFindPetsByTags<TData = ResponseConfig<FindPetsByTagsQueryR
|
|
|
42
43
|
...findPetsByTagsQueryOptions(headers, params, config) as unknown as CreateBaseQueryOptions,
|
|
43
44
|
queryKey,
|
|
44
45
|
...queryOptions as unknown as Omit<CreateBaseQueryOptions, "queryKey">
|
|
45
|
-
}) as
|
|
46
|
+
}) as CreateQueryResult<TData, FindPetsByTags400> & {
|
|
46
47
|
queryKey: TQueryKey;
|
|
47
48
|
};
|
|
48
49
|
query.queryKey = queryKey as TQueryKey;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import client from "axios";
|
|
2
|
-
import type { QueryKey, CreateBaseQueryOptions } from "@tanstack/svelte-query";
|
|
2
|
+
import type { QueryKey, CreateBaseQueryOptions, CreateQueryResult } from "@tanstack/svelte-query";
|
|
3
3
|
import type { RequestConfig } from "axios";
|
|
4
4
|
import { createQuery, queryOptions } from "@tanstack/svelte-query";
|
|
5
5
|
|
|
@@ -21,7 +21,8 @@ async function findPetsByTags(headers: FindPetsByTagsHeaderParams, params?: Find
|
|
|
21
21
|
const queryKey = findPetsByTagsQueryKey(params);
|
|
22
22
|
return queryOptions({
|
|
23
23
|
queryKey,
|
|
24
|
-
queryFn: async () => {
|
|
24
|
+
queryFn: async ({ signal }) => {
|
|
25
|
+
config.signal = signal;
|
|
25
26
|
return findPetsByTags(headers, params, config);
|
|
26
27
|
},
|
|
27
28
|
});
|
|
@@ -42,7 +43,7 @@ export function createFindPetsByTags<TData = FindPetsByTagsQueryResponse, TQuery
|
|
|
42
43
|
...findPetsByTagsQueryOptions(headers, params, config) as unknown as CreateBaseQueryOptions,
|
|
43
44
|
queryKey,
|
|
44
45
|
...queryOptions as unknown as Omit<CreateBaseQueryOptions, "queryKey">
|
|
45
|
-
}) as
|
|
46
|
+
}) as CreateQueryResult<TData, FindPetsByTags400> & {
|
|
46
47
|
queryKey: TQueryKey;
|
|
47
48
|
};
|
|
48
49
|
query.queryKey = queryKey as TQueryKey;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import client from "axios";
|
|
2
|
-
import type { CreateMutationOptions
|
|
2
|
+
import type { CreateMutationOptions } from "@tanstack/svelte-query";
|
|
3
3
|
import type { RequestConfig } from "axios";
|
|
4
4
|
import { createMutation } from "@tanstack/svelte-query";
|
|
5
5
|
|
|
@@ -30,18 +30,15 @@ export function createUpdatePetWithForm(options: {
|
|
|
30
30
|
} = {}) {
|
|
31
31
|
const { mutation: mutationOptions, client: config = {} } = options ?? {};
|
|
32
32
|
const mutationKey = mutationOptions?.mutationKey ?? updatePetWithFormMutationKey();
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}) => {
|
|
33
|
+
return createMutation<UpdatePetWithFormMutationResponse, UpdatePetWithForm405, {
|
|
34
|
+
petId: UpdatePetWithFormPathParams["petId"];
|
|
35
|
+
data?: UpdatePetWithFormMutationRequest;
|
|
36
|
+
params?: UpdatePetWithFormQueryParams;
|
|
37
|
+
}>({
|
|
38
|
+
mutationFn: async ({ petId, data, params }) => {
|
|
39
39
|
return updatePetWithForm(petId, data, params, config);
|
|
40
40
|
},
|
|
41
|
+
mutationKey,
|
|
41
42
|
...mutationOptions
|
|
42
|
-
})
|
|
43
|
-
mutationKey: MutationKey;
|
|
44
|
-
};
|
|
45
|
-
mutation.mutationKey = mutationKey as MutationKey;
|
|
46
|
-
return mutation;
|
|
43
|
+
});
|
|
47
44
|
}
|