UNPKG

560 BTypeScriptView Raw
1import { type ResolverData } from "./resolver-data.js";
2export type NextFn = () => Promise<any>;
3export type MiddlewareFn<TContext extends object = object> = (action: ResolverData<TContext>, next: NextFn) => Promise<any>;
4export interface MiddlewareInterface<TContext extends object = object> {
5 use: MiddlewareFn<TContext>;
6}
7export type MiddlewareClass<TContext extends object = object> = new (...args: any[]) => MiddlewareInterface<TContext>;
8export type Middleware<TContext extends object = object> = MiddlewareFn<TContext> | MiddlewareClass<TContext>;