@eggjs/tegg-plugin 3.3.2 → 3.3.4

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 CHANGED
@@ -3,10 +3,12 @@ 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");
9
10
  const EggContextHandler_1 = require("./lib/EggContextHandler");
11
+ const egg_module_common_1 = require("@eggjs/egg-module-common");
10
12
  class App {
11
13
  constructor(app) {
12
14
  this.app = app;
@@ -21,6 +23,31 @@ class App {
21
23
  this.app.moduleHandler = new ModuleHandler_1.ModuleHandler(this.app);
22
24
  }
23
25
  async didLoad() {
26
+ const eggRunInBackground = this.app.context.runInBackground;
27
+ this.app.context.runInBackground = function runInBackground(scope) {
28
+ if (!this[egg_module_common_1.TEGG_CONTEXT]) {
29
+ return Reflect.apply(eggRunInBackground, this, [scope]);
30
+ }
31
+ let resolveBackgroundTask;
32
+ const backgroundTaskPromise = new Promise(resolve => {
33
+ resolveBackgroundTask = resolve;
34
+ });
35
+ const newScope = async () => {
36
+ try {
37
+ await scope(this);
38
+ }
39
+ finally {
40
+ resolveBackgroundTask();
41
+ }
42
+ };
43
+ Reflect.apply(eggRunInBackground, this, [newScope]);
44
+ const proto = tegg_1.PrototypeUtil.getClazzProto(tegg_1.BackgroundTaskHelper);
45
+ const eggObject = this.app.eggContainerFactory.getEggObject(proto);
46
+ const backgroundTaskHelper = eggObject.obj;
47
+ backgroundTaskHelper.run(async () => {
48
+ await backgroundTaskPromise;
49
+ });
50
+ };
24
51
  await this.app.moduleHandler.ready();
25
52
  this.compatibleHook = new EggContextCompatibleHook_1.EggContextCompatibleHook(this.app.moduleHandler);
26
53
  this.app.eggContextLifecycleUtil.registerLifecycle(this.compatibleHook);
@@ -34,4 +61,4 @@ class App {
34
61
  }
35
62
  }
36
63
  exports.default = App;
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsNkJBQTJCO0FBQzNCLHFDQUFtQztBQUNuQyxxQ0FBbUM7QUFFbkMsNkVBQTBFO0FBQzFFLHlEQUFzRDtBQUN0RCx1REFBb0Q7QUFDcEQsK0RBQTREO0FBRTVELE1BQXFCLEdBQUc7SUFLdEIsWUFBWSxHQUFnQjtRQUMxQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUNqQixDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLHFDQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUNwRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEdBQUcsSUFBSSw2QkFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU87UUFDWCxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxtREFBd0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVztRQUNmLCtCQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdkIsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN2QyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ3ZFO0lBQ0gsQ0FBQztDQUNGO0FBakNELHNCQWlDQyJ9
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsNkJBQTJCO0FBQzNCLHFDQUFtQztBQUNuQyxxQ0FBbUM7QUFFbkMsc0NBQWtFO0FBRWxFLDZFQUEwRTtBQUMxRSx5REFBc0Q7QUFDdEQsdURBQW9EO0FBQ3BELCtEQUE0RDtBQUM1RCxnRUFBd0Q7QUFHeEQsTUFBcUIsR0FBRztJQUt0QixZQUFZLEdBQWdCO1FBQzFCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUkscUNBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBQ3BELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsR0FBRyxJQUFJLDZCQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO1FBQzVELElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLGVBQWUsR0FBRyxTQUFTLGVBQWUsQ0FBMEIsS0FBcUM7WUFDeEgsSUFBSSxDQUFDLElBQUksQ0FBQyxnQ0FBWSxDQUFDLEVBQUU7Z0JBQ3ZCLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsQ0FBRSxLQUFLLENBQUUsQ0FBQyxDQUFDO2FBQzNEO1lBQ0QsSUFBSSxxQkFBcUIsQ0FBQztZQUMxQixNQUFNLHFCQUFxQixHQUFHLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNsRCxxQkFBcUIsR0FBRyxPQUFPLENBQUM7WUFDbEMsQ0FBQyxDQUFDLENBQUM7WUFDSCxNQUFNLFFBQVEsR0FBRyxLQUFLLElBQUksRUFBRTtnQkFDMUIsSUFBSTtvQkFDRixNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDbkI7d0JBQVM7b0JBQ1IscUJBQXFCLEVBQUUsQ0FBQztpQkFDekI7WUFDSCxDQUFDLENBQUM7WUFDRixPQUFPLENBQUMsS0FBSyxDQUFDLGtCQUFrQixFQUFFLElBQUksRUFBRSxDQUFFLFFBQVEsQ0FBRSxDQUFDLENBQUM7WUFFdEQsTUFBTSxLQUFLLEdBQUcsb0JBQWEsQ0FBQyxhQUFhLENBQUMsMkJBQW9CLENBQUMsQ0FBQztZQUNoRSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxLQUFxQixDQUFDLENBQUM7WUFDbkYsTUFBTSxvQkFBb0IsR0FBRyxTQUFTLENBQUMsR0FBMkIsQ0FBQztZQUNuRSxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQ2xDLE1BQU0scUJBQXFCLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7UUFFRixNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxtREFBd0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVztRQUNmLCtCQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdkIsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN2QyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ3ZFO0lBQ0gsQ0FBQztDQUNGO0FBM0RELHNCQTJEQyJ9
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnQ29udGV4dENvbXBhdGlibGVIb29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiRWdnQ29udGV4dENvbXBhdGlibGVIb29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNDQUE0RDtBQUM1RCxzREFBa0c7QUFHbEcsZ0VBQXNEO0FBQ3RELHFFQUFrRTtBQUVsRSxNQUFhLHdCQUF3QjtJQUtuQyxZQUFZLGFBQTRCO1FBSGhDLHFCQUFnQixHQUF3QixFQUFFLENBQUM7UUFDM0Msa0JBQWEsR0FBd0IsRUFBRSxDQUFDO1FBRzlDLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLEtBQUssTUFBTSxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixFQUFFO1lBQ25FLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ2pFLEtBQUssTUFBTSxLQUFLLElBQUksUUFBUSxFQUFFO2dCQUM1QixpQ0FBaUM7Z0JBQ2pDLDBEQUEwRDtnQkFDMUQsMERBQTBEO2dCQUMxRCxvREFBb0Q7Z0JBQ3BELElBQUksS0FBSyxZQUFZLCtDQUFzQjtvQkFBRSxTQUFTO2dCQUN0RCxJQUFJLEtBQUssQ0FBQyxRQUFRLEtBQUsscUJBQWMsQ0FBQyxPQUFPLEVBQUU7b0JBQzdDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ25DO3FCQUFNLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxxQkFBYyxDQUFDLFNBQVMsRUFBRTtvQkFDdEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ2hDO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxHQUFlO1FBQ2hDLDZDQUE2QztRQUM3QyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyw4QkFBVSxDQUFDLEVBQUU7WUFDeEIsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQ3pDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ3pDO1lBQ0QsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsRUFBRTtnQkFDckQsTUFBTSxrQ0FBbUIsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4RCxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ0w7SUFDSCxDQUFDO0NBQ0Y7QUFuQ0QsNERBbUNDIn0=
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.2",
9
+ "version": "3.3.4",
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": "6b31708c6e603b65cf38279175228bfd08b12fcd"
76
+ "gitHead": "fec8a3a22bd96648fa31f8ac928ac347a939eef8"
77
77
  }