@hestjs/core
Version:
HestJS Core Framework - A TypeScript framework built on Hono with dependency injection and decorators
23 lines • 775 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Injectable = Injectable;
require("reflect-metadata");
const tsyringe_1 = require("tsyringe");
const constants_1 = require("../utils/constants");
/**
* 可注入装饰器
* @param options 注入选项
*/
function Injectable(options = {}) {
return (target) => {
const metadata = {
scope: options.scope || constants_1.Scope.SINGLETON,
};
Reflect.defineMetadata(constants_1.METADATA_KEYS.INJECTABLE, metadata, target);
// 使用 autoInjectable 来自动解析依赖
// 这样就不需要手动 @Inject 装饰器了
(0, tsyringe_1.autoInjectable)()(target);
return target;
};
}
//# sourceMappingURL=injectable.js.map