Skip to content

App/Route issue "Promise<unknown>" #241

@albertpeiro

Description

@albertpeiro

This does not work as documented (in Typescript)

const handler = (): Response => {
  console.log("Hello world!");
  const data = { hello: "world" };
  return Response.json({ data });
};

const api = Api();
api.post(handler);

export async function POST(request: NextRequest, ctx: ApiRequestContext) {
  return api.run(request, ctx);
}

When I run production npm run build I get:

Type error: Route "src/app/api/waitlist/route.ts" has an invalid export:
  "Promise<unknown>" is not a valid POST return type:
    Expected "void | Response | Promise<void | Response>", got "Promise<unknown>".
      Expected "Promise<void | Response>", got "Promise<unknown>".
        Expected "void | Response", got "unknown".

to fix you'll have to as Promise<any>

export async function POST(request: NextRequest, ctx: ApiRequestContext) {
   return api.run(request, ctx) as Promise<any>;
}

▲ Next.js 14.0.4

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions