@chubbyts/chubbyts-framework
Version:
A minimal, highly performant middleware PSR-15 inspired function based microframework built with as little complexity as possible, aimed primarily at those developers who want to understand all the vendors they use.
15 lines (14 loc) • 675 B
JavaScript
import { createMiddlewareHandler } from '../handler/middleware-handler.js';
/**
* ```ts
* import type { MiddlewareDispatcher } from '@chubbyts/chubbyts-framework/dist/middleware/middleware-dispatcher';
* import { createMiddlewareDispatcher } from '@chubbyts/chubbyts-framework/dist/middleware/middleware-dispatcher';
*
* const middlewareDispatcher: MiddlewareDispatcher = createMiddlewareDispatcher();
* ```
*/
export const createMiddlewareDispatcher = () => {
return (middlewares, handler, request) => {
return middlewares.reduceRight((middlewareHandler, middleware) => createMiddlewareHandler(middleware, middlewareHandler), handler)(request);
};
};