17 lines
501 B
TypeScript
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);
|
|
}
|