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
JavaScript
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;
;