@eggjs/tegg-aop-runtime 3.47.0 → 3.48.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.
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { EggObject, EggObjectLifeCycleContext, LifecycleHook } from '@eggjs/tegg-types';
|
|
2
2
|
export declare class EggObjectAopHook implements LifecycleHook<EggObjectLifeCycleContext, EggObject> {
|
|
3
3
|
private hijackMethods;
|
|
4
|
+
private injectAdvice;
|
|
4
5
|
postCreate(_: EggObjectLifeCycleContext, eggObject: EggObject): Promise<void>;
|
|
5
6
|
}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.EggObjectAopHook = void 0;
|
|
4
7
|
const tegg_types_1 = require("@eggjs/tegg-types");
|
|
5
8
|
const AspectExecutor_1 = require("./AspectExecutor");
|
|
9
|
+
const core_decorator_1 = require("@eggjs/core-decorator");
|
|
10
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
11
|
+
const tegg_runtime_1 = require("@eggjs/tegg-runtime");
|
|
6
12
|
class EggObjectAopHook {
|
|
7
13
|
hijackMethods(obj, aspectList) {
|
|
8
14
|
for (const aspect of aspectList) {
|
|
@@ -10,6 +16,24 @@ class EggObjectAopHook {
|
|
|
10
16
|
obj[aspect.method] = newExecutor.execute.bind(newExecutor);
|
|
11
17
|
}
|
|
12
18
|
}
|
|
19
|
+
// constructor inject only paas obj to constructor
|
|
20
|
+
// should manually define obj to property
|
|
21
|
+
injectAdvice(eggObject, obj, aspectList) {
|
|
22
|
+
if (eggObject.proto.getMetaData(core_decorator_1.PrototypeUtil.INJECT_TYPE) !== tegg_types_1.InjectType.CONSTRUCTOR) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
for (const aspect of aspectList) {
|
|
26
|
+
for (const advice of aspect.adviceList) {
|
|
27
|
+
const injectObject = eggObject.proto.injectObjects.find(t => t.objName === advice.name);
|
|
28
|
+
(0, node_assert_1.default)(injectObject, `not found inject advice ${advice.name}`);
|
|
29
|
+
const adviceObj = tegg_runtime_1.EggContainerFactory.getEggObject(injectObject.proto, advice.name);
|
|
30
|
+
Object.defineProperty(obj, advice.name, {
|
|
31
|
+
value: adviceObj.obj,
|
|
32
|
+
enumerable: false,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
13
37
|
async postCreate(_, eggObject) {
|
|
14
38
|
const aspectList = eggObject.proto.getMetaData(tegg_types_1.ASPECT_LIST);
|
|
15
39
|
if (!aspectList || !aspectList.length)
|
|
@@ -25,6 +49,7 @@ class EggObjectAopHook {
|
|
|
25
49
|
if (!obj) {
|
|
26
50
|
obj = Reflect.apply(propertyDesc.get, eggObject, []);
|
|
27
51
|
self.hijackMethods(obj, aspectList);
|
|
52
|
+
self.injectAdvice(eggObject, obj, aspectList);
|
|
28
53
|
}
|
|
29
54
|
return obj;
|
|
30
55
|
},
|
|
@@ -32,8 +57,9 @@ class EggObjectAopHook {
|
|
|
32
57
|
}
|
|
33
58
|
else {
|
|
34
59
|
this.hijackMethods(eggObject.obj, aspectList);
|
|
60
|
+
this.injectAdvice(eggObject, eggObject.obj, aspectList);
|
|
35
61
|
}
|
|
36
62
|
}
|
|
37
63
|
}
|
|
38
64
|
exports.EggObjectAopHook = EggObjectAopHook;
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnT2JqZWN0QW9wSG9vay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9FZ2dPYmplY3RBb3BIb29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGtEQUE0RDtBQUc1RCxxREFBa0Q7QUFDbEQsMERBQXNEO0FBQ3RELDhEQUFpQztBQUNqQyxzREFBMEQ7QUFFMUQsTUFBYSxnQkFBZ0I7SUFDbkIsYUFBYSxDQUFDLEdBQVEsRUFBRSxVQUF5QjtRQUN2RCxLQUFLLE1BQU0sTUFBTSxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sV0FBVyxHQUFHLElBQUksK0JBQWMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDOUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM3RCxDQUFDO0lBQ0gsQ0FBQztJQUVELGtEQUFrRDtJQUNsRCx5Q0FBeUM7SUFDakMsWUFBWSxDQUFDLFNBQW9CLEVBQUUsR0FBUSxFQUFFLFVBQXlCO1FBQzVFLElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsOEJBQWEsQ0FBQyxXQUFXLENBQUMsS0FBSyx1QkFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RGLE9BQU87UUFDVCxDQUFDO1FBQ0QsS0FBSyxNQUFNLE1BQU0sSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNoQyxLQUFLLE1BQU0sTUFBTSxJQUFJLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDdkMsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3hGLElBQUEscUJBQU0sRUFBQyxZQUFZLEVBQUUsMkJBQTJCLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUMvRCxNQUFNLFNBQVMsR0FBRyxrQ0FBbUIsQ0FBQyxZQUFZLENBQUMsWUFBYSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3JGLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUU7b0JBQ3RDLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRztvQkFDcEIsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBNEIsRUFBRSxTQUFvQjtRQUNqRSxNQUFNLFVBQVUsR0FBOEIsU0FBUyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsd0JBQVcsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTTtZQUFFLE9BQU87UUFDOUMsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLFdBQVcsSUFBSSxPQUFPLENBQUMsd0JBQXdCLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFFLENBQUM7UUFDeEgsMEJBQTBCO1FBQzFCLElBQUksWUFBWSxhQUFaLFlBQVksdUJBQVosWUFBWSxDQUFFLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLElBQUksR0FBRyxDQUFDO1lBQ1IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLE1BQU0sQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRTtnQkFDdEMsR0FBRyxZQUFZO2dCQUNmLEdBQUc7b0JBQ0QsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO3dCQUNULEdBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO3dCQUN0RCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQzt3QkFDcEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO29CQUNoRCxDQUFDO29CQUNELE9BQU8sR0FBRyxDQUFDO2dCQUNiLENBQUM7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzFELENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFuREQsNENBbURDIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eggjs/tegg-aop-runtime",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.48.0",
|
|
4
4
|
"description": "tegg aop",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"eggModule": {
|
|
@@ -43,18 +43,18 @@
|
|
|
43
43
|
"access": "public"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@eggjs/aop-decorator": "^3.
|
|
47
|
-
"@eggjs/core-decorator": "^3.
|
|
48
|
-
"@eggjs/tegg-common-util": "^3.
|
|
49
|
-
"@eggjs/tegg-lifecycle": "^3.
|
|
50
|
-
"@eggjs/tegg-metadata": "^3.
|
|
51
|
-
"@eggjs/tegg-runtime": "^3.
|
|
52
|
-
"@eggjs/tegg-types": "^3.
|
|
46
|
+
"@eggjs/aop-decorator": "^3.48.0",
|
|
47
|
+
"@eggjs/core-decorator": "^3.48.0",
|
|
48
|
+
"@eggjs/tegg-common-util": "^3.48.0",
|
|
49
|
+
"@eggjs/tegg-lifecycle": "^3.48.0",
|
|
50
|
+
"@eggjs/tegg-metadata": "^3.48.0",
|
|
51
|
+
"@eggjs/tegg-runtime": "^3.48.0",
|
|
52
|
+
"@eggjs/tegg-types": "^3.48.0",
|
|
53
53
|
"koa-compose": "^4.1.0"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
|
-
"@eggjs/module-test-util": "^3.
|
|
57
|
-
"@eggjs/tegg-loader": "^3.
|
|
56
|
+
"@eggjs/module-test-util": "^3.48.0",
|
|
57
|
+
"@eggjs/tegg-loader": "^3.48.0",
|
|
58
58
|
"@types/mocha": "^10.0.1",
|
|
59
59
|
"@types/node": "^20.2.4",
|
|
60
60
|
"cross-env": "^7.0.3",
|
|
@@ -63,5 +63,5 @@
|
|
|
63
63
|
"ts-node": "^10.9.1",
|
|
64
64
|
"typescript": "^5.0.4"
|
|
65
65
|
},
|
|
66
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "8acbcc4e472c95beb3955d3b75c9b458c9d32e0b"
|
|
67
67
|
}
|