UNPKG

@hestjs/core

Version:

HestJS Core Framework - A TypeScript framework built on Hono with dependency injection and decorators

26 lines 949 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Controller = Controller; require("reflect-metadata"); const tsyringe_1 = require("tsyringe"); const constants_1 = require("../utils/constants"); /** * 控制器装饰器 * @param path 控制器路径前缀 */ function Controller(path = "") { return (target) => { const metadata = { path: path.startsWith("/") ? path : `/${path}`, }; Reflect.defineMetadata(constants_1.METADATA_KEYS.CONTROLLER, metadata, target); // 确保类可以被注入 if (!Reflect.hasMetadata(constants_1.METADATA_KEYS.INJECTABLE, target)) { Reflect.defineMetadata(constants_1.METADATA_KEYS.INJECTABLE, { scope: "singleton" }, target); } // 自动应用 TSyringe 的 injectable 装饰器 (0, tsyringe_1.injectable)()(target); return target; }; } //# sourceMappingURL=controller.js.map