@ark7/router
Version:
Ark7 Router layer framework.
30 lines (28 loc) • 1.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SubController = void 0;
const declarations_1 = require("./declarations");
const decorators_1 = require("./decorators");
function SubController(options = {}) {
const m = (0, decorators_1.Middleware)([]);
return (target, propertyKey, descriptor) => {
const desc = m(target, propertyKey, descriptor);
const cls = target.constructor;
const meta = declarations_1.A7ControllerMetadata.getMetadata(cls);
const subsidiary = meta.getOrCreateSubsidiary(propertyKey);
subsidiary.type = declarations_1.A7ControllerSubsidiaryType.SUB_CONTROLLER;
if (options.middlewares) {
subsidiary.pushMiddlewaresInFront(options.middlewares);
}
if (options.path) {
subsidiary.path = options.path;
}
if (options.name) {
subsidiary.name = options.name;
}
meta.defineMetadata(cls);
return desc;
};
}
exports.SubController = SubController;
//# sourceMappingURL=sub-controllers.js.map