@thatcompany/ts-tool
Version:
基于TypeScript编写的工具库
20 lines (19 loc) • 674 B
TypeScript
import 'reflect-metadata';
import { TConstructor } from '../../../types';
export declare abstract class IAutoManager<T = any> {
abstract clazz: TConstructor<T>;
abstract keys: symbol[];
entities: Map<symbol, Set<TConstructor<T>>>;
/**
* 将实体添加到指定的键下
* @param entity 要添加的实体
*/
collection(entity: Function): void;
/**
* 识别目标是否包含指定装饰器
* @param entity 目标类
* @returns {boolean} 如果目标类上含有任何一个指定装饰器,则返回 true
*/
identify(entity: Function): boolean;
abstract execute(): Promise<Map<symbol, Map<string, T>>>;
}