UNPKG

@methodus/server

Version:
34 lines 1.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); require("reflect-metadata"); const class_container_1 = require("../class-container"); function MethodConfig(name, middlewares, repository) { return (target) => { const existingMetadata = class_container_1.ClassContainer.get(name) || {}; existingMetadata.name = name; let proto = target.prototype || target.__proto__; if (target.methodus) { proto = target; } proto.methodus[name] = proto.methodus[name] || { _events: {}, _descriptors: {} }; proto.methodus[name].name = name; if (repository) { proto.methodus[name].repository = repository; } proto.methodus[name].middlewares = middlewares; existingMetadata.middlewares = middlewares; class_container_1.ClassContainer.set(name, existingMetadata); const methods = Object.getOwnPropertyNames(target.prototype); methods.forEach((methodName) => { return target.prototype[methodName]; }); if (target.prototype.constructor) { const staticMethods = Object.getOwnPropertyNames(target.prototype.constructor); staticMethods.forEach((methodName) => { return target.prototype.constructor[methodName]; }); } }; } exports.MethodConfig = MethodConfig; //# sourceMappingURL=method-config.js.map