UNPKG

handler-chain

Version:

A generic chain-of-responsibility design pattern.

10 lines (6 loc) 609 B
type Handler<Result, Request> = (request: Request) => Result; type Enhancer<Result, Request> = (next: Handler<Result, Request>) => Handler<Result, Request>; type Middleware<Result, Request, Init> = (init: Init) => Enhancer<Result, Request>; declare function applyMiddleware<Result, Request, Init>(...middleware: readonly Middleware<Result, Request, Init>[]): Middleware<Result, Request, Init>; declare function composeEnhancer<Result, Request>(...enhancers: Enhancer<Result, Request>[]): Enhancer<Result, Request>; export { type Enhancer, type Handler, type Middleware, applyMiddleware, composeEnhancer };