@eggjs/tegg-plugin 3.3.2 → 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/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
|
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
|
}
|