UNPKG

@ffsm/napi

Version:

Napi - A framework using with Next.js for building APIs.

13 lines (12 loc) 617 B
import { NextRequest, NextResponse } from "next/server"; export type NapiClass<Props = object> = Props & { new (...args: any[]): any; }; export interface NapiRoutePayload<Params = unknown> { params: Promise<Params>; } export interface NapiRouteHandler<Params = unknown> { (req: NextRequest, payload: NapiRoutePayload<Params>): Promise<NextResponse | Response>; } export type NapiCallback<Param, Return = unknown> = (...args: Param extends Array<unknown> ? Param : [Param]) => Return | Promise<Return>; export type NapiOptionAsync<Return = unknown, Param = unknown> = Return | NapiCallback<Param, Return>;