@thatcompany/ts-tool
Version:
基于TypeScript编写的工具库
21 lines • 971 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.EventListener = EventListener;
const METADATA_1 = require("./METADATA");
const uuid_1 = require("../../uuid");
/**
* 方法注解,用于标记一个方法为事件监听器
* 打上Reflect后方法原封不动
* @param id 事件监听器的唯一标识符 默认生成一个UUID
* @param sort 事件监听器的排序,用于控制事件监听器的执行顺序,数字越小越先执行
* @constructor
*/
function EventListener(id = uuid_1.UUID.generate(), sort = 0) {
return function (target, propertyKey, descriptor) {
Reflect.defineMetadata(METADATA_1.METADATA.EVENT.LISTENER, true, target, propertyKey);
Reflect.defineMetadata(METADATA_1.METADATA.EVENT.IDENTIFIER, id, target, propertyKey);
Reflect.defineMetadata(METADATA_1.METADATA.EVENT.SORT, sort, target, propertyKey);
return descriptor;
};
}
//# sourceMappingURL=Event.js.map