@eggjs/aop-decorator
Version:
tegg aop decorator
41 lines • 2.74 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CustomPointInfo = exports.NamePointInfo = exports.ClassPointInfo = void 0;
const tegg_types_1 = require("@eggjs/tegg-types");
class ClassPointInfo {
constructor(clazz, method) {
this.type = tegg_types_1.PointcutType.CLASS;
this.clazz = clazz;
this.method = method;
}
match(clazz, method) {
return (
// self class
this.clazz === clazz ||
// inherit case
clazz.prototype instanceof this.clazz) && this.method === method;
}
}
exports.ClassPointInfo = ClassPointInfo;
class NamePointInfo {
constructor(className, methodName) {
this.type = tegg_types_1.PointcutType.NAME;
this.className = className;
this.methodName = methodName;
}
match(clazz, method) {
return this.className.test(clazz.name) && this.methodName.test(String(method));
}
}
exports.NamePointInfo = NamePointInfo;
class CustomPointInfo {
constructor(cb) {
this.type = tegg_types_1.PointcutType.CUSTOM;
this.cb = cb;
}
match(clazz, method) {
return this.cb(clazz, method);
}
}
exports.CustomPointInfo = CustomPointInfo;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9pbnRjdXRJbmZvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVsL1BvaW50Y3V0SW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxrREFBaUQ7QUFHakQsTUFBYSxjQUFjO0lBS3pCLFlBQVksS0FBd0IsRUFBRSxNQUFtQjtRQUpoRCxTQUFJLEdBQUcseUJBQVksQ0FBQyxLQUFLLENBQUM7UUFLakMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUF3QixFQUFFLE1BQW1CO1FBQ2pELE9BQU87UUFDTCxhQUFhO1FBQ2IsSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLO1lBQ3BCLGVBQWU7WUFDZixLQUFLLENBQUMsU0FBUyxZQUFZLElBQUksQ0FBQyxLQUFLLENBQ3RDLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUM7SUFDOUIsQ0FBQztDQUNGO0FBbEJELHdDQWtCQztBQUVELE1BQWEsYUFBYTtJQUt4QixZQUFZLFNBQWlCLEVBQUUsVUFBa0I7UUFKeEMsU0FBSSxHQUFHLHlCQUFZLENBQUMsSUFBSSxDQUFDO1FBS2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBd0IsRUFBRSxNQUFtQjtRQUNqRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNqRixDQUFDO0NBQ0Y7QUFiRCxzQ0FhQztBQUVELE1BQWEsZUFBZTtJQUkxQixZQUFZLEVBQTBCO1FBSDdCLFNBQUksR0FBRyx5QkFBWSxDQUFDLE1BQU0sQ0FBQztRQUlsQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBd0IsRUFBRSxNQUFtQjtRQUNqRCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Q0FDRjtBQVhELDBDQVdDIn0=