UNPKG

next-server-middleware

Version:

A simple type-safe express-like middleware for Next.js api routes using app directory and next/server

20 lines (15 loc) 562 B
import type { NextRequest, NextResponse } from "next/server"; export type RequestData = Record<string, unknown>; export type RequestHandler< T extends NextRequest = NextRequest, TParams = Record<string, unknown> > = (request: T, params: TParams) => Promise<NextResponse>; export type NextHandler = () => Promise<NextResponse>; export type Middleware< TExtraData extends RequestData = RequestData, TParams = Record<string, unknown> > = ( request: NextRequest & Partial<TExtraData>, next: NextHandler, params: TParams ) => Promise<NextResponse>;