next-compose-middleware
Version:
`next-compose-middleware` is a library that simplifies building complex, declarative middleware for Next.js applications. It allows you to create highly readable and maintainable middleware by composing multiple functions together.
18 lines (17 loc) • 813 B
TypeScript
import { Path } from './path';
import { Store } from './store';
import { Request, Response } from './types';
declare type ComposeMiddleware = (req: Request, res: Response, option: ComposeOption) => Promise<Response>;
export declare type ComposeOption = {
scripts: ComposableMiddleware[];
[path: Path]: ComposableMiddleware[] | ComposeOption;
};
export declare type ComposableMiddleware = (req: Request, res: Response, handler: {
breakOnce: (res: Response) => Response;
breakAll: (res: Response) => Response;
}) => Promise<Response>;
declare type Compose = (req: Request, res: Response, option: ComposeOption, store: Store) => Promise<Response>;
export declare const composeMain: Compose;
export declare const compose: Compose;
export declare const composeMiddleware: ComposeMiddleware;
export {};