UNPKG

alapa

Version:

A cutting-edge web development framework designed to revolutionize the way developers build modern web applications.

53 lines (52 loc) 1.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MiddlewareRouteHandler = void 0; const _1 = require("."); const processor_1 = require("./processor"); const alias_1 = require("../../../modules/alias"); class MiddlewareRouteHandler { processUse(pathOrHandler, ...handlers) { const routers = []; const processed = []; let path = null; // Helper function to process handlers const handleHandler = (handler) => { if (handler instanceof _1.Router) { routers.push(handler); } else if (typeof handler === "function") { processed.push(handler); } else { processed.push(...(0, processor_1.processHandlers)(handler)); } }; // Process the handlers array handlers.forEach(handleHandler); // Determine path or handler type if (pathOrHandler instanceof _1.Router) { routers.push(pathOrHandler); } else if (typeof pathOrHandler === "function") { processed.push(pathOrHandler); } else if (typeof pathOrHandler === "string") { const handlerFromAlias = alias_1.AliasList.get(pathOrHandler); if (!handlerFromAlias) { path = pathOrHandler; // Set path if no alias found } else { processed.push(handlerFromAlias); } } else { processed.push(...(0, processor_1.processHandlers)(pathOrHandler)); } return { path, routers, processed, }; } } exports.MiddlewareRouteHandler = MiddlewareRouteHandler;