diff --git a/packages/code-gen/src/api-client/react-query.js b/packages/code-gen/src/api-client/react-query.js index a082535f91..0842f550cc 100644 --- a/packages/code-gen/src/api-client/react-query.js +++ b/packages/code-gen/src/api-client/react-query.js @@ -44,6 +44,8 @@ export function reactQueryGenerateCommonFile(generateContext) { importCollector.destructure("react", "PropsWithChildren"); importCollector.destructure("react", "useContext"); + fileWrite(file, `export type Pretty = { [K in keyof T]: T[K] } & {};`); + if (distilledTargetInfo.isAxios) { importCollector.destructure("axios", "AxiosInstance"); @@ -126,6 +128,8 @@ export function reactQueryGetApiClientFile(generateContext, route) { const distilledTargetInfo = apiClientDistilledTargetInfo(generateContext); const importCollector = JavascriptImportCollector.getImportCollector(file); + importCollector.destructure("../common/api-client-wrapper", "Pretty"); + if (distilledTargetInfo.useGlobalClients) { // Import the global clients, this has affect on a bunch of the generated api's where we don't have to accept these arguments if (distilledTargetInfo.isAxios) { @@ -290,10 +294,10 @@ export function reactQueryGenerateFunction( if (requiredKeys.length > 0 && !requireAllParams) { // We can just wrap it in an Partial which makes all required keys optional instead of writing them all out - return `Partial<${result}>`; + return `Pretty>`; } - return result; + return `Pretty<${result}>`; }; const parameterListWithExtraction = ({