UNPKG

@jeaks03/overseer

Version:

Just another TypeScript Back-End framework

33 lines 2.53 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const custom_types_1 = require("../misc/custom-types"); const logger_1 = __importDefault(require("@jeaks03/logger")); const way_details_1 = require("../routes/way-details"); const router_1 = require("../routes/router"); const route_1 = require("../routes/route"); /** * Used to specify an endpoint */ function Pathway(baseDetails) { const details = way_details_1.WayDetails.defaults(baseDetails); // tslint:disable-next-line return function (target /* instance */, propertyKey, descriptor) { if (descriptor.value instanceof custom_types_1.AsyncFunction) { logger_1.default.error(router_1.Router, 'Controller methods must not be async. They may however return a promise'); throw new Error(`Method ${target.constructor.name}.${propertyKey.toString()}(..) cannot be async`); } if (!target.__shadowMeta) { target.__shadowMeta = { routes: [] }; } target.__shadowMeta.routes.push(new route_1.Route(details, descriptor.value, target.constructor.name)); return descriptor; }; } exports.Pathway = Pathway; ; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aHdheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZWNvcmF0b3JzL3BhdGh3YXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx1REFBbUU7QUFDbkUsNkRBQXFDO0FBQ3JDLHVEQUFtRDtBQUNuRCw2Q0FBMEM7QUFDMUMsMkNBQXdDO0FBRXhDOztHQUVHO0FBQ0gsU0FBZ0IsT0FBTyxDQUFDLFdBQXdCO0lBQzVDLE1BQU0sT0FBTyxHQUFHLHdCQUFVLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRWpELDJCQUEyQjtJQUMzQixPQUFPLFVBQVMsTUFBb0IsQ0FBQyxjQUFjLEVBQUUsV0FBNEIsRUFBRSxVQUE4QjtRQUM3RyxJQUFHLFVBQVUsQ0FBQyxLQUFLLFlBQVksNEJBQWEsRUFBRTtZQUMxQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxlQUFNLEVBQUUseUVBQXlFLENBQUMsQ0FBQztZQUNoRyxNQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksV0FBVyxDQUFDLFFBQVEsRUFBRSxzQkFBc0IsQ0FBQyxDQUFBO1NBQ3JHO1FBRUQsSUFBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUU7WUFDckIsTUFBTSxDQUFDLFlBQVksR0FBRztnQkFDbEIsTUFBTSxFQUFFLEVBQUU7YUFDWixDQUFDO1NBQ047UUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxhQUFLLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQy9GLE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUMsQ0FBQTtBQUNMLENBQUM7QUFuQkQsMEJBbUJDO0FBQUEsQ0FBQyJ9