UNPKG

@eggjs/aop-decorator

Version:
31 lines 2.46 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.CrosscutAdviceFactory = void 0; const node_assert_1 = __importDefault(require("node:assert")); const CrosscutInfoUtil_1 = require("./util/CrosscutInfoUtil"); class CrosscutAdviceFactory { constructor() { this.crosscutAdviceClazzList = []; } registerCrossAdviceClazz(clazz) { (0, node_assert_1.default)(CrosscutInfoUtil_1.CrosscutInfoUtil.isCrosscutAdvice(clazz), `clazz ${clazz.name} is not crosscut advice`); this.crosscutAdviceClazzList.push(clazz); } getAdvice(clazz, method) { const result = []; for (const crosscutAdviceClazz of this.crosscutAdviceClazzList) { const crosscutInfoList = CrosscutInfoUtil_1.CrosscutInfoUtil.getCrosscutInfoList(crosscutAdviceClazz); for (const crosscutInfo of crosscutInfoList) { if (crosscutInfo.pointcutInfo.match(clazz, method)) { result.push(crosscutInfo.adviceInfo); } } } return result; } } exports.CrosscutAdviceFactory = CrosscutAdviceFactory; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3Jvc3NjdXRBZHZpY2VGYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0Nyb3NzY3V0QWR2aWNlRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw4REFBaUM7QUFFakMsOERBQTJEO0FBRTNELE1BQWEscUJBQXFCO0lBQWxDO1FBQ21CLDRCQUF1QixHQUFzQyxFQUFFLENBQUM7SUFtQm5GLENBQUM7SUFqQkMsd0JBQXdCLENBQUMsS0FBaUM7UUFDeEQsSUFBQSxxQkFBTSxFQUFDLG1DQUFnQixDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsS0FBSyxDQUFDLElBQUkseUJBQXlCLENBQUMsQ0FBQztRQUMvRixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBd0IsRUFBRSxNQUFtQjtRQUNyRCxNQUFNLE1BQU0sR0FBc0IsRUFBRSxDQUFDO1FBQ3JDLEtBQUssTUFBTSxtQkFBbUIsSUFBSSxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUMvRCxNQUFNLGdCQUFnQixHQUFHLG1DQUFnQixDQUFDLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDbkYsS0FBSyxNQUFNLFlBQVksSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO2dCQUM1QyxJQUFJLFlBQVksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDO29CQUNuRCxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDdkMsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUNGO0FBcEJELHNEQW9CQyJ9