Optimiere Middleware-Verarbeitung in Flummpress und Router, verbessere Typen für Middleware
This commit is contained in:
		@@ -72,11 +72,9 @@ export default class Flummpress {
 | 
			
		||||
            const handler = methods[method!];
 | 
			
		||||
            const middleware = methods[`${method}mw`];
 | 
			
		||||
 | 
			
		||||
            if(middleware) {
 | 
			
		||||
            for(const mw of middleware) {
 | 
			
		||||
              await mw(req, res, () => {});
 | 
			
		||||
            }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if(handler) {
 | 
			
		||||
              req.params = req.parsedUrl.pathname.match(new RegExp(pathPattern))?.groups || {};
 | 
			
		||||
 
 | 
			
		||||
@@ -2,9 +2,7 @@ import fs from "node:fs";
 | 
			
		||||
import path from "node:path";
 | 
			
		||||
import Tpl from "./template.js";
 | 
			
		||||
 | 
			
		||||
import { RouteCallback } from "./types.js";
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import { Middleware, RouteCallback } from "./types.js";
 | 
			
		||||
 | 
			
		||||
export default class Router {
 | 
			
		||||
  private routes: Map<RegExp | string, { [key: string]: RouteCallback | RouteCallback[] }>;
 | 
			
		||||
@@ -166,9 +164,11 @@ export default class Router {
 | 
			
		||||
    path: string | RegExp,
 | 
			
		||||
    cb: RouteCallback,
 | 
			
		||||
    method: string,
 | 
			
		||||
    middleware: RouteCallback | RouteCallback[] = []
 | 
			
		||||
    middleware: Middleware | Middleware[] = []
 | 
			
		||||
  ): this {
 | 
			
		||||
    const middlewareArray = Array.isArray(middleware) ? middleware : [middleware];
 | 
			
		||||
    if(!Array.isArray(middleware)) {
 | 
			
		||||
      middleware = [ middleware ];
 | 
			
		||||
    }
 | 
			
		||||
  
 | 
			
		||||
    if(!this.routes.has(path)) {
 | 
			
		||||
      this.routes.set(path, {});
 | 
			
		||||
@@ -177,7 +177,7 @@ export default class Router {
 | 
			
		||||
    this.routes.set(path, {
 | 
			
		||||
      ...this.routes.get(path),
 | 
			
		||||
      [method]: cb,
 | 
			
		||||
      [`${method}mw`]: middlewareArray,
 | 
			
		||||
      [`${method}mw`]: middleware as RouteCallback[],
 | 
			
		||||
    });
 | 
			
		||||
  
 | 
			
		||||
    console.log("route set:", method.toUpperCase(), path);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user