UNPKG

bun-routes

Version:

Bun Routes is a lightweight, type-safe router built for Bun with zero dependencies

24 lines (23 loc) 802 B
export function middleware(fn) { return fn; } export function composeMiddlewares(middlewares, finalHandler) { return async (req, server) => { const execute = async (middlewareIndex) => { if (middlewareIndex >= middlewares.length) { return finalHandler(req, server); } let hasNextBeenCalled = false; const middleware = middlewares[middlewareIndex]; const next = async () => { if (hasNextBeenCalled) { throw new Error("next() called multiple times"); } hasNextBeenCalled = true; return execute(middlewareIndex + 1); }; return middleware(req, server, next); }; return execute(0); }; }