@hestjs/core
Version:
HestJS Core Framework - A TypeScript framework built on Hono with dependency injection and decorators
61 lines • 1.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Reflector = void 0;
require("reflect-metadata");
/**
* 反射工具类
*/
class Reflector {
/**
* 获取元数据
*/
static get(key, target, propertyKey) {
return Reflect.getMetadata(key, target, propertyKey);
}
/**
* 设置元数据
*/
static set(key, value, target, propertyKey) {
Reflect.defineMetadata(key, value, target, propertyKey);
}
/**
* 检查是否存在元数据
*/
static has(key, target, propertyKey) {
return Reflect.hasMetadata(key, target, propertyKey);
}
/**
* 删除元数据
*/
static delete(key, target, propertyKey) {
return Reflect.deleteMetadata(key, target, propertyKey);
}
/**
* 获取自身元数据
*/
static getOwn(key, target, propertyKey) {
return Reflect.getOwnMetadata(key, target, propertyKey);
}
/**
* 获取所有元数据键
*/
static getKeys(target, propertyKey) {
return Reflect.getMetadataKeys(target, propertyKey);
}
/**
* 获取自身所有元数据键
*/
static getOwnKeys(target, propertyKey) {
return Reflect.getOwnMetadataKeys(target, propertyKey);
}
/**
* 合并多个目标的元数据
*/
static getAllMetadata(key, targets) {
return targets
.map(target => this.get(key, target))
.filter((metadata) => metadata !== undefined);
}
}
exports.Reflector = Reflector;
//# sourceMappingURL=reflector.js.map