From 245aa6b68f5e4cf525eaa68f4719e883639f7650 Mon Sep 17 00:00:00 2001 From: ziga Date: Wed, 27 Oct 2021 10:19:53 +0200 Subject: [PATCH] fix(nitro): type inference for api routes returning promise (#1483) --- packages/nitro/src/build.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/nitro/src/build.ts b/packages/nitro/src/build.ts index 91086b5558..ff92986030 100644 --- a/packages/nitro/src/build.ts +++ b/packages/nitro/src/build.ts @@ -70,12 +70,13 @@ async function writeTypes (nitroContext: NitroContext) { if (typeof mw.handle !== 'string') { continue } const relativePath = relative(nitroContext._nuxt.buildDir, mw.handle).replace(/\.[a-z]+$/, '') routeTypes[mw.route] = routeTypes[mw.route] || [] - routeTypes[mw.route].push(`ReturnType`) + routeTypes[mw.route].push(`Awaited>`) } const lines = [ '// Generated by nitro', 'declare module \'@nuxt/nitro\' {', + ' type Awaited = T extends PromiseLike ? Awaited : T', ' interface InternalApi {', ...Object.entries(routeTypes).map(([path, types]) => ` '${path}': ${types.join(' | ')}`), ' }',