2023-03-24 18:23:41 +08:00

17 lines
501 B
TypeScript

/**
* 记录类名、避免打包后丢失原类名
*/
const CLASSNAME_METADATA_KEY = Symbol("CLASSNAME_KEY");
export default function ClassName(className?: string): ClassDecorator {
return function <TFunction extends Function>(target: TFunction): TFunction {
Reflect.defineMetadata(CLASSNAME_METADATA_KEY, className || target.name, target);
return target;
};
}
export function GetClassName(target: any) {
return Reflect.getMetadata(CLASSNAME_METADATA_KEY, target);
}