@eggjs/aop-decorator 3.20.0 → 3.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const CrosscutAdviceFactory_1 = require("../src/CrosscutAdviceFactory");
7
+ const CrosscutExample_1 = require("./fixtures/CrosscutExample");
8
+ const PointcutExample_1 = require("./fixtures/PointcutExample");
9
+ const AspectMetaBuilder_1 = require("../src/AspectMetaBuilder");
10
+ const assert_1 = __importDefault(require("assert"));
11
+ const InheritExample_1 = require("./fixtures/InheritExample");
12
+ const core_decorator_1 = require("@eggjs/core-decorator");
13
+ describe('test/AspectMetaBuild.test.ts', () => {
14
+ const crosscutAdviceFactory = new CrosscutAdviceFactory_1.CrosscutAdviceFactory();
15
+ crosscutAdviceFactory.registerCrossAdviceClazz(CrosscutExample_1.CrosscutClassAdviceExample);
16
+ crosscutAdviceFactory.registerCrossAdviceClazz(CrosscutExample_1.CrosscutNameAdviceExample);
17
+ crosscutAdviceFactory.registerCrossAdviceClazz(CrosscutExample_1.CrosscutCustomAdviceExample);
18
+ crosscutAdviceFactory.registerCrossAdviceClazz(InheritExample_1.CrosscutOverwriteParentExample);
19
+ crosscutAdviceFactory.registerCrossAdviceClazz(InheritExample_1.CrosscutOverwriteChildExample);
20
+ crosscutAdviceFactory.registerCrossAdviceClazz(InheritExample_1.CrosscutNoOverwriteParentExample);
21
+ describe('Pointcut', () => {
22
+ it('should work', () => {
23
+ const builder = new AspectMetaBuilder_1.AspectMetaBuilder(PointcutExample_1.PointcutExample, {
24
+ crosscutAdviceFactory,
25
+ });
26
+ const aspects = builder.build();
27
+ (0, assert_1.default)(aspects.length === 1);
28
+ const aspect = aspects[0];
29
+ (0, assert_1.default)(aspect.clazz === PointcutExample_1.PointcutExample);
30
+ (0, assert_1.default)(aspect.method === 'hello');
31
+ const advices = aspect.adviceList;
32
+ assert_1.default.deepStrictEqual(advices, [
33
+ { name: 'PointcutExample#hello#PointcutAdviceBeforeCallExample#0', clazz: PointcutExample_1.PointcutAdviceBeforeCallExample },
34
+ { name: 'PointcutExample#hello#PointcutAdviceAfterReturnExample#1', clazz: PointcutExample_1.PointcutAdviceAfterReturnExample },
35
+ ]);
36
+ });
37
+ });
38
+ describe('Crosscut', () => {
39
+ it('should work', () => {
40
+ const builder = new AspectMetaBuilder_1.AspectMetaBuilder(CrosscutExample_1.CrosscutExample, {
41
+ crosscutAdviceFactory,
42
+ });
43
+ const aspects = builder.build();
44
+ (0, assert_1.default)(aspects.length === 1);
45
+ const aspect = aspects[0];
46
+ (0, assert_1.default)(aspect.clazz === CrosscutExample_1.CrosscutExample);
47
+ (0, assert_1.default)(aspect.method === 'hello');
48
+ const advices = aspect.adviceList;
49
+ assert_1.default.deepStrictEqual(advices, [
50
+ { name: 'CrosscutExample#hello#CrosscutClassAdviceExample#0', clazz: CrosscutExample_1.CrosscutClassAdviceExample },
51
+ { name: 'CrosscutExample#hello#CrosscutNameAdviceExample#1', clazz: CrosscutExample_1.CrosscutNameAdviceExample },
52
+ { name: 'CrosscutExample#hello#CrosscutCustomAdviceExample#2', clazz: CrosscutExample_1.CrosscutCustomAdviceExample },
53
+ ]);
54
+ });
55
+ });
56
+ describe('inherit', () => {
57
+ it('child should work', () => {
58
+ const builder = new AspectMetaBuilder_1.AspectMetaBuilder(InheritExample_1.ChildExample, {
59
+ crosscutAdviceFactory,
60
+ });
61
+ const aspects = builder.build();
62
+ (0, assert_1.default)(aspects.length === 2);
63
+ const overwriteAspect = aspects.find(t => t.method === 'overwriteMethod');
64
+ (0, assert_1.default)(overwriteAspect);
65
+ (0, assert_1.default)(overwriteAspect.clazz === InheritExample_1.ChildExample);
66
+ const overwriteAdvices = overwriteAspect.adviceList;
67
+ assert_1.default.deepStrictEqual(overwriteAdvices, [
68
+ { name: 'ChildExample#overwriteMethod#CrosscutOverwriteParentExample#0', clazz: InheritExample_1.CrosscutOverwriteParentExample },
69
+ { name: 'ChildExample#overwriteMethod#CrosscutOverwriteChildExample#1', clazz: InheritExample_1.CrosscutOverwriteChildExample },
70
+ // FIXME: parent/child should has correct order
71
+ { name: 'ChildExample#overwriteMethod#PointcutAdviceOverwriteChildExample#2', clazz: InheritExample_1.PointcutAdviceOverwriteChildExample },
72
+ { name: 'ChildExample#overwriteMethod#PointcutAdviceOverwriteParentExample#3', clazz: InheritExample_1.PointcutAdviceOverwriteParentExample },
73
+ ]);
74
+ const noOverwriteAspect = aspects.find(t => t.method === 'noOverwriteMethod');
75
+ (0, assert_1.default)(noOverwriteAspect);
76
+ (0, assert_1.default)(noOverwriteAspect.clazz === InheritExample_1.ChildExample);
77
+ const noOverwriteAdvices = noOverwriteAspect.adviceList;
78
+ assert_1.default.deepStrictEqual(noOverwriteAdvices, [
79
+ { name: 'ChildExample#noOverwriteMethod#CrosscutNoOverwriteParentExample#0', clazz: InheritExample_1.CrosscutNoOverwriteParentExample },
80
+ { name: 'ChildExample#noOverwriteMethod#PointcutAdviceNoOverwriteParentExample#1', clazz: InheritExample_1.PointcutAdviceNoOverwriteParentExample },
81
+ ]);
82
+ });
83
+ it('parent should work', () => {
84
+ const builder = new AspectMetaBuilder_1.AspectMetaBuilder(InheritExample_1.ParentExample, {
85
+ crosscutAdviceFactory,
86
+ });
87
+ const aspects = builder.build();
88
+ (0, assert_1.default)(aspects.length === 2);
89
+ const overwriteAspect = aspects.find(t => t.method === 'overwriteMethod');
90
+ (0, assert_1.default)(overwriteAspect);
91
+ (0, assert_1.default)(overwriteAspect.clazz === InheritExample_1.ParentExample);
92
+ const overwriteAdvices = overwriteAspect.adviceList;
93
+ assert_1.default.deepStrictEqual(overwriteAdvices, [
94
+ { name: 'ParentExample#overwriteMethod#CrosscutOverwriteParentExample#0', clazz: InheritExample_1.CrosscutOverwriteParentExample },
95
+ { name: 'ParentExample#overwriteMethod#PointcutAdviceOverwriteParentExample#1', clazz: InheritExample_1.PointcutAdviceOverwriteParentExample },
96
+ ]);
97
+ const noOverwriteAspect = aspects.find(t => t.method === 'noOverwriteMethod');
98
+ (0, assert_1.default)(noOverwriteAspect);
99
+ (0, assert_1.default)(noOverwriteAspect.clazz === InheritExample_1.ParentExample);
100
+ const noOverwriteAdvices = noOverwriteAspect.adviceList;
101
+ assert_1.default.deepStrictEqual(noOverwriteAdvices, [
102
+ { name: 'ParentExample#noOverwriteMethod#CrosscutNoOverwriteParentExample#0', clazz: InheritExample_1.CrosscutNoOverwriteParentExample },
103
+ { name: 'ParentExample#noOverwriteMethod#PointcutAdviceNoOverwriteParentExample#1', clazz: InheritExample_1.PointcutAdviceNoOverwriteParentExample },
104
+ ]);
105
+ });
106
+ });
107
+ it('should not access getter', () => {
108
+ const builder = new AspectMetaBuilder_1.AspectMetaBuilder(PointcutExample_1.GetterExample, {
109
+ crosscutAdviceFactory,
110
+ });
111
+ const aspects = builder.build();
112
+ (0, assert_1.default)(aspects.length === 1);
113
+ });
114
+ it('should has right file path', () => {
115
+ const filePath = core_decorator_1.PrototypeUtil.getFilePath(CrosscutExample_1.CrosscutClassAdviceExample);
116
+ (0, assert_1.default)(filePath === require.resolve('./fixtures/CrosscutExample'));
117
+ });
118
+ });
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXNwZWN0TWV0YUJ1aWxkZXIudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Rlc3QvQXNwZWN0TWV0YUJ1aWxkZXIudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHdFQUFxRTtBQUNyRSxnRUFJb0M7QUFDcEMsZ0VBS29DO0FBQ3BDLGdFQUE2RDtBQUM3RCxvREFBNEI7QUFDNUIsOERBUW1DO0FBQ25DLDBEQUFzRDtBQUV0RCxRQUFRLENBQUMsOEJBQThCLEVBQUUsR0FBRyxFQUFFO0lBQzVDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSw2Q0FBcUIsRUFBRSxDQUFDO0lBQzFELHFCQUFxQixDQUFDLHdCQUF3QixDQUFDLDRDQUEwQixDQUFDLENBQUM7SUFDM0UscUJBQXFCLENBQUMsd0JBQXdCLENBQUMsMkNBQXlCLENBQUMsQ0FBQztJQUMxRSxxQkFBcUIsQ0FBQyx3QkFBd0IsQ0FBQyw2Q0FBMkIsQ0FBQyxDQUFDO0lBQzVFLHFCQUFxQixDQUFDLHdCQUF3QixDQUFDLCtDQUE4QixDQUFDLENBQUM7SUFDL0UscUJBQXFCLENBQUMsd0JBQXdCLENBQUMsOENBQTZCLENBQUMsQ0FBQztJQUM5RSxxQkFBcUIsQ0FBQyx3QkFBd0IsQ0FBQyxpREFBZ0MsQ0FBQyxDQUFDO0lBRWpGLFFBQVEsQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFO1FBQ3hCLEVBQUUsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFO1lBQ3JCLE1BQU0sT0FBTyxHQUFHLElBQUkscUNBQWlCLENBQUMsaUNBQWUsRUFBRTtnQkFDckQscUJBQXFCO2FBQ3RCLENBQUMsQ0FBQztZQUNILE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQyxJQUFBLGdCQUFNLEVBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQztZQUM3QixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFD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
@@ -0,0 +1,11 @@
1
+ import { IAdvice } from '../..';
2
+ export declare class CrosscutExample {
3
+ constructor();
4
+ hello(): void;
5
+ }
6
+ export declare class CrosscutClassAdviceExample implements IAdvice {
7
+ }
8
+ export declare class CrosscutNameAdviceExample implements IAdvice {
9
+ }
10
+ export declare class CrosscutCustomAdviceExample implements IAdvice {
11
+ }
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CrosscutCustomAdviceExample = exports.CrosscutNameAdviceExample = exports.CrosscutClassAdviceExample = exports.CrosscutExample = void 0;
13
+ const core_decorator_1 = require("@eggjs/core-decorator");
14
+ const __1 = require("../..");
15
+ let CrosscutExample = class CrosscutExample {
16
+ constructor() {
17
+ }
18
+ hello() {
19
+ console.log('hello');
20
+ }
21
+ };
22
+ CrosscutExample = __decorate([
23
+ (0, core_decorator_1.ContextProto)(),
24
+ __metadata("design:paramtypes", [])
25
+ ], CrosscutExample);
26
+ exports.CrosscutExample = CrosscutExample;
27
+ let CrosscutClassAdviceExample = class CrosscutClassAdviceExample {
28
+ };
29
+ CrosscutClassAdviceExample = __decorate([
30
+ (0, __1.Crosscut)({
31
+ type: __1.PointcutType.CLASS,
32
+ clazz: CrosscutExample,
33
+ methodName: 'hello',
34
+ }),
35
+ (0, __1.Advice)()
36
+ ], CrosscutClassAdviceExample);
37
+ exports.CrosscutClassAdviceExample = CrosscutClassAdviceExample;
38
+ let CrosscutNameAdviceExample = class CrosscutNameAdviceExample {
39
+ };
40
+ CrosscutNameAdviceExample = __decorate([
41
+ (0, __1.Crosscut)({
42
+ type: __1.PointcutType.NAME,
43
+ className: /crosscut.*/i,
44
+ methodName: /hello/,
45
+ }),
46
+ (0, __1.Advice)()
47
+ ], CrosscutNameAdviceExample);
48
+ exports.CrosscutNameAdviceExample = CrosscutNameAdviceExample;
49
+ let CrosscutCustomAdviceExample = class CrosscutCustomAdviceExample {
50
+ };
51
+ CrosscutCustomAdviceExample = __decorate([
52
+ (0, __1.Crosscut)({
53
+ type: __1.PointcutType.CUSTOM,
54
+ callback: (clazz, method) => {
55
+ return clazz === CrosscutExample && method === 'hello';
56
+ }
57
+ }),
58
+ (0, __1.Advice)()
59
+ ], CrosscutCustomAdviceExample);
60
+ exports.CrosscutCustomAdviceExample = CrosscutCustomAdviceExample;
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3Jvc3NjdXRFeGFtcGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC9maXh0dXJlcy9Dcm9zc2N1dEV4YW1wbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsMERBQXdFO0FBQ3hFLDZCQUFnRTtBQUd6RCxJQUFNLGVBQWUsR0FBckIsTUFBTSxlQUFlO0lBQzFCO0lBQ0EsQ0FBQztJQUVELEtBQUs7UUFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7Q0FDRixDQUFBO0FBUFksZUFBZTtJQUQzQixJQUFBLDZCQUFZLEdBQUU7O0dBQ0YsZUFBZSxDQU8zQjtBQVBZLDBDQUFlO0FBZXJCLElBQU0sMEJBQTBCLEdBQWhDLE1BQU0sMEJBQTBCO0NBQ3RDLENBQUE7QUFEWSwwQkFBMEI7SUFOdEMsSUFBQSxZQUFRLEVBQUM7UUFDUixJQUFJLEVBQUUsZ0JBQVksQ0FBQyxLQUFLO1FBQ3hCLEtBQUssRUFBRSxlQUFlO1FBQ3RCLFVBQVUsRUFBRSxPQUFPO0tBQ3BCLENBQUM7SUFDRCxJQUFBLFVBQU0sR0FBRTtHQUNJLDBCQUEwQixDQUN0QztBQURZLGdFQUEwQjtBQVNoQyxJQUFNLHlCQUF5QixHQUEvQixNQUFNLHlCQUF5QjtDQUNyQyxDQUFBO0FBRFkseUJBQXlCO0lBTnJDLElBQUEsWUFBUSxFQUFDO1FBQ1IsSUFBSSxFQUFFLGdCQUFZLENBQUMsSUFBSTtRQUN2QixTQUFTLEVBQUUsYUFBYTtRQUN4QixVQUFVLEVBQUUsT0FBTztLQUNwQixDQUFDO0lBQ0QsSUFBQSxVQUFNLEdBQUU7R0FDSSx5QkFBeUIsQ0FDckM7QUFEWSw4REFBeUI7QUFVL0IsSUFBTSwyQkFBMkIsR0FBakMsTUFBTSwyQkFBMkI7Q0FDdkMsQ0FBQTtBQURZLDJCQUEyQjtJQVB2QyxJQUFBLFlBQVEsRUFBQztRQUNSLElBQUksRUFBRSxnQkFBWSxDQUFDLE1BQU07UUFDekIsUUFBUSxFQUFHLENBQUMsS0FBd0IsRUFBRSxNQUFtQixFQUFFLEVBQUU7WUFDM0QsT0FBTyxLQUFLLEtBQUssZUFBZSxJQUFJLE1BQU0sS0FBSyxPQUFPLENBQUM7UUFDekQsQ0FBQztLQUNGLENBQUM7SUFDRCxJQUFBLFVBQU0sR0FBRTtHQUNJLDJCQUEyQixDQUN2QztBQURZLGtFQUEyQiJ9
@@ -0,0 +1,26 @@
1
+ import { AdviceContext, IAdvice } from '../../src/decorator/Advice';
2
+ export declare class PointcutAdviceNoOverwriteParentExample implements IAdvice {
3
+ beforeCall(ctx: AdviceContext): Promise<void>;
4
+ }
5
+ export declare class PointcutAdviceOverwriteParentExample implements IAdvice {
6
+ beforeCall(ctx: AdviceContext): Promise<void>;
7
+ }
8
+ export declare class PointcutAdviceOverwriteChildExample implements IAdvice {
9
+ beforeCall(ctx: AdviceContext): Promise<void>;
10
+ }
11
+ export declare class ParentExample {
12
+ overwriteMethod(): void;
13
+ noOverwriteMethod(): void;
14
+ }
15
+ export declare class ChildExample extends ParentExample {
16
+ overwriteMethod(): void;
17
+ }
18
+ export declare class CrosscutNoOverwriteParentExample implements IAdvice {
19
+ beforeCall(ctx: AdviceContext): Promise<void>;
20
+ }
21
+ export declare class CrosscutOverwriteParentExample implements IAdvice {
22
+ beforeCall(ctx: AdviceContext): Promise<void>;
23
+ }
24
+ export declare class CrosscutOverwriteChildExample implements IAdvice {
25
+ beforeCall(ctx: AdviceContext): Promise<void>;
26
+ }
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CrosscutOverwriteChildExample = exports.CrosscutOverwriteParentExample = exports.CrosscutNoOverwriteParentExample = exports.ChildExample = exports.ParentExample = exports.PointcutAdviceOverwriteChildExample = exports.PointcutAdviceOverwriteParentExample = exports.PointcutAdviceNoOverwriteParentExample = void 0;
13
+ const core_decorator_1 = require("@eggjs/core-decorator");
14
+ const Advice_1 = require("../../src/decorator/Advice");
15
+ const Pointcut_1 = require("../../src/decorator/Pointcut");
16
+ const Cosscut_1 = require("../../src/decorator/Cosscut");
17
+ const PointcutInfo_1 = require("../../src/model/PointcutInfo");
18
+ let PointcutAdviceNoOverwriteParentExample = class PointcutAdviceNoOverwriteParentExample {
19
+ async beforeCall(ctx) {
20
+ console.log('ctx: ', ctx);
21
+ }
22
+ };
23
+ PointcutAdviceNoOverwriteParentExample = __decorate([
24
+ (0, Advice_1.Advice)()
25
+ ], PointcutAdviceNoOverwriteParentExample);
26
+ exports.PointcutAdviceNoOverwriteParentExample = PointcutAdviceNoOverwriteParentExample;
27
+ let PointcutAdviceOverwriteParentExample = class PointcutAdviceOverwriteParentExample {
28
+ async beforeCall(ctx) {
29
+ console.log('ctx: ', ctx);
30
+ }
31
+ };
32
+ PointcutAdviceOverwriteParentExample = __decorate([
33
+ (0, Advice_1.Advice)()
34
+ ], PointcutAdviceOverwriteParentExample);
35
+ exports.PointcutAdviceOverwriteParentExample = PointcutAdviceOverwriteParentExample;
36
+ let PointcutAdviceOverwriteChildExample = class PointcutAdviceOverwriteChildExample {
37
+ async beforeCall(ctx) {
38
+ console.log('ctx: ', ctx);
39
+ }
40
+ };
41
+ PointcutAdviceOverwriteChildExample = __decorate([
42
+ (0, Advice_1.Advice)()
43
+ ], PointcutAdviceOverwriteChildExample);
44
+ exports.PointcutAdviceOverwriteChildExample = PointcutAdviceOverwriteChildExample;
45
+ let ParentExample = class ParentExample {
46
+ overwriteMethod() {
47
+ }
48
+ noOverwriteMethod() {
49
+ }
50
+ };
51
+ __decorate([
52
+ (0, Pointcut_1.Pointcut)(PointcutAdviceOverwriteParentExample),
53
+ __metadata("design:type", Function),
54
+ __metadata("design:paramtypes", []),
55
+ __metadata("design:returntype", void 0)
56
+ ], ParentExample.prototype, "overwriteMethod", null);
57
+ __decorate([
58
+ (0, Pointcut_1.Pointcut)(PointcutAdviceNoOverwriteParentExample),
59
+ __metadata("design:type", Function),
60
+ __metadata("design:paramtypes", []),
61
+ __metadata("design:returntype", void 0)
62
+ ], ParentExample.prototype, "noOverwriteMethod", null);
63
+ ParentExample = __decorate([
64
+ (0, core_decorator_1.ContextProto)()
65
+ ], ParentExample);
66
+ exports.ParentExample = ParentExample;
67
+ let ChildExample = class ChildExample extends ParentExample {
68
+ overwriteMethod() {
69
+ }
70
+ };
71
+ __decorate([
72
+ (0, Pointcut_1.Pointcut)(PointcutAdviceOverwriteChildExample),
73
+ __metadata("design:type", Function),
74
+ __metadata("design:paramtypes", []),
75
+ __metadata("design:returntype", void 0)
76
+ ], ChildExample.prototype, "overwriteMethod", null);
77
+ ChildExample = __decorate([
78
+ (0, core_decorator_1.ContextProto)()
79
+ ], ChildExample);
80
+ exports.ChildExample = ChildExample;
81
+ let CrosscutNoOverwriteParentExample = class CrosscutNoOverwriteParentExample {
82
+ async beforeCall(ctx) {
83
+ console.log('ctx: ', ctx);
84
+ }
85
+ };
86
+ CrosscutNoOverwriteParentExample = __decorate([
87
+ (0, Advice_1.Advice)(),
88
+ (0, Cosscut_1.Crosscut)({
89
+ type: PointcutInfo_1.PointcutType.CLASS,
90
+ clazz: ParentExample,
91
+ methodName: 'noOverwriteMethod',
92
+ })
93
+ ], CrosscutNoOverwriteParentExample);
94
+ exports.CrosscutNoOverwriteParentExample = CrosscutNoOverwriteParentExample;
95
+ let CrosscutOverwriteParentExample = class CrosscutOverwriteParentExample {
96
+ async beforeCall(ctx) {
97
+ console.log('ctx: ', ctx);
98
+ }
99
+ };
100
+ CrosscutOverwriteParentExample = __decorate([
101
+ (0, Advice_1.Advice)(),
102
+ (0, Cosscut_1.Crosscut)({
103
+ type: PointcutInfo_1.PointcutType.CLASS,
104
+ clazz: ParentExample,
105
+ methodName: 'overwriteMethod',
106
+ })
107
+ ], CrosscutOverwriteParentExample);
108
+ exports.CrosscutOverwriteParentExample = CrosscutOverwriteParentExample;
109
+ let CrosscutOverwriteChildExample = class CrosscutOverwriteChildExample {
110
+ async beforeCall(ctx) {
111
+ console.log('ctx: ', ctx);
112
+ }
113
+ };
114
+ CrosscutOverwriteChildExample = __decorate([
115
+ (0, Advice_1.Advice)(),
116
+ (0, Cosscut_1.Crosscut)({
117
+ type: PointcutInfo_1.PointcutType.CLASS,
118
+ clazz: ChildExample,
119
+ methodName: 'overwriteMethod',
120
+ })
121
+ ], CrosscutOverwriteChildExample);
122
+ exports.CrosscutOverwriteChildExample = CrosscutOverwriteChildExample;
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5oZXJpdEV4YW1wbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L2ZpeHR1cmVzL0luaGVyaXRFeGFtcGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDBEQUFxRDtBQUNyRCx1REFBNEU7QUFDNUUsMkRBQXdEO0FBQ3hELHlEQUF1RDtBQUN2RCwrREFBNEQ7QUFHckQsSUFBTSxzQ0FBc0MsR0FBNUMsTUFBTSxzQ0FBc0M7SUFDakQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFrQjtRQUNqQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDO0NBQ0YsQ0FBQTtBQUpZLHNDQUFzQztJQURsRCxJQUFBLGVBQU0sR0FBRTtHQUNJLHNDQUFzQyxDQUlsRDtBQUpZLHdGQUFzQztBQU81QyxJQUFNLG9DQUFvQyxHQUExQyxNQUFNLG9DQUFvQztJQUMvQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQWtCO1FBQ2pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7Q0FDRixDQUFBO0FBSlksb0NBQW9DO0lBRGhELElBQUEsZUFBTSxHQUFFO0dBQ0ksb0NBQW9DLENBSWhEO0FBSlksb0ZBQW9DO0FBTzFDLElBQU0sbUNBQW1DLEdBQXpDLE1BQU0sbUNBQW1DO0lBQzlDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBa0I7UUFDakMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDNUIsQ0FBQztDQUNGLENBQUE7QUFKWSxtQ0FBbUM7SUFEL0MsSUFBQSxlQUFNLEdBQUU7R0FDSSxtQ0FBbUMsQ0FJL0M7QUFKWSxrRkFBbUM7QUFPekMsSUFBTSxhQUFhLEdBQW5CLE1BQU0sYUFBYTtJQUV4QixlQUFlO0lBRWYsQ0FBQztJQUdELGlCQUFpQjtJQUVqQixDQUFDO0NBQ0YsQ0FBQTtBQVRDO0lBQUMsSUFBQSxtQkFBUSxFQUFDLG9DQUFvQyxDQUFDOzs7O29EQUc5QztBQUVEO0lBQUMsSUFBQSxtQkFBUSxFQUFDLHNDQUFzQyxDQUFDOzs7O3NEQUdoRDtBQVRVLGFBQWE7SUFEekIsSUFBQSw2QkFBWSxHQUFFO0dBQ0YsYUFBYSxDQVV6QjtBQVZZLHNDQUFhO0FBYW5CLElBQU0sWUFBWSxHQUFsQixNQUFNLFlBQWEsU0FBUSxhQUFhO0lBRTdDLGVBQWU7SUFFZixDQUFDO0NBQ0YsQ0FBQTtBQUpDO0lBQUMsSUFBQSxtQkFBUSxFQUFDLG1DQUFtQyxDQUFDOzs7O21EQUc3QztBQUpVLFlBQVk7SUFEeEIsSUFBQSw2QkFBWSxHQUFFO0dBQ0YsWUFBWSxDQUt4QjtBQUxZLG9DQUFZO0FBYWxCLElBQU0sZ0NBQWdDLEdBQXRDLE1BQU0sZ0NBQWdDO0lBQzNDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBa0I7UUFDakMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDNUIsQ0FBQztDQUNGLENBQUE7QUFKWSxnQ0FBZ0M7SUFONUMsSUFBQSxlQUFNLEdBQUU7SUFDUixJQUFBLGtCQUFRLEVBQUM7UUFDUixJQUFJLEVBQUUsMkJBQVksQ0FBQyxLQUFLO1FBQ3hCLEtBQUssRUFBRSxhQUFhO1FBQ3BCLFVBQVUsRUFBRSxtQkFBbUI7S0FDaEMsQ0FBQztHQUNXLGdDQUFnQyxDQUk1QztBQUpZLDRFQUFnQztBQVl0QyxJQUFNLDhCQUE4QixHQUFwQyxNQUFNLDhCQUE4QjtJQUN6QyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQWtCO1FBQ2pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7Q0FDRixDQUFBO0FBSlksOEJBQThCO0lBTjFDLElBQUEsZUFBTSxHQUFFO0lBQ1IsSUFBQSxrQkFBUSxFQUFDO1FBQ1IsSUFBSSxFQUFFLDJCQUFZLENBQUMsS0FBSztRQUN4QixLQUFLLEVBQUUsYUFBYTtRQUNwQixVQUFVLEVBQUUsaUJBQWlCO0tBQzlCLENBQUM7R0FDVyw4QkFBOEIsQ0FJMUM7QUFKWSx3RUFBOEI7QUFZcEMsSUFBTSw2QkFBNkIsR0FBbkMsTUFBTSw2QkFBNkI7SUFDeEMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFrQjtRQUNqQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDO0NBQ0YsQ0FBQTtBQUpZLDZCQUE2QjtJQU56QyxJQUFBLGVBQU0sR0FBRTtJQUNSLElBQUEsa0JBQVEsRUFBQztRQUNSLElBQUksRUFBRSwyQkFBWSxDQUFDLEtBQUs7UUFDeEIsS0FBSyxFQUFFLFlBQVk7UUFDbkIsVUFBVSxFQUFFLGlCQUFpQjtLQUM5QixDQUFDO0dBQ1csNkJBQTZCLENBSXpDO0FBSlksc0VBQTZCIn0=
@@ -0,0 +1,14 @@
1
+ import { AdviceContext, IAdvice } from '../..';
2
+ export declare class PointcutAdviceBeforeCallExample implements IAdvice {
3
+ beforeCall(ctx: AdviceContext): Promise<void>;
4
+ }
5
+ export declare class PointcutAdviceAfterReturnExample implements IAdvice {
6
+ afterReturn(ctx: AdviceContext): Promise<void>;
7
+ }
8
+ export declare class GetterExample {
9
+ get badGetter(): void;
10
+ foo(): void;
11
+ }
12
+ export declare class PointcutExample {
13
+ hello(): void;
14
+ }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.PointcutExample = exports.GetterExample = exports.PointcutAdviceAfterReturnExample = exports.PointcutAdviceBeforeCallExample = void 0;
13
+ const core_decorator_1 = require("@eggjs/core-decorator");
14
+ const __1 = require("../..");
15
+ let PointcutAdviceBeforeCallExample = class PointcutAdviceBeforeCallExample {
16
+ async beforeCall(ctx) {
17
+ console.log('ctx: ', ctx);
18
+ }
19
+ };
20
+ PointcutAdviceBeforeCallExample = __decorate([
21
+ (0, __1.Advice)()
22
+ ], PointcutAdviceBeforeCallExample);
23
+ exports.PointcutAdviceBeforeCallExample = PointcutAdviceBeforeCallExample;
24
+ let PointcutAdviceAfterReturnExample = class PointcutAdviceAfterReturnExample {
25
+ async afterReturn(ctx) {
26
+ console.log('ctx: ', ctx);
27
+ }
28
+ };
29
+ PointcutAdviceAfterReturnExample = __decorate([
30
+ (0, __1.Advice)()
31
+ ], PointcutAdviceAfterReturnExample);
32
+ exports.PointcutAdviceAfterReturnExample = PointcutAdviceAfterReturnExample;
33
+ let GetterExample = class GetterExample {
34
+ get badGetter() {
35
+ throw new Error('never access getter');
36
+ }
37
+ foo() {
38
+ }
39
+ };
40
+ __decorate([
41
+ (0, __1.Pointcut)(PointcutAdviceBeforeCallExample),
42
+ __metadata("design:type", Function),
43
+ __metadata("design:paramtypes", []),
44
+ __metadata("design:returntype", void 0)
45
+ ], GetterExample.prototype, "foo", null);
46
+ GetterExample = __decorate([
47
+ (0, core_decorator_1.ContextProto)()
48
+ ], GetterExample);
49
+ exports.GetterExample = GetterExample;
50
+ let PointcutExample = class PointcutExample {
51
+ hello() {
52
+ console.log('hello');
53
+ }
54
+ };
55
+ __decorate([
56
+ (0, __1.Pointcut)(PointcutAdviceBeforeCallExample),
57
+ (0, __1.Pointcut)(PointcutAdviceAfterReturnExample),
58
+ __metadata("design:type", Function),
59
+ __metadata("design:paramtypes", []),
60
+ __metadata("design:returntype", void 0)
61
+ ], PointcutExample.prototype, "hello", null);
62
+ PointcutExample = __decorate([
63
+ (0, core_decorator_1.ContextProto)()
64
+ ], PointcutExample);
65
+ exports.PointcutExample = PointcutExample;
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9pbnRjdXRFeGFtcGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC9maXh0dXJlcy9Qb2ludGN1dEV4YW1wbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsMERBQXFEO0FBQ3JELDZCQUFpRTtBQUcxRCxJQUFNLCtCQUErQixHQUFyQyxNQUFNLCtCQUErQjtJQUMxQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQWtCO1FBQ2pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7Q0FDRixDQUFBO0FBSlksK0JBQStCO0lBRDNDLElBQUEsVUFBTSxHQUFFO0dBQ0ksK0JBQStCLENBSTNDO0FBSlksMEVBQStCO0FBT3JDLElBQU0sZ0NBQWdDLEdBQXRDLE1BQU0sZ0NBQWdDO0lBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBa0I7UUFDbEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDNUIsQ0FBQztDQUNGLENBQUE7QUFKWSxnQ0FBZ0M7SUFENUMsSUFBQSxVQUFNLEdBQUU7R0FDSSxnQ0FBZ0MsQ0FJNUM7QUFKWSw0RUFBZ0M7QUFPdEMsSUFBTSxhQUFhLEdBQW5CLE1BQU0sYUFBYTtJQUN4QixJQUFJLFNBQVM7UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDekMsQ0FBQztJQUdELEdBQUc7SUFFSCxDQUFDO0NBQ0YsQ0FBQTtBQUpDO0lBQUMsSUFBQSxZQUFRLEVBQUMsK0JBQStCLENBQUM7Ozs7d0NBR3pDO0FBUlUsYUFBYTtJQUR6QixJQUFBLDZCQUFZLEdBQUU7R0FDRixhQUFhLENBU3pCO0FBVFksc0NBQWE7QUFZbkIsSUFBTSxlQUFlLEdBQXJCLE1BQU0sZUFBZTtJQUcxQixLQUFLO1FBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QixDQUFDO0NBQ0YsQ0FBQTtBQUxDO0lBQUMsSUFBQSxZQUFRLEVBQUMsK0JBQStCLENBQUM7SUFDekMsSUFBQSxZQUFRLEVBQUMsZ0NBQWdDLENBQUM7Ozs7NENBRzFDO0FBTFUsZUFBZTtJQUQzQixJQUFBLDZCQUFZLEdBQUU7R0FDRixlQUFlLENBTTNCO0FBTlksMENBQWUifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eggjs/aop-decorator",
3
- "version": "3.20.0",
3
+ "version": "3.21.0",
4
4
  "description": "tegg aop decorator",
5
5
  "keywords": [
6
6
  "tegg",
@@ -16,9 +16,9 @@
16
16
  "directory": "core/aop-decorator"
17
17
  },
18
18
  "dependencies": {
19
- "@eggjs/core-decorator": "^3.20.0",
20
- "@eggjs/tegg-common-util": "^3.20.0",
21
- "@eggjs/tegg-metadata": "^3.20.0"
19
+ "@eggjs/core-decorator": "^3.21.0",
20
+ "@eggjs/tegg-common-util": "^3.21.0",
21
+ "@eggjs/tegg-metadata": "^3.21.0"
22
22
  },
23
23
  "scripts": {
24
24
  "test": "cross-env NODE_ENV=test NODE_OPTIONS='--no-deprecation' mocha",
@@ -50,5 +50,5 @@
50
50
  "ts-node": "^10.9.1",
51
51
  "typescript": "^5.0.4"
52
52
  },
53
- "gitHead": "a30835c9130c158489191e693f381f6c29706127"
53
+ "gitHead": "7bd1891af05dc144a2b8521efe851c778c16cebb"
54
54
  }