alapa
Version:
A cutting-edge web development framework designed to revolutionize the way developers build modern web applications.
49 lines (48 loc) • 1.57 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.updateRouteList = exports.updateRoutesWithNames = exports.addToRouteList = exports.Routes = void 0;
const names_1 = require("../names");
const list_1 = require("../../../interface/class/list");
const map_1 = require("../../../interface/class/map");
const RawRoutes = new list_1.List();
exports.Routes = new map_1.Map();
const addToRouteList = (path, method, name, ...handlers) => {
if (handlers.length == 0 || method.length == 0) {
return;
}
const endpoints = new list_1.List();
handlers.map((handler) => {
if (typeof handler === "function") {
endpoints.push(handler.name);
}
else if (typeof handler === "object") {
endpoints.push(handler.constructor.name);
}
});
RawRoutes.push({
callbacks: endpoints,
path: path,
method: method,
name: name,
});
};
exports.addToRouteList = addToRouteList;
const updateRoutesWithNames = () => {
RawRoutes.map((route) => {
if (route.name != "" && names_1.RoutesNames[route.name]) {
route.path = names_1.RoutesNames[route.name].trim();
return route;
}
return route;
});
};
exports.updateRoutesWithNames = updateRoutesWithNames;
const updateRouteList = () => {
(0, exports.updateRoutesWithNames)();
RawRoutes.forEach((route) => {
if (route.path) {
exports.Routes.add(route.path, route);
}
});
};
exports.updateRouteList = updateRouteList;
;