@eggjs/tegg-plugin 3.3.1 → 3.3.3
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.
- package/app.js +24 -1
- package/lib/EggContextCompatibleHook.js +9 -1
- package/lib/ctx_lifecycle_middleware.js +6 -1
- package/package.json +2 -2
package/app.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
require("./lib/AppLoadUnit");
|
|
4
4
|
require("./lib/AppLoadUnitInstance");
|
|
5
5
|
require("./lib/EggCompatibleObject");
|
|
6
|
+
const tegg_1 = require("@eggjs/tegg");
|
|
6
7
|
const EggContextCompatibleHook_1 = require("./lib/EggContextCompatibleHook");
|
|
7
8
|
const CompatibleUtil_1 = require("./lib/CompatibleUtil");
|
|
8
9
|
const ModuleHandler_1 = require("./lib/ModuleHandler");
|
|
@@ -21,6 +22,28 @@ class App {
|
|
|
21
22
|
this.app.moduleHandler = new ModuleHandler_1.ModuleHandler(this.app);
|
|
22
23
|
}
|
|
23
24
|
async didLoad() {
|
|
25
|
+
const eggRunInBackground = this.app.context.runInBackground;
|
|
26
|
+
this.app.context.runInBackground = function runInBackground(scope) {
|
|
27
|
+
let resolveBackgroundTask;
|
|
28
|
+
const backgroundTaskPromise = new Promise(resolve => {
|
|
29
|
+
resolveBackgroundTask = resolve;
|
|
30
|
+
});
|
|
31
|
+
const newScope = async () => {
|
|
32
|
+
try {
|
|
33
|
+
await scope(this);
|
|
34
|
+
}
|
|
35
|
+
finally {
|
|
36
|
+
resolveBackgroundTask();
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
Reflect.apply(eggRunInBackground, this, [newScope]);
|
|
40
|
+
const proto = tegg_1.PrototypeUtil.getClazzProto(tegg_1.BackgroundTaskHelper);
|
|
41
|
+
const eggObject = this.app.eggContainerFactory.getEggObject(proto);
|
|
42
|
+
const backgroundTaskHelper = eggObject.obj;
|
|
43
|
+
backgroundTaskHelper.run(async () => {
|
|
44
|
+
await backgroundTaskPromise;
|
|
45
|
+
});
|
|
46
|
+
};
|
|
24
47
|
await this.app.moduleHandler.ready();
|
|
25
48
|
this.compatibleHook = new EggContextCompatibleHook_1.EggContextCompatibleHook(this.app.moduleHandler);
|
|
26
49
|
this.app.eggContextLifecycleUtil.registerLifecycle(this.compatibleHook);
|
|
@@ -34,4 +57,4 @@ class App {
|
|
|
34
57
|
}
|
|
35
58
|
}
|
|
36
59
|
exports.default = App;
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsNkJBQTJCO0FBQzNCLHFDQUFtQztBQUNuQyxxQ0FBbUM7QUFFbkMsc0NBQWtFO0FBRWxFLDZFQUEwRTtBQUMxRSx5REFBc0Q7QUFDdEQsdURBQW9EO0FBQ3BELCtEQUE0RDtBQUU1RCxNQUFxQixHQUFHO0lBS3RCLFlBQVksR0FBZ0I7UUFDMUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxxQ0FBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDcEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxHQUFHLElBQUksNkJBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUM7UUFDNUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsZUFBZSxHQUFHLFNBQVMsZUFBZSxDQUFnQixLQUFxQztZQUM5RyxJQUFJLHFCQUFxQixDQUFDO1lBQzFCLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ2xELHFCQUFxQixHQUFHLE9BQU8sQ0FBQztZQUNsQyxDQUFDLENBQUMsQ0FBQztZQUNILE1BQU0sUUFBUSxHQUFHLEtBQUssSUFBSSxFQUFFO2dCQUMxQixJQUFJO29CQUNGLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUNuQjt3QkFBUztvQkFDUixxQkFBcUIsRUFBRSxDQUFDO2lCQUN6QjtZQUNILENBQUMsQ0FBQztZQUNGLE9BQU8sQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLENBQUUsUUFBUSxDQUFFLENBQUMsQ0FBQztZQUV0RCxNQUFNLEtBQUssR0FBRyxvQkFBYSxDQUFDLGFBQWEsQ0FBQywyQkFBb0IsQ0FBQyxDQUFDO1lBQ2hFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEtBQXFCLENBQUMsQ0FBQztZQUNuRixNQUFNLG9CQUFvQixHQUFHLFNBQVMsQ0FBQyxHQUEyQixDQUFDO1lBQ25FLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDbEMsTUFBTSxxQkFBcUIsQ0FBQztZQUM5QixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUVGLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLG1EQUF3QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXO1FBQ2YsK0JBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN2QixNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3ZDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDdkU7SUFDSCxDQUFDO0NBQ0Y7QUF4REQsc0JBd0RDIn0=
|
|
@@ -38,7 +38,15 @@ class EggContextCompatibleHook {
|
|
|
38
38
|
await tegg_runtime_1.EggContainerFactory.getOrCreateEggObject(proto);
|
|
39
39
|
}));
|
|
40
40
|
}
|
|
41
|
+
else {
|
|
42
|
+
// Use for ctx.runInBackground.
|
|
43
|
+
// BackgroundTaskHelper should get by sync,
|
|
44
|
+
// or tegg context may be destroyed before background task run.
|
|
45
|
+
// So create it in preCreate.
|
|
46
|
+
const protoObj = tegg_1.PrototypeUtil.getClazzProto(tegg_1.BackgroundTaskHelper);
|
|
47
|
+
await tegg_runtime_1.EggContainerFactory.getOrCreateEggObject(protoObj);
|
|
48
|
+
}
|
|
41
49
|
}
|
|
42
50
|
}
|
|
43
51
|
exports.EggContextCompatibleHook = EggContextCompatibleHook;
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnQ29udGV4dENvbXBhdGlibGVIb29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiRWdnQ29udGV4dENvbXBhdGlibGVIb29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNDQUFpRztBQUNqRyxzREFBa0c7QUFHbEcsZ0VBQXNEO0FBQ3RELHFFQUFrRTtBQUVsRSxNQUFhLHdCQUF3QjtJQUtuQyxZQUFZLGFBQTRCO1FBSGhDLHFCQUFnQixHQUF3QixFQUFFLENBQUM7UUFDM0Msa0JBQWEsR0FBd0IsRUFBRSxDQUFDO1FBRzlDLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLEtBQUssTUFBTSxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixFQUFFO1lBQ25FLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ2pFLEtBQUssTUFBTSxLQUFLLElBQUksUUFBUSxFQUFFO2dCQUM1QixpQ0FBaUM7Z0JBQ2pDLDBEQUEwRDtnQkFDMUQsMERBQTBEO2dCQUMxRCxvREFBb0Q7Z0JBQ3BELElBQUksS0FBSyxZQUFZLCtDQUFzQjtvQkFBRSxTQUFTO2dCQUN0RCxJQUFJLEtBQUssQ0FBQyxRQUFRLEtBQUsscUJBQWMsQ0FBQyxPQUFPLEVBQUU7b0JBQzdDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ25DO3FCQUFNLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxxQkFBYyxDQUFDLFNBQVMsRUFBRTtvQkFDdEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ2hDO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxHQUFlO1FBQ2hDLDZDQUE2QztRQUM3QyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyw4QkFBVSxDQUFDLEVBQUU7WUFDeEIsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQ3pDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ3pDO1lBQ0QsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsRUFBRTtnQkFDckQsTUFBTSxrQ0FBbUIsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4RCxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ0w7YUFBTTtZQUNMLCtCQUErQjtZQUMvQiwyQ0FBMkM7WUFDM0MsK0RBQStEO1lBQy9ELDZCQUE2QjtZQUM3QixNQUFNLFFBQVEsR0FBRyxvQkFBYSxDQUFDLGFBQWEsQ0FBQywyQkFBb0IsQ0FBQyxDQUFDO1lBQ25FLE1BQU0sa0NBQW1CLENBQUMsb0JBQW9CLENBQUMsUUFBd0IsQ0FBQyxDQUFDO1NBQzFFO0lBQ0gsQ0FBQztDQUNGO0FBMUNELDREQTBDQyJ9
|
|
@@ -3,6 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const EggContextImpl_1 = require("./EggContextImpl");
|
|
4
4
|
const egg_module_common_1 = require("@eggjs/egg-module-common");
|
|
5
5
|
async function ctxLifecycleMiddleware(ctx, next) {
|
|
6
|
+
// should not recreate teggContext
|
|
7
|
+
if (ctx[egg_module_common_1.TEGG_CONTEXT]) {
|
|
8
|
+
await next();
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
6
11
|
const lifecycle = {};
|
|
7
12
|
const teggCtx = new EggContextImpl_1.EggContextImpl(ctx);
|
|
8
13
|
// rootProto is set by tegg-controller-plugin global middleware(teggRootProto)
|
|
@@ -27,4 +32,4 @@ async function ctxLifecycleMiddleware(ctx, next) {
|
|
|
27
32
|
}
|
|
28
33
|
}
|
|
29
34
|
exports.default = ctxLifecycleMiddleware;
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3R4X2xpZmVjeWNsZV9taWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY3R4X2xpZmVjeWNsZV9taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EscURBQWtEO0FBQ2xELGdFQUFvRTtBQUVyRCxLQUFLLFVBQVUsc0JBQXNCLENBQUMsR0FBc0IsRUFBRSxJQUFJO0lBQy9FLGtDQUFrQztJQUNsQyxJQUFJLEdBQUcsQ0FBQyxnQ0FBWSxDQUFDLEVBQUU7UUFDckIsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUNiLE9BQU87S0FDUjtJQUVELE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUVyQixNQUFNLE9BQU8sR0FBRyxJQUFJLCtCQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEMsOEVBQThFO0lBQzlFLCtCQUErQjtJQUMvQixNQUFNLFNBQVMsR0FBSSxHQUFXLENBQUMsOEJBQVUsQ0FBQyxDQUFDO0lBQzNDLElBQUksU0FBUyxFQUFFO1FBQ2IsT0FBTyxDQUFDLEdBQUcsQ0FBQyw4QkFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0tBQ3BDO0lBRUQsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO1FBQ2hCLE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztLQUMvQjtJQUNELElBQUk7UUFDRixNQUFNLElBQUksRUFBRSxDQUFDO0tBQ2Q7WUFBUztRQUNSLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTtZQUNuQixPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDbkMsQ0FBQyxDQUFDLE9BQU8sR0FBRyx3REFBd0QsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDO2dCQUNqRixHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0QixDQUFDLENBQUMsQ0FBQztTQUNKO0tBQ0Y7QUFDSCxDQUFDO0FBOUJELHlDQThCQyJ9
|
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"teggConfig"
|
|
7
7
|
]
|
|
8
8
|
},
|
|
9
|
-
"version": "3.3.
|
|
9
|
+
"version": "3.3.3",
|
|
10
10
|
"description": "module plugin for egg",
|
|
11
11
|
"keywords": [
|
|
12
12
|
"egg",
|
|
@@ -73,5 +73,5 @@
|
|
|
73
73
|
"publishConfig": {
|
|
74
74
|
"access": "public"
|
|
75
75
|
},
|
|
76
|
-
"gitHead": "
|
|
76
|
+
"gitHead": "a33849de914033dc4184135a05c8e7802ec5ef83"
|
|
77
77
|
}
|