@eggjs/tegg-runtime 3.14.3 → 3.15.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.
Files changed (43) hide show
  1. package/dist/test/EggObject.test.d.ts +1 -0
  2. package/dist/test/EggObject.test.js +99 -0
  3. package/dist/test/LoadUnitInstance.test.d.ts +1 -0
  4. package/dist/test/LoadUnitInstance.test.js +105 -0
  5. package/dist/test/QualifierLoadUnitInstance.test.d.ts +1 -0
  6. package/dist/test/QualifierLoadUnitInstance.test.js +47 -0
  7. package/dist/test/fixtures/EggContextStorage.d.ts +7 -0
  8. package/dist/test/fixtures/EggContextStorage.js +18 -0
  9. package/dist/test/fixtures/EggTestContext.d.ts +9 -0
  10. package/dist/test/fixtures/EggTestContext.js +21 -0
  11. package/dist/test/fixtures/modules/extends-module/Base.d.ts +10 -0
  12. package/dist/test/fixtures/modules/extends-module/Base.js +46 -0
  13. package/dist/test/fixtures/modules/init-type-qualifier-module/Cache.d.ts +8 -0
  14. package/dist/test/fixtures/modules/init-type-qualifier-module/Cache.js +3 -0
  15. package/dist/test/fixtures/modules/init-type-qualifier-module/CacheService.d.ts +9 -0
  16. package/dist/test/fixtures/modules/init-type-qualifier-module/CacheService.js +41 -0
  17. package/dist/test/fixtures/modules/init-type-qualifier-module/ContextCache.d.ts +6 -0
  18. package/dist/test/fixtures/modules/init-type-qualifier-module/ContextCache.js +31 -0
  19. package/dist/test/fixtures/modules/init-type-qualifier-module/SingletonCache.d.ts +6 -0
  20. package/dist/test/fixtures/modules/init-type-qualifier-module/SingletonCache.js +31 -0
  21. package/dist/test/fixtures/modules/inject-context-to-singleton/object.d.ts +19 -0
  22. package/dist/test/fixtures/modules/inject-context-to-singleton/object.js +85 -0
  23. package/dist/test/fixtures/modules/lifecycle-hook/object.d.ts +23 -0
  24. package/dist/test/fixtures/modules/lifecycle-hook/object.js +82 -0
  25. package/dist/test/fixtures/modules/module-for-load-unit-instance/AppCache.d.ts +4 -0
  26. package/dist/test/fixtures/modules/module-for-load-unit-instance/AppCache.js +22 -0
  27. package/dist/test/fixtures/modules/module-for-load-unit-instance/CountController.d.ts +13 -0
  28. package/dist/test/fixtures/modules/module-for-load-unit-instance/CountController.js +43 -0
  29. package/dist/test/fixtures/modules/module-for-load-unit-instance/CountService.d.ts +8 -0
  30. package/dist/test/fixtures/modules/module-for-load-unit-instance/CountService.js +38 -0
  31. package/dist/test/fixtures/modules/module-for-load-unit-instance/TempObj.d.ts +4 -0
  32. package/dist/test/fixtures/modules/module-for-load-unit-instance/TempObj.js +24 -0
  33. package/dist/test/fixtures/modules/multi-module/multi-module-common/model/App.d.ts +4 -0
  34. package/dist/test/fixtures/modules/multi-module/multi-module-common/model/App.js +6 -0
  35. package/dist/test/fixtures/modules/multi-module/multi-module-repo/AppRepo.d.ts +7 -0
  36. package/dist/test/fixtures/modules/multi-module/multi-module-repo/AppRepo.js +39 -0
  37. package/dist/test/fixtures/modules/multi-module/multi-module-repo/PersistenceService.d.ts +5 -0
  38. package/dist/test/fixtures/modules/multi-module/multi-module-repo/PersistenceService.js +28 -0
  39. package/dist/test/fixtures/modules/multi-module/multi-module-service/AppService.d.ts +7 -0
  40. package/dist/test/fixtures/modules/multi-module/multi-module-service/AppService.js +33 -0
  41. package/dist/test/util.d.ts +5 -0
  42. package/dist/test/util.js +23 -0
  43. package/package.json +7 -7
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,99 @@
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 assert_1 = __importDefault(require("assert"));
7
+ const tegg_metadata_1 = require("@eggjs/tegg-metadata");
8
+ const EggTestContext_1 = require("./fixtures/EggTestContext");
9
+ const util_1 = __importDefault(require("./util"));
10
+ const __1 = require("..");
11
+ const mm_1 = __importDefault(require("mm"));
12
+ const ContextHandler_1 = require("../src/model/ContextHandler");
13
+ describe('test/EggObject.test.ts', () => {
14
+ let ctx;
15
+ beforeEach(() => {
16
+ ctx = new EggTestContext_1.EggTestContext();
17
+ });
18
+ afterEach(() => {
19
+ mm_1.default.restore();
20
+ });
21
+ describe('lifecycle', () => {
22
+ beforeEach(() => {
23
+ (0, mm_1.default)(ContextHandler_1.ContextHandler, 'getContext', () => {
24
+ return ctx;
25
+ });
26
+ });
27
+ describe('context proto', () => {
28
+ it('should work', async () => {
29
+ const instance = await util_1.default.createLoadUnitInstance('lifecycle-hook');
30
+ const fooProto = tegg_metadata_1.EggPrototypeFactory.instance.getPrototype('foo');
31
+ const fooObj = await __1.EggContainerFactory.getOrCreateEggObject(fooProto, fooProto.name);
32
+ const foo = fooObj.obj;
33
+ await util_1.default.destroyLoadUnitInstance(instance);
34
+ const called = foo.getLifecycleCalled();
35
+ await ctx.destroy({});
36
+ assert_1.default.deepStrictEqual(called, [
37
+ 'construct',
38
+ 'postConstruct',
39
+ 'preInject',
40
+ 'postInject',
41
+ 'init',
42
+ 'preDestroy',
43
+ 'destroy',
44
+ ]);
45
+ });
46
+ it('should clear eggObjectMap/eggObjectPromiseMap/contextData after destroy', async () => {
47
+ const instance = await util_1.default.createLoadUnitInstance('lifecycle-hook');
48
+ const fooProto = tegg_metadata_1.EggPrototypeFactory.instance.getPrototype('foo');
49
+ const fooObj = await __1.EggContainerFactory.getOrCreateEggObject(fooProto, fooProto.name);
50
+ (0, assert_1.default)(fooObj.obj);
51
+ await ctx.destroy({});
52
+ await util_1.default.destroyLoadUnitInstance(instance);
53
+ // should clear all maps
54
+ const assertCtx = ctx;
55
+ (0, assert_1.default)(!assertCtx.eggObjectMap.size);
56
+ (0, assert_1.default)(!assertCtx.eggObjectPromiseMap.size);
57
+ (0, assert_1.default)(!assertCtx.contextData.size);
58
+ });
59
+ });
60
+ describe('singleton proto', () => {
61
+ it('should work', async () => {
62
+ const instance = await util_1.default.createLoadUnitInstance('lifecycle-hook');
63
+ const barProto = tegg_metadata_1.EggPrototypeFactory.instance.getPrototype('bar');
64
+ const barObj = await __1.EggContainerFactory.getOrCreateEggObject(barProto, barProto.name);
65
+ const bar = barObj.obj;
66
+ await util_1.default.destroyLoadUnitInstance(instance);
67
+ const called = bar.getLifecycleCalled();
68
+ assert_1.default.deepStrictEqual(called, [
69
+ 'construct',
70
+ 'postConstruct',
71
+ 'preInject',
72
+ 'postInject',
73
+ 'init',
74
+ 'preDestroy',
75
+ 'destroy',
76
+ ]);
77
+ });
78
+ });
79
+ });
80
+ describe('inject context to singleton', () => {
81
+ it('should work', async () => {
82
+ (0, mm_1.default)(ContextHandler_1.ContextHandler, 'getContext', () => {
83
+ return;
84
+ });
85
+ const instance = await util_1.default.createLoadUnitInstance('inject-context-to-singleton');
86
+ const barProto = tegg_metadata_1.EggPrototypeFactory.instance.getPrototype('singletonBar');
87
+ (0, mm_1.default)(ContextHandler_1.ContextHandler, 'getContext', () => {
88
+ return ctx;
89
+ });
90
+ const barObj = await __1.EggContainerFactory.getOrCreateEggObject(barProto, barProto.name);
91
+ const bar = barObj.obj;
92
+ const msg = await bar.hello();
93
+ (0, assert_1.default)(msg === 'hello from depth2');
94
+ await util_1.default.destroyLoadUnitInstance(instance);
95
+ await ctx.destroy({});
96
+ });
97
+ });
98
+ });
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnT2JqZWN0LnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90ZXN0L0VnZ09iamVjdC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLHdEQUEyRDtBQUMzRCw4REFBMkQ7QUFDM0Qsa0RBQThCO0FBQzlCLDBCQUF5QztBQUV6Qyw0Q0FBb0I7QUFDcEIsZ0VBQTZEO0FBRzdELFFBQVEsQ0FBQyx3QkFBd0IsRUFBRSxHQUFHLEVBQUU7SUFDdEMsSUFBSSxHQUFtQixDQUFDO0lBRXhCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxHQUFHLEdBQUcsSUFBSSwrQkFBYyxFQUFFLENBQUM7SUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFFSCxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ2IsWUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2YsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRTtRQUN6QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBQSxZQUFFLEVBQUMsK0JBQWMsRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFO2dCQUNwQyxPQUFPLEdBQUcsQ0FBQztZQUNiLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxRQUFRLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRTtZQUM3QixFQUFFLENBQUMsYUFBYSxFQUFFLEtBQUssSUFBSSxFQUFFO2dCQUMzQixNQUFNLFFBQVEsR0FBRyxNQUFNLGNBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2dCQUN6RSxNQUFNLFFBQVEsR0FBRyxtQ0FBbUIsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNsRSxNQUFNLE1BQU0sR0FBRyxNQUFNLHVCQUFtQixDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFD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
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,105 @@
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 assert_1 = __importDefault(require("assert"));
7
+ const tegg_metadata_1 = require("@eggjs/tegg-metadata");
8
+ const EggTestContext_1 = require("./fixtures/EggTestContext");
9
+ const util_1 = __importDefault(require("./util"));
10
+ const __1 = require("..");
11
+ const mm_1 = __importDefault(require("mm"));
12
+ const ContextHandler_1 = require("../src/model/ContextHandler");
13
+ const EggContextStorage_1 = require("./fixtures/EggContextStorage");
14
+ describe('test/LoadUnit/LoadUnitInstance.test.ts', () => {
15
+ describe('ModuleLoadUnitInstance', () => {
16
+ let ctx;
17
+ beforeEach(() => {
18
+ ctx = new EggTestContext_1.EggTestContext();
19
+ (0, mm_1.default)(ContextHandler_1.ContextHandler, 'getContext', () => {
20
+ return ctx;
21
+ });
22
+ });
23
+ afterEach(async () => {
24
+ await ctx.destroy({});
25
+ mm_1.default.restore();
26
+ });
27
+ it('should create success', async () => {
28
+ const instance = await util_1.default.createLoadUnitInstance('module-for-load-unit-instance');
29
+ const countControllerProto = tegg_metadata_1.EggPrototypeFactory.instance.getPrototype('countController');
30
+ const countControllerObj = await __1.EggContainerFactory.getOrCreateEggObject(countControllerProto, countControllerProto.name);
31
+ const countController = countControllerObj.obj;
32
+ const countResult = await countController.getCount();
33
+ assert_1.default.deepStrictEqual(countResult, {
34
+ serviceCount: 0,
35
+ serviceTempCount: 0,
36
+ controllerTempCount: 0,
37
+ });
38
+ const countResult2 = await countController.getCount();
39
+ assert_1.default.deepStrictEqual(countResult2, {
40
+ serviceCount: 1,
41
+ serviceTempCount: 1,
42
+ controllerTempCount: 1,
43
+ });
44
+ await util_1.default.destroyLoadUnitInstance(instance);
45
+ });
46
+ it('should load extends class success', async () => {
47
+ const instance = await util_1.default.createLoadUnitInstance('extends-module');
48
+ const barProto = tegg_metadata_1.EggPrototypeFactory.instance.getPrototype('bar', instance.loadUnit);
49
+ const barObj = await __1.EggContainerFactory.getOrCreateEggObject(barProto, barProto.name);
50
+ const bar = barObj.obj;
51
+ const fooProto = tegg_metadata_1.EggPrototypeFactory.instance.getPrototype('foo', instance.loadUnit);
52
+ const fooObj = await __1.EggContainerFactory.getOrCreateEggObject(fooProto, fooProto.name);
53
+ const foo = fooObj.obj;
54
+ (0, assert_1.default)(bar.foo);
55
+ (0, assert_1.default)(bar.logger);
56
+ (0, assert_1.default)(foo.logger);
57
+ await util_1.default.destroyLoadUnitInstance(instance);
58
+ });
59
+ });
60
+ describe('MultiModule', () => {
61
+ let commonInstance;
62
+ let repoInstance;
63
+ let serviceInstance;
64
+ before(async () => {
65
+ EggContextStorage_1.EggContextStorage.register();
66
+ commonInstance = await util_1.default.createLoadUnitInstance('multi-module/multi-module-common');
67
+ repoInstance = await util_1.default.createLoadUnitInstance('multi-module/multi-module-repo');
68
+ serviceInstance = await util_1.default.createLoadUnitInstance('multi-module/multi-module-service');
69
+ });
70
+ after(async () => {
71
+ await util_1.default.destroyLoadUnitInstance(commonInstance);
72
+ await util_1.default.destroyLoadUnitInstance(repoInstance);
73
+ await util_1.default.destroyLoadUnitInstance(serviceInstance);
74
+ });
75
+ it('should get appService', async () => {
76
+ const saveCtx = new EggTestContext_1.EggTestContext();
77
+ const findCtx = new EggTestContext_1.EggTestContext();
78
+ const saveAppServiceProto = tegg_metadata_1.EggPrototypeFactory.instance.getPrototype('appService', serviceInstance.loadUnit);
79
+ const [saveAppService, findAppService] = await Promise.all([
80
+ ContextHandler_1.ContextHandler.run(saveCtx, async () => {
81
+ const saveAppServiceObj = await __1.EggContainerFactory.getOrCreateEggObject(saveAppServiceProto, saveAppServiceProto.name);
82
+ const saveAppService = saveAppServiceObj.obj;
83
+ await saveAppService.save({
84
+ name: 'mock-app',
85
+ desc: 'mock-desc',
86
+ });
87
+ return saveAppService;
88
+ }),
89
+ ContextHandler_1.ContextHandler.run(findCtx, async () => {
90
+ const findAppServiceObj = await __1.EggContainerFactory.getOrCreateEggObject(saveAppServiceProto, saveAppServiceProto.name);
91
+ const findAppService = findAppServiceObj.obj;
92
+ return findAppService;
93
+ }),
94
+ ]);
95
+ // not same service because ctx is different
96
+ (0, assert_1.default)(saveAppService !== findAppService);
97
+ const app = await findAppService.findApp('mock-app');
98
+ assert_1.default.deepStrictEqual(app, {
99
+ name: 'mock-app',
100
+ desc: 'mock-desc',
101
+ });
102
+ });
103
+ });
104
+ });
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9hZFVuaXRJbnN0YW5jZS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdC9Mb2FkVW5pdEluc3RhbmNlLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsd0RBQTJEO0FBQzNELDhEQUEyRDtBQUMzRCxrREFBOEI7QUFDOUIsMEJBQTJEO0FBSTNELDRDQUFvQjtBQUNwQixnRUFBNkQ7QUFDN0Qsb0VBQWlFO0FBRWpFLFFBQVEsQ0FBQyx3Q0FBd0MsRUFBRSxHQUFHLEVBQUU7SUFDdEQsUUFBUSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsRUFBRTtRQUN0QyxJQUFJLEdBQW1CLENBQUM7UUFFeEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLEdBQUcsR0FBRyxJQUFJLCtCQUFjLEVBQUUsQ0FBQztZQUMzQixJQUFBLFlBQUUsRUFBQywrQkFBYyxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUU7Z0JBQ3BDLE9BQU8sR0FBRyxDQUFDO1lBQ2IsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILFNBQVMsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNuQixNQUFNLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDdEIsWUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDckMsTUFBTSxRQUFRLEdBQUcsTUFBTSxjQUFRLENBQUMsc0JBQXNCLENBQUMsK0JBQStCLENBQUMsQ0FBQztZQUN4RixNQUFNLG9CQUFvQixHQUFHLG1DQUFtQixDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUMxRixNQUFNLGtCQUFrQixHQUFHLE1BQU0sdUJBQW1CLENBQUMsb0JBQW9CLENBQUMsb0JBQW9CLEVBQUUsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0gsTUFBTSxlQUFlLEdBQUcsa0JBQWtCLENBQUMsR0FBc0IsQ0FBQztZQUNsRSxNQUFNLFdBQVcsR0FBRyxNQUFNLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNyRCxnQkFBTSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUU7Z0JBQ2xDLFlBQVksRUFBRSxDQUFDO2dCQUNmLGdCQUFnQixFQUFFLENBQUM7Z0JBQ25CLG1CQUFtQixFQUFFLENBQUM7YUFDdkIsQ0FBQyxDQUFDO1lBRUgsTUFBTSxZQUFZLEdBQUcsTUFBTSxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdEQsZ0JBQU0sQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFO2dCQUNuQyxZQUFZLEVBQUUsQ0FBQztnQkFDZixnQkFBZ0IsRUFBRSxDQUFDO2dCQUNuQixtQkFBbUIsRUFBRSxDQUFDO2FBQ3ZCLENBQUMsQ0FBQztZQUVILE1BQU0sY0FBUSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLG1DQUFtQyxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ2pELE1BQU0sUUFBUSxHQUFHLE1BQU0sY0FBUSxDQUFDLHNCQUFzQixDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDekUsTUFBTSxRQUFRLEdBQUcsbUNBQW1CLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3JGLE1BQU0sTUFBTSxHQUFHLE1BQU0sdUJBQW1CLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2RixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBVSxDQUFDO1lBRTlCLE1BQU0sUUFBUSxHQUFHLG1DQUFtQixDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNyRixNQUFNLE1BQU0sR0FBRyxNQUFNLHVCQUFtQixDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkYsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQVUsQ0FBQztZQUM5QixJQUFBLGdCQUFNLEVBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2hCLElBQUEsZ0JBQU0sRUFBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbkIsSUFBQSxnQkFBTSxFQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNuQixNQUFNLGNBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7UUFDM0IsSUFBSSxjQUFnQyxDQUFDO1FBQ3JDLElBQUksWUFBOEIsQ0FBQztRQUNuQyxJQUFJLGVBQWlDLENBQUM7UUFFdEMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ2hCLHFDQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzdCLGNBQWMsR0FBRyxNQUFNLGNBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1lBQzNGLFlBQVksR0FBRyxNQUFNLGNBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1lBQ3ZGLGVBQWUsR0FBRyxNQUFNLGNBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1FBQy9GLENBQUMsQ0FBQyxDQUFDO1FBRUgsS0FBSyxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ2YsTUFBTSxjQUFRLENBQUMsdUJBQXVCLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDdkQsTUFBTSxjQUFRLENBQUMsdUJBQXVCLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDckQsTUFBTSxjQUFRLENBQUMsdUJBQXVCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUQsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDckMsTUFBTSxPQUFPLEdBQUcsSUFBSSwrQkFBYyxFQUFFLENBQUM7WUFDckMsTUFBTSxPQUFPLEdBQUcsSUFBSSwrQkFBYyxFQUFFLENBQUM7WUFDckMsTUFBTSxtQkFBbUIsR0FBRyxtQ0FBbUIsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDOUcsTUFBTSxDQUFFLGNBQWMsRUFBRSxjQUFjLENBQUUsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUM7Z0JBQzNELCtCQUFjLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLElBQUksRUFBRTtvQkFDckMsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLHVCQUFtQixDQUFDLG9CQUFvQixDQUFDLG1CQUFtQixFQUFFLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN4SCxNQUFNLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxHQUFpQixDQUFDO29CQUMzRCxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUM7d0JBQ3hCLElBQUksRUFBRSxVQUFVO3dCQUNoQixJQUFJLEVBQUUsV0FBVztxQkFDbEIsQ0FBQyxDQUFDO29CQUNILE9BQU8sY0FBYyxDQUFDO2dCQUN4QixDQUFDLENBQUM7Z0JBQ0YsK0JBQWMsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEtBQUssSUFBSSxFQUFFO29CQUNyQyxNQUFNLGlCQUFpQixHQUFHLE1BQU0sdUJBQW1CLENBQUMsb0JBQW9CLENBQUMsbUJBQW1CLEVBQUUsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3hILE1BQU0sY0FBYyxHQUFHLGlCQUFpQixDQUFDLEdBQWlCLENBQUM7b0JBQzNELE9BQU8sY0FBYyxDQUFDO2dCQUN4QixDQUFDLENBQUM7YUFDSCxDQUFDLENBQUM7WUFDSCw0Q0FBNEM7WUFDNUMsSUFBQSxnQkFBTSxFQUFDLGNBQWMsS0FBSyxjQUFjLENBQUMsQ0FBQztZQUUxQyxNQUFNLEdBQUcsR0FBRyxNQUFNLGNBQWMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDckQsZ0JBQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFO2dCQUMxQixJQUFJLEVBQUUsVUFBVTtnQkFDaEIsSUFBSSxFQUFFLFdBQVc7YUFDbEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIn0=
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,47 @@
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 assert_1 = __importDefault(require("assert"));
7
+ const util_1 = __importDefault(require("./util"));
8
+ const EggTestContext_1 = require("./fixtures/EggTestContext");
9
+ const tegg_metadata_1 = require("@eggjs/tegg-metadata");
10
+ const __1 = require("..");
11
+ const mm_1 = __importDefault(require("mm"));
12
+ const ContextHandler_1 = require("../src/model/ContextHandler");
13
+ describe('test/LoadUnit/QualifierLoadUnitInstance.test.ts', () => {
14
+ let ctx;
15
+ beforeEach(() => {
16
+ ctx = new EggTestContext_1.EggTestContext();
17
+ (0, mm_1.default)(ContextHandler_1.ContextHandler, 'getContext', () => {
18
+ return ctx;
19
+ });
20
+ });
21
+ afterEach(async () => {
22
+ await ctx.destroy({});
23
+ mm_1.default.restore();
24
+ });
25
+ describe('init type qualifier', () => {
26
+ it('should work', async () => {
27
+ const instance = await util_1.default.createLoadUnitInstance('init-type-qualifier-module');
28
+ const cacheServiceProto = tegg_metadata_1.EggPrototypeFactory.instance.getPrototype('cacheService', instance.loadUnit);
29
+ const cacheServiceObj = await __1.EggContainerFactory.getOrCreateEggObject(cacheServiceProto, cacheServiceProto.name);
30
+ const cacheService = cacheServiceObj.obj;
31
+ cacheService.setContextCache('cacheKey', 'cacheVal');
32
+ cacheService.setSingletonCache('cacheKey', 'cacheVal');
33
+ const contextCache = cacheService.getContextCache('cacheKey');
34
+ assert_1.default.deepStrictEqual(contextCache, {
35
+ val: 'cacheVal',
36
+ from: 'context',
37
+ });
38
+ const singletonCache = cacheService.getSingletonCache('cacheKey');
39
+ assert_1.default.deepStrictEqual(singletonCache, {
40
+ val: 'cacheVal',
41
+ from: 'singleton',
42
+ });
43
+ await util_1.default.destroyLoadUnitInstance(instance);
44
+ });
45
+ });
46
+ });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUXVhbGlmaWVyTG9hZFVuaXRJbnN0YW5jZS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdC9RdWFsaWZpZXJMb2FkVW5pdEluc3RhbmNlLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsa0RBQThCO0FBQzlCLDhEQUEyRDtBQUUzRCx3REFBMkQ7QUFDM0QsMEJBQXlDO0FBQ3pDLDRDQUFvQjtBQUNwQixnRUFBNkQ7QUFFN0QsUUFBUSxDQUFDLGlEQUFpRCxFQUFFLEdBQUcsRUFBRTtJQUMvRCxJQUFJLEdBQW1CLENBQUM7SUFFeEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNkLEdBQUcsR0FBRyxJQUFJLCtCQUFjLEVBQUUsQ0FBQztRQUMzQixJQUFBLFlBQUUsRUFBQywrQkFBYyxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUU7WUFDcEMsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsU0FBUyxDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ25CLE1BQU0sR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0QixZQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDZixDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxxQkFBcUIsRUFBRSxHQUFHLEVBQUU7UUFDbkMsRUFBRSxDQUFDLGFBQWEsRUFBRSxLQUFLLElBQUksRUFBRTtZQUMzQixNQUFNLFFBQVEsR0FBRyxNQUFNLGNBQVEsQ0FBQyxzQkFBc0IsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1lBQ3JGLE1BQU0saUJBQWlCLEdBQUcsbUNBQW1CLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZHLE1BQU0sZUFBZSxHQUFHLE1BQU0sdUJBQW1CLENBQUMsb0JBQW9CLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEgsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLEdBQW1CLENBQUM7WUFDekQsWUFBWSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDckQsWUFBWSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUN2RCxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzlELGdCQUFNLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRTtnQkFDbkMsR0FBRyxFQUFFLFVBQVU7Z0JBQ2YsSUFBSSxFQUFFLFNBQVM7YUFDaEIsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2xFLGdCQUFNLENBQUMsZUFBZSxDQUFDLGNBQWMsRUFBRTtnQkFDckMsR0FBRyxFQUFFLFVBQVU7Z0JBQ2YsSUFBSSxFQUFFLFdBQVc7YUFDbEIsQ0FBQyxDQUFDO1lBRUgsTUFBTSxjQUFRLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIn0=
@@ -0,0 +1,7 @@
1
+ /// <reference types="node" />
2
+ import { AsyncLocalStorage } from 'async_hooks';
3
+ import { EggContext } from '../../src/model/EggContext';
4
+ export declare class EggContextStorage {
5
+ static storage: AsyncLocalStorage<EggContext>;
6
+ static register(): void;
7
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EggContextStorage = void 0;
4
+ const async_hooks_1 = require("async_hooks");
5
+ const ContextHandler_1 = require("../../src/model/ContextHandler");
6
+ class EggContextStorage {
7
+ static register() {
8
+ ContextHandler_1.ContextHandler.getContextCallback = () => {
9
+ return EggContextStorage.storage.getStore();
10
+ };
11
+ ContextHandler_1.ContextHandler.runInContextCallback = (context, fn) => {
12
+ return EggContextStorage.storage.run(context, fn);
13
+ };
14
+ }
15
+ }
16
+ exports.EggContextStorage = EggContextStorage;
17
+ EggContextStorage.storage = new async_hooks_1.AsyncLocalStorage();
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnQ29udGV4dFN0b3JhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L2ZpeHR1cmVzL0VnZ0NvbnRleHRTdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFnRDtBQUVoRCxtRUFBZ0U7QUFFaEUsTUFBYSxpQkFBaUI7SUFHNUIsTUFBTSxDQUFDLFFBQVE7UUFDYiwrQkFBYyxDQUFDLGtCQUFrQixHQUFHLEdBQUcsRUFBRTtZQUN2QyxPQUFPLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QyxDQUFDLENBQUM7UUFDRiwrQkFBYyxDQUFDLG9CQUFvQixHQUFHLENBQUMsT0FBbUIsRUFBRSxFQUFzQixFQUFFLEVBQUU7WUFDcEYsT0FBTyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUM7SUFDSixDQUFDOztBQVZILDhDQVdDO0FBVlEseUJBQU8sR0FBRyxJQUFJLCtCQUFpQixFQUFjLENBQUMifQ==
@@ -0,0 +1,9 @@
1
+ import { AbstractEggContext } from '../..';
2
+ export interface Tracer {
3
+ readonly traceId: string;
4
+ }
5
+ export declare class EggTestContext extends AbstractEggContext {
6
+ data: Map<string | symbol, any>;
7
+ readonly id: string;
8
+ constructor();
9
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EggTestContext = void 0;
4
+ const __1 = require("../..");
5
+ const tegg_lifecycle_1 = require("@eggjs/tegg-lifecycle");
6
+ const EGG_CTX = Symbol('TEgg#context');
7
+ class EggTestContext extends __1.AbstractEggContext {
8
+ constructor() {
9
+ super();
10
+ this.data = new Map();
11
+ const mockCtx = {
12
+ tracer: {
13
+ traceId: 'mock-traceId',
14
+ },
15
+ };
16
+ this.id = tegg_lifecycle_1.IdenticalUtil.createContextId();
17
+ this.set(EGG_CTX, mockCtx);
18
+ }
19
+ }
20
+ exports.EggTestContext = EggTestContext;
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnVGVzdENvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L2ZpeHR1cmVzL0VnZ1Rlc3RDb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUEyQztBQUMzQywwREFBc0Q7QUFFdEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBTXZDLE1BQWEsY0FBZSxTQUFRLHNCQUFrQjtJQUlwRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBSlYsU0FBSSxHQUE4QixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBSzFDLE1BQU0sT0FBTyxHQUFHO1lBQ2QsTUFBTSxFQUFFO2dCQUNOLE9BQU8sRUFBRSxjQUFjO2FBQ3hCO1NBQ0YsQ0FBQztRQUNGLElBQUksQ0FBQyxFQUFFLEdBQUcsOEJBQWEsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM3QixDQUFDO0NBQ0Y7QUFkRCx3Q0FjQyJ9
@@ -0,0 +1,10 @@
1
+ export declare class Logger {
2
+ }
3
+ export declare class Base {
4
+ logger: Logger;
5
+ }
6
+ export declare class Foo extends Base {
7
+ }
8
+ export declare class Bar extends Base {
9
+ foo: Foo;
10
+ }
@@ -0,0 +1,46 @@
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.Bar = exports.Foo = exports.Base = exports.Logger = void 0;
13
+ const core_decorator_1 = require("@eggjs/core-decorator");
14
+ let Logger = class Logger {
15
+ };
16
+ Logger = __decorate([
17
+ (0, core_decorator_1.ContextProto)()
18
+ ], Logger);
19
+ exports.Logger = Logger;
20
+ let Base = class Base {
21
+ };
22
+ __decorate([
23
+ (0, core_decorator_1.Inject)(),
24
+ __metadata("design:type", Logger)
25
+ ], Base.prototype, "logger", void 0);
26
+ Base = __decorate([
27
+ (0, core_decorator_1.ContextProto)()
28
+ ], Base);
29
+ exports.Base = Base;
30
+ let Foo = class Foo extends Base {
31
+ };
32
+ Foo = __decorate([
33
+ (0, core_decorator_1.ContextProto)()
34
+ ], Foo);
35
+ exports.Foo = Foo;
36
+ let Bar = class Bar extends Base {
37
+ };
38
+ __decorate([
39
+ (0, core_decorator_1.Inject)(),
40
+ __metadata("design:type", Foo)
41
+ ], Bar.prototype, "foo", void 0);
42
+ Bar = __decorate([
43
+ (0, core_decorator_1.ContextProto)()
44
+ ], Bar);
45
+ exports.Bar = Bar;
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Rlc3QvZml4dHVyZXMvbW9kdWxlcy9leHRlbmRzLW1vZHVsZS9CYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDBEQUE2RDtBQUd0RCxJQUFNLE1BQU0sR0FBWixNQUFNLE1BQU07Q0FDbEIsQ0FBQTtBQURZLE1BQU07SUFEbEIsSUFBQSw2QkFBWSxHQUFFO0dBQ0YsTUFBTSxDQUNsQjtBQURZLHdCQUFNO0FBSVosSUFBTSxJQUFJLEdBQVYsTUFBTSxJQUFJO0NBR2hCLENBQUE7QUFGQztJQUFDLElBQUEsdUJBQU0sR0FBRTs4QkFDRCxNQUFNO29DQUFDO0FBRkosSUFBSTtJQURoQixJQUFBLDZCQUFZLEdBQUU7R0FDRixJQUFJLENBR2hCO0FBSFksb0JBQUk7QUFNVixJQUFNLEdBQUcsR0FBVCxNQUFNLEdBQUksU0FBUSxJQUFJO0NBRTVCLENBQUE7QUFGWSxHQUFHO0lBRGYsSUFBQSw2QkFBWSxHQUFFO0dBQ0YsR0FBRyxDQUVmO0FBRlksa0JBQUc7QUFLVCxJQUFNLEdBQUcsR0FBVCxNQUFNLEdBQUksU0FBUSxJQUFJO0NBRzVCLENBQUE7QUFGQztJQUFDLElBQUEsdUJBQU0sR0FBRTs4QkFDSixHQUFHO2dDQUFDO0FBRkUsR0FBRztJQURmLElBQUEsNkJBQVksR0FBRTtHQUNGLEdBQUcsQ0FHZjtBQUhZLGtCQUFHIn0=
@@ -0,0 +1,8 @@
1
+ export interface CacheValue {
2
+ from: string;
3
+ val: string | undefined;
4
+ }
5
+ export interface ICache {
6
+ get(key: string): CacheValue;
7
+ set(key: string, val: string): any;
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L2ZpeHR1cmVzL21vZHVsZXMvaW5pdC10eXBlLXF1YWxpZmllci1tb2R1bGUvQ2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,9 @@
1
+ import { ICache, CacheValue } from './Cache';
2
+ export default class CacheService {
3
+ singletonCache: ICache;
4
+ contextCache: ICache;
5
+ setSingletonCache(key: string, val: string): void;
6
+ getSingletonCache(key: string): CacheValue;
7
+ setContextCache(key: string, val: string): void;
8
+ getContextCache(key: string): CacheValue;
9
+ }
@@ -0,0 +1,41 @@
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
+ const core_decorator_1 = require("@eggjs/core-decorator");
13
+ let CacheService = class CacheService {
14
+ setSingletonCache(key, val) {
15
+ this.singletonCache.set(key, val);
16
+ }
17
+ getSingletonCache(key) {
18
+ return this.singletonCache.get(key);
19
+ }
20
+ setContextCache(key, val) {
21
+ this.contextCache.set(key, val);
22
+ }
23
+ getContextCache(key) {
24
+ return this.contextCache.get(key);
25
+ }
26
+ };
27
+ __decorate([
28
+ (0, core_decorator_1.InitTypeQualifier)(core_decorator_1.ObjectInitType.SINGLETON),
29
+ (0, core_decorator_1.Inject)({ name: 'cache' }),
30
+ __metadata("design:type", Object)
31
+ ], CacheService.prototype, "singletonCache", void 0);
32
+ __decorate([
33
+ (0, core_decorator_1.InitTypeQualifier)(core_decorator_1.ObjectInitType.CONTEXT),
34
+ (0, core_decorator_1.Inject)({ name: 'cache' }),
35
+ __metadata("design:type", Object)
36
+ ], CacheService.prototype, "contextCache", void 0);
37
+ CacheService = __decorate([
38
+ (0, core_decorator_1.ContextProto)()
39
+ ], CacheService);
40
+ exports.default = CacheService;
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FjaGVTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGVzdC9maXh0dXJlcy9tb2R1bGVzL2luaXQtdHlwZS1xdWFsaWZpZXItbW9kdWxlL0NhY2hlU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUNBLDBEQUFnRztBQUdqRixJQUFNLFlBQVksR0FBbEIsTUFBTSxZQUFZO0lBUy9CLGlCQUFpQixDQUFDLEdBQVcsRUFBRSxHQUFXO1FBQ3hDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsR0FBVztRQUMzQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxlQUFlLENBQUMsR0FBVyxFQUFFLEdBQVc7UUFDdEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxlQUFlLENBQUMsR0FBVztRQUN6QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7Q0FDRixDQUFBO0FBdkJDO0lBQUMsSUFBQSxrQ0FBaUIsRUFBQywrQkFBYyxDQUFDLFNBQVMsQ0FBQztJQUMzQyxJQUFBLHVCQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7O29EQUNIO0FBRXZCO0lBQUMsSUFBQSxrQ0FBaUIsRUFBQywrQkFBYyxDQUFDLE9BQU8sQ0FBQztJQUN6QyxJQUFBLHVCQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7O2tEQUNMO0FBUEYsWUFBWTtJQURoQyxJQUFBLDZCQUFZLEdBQUU7R0FDTSxZQUFZLENBd0JoQztrQkF4Qm9CLFlBQVkifQ==
@@ -0,0 +1,6 @@
1
+ import { ICache, CacheValue } from './Cache';
2
+ export default class ContextCache implements ICache {
3
+ private map;
4
+ get(key: string): CacheValue;
5
+ set(key: string, val: string): void;
6
+ }
@@ -0,0 +1,31 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const core_decorator_1 = require("@eggjs/core-decorator");
10
+ let ContextCache = class ContextCache {
11
+ constructor() {
12
+ this.map = new Map();
13
+ }
14
+ get(key) {
15
+ const val = this.map.get(key);
16
+ return {
17
+ val,
18
+ from: 'context',
19
+ };
20
+ }
21
+ set(key, val) {
22
+ this.map.set(key, val);
23
+ }
24
+ };
25
+ ContextCache = __decorate([
26
+ (0, core_decorator_1.ContextProto)({
27
+ name: 'cache',
28
+ })
29
+ ], ContextCache);
30
+ exports.default = ContextCache;
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dENhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGVzdC9maXh0dXJlcy9tb2R1bGVzL2luaXQtdHlwZS1xdWFsaWZpZXItbW9kdWxlL0NvbnRleHRDYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLDBEQUFxRDtBQU10QyxJQUFNLFlBQVksR0FBbEIsTUFBTSxZQUFZO0lBQWxCO1FBQ0wsUUFBRyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFhMUIsQ0FBQztJQVhDLEdBQUcsQ0FBQyxHQUFXO1FBQ2IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsT0FBTztZQUNMLEdBQUc7WUFDSCxJQUFJLEVBQUUsU0FBUztTQUNoQixDQUFDO0lBQ0osQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFXLEVBQUUsR0FBVztRQUMxQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztDQUNGLENBQUE7QUFkb0IsWUFBWTtJQUhoQyxJQUFBLDZCQUFZLEVBQUM7UUFDWixJQUFJLEVBQUUsT0FBTztLQUNkLENBQUM7R0FDbUIsWUFBWSxDQWNoQztrQkFkb0IsWUFBWSJ9
@@ -0,0 +1,6 @@
1
+ import { ICache, CacheValue } from './Cache';
2
+ export default class SingletonCache implements ICache {
3
+ private map;
4
+ get(key: string): CacheValue;
5
+ set(key: string, val: string): void;
6
+ }
@@ -0,0 +1,31 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const core_decorator_1 = require("@eggjs/core-decorator");
10
+ let SingletonCache = class SingletonCache {
11
+ constructor() {
12
+ this.map = new Map();
13
+ }
14
+ get(key) {
15
+ const val = this.map.get(key);
16
+ return {
17
+ val,
18
+ from: 'singleton',
19
+ };
20
+ }
21
+ set(key, val) {
22
+ this.map.set(key, val);
23
+ }
24
+ };
25
+ SingletonCache = __decorate([
26
+ (0, core_decorator_1.SingletonProto)({
27
+ name: 'cache',
28
+ })
29
+ ], SingletonCache);
30
+ exports.default = SingletonCache;
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2luZ2xldG9uQ2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L2ZpeHR1cmVzL21vZHVsZXMvaW5pdC10eXBlLXF1YWxpZmllci1tb2R1bGUvU2luZ2xldG9uQ2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFDQSwwREFBdUQ7QUFLeEMsSUFBTSxjQUFjLEdBQXBCLE1BQU0sY0FBYztJQUFwQjtRQUNMLFFBQUcsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBYTFCLENBQUM7SUFYQyxHQUFHLENBQUMsR0FBVztRQUNiLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLE9BQU87WUFDTCxHQUFHO1lBQ0gsSUFBSSxFQUFFLFdBQVc7U0FDbEIsQ0FBQztJQUNKLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVyxFQUFFLEdBQVc7UUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7Q0FDRixDQUFBO0FBZG9CLGNBQWM7SUFIbEMsSUFBQSwrQkFBYyxFQUFDO1FBQ2QsSUFBSSxFQUFFLE9BQU87S0FDZCxDQUFDO0dBQ21CLGNBQWMsQ0FjbEM7a0JBZG9CLGNBQWMifQ==
@@ -0,0 +1,19 @@
1
+ export declare class ContextFooDepth2 {
2
+ hello(): Promise<string>;
3
+ }
4
+ export declare class SingletonBarDepth3 {
5
+ contextFooDepth2: ContextFooDepth2;
6
+ hello(): Promise<string>;
7
+ }
8
+ export declare class SingletonBarDepth2 {
9
+ singletonBarDepth3: SingletonBarDepth3;
10
+ hello(): Promise<string>;
11
+ }
12
+ export declare class ContextFoo {
13
+ private readonly singletonBarDepth2;
14
+ hello(): Promise<string>;
15
+ }
16
+ export declare class SingletonBar {
17
+ foo: ContextFoo;
18
+ hello(): Promise<string>;
19
+ }
@@ -0,0 +1,85 @@
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.SingletonBar = exports.ContextFoo = exports.SingletonBarDepth2 = exports.SingletonBarDepth3 = exports.ContextFooDepth2 = void 0;
13
+ const core_decorator_1 = require("@eggjs/core-decorator");
14
+ let ContextFooDepth2 = class ContextFooDepth2 {
15
+ async hello() {
16
+ return 'hello from depth2';
17
+ }
18
+ };
19
+ ContextFooDepth2 = __decorate([
20
+ (0, core_decorator_1.ContextProto)({
21
+ accessLevel: core_decorator_1.AccessLevel.PUBLIC,
22
+ })
23
+ ], ContextFooDepth2);
24
+ exports.ContextFooDepth2 = ContextFooDepth2;
25
+ let SingletonBarDepth3 = class SingletonBarDepth3 {
26
+ async hello() {
27
+ return this.contextFooDepth2.hello();
28
+ }
29
+ };
30
+ __decorate([
31
+ (0, core_decorator_1.Inject)(),
32
+ __metadata("design:type", ContextFooDepth2)
33
+ ], SingletonBarDepth3.prototype, "contextFooDepth2", void 0);
34
+ SingletonBarDepth3 = __decorate([
35
+ (0, core_decorator_1.SingletonProto)({
36
+ accessLevel: core_decorator_1.AccessLevel.PUBLIC,
37
+ })
38
+ ], SingletonBarDepth3);
39
+ exports.SingletonBarDepth3 = SingletonBarDepth3;
40
+ let SingletonBarDepth2 = class SingletonBarDepth2 {
41
+ async hello() {
42
+ return this.singletonBarDepth3.hello();
43
+ }
44
+ };
45
+ __decorate([
46
+ (0, core_decorator_1.Inject)(),
47
+ __metadata("design:type", SingletonBarDepth3)
48
+ ], SingletonBarDepth2.prototype, "singletonBarDepth3", void 0);
49
+ SingletonBarDepth2 = __decorate([
50
+ (0, core_decorator_1.SingletonProto)({
51
+ accessLevel: core_decorator_1.AccessLevel.PUBLIC,
52
+ })
53
+ ], SingletonBarDepth2);
54
+ exports.SingletonBarDepth2 = SingletonBarDepth2;
55
+ let ContextFoo = class ContextFoo {
56
+ async hello() {
57
+ return this.singletonBarDepth2.hello();
58
+ }
59
+ };
60
+ __decorate([
61
+ (0, core_decorator_1.Inject)(),
62
+ __metadata("design:type", SingletonBarDepth2)
63
+ ], ContextFoo.prototype, "singletonBarDepth2", void 0);
64
+ ContextFoo = __decorate([
65
+ (0, core_decorator_1.ContextProto)({
66
+ accessLevel: core_decorator_1.AccessLevel.PUBLIC,
67
+ })
68
+ ], ContextFoo);
69
+ exports.ContextFoo = ContextFoo;
70
+ let SingletonBar = class SingletonBar {
71
+ async hello() {
72
+ return this.foo.hello();
73
+ }
74
+ };
75
+ __decorate([
76
+ (0, core_decorator_1.Inject)(),
77
+ __metadata("design:type", ContextFoo)
78
+ ], SingletonBar.prototype, "foo", void 0);
79
+ SingletonBar = __decorate([
80
+ (0, core_decorator_1.SingletonProto)({
81
+ accessLevel: core_decorator_1.AccessLevel.PUBLIC,
82
+ })
83
+ ], SingletonBar);
84
+ exports.SingletonBar = SingletonBar;
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGVzdC9maXh0dXJlcy9tb2R1bGVzL2luamVjdC1jb250ZXh0LXRvLXNpbmdsZXRvbi9vYmplY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsMERBQTBGO0FBS25GLElBQU0sZ0JBQWdCLEdBQXRCLE1BQU0sZ0JBQWdCO0lBQzNCLEtBQUssQ0FBQyxLQUFLO1FBQ1QsT0FBTyxtQkFBbUIsQ0FBQztJQUM3QixDQUFDO0NBQ0YsQ0FBQTtBQUpZLGdCQUFnQjtJQUg1QixJQUFBLDZCQUFZLEVBQUM7UUFDWixXQUFXLEVBQUUsNEJBQVcsQ0FBQyxNQUFNO0tBQ2hDLENBQUM7R0FDVyxnQkFBZ0IsQ0FJNUI7QUFKWSw0Q0FBZ0I7QUFTdEIsSUFBTSxrQkFBa0IsR0FBeEIsTUFBTSxrQkFBa0I7SUFJN0IsS0FBSyxDQUFDLEtBQUs7UUFDVCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0NBQ0YsQ0FBQTtBQU5DO0lBQUMsSUFBQSx1QkFBTSxHQUFFOzhCQUNTLGdCQUFnQjs0REFBQztBQUZ4QixrQkFBa0I7SUFIOUIsSUFBQSwrQkFBYyxFQUFDO1FBQ2QsV0FBVyxFQUFFLDRCQUFXLENBQUMsTUFBTTtLQUNoQyxDQUFDO0dBQ1csa0JBQWtCLENBTzlCO0FBUFksZ0RBQWtCO0FBWXhCLElBQU0sa0JBQWtCLEdBQXhCLE1BQU0sa0JBQWtCO0lBSTdCLEtBQUssQ0FBQyxLQUFLO1FBQ1QsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekMsQ0FBQztDQUNGLENBQUE7QUFOQztJQUFDLElBQUEsdUJBQU0sR0FBRTs4QkFDVyxrQkFBa0I7OERBQUM7QUFGNUIsa0JBQWtCO0lBSDlCLElBQUEsK0JBQWMsRUFBQztRQUNkLFdBQVcsRUFBRSw0QkFBVyxDQUFDLE1BQU07S0FDaEMsQ0FBQztHQUNXLGtCQUFrQixDQU85QjtBQVBZLGdEQUFrQjtBQWF4QixJQUFNLFVBQVUsR0FBaEIsTUFBTSxVQUFVO0lBSXJCLEtBQUssQ0FBQyxLQUFLO1FBQ1QsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekMsQ0FBQztDQUNGLENBQUE7QUFOQztJQUFDLElBQUEsdUJBQU0sR0FBRTs4QkFDNEIsa0JBQWtCO3NEQUFDO0FBRjdDLFVBQVU7SUFIdEIsSUFBQSw2QkFBWSxFQUFDO1FBQ1osV0FBVyxFQUFFLDRCQUFXLENBQUMsTUFBTTtLQUNoQyxDQUFDO0dBQ1csVUFBVSxDQU90QjtBQVBZLGdDQUFVO0FBWWhCLElBQU0sWUFBWSxHQUFsQixNQUFNLFlBQVk7SUFJdkIsS0FBSyxDQUFDLEtBQUs7UUFDVCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDMUIsQ0FBQztDQUNGLENBQUE7QUFOQztJQUFDLElBQUEsdUJBQU0sR0FBRTs4QkFDSixVQUFVO3lDQUFDO0FBRkwsWUFBWTtJQUh4QixJQUFBLCtCQUFjLEVBQUM7UUFDZCxXQUFXLEVBQUUsNEJBQVcsQ0FBQyxNQUFNO0tBQ2hDLENBQUM7R0FDVyxZQUFZLENBT3hCO0FBUFksb0NBQVkifQ==
@@ -0,0 +1,23 @@
1
+ import { EggObjectLifecycle } from '@eggjs/tegg-lifecycle';
2
+ export declare class Foo implements EggObjectLifecycle {
3
+ private called;
4
+ getLifecycleCalled(): string[];
5
+ constructor();
6
+ postConstruct(): Promise<void>;
7
+ preInject(): Promise<void>;
8
+ postInject(): Promise<void>;
9
+ init(): Promise<void>;
10
+ preDestroy(): Promise<void>;
11
+ destroy(): Promise<void>;
12
+ }
13
+ export declare class Bar implements EggObjectLifecycle {
14
+ private called;
15
+ getLifecycleCalled(): string[];
16
+ constructor();
17
+ postConstruct(): Promise<void>;
18
+ preInject(): Promise<void>;
19
+ postInject(): Promise<void>;
20
+ init(): Promise<void>;
21
+ preDestroy(): Promise<void>;
22
+ destroy(): Promise<void>;
23
+ }
@@ -0,0 +1,82 @@
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.Bar = exports.Foo = void 0;
13
+ const core_decorator_1 = require("@eggjs/core-decorator");
14
+ let Foo = class Foo {
15
+ getLifecycleCalled() {
16
+ return this.called;
17
+ }
18
+ constructor() {
19
+ this.called = [];
20
+ this.called.push('construct');
21
+ }
22
+ async postConstruct() {
23
+ this.called.push('postConstruct');
24
+ }
25
+ async preInject() {
26
+ this.called.push('preInject');
27
+ }
28
+ async postInject() {
29
+ this.called.push('postInject');
30
+ }
31
+ async init() {
32
+ this.called.push('init');
33
+ }
34
+ async preDestroy() {
35
+ this.called.push('preDestroy');
36
+ }
37
+ async destroy() {
38
+ this.called.push('destroy');
39
+ }
40
+ };
41
+ Foo = __decorate([
42
+ (0, core_decorator_1.ContextProto)({
43
+ accessLevel: core_decorator_1.AccessLevel.PUBLIC,
44
+ }),
45
+ __metadata("design:paramtypes", [])
46
+ ], Foo);
47
+ exports.Foo = Foo;
48
+ let Bar = class Bar {
49
+ getLifecycleCalled() {
50
+ return this.called;
51
+ }
52
+ constructor() {
53
+ this.called = [];
54
+ this.called.push('construct');
55
+ }
56
+ async postConstruct() {
57
+ this.called.push('postConstruct');
58
+ }
59
+ async preInject() {
60
+ this.called.push('preInject');
61
+ }
62
+ async postInject() {
63
+ this.called.push('postInject');
64
+ }
65
+ async init() {
66
+ this.called.push('init');
67
+ }
68
+ async preDestroy() {
69
+ this.called.push('preDestroy');
70
+ }
71
+ async destroy() {
72
+ this.called.push('destroy');
73
+ }
74
+ };
75
+ Bar = __decorate([
76
+ (0, core_decorator_1.SingletonProto)({
77
+ accessLevel: core_decorator_1.AccessLevel.PUBLIC,
78
+ }),
79
+ __metadata("design:paramtypes", [])
80
+ ], Bar);
81
+ exports.Bar = Bar;
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGVzdC9maXh0dXJlcy9tb2R1bGVzL2xpZmVjeWNsZS1ob29rL29iamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSwwREFBa0Y7QUFNM0UsSUFBTSxHQUFHLEdBQVQsTUFBTSxHQUFHO0lBR2Qsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQ7UUFOUSxXQUFNLEdBQWEsRUFBRSxDQUFDO1FBTzVCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYTtRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVM7UUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVU7UUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUk7UUFDUixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVU7UUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU87UUFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixDQUFDO0NBQ0YsQ0FBQTtBQWxDWSxHQUFHO0lBSGYsSUFBQSw2QkFBWSxFQUFDO1FBQ1osV0FBVyxFQUFFLDRCQUFXLENBQUMsTUFBTTtLQUNoQyxDQUFDOztHQUNXLEdBQUcsQ0FrQ2Y7QUFsQ1ksa0JBQUc7QUF1Q1QsSUFBTSxHQUFHLEdBQVQsTUFBTSxHQUFHO0lBR2Qsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQ7UUFOUSxXQUFNLEdBQWEsRUFBRSxDQUFDO1FBTzVCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYTtRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVM7UUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVU7UUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUk7UUFDUixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVU7UUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU87UUFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixDQUFDO0NBQ0YsQ0FBQTtBQWxDWSxHQUFHO0lBSGYsSUFBQSwrQkFBYyxFQUFDO1FBQ2QsV0FBVyxFQUFFLDRCQUFXLENBQUMsTUFBTTtLQUNoQyxDQUFDOztHQUNXLEdBQUcsQ0FrQ2Y7QUFsQ1ksa0JBQUcifQ==
@@ -0,0 +1,4 @@
1
+ export default class AppCache {
2
+ count: number;
3
+ getCount(): Promise<number>;
4
+ }
@@ -0,0 +1,22 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const core_decorator_1 = require("@eggjs/core-decorator");
10
+ let AppCache = class AppCache {
11
+ constructor() {
12
+ this.count = 0;
13
+ }
14
+ async getCount() {
15
+ return this.count++;
16
+ }
17
+ };
18
+ AppCache = __decorate([
19
+ (0, core_decorator_1.SingletonProto)()
20
+ ], AppCache);
21
+ exports.default = AppCache;
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwQ2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L2ZpeHR1cmVzL21vZHVsZXMvbW9kdWxlLWZvci1sb2FkLXVuaXQtaW5zdGFuY2UvQXBwQ2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSwwREFBdUQ7QUFHeEMsSUFBTSxRQUFRLEdBQWQsTUFBTSxRQUFRO0lBQWQ7UUFDYixVQUFLLEdBQUcsQ0FBQyxDQUFDO0lBS1osQ0FBQztJQUhDLEtBQUssQ0FBQyxRQUFRO1FBQ1osT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdEIsQ0FBQztDQUNGLENBQUE7QUFOb0IsUUFBUTtJQUQ1QixJQUFBLCtCQUFjLEdBQUU7R0FDSSxRQUFRLENBTTVCO2tCQU5vQixRQUFRIn0=
@@ -0,0 +1,13 @@
1
+ import CountService from './CountService';
2
+ import TempObj from './TempObj';
3
+ interface CountResult {
4
+ serviceCount: number;
5
+ serviceTempCount: number;
6
+ controllerTempCount: number;
7
+ }
8
+ export default class CountController {
9
+ countService: CountService;
10
+ tempObj: TempObj;
11
+ getCount(): Promise<CountResult>;
12
+ }
13
+ export {};
@@ -0,0 +1,43 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const core_decorator_1 = require("@eggjs/core-decorator");
16
+ const CountService_1 = __importDefault(require("./CountService"));
17
+ const TempObj_1 = __importDefault(require("./TempObj"));
18
+ let CountController = class CountController {
19
+ async getCount() {
20
+ const count = await this.countService.getCount();
21
+ const serviceTempCount = await this.countService.getTempCount();
22
+ return {
23
+ serviceCount: count,
24
+ serviceTempCount,
25
+ controllerTempCount: await this.tempObj.getCount(),
26
+ };
27
+ }
28
+ };
29
+ __decorate([
30
+ (0, core_decorator_1.Inject)(),
31
+ __metadata("design:type", CountService_1.default)
32
+ ], CountController.prototype, "countService", void 0);
33
+ __decorate([
34
+ (0, core_decorator_1.Inject)(),
35
+ __metadata("design:type", TempObj_1.default)
36
+ ], CountController.prototype, "tempObj", void 0);
37
+ CountController = __decorate([
38
+ (0, core_decorator_1.ContextProto)({
39
+ accessLevel: core_decorator_1.AccessLevel.PUBLIC,
40
+ })
41
+ ], CountController);
42
+ exports.default = CountController;
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ291bnRDb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGVzdC9maXh0dXJlcy9tb2R1bGVzL21vZHVsZS1mb3ItbG9hZC11bml0LWluc3RhbmNlL0NvdW50Q29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBLDBEQUEwRTtBQUMxRSxrRUFBMEM7QUFDMUMsd0RBQWdDO0FBWWpCLElBQU0sZUFBZSxHQUFyQixNQUFNLGVBQWU7SUFPbEMsS0FBSyxDQUFDLFFBQVE7UUFDWixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakQsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDaEUsT0FBTztZQUNMLFlBQVksRUFBRSxLQUFLO1lBQ25CLGdCQUFnQjtZQUNoQixtQkFBbUIsRUFBRSxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1NBQ25ELENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQTtBQWZDO0lBQUMsSUFBQSx1QkFBTSxHQUFFOzhCQUNLLHNCQUFZO3FEQUFDO0FBRTNCO0lBQUMsSUFBQSx1QkFBTSxHQUFFOzhCQUNBLGlCQUFPO2dEQUFDO0FBTEUsZUFBZTtJQUhuQyxJQUFBLDZCQUFZLEVBQUM7UUFDWixXQUFXLEVBQUUsNEJBQVcsQ0FBQyxNQUFNO0tBQ2hDLENBQUM7R0FDbUIsZUFBZSxDQWdCbkM7a0JBaEJvQixlQUFlIn0=
@@ -0,0 +1,8 @@
1
+ import AppCache from './AppCache';
2
+ import TempObj from './TempObj';
3
+ export default class CountService {
4
+ appCache: AppCache;
5
+ tempObj: TempObj;
6
+ getCount(): Promise<number>;
7
+ getTempCount(): Promise<number>;
8
+ }
@@ -0,0 +1,38 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const core_decorator_1 = require("@eggjs/core-decorator");
16
+ const AppCache_1 = __importDefault(require("./AppCache"));
17
+ const TempObj_1 = __importDefault(require("./TempObj"));
18
+ let CountService = class CountService {
19
+ async getCount() {
20
+ return this.appCache.getCount();
21
+ }
22
+ async getTempCount() {
23
+ return this.tempObj.getCount();
24
+ }
25
+ };
26
+ __decorate([
27
+ (0, core_decorator_1.Inject)(),
28
+ __metadata("design:type", AppCache_1.default)
29
+ ], CountService.prototype, "appCache", void 0);
30
+ __decorate([
31
+ (0, core_decorator_1.Inject)(),
32
+ __metadata("design:type", TempObj_1.default)
33
+ ], CountService.prototype, "tempObj", void 0);
34
+ CountService = __decorate([
35
+ (0, core_decorator_1.ContextProto)()
36
+ ], CountService);
37
+ exports.default = CountService;
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ291bnRTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGVzdC9maXh0dXJlcy9tb2R1bGVzL21vZHVsZS1mb3ItbG9hZC11bml0LWluc3RhbmNlL0NvdW50U2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBLDBEQUE2RDtBQUM3RCwwREFBa0M7QUFDbEMsd0RBQWdDO0FBR2pCLElBQU0sWUFBWSxHQUFsQixNQUFNLFlBQVk7SUFPL0IsS0FBSyxDQUFDLFFBQVE7UUFDWixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELEtBQUssQ0FBQyxZQUFZO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0NBQ0YsQ0FBQTtBQWJDO0lBQUMsSUFBQSx1QkFBTSxHQUFFOzhCQUNDLGtCQUFROzhDQUFDO0FBRW5CO0lBQUMsSUFBQSx1QkFBTSxHQUFFOzhCQUNBLGlCQUFPOzZDQUFDO0FBTEUsWUFBWTtJQURoQyxJQUFBLDZCQUFZLEdBQUU7R0FDTSxZQUFZLENBY2hDO2tCQWRvQixZQUFZIn0=
@@ -0,0 +1,4 @@
1
+ export default class TempObj {
2
+ count: number;
3
+ getCount(): Promise<number>;
4
+ }
@@ -0,0 +1,24 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const core_decorator_1 = require("@eggjs/core-decorator");
10
+ let TempObj = class TempObj {
11
+ constructor() {
12
+ this.count = 0;
13
+ }
14
+ async getCount() {
15
+ return this.count++;
16
+ }
17
+ };
18
+ TempObj = __decorate([
19
+ (0, core_decorator_1.Prototype)({
20
+ initType: core_decorator_1.ObjectInitType.ALWAYS_NEW,
21
+ })
22
+ ], TempObj);
23
+ exports.default = TempObj;
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVtcE9iai5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Rlc3QvZml4dHVyZXMvbW9kdWxlcy9tb2R1bGUtZm9yLWxvYWQtdW5pdC1pbnN0YW5jZS9UZW1wT2JqLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsMERBQWtFO0FBS25ELElBQU0sT0FBTyxHQUFiLE1BQU0sT0FBTztJQUFiO1FBQ2IsVUFBSyxHQUFHLENBQUMsQ0FBQztJQUtaLENBQUM7SUFIQyxLQUFLLENBQUMsUUFBUTtRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3RCLENBQUM7Q0FDRixDQUFBO0FBTm9CLE9BQU87SUFIM0IsSUFBQSwwQkFBUyxFQUFDO1FBQ1QsUUFBUSxFQUFFLCtCQUFjLENBQUMsVUFBVTtLQUNwQyxDQUFDO0dBQ21CLE9BQU8sQ0FNM0I7a0JBTm9CLE9BQU8ifQ==
@@ -0,0 +1,4 @@
1
+ export default class App {
2
+ name: string;
3
+ desc: string;
4
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class App {
4
+ }
5
+ exports.default = App;
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vdGVzdC9maXh0dXJlcy9tb2R1bGVzL211bHRpLW1vZHVsZS9tdWx0aS1tb2R1bGUtY29tbW9uL21vZGVsL0FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE1BQXFCLEdBQUc7Q0FHdkI7QUFIRCxzQkFHQyJ9
@@ -0,0 +1,7 @@
1
+ import App from '../multi-module-common/model/App';
2
+ import PersistenceService from './PersistenceService';
3
+ export default class AppRepo {
4
+ persistenceService: PersistenceService;
5
+ findApp(name: any): Promise<App | null>;
6
+ insertApp(app: App): Promise<void>;
7
+ }
@@ -0,0 +1,39 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const PersistenceService_1 = __importDefault(require("./PersistenceService"));
16
+ const core_decorator_1 = require("@eggjs/core-decorator");
17
+ let AppRepo = class AppRepo {
18
+ async findApp(name) {
19
+ const raw = this.persistenceService.get(name);
20
+ if (!raw) {
21
+ return null;
22
+ }
23
+ return JSON.parse(raw);
24
+ }
25
+ async insertApp(app) {
26
+ this.persistenceService.set(app.name, JSON.stringify(app));
27
+ }
28
+ };
29
+ __decorate([
30
+ (0, core_decorator_1.Inject)(),
31
+ __metadata("design:type", PersistenceService_1.default)
32
+ ], AppRepo.prototype, "persistenceService", void 0);
33
+ AppRepo = __decorate([
34
+ (0, core_decorator_1.ContextProto)({
35
+ accessLevel: core_decorator_1.AccessLevel.PUBLIC,
36
+ })
37
+ ], AppRepo);
38
+ exports.default = AppRepo;
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwUmVwby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Rlc3QvZml4dHVyZXMvbW9kdWxlcy9tdWx0aS1tb2R1bGUvbXVsdGktbW9kdWxlLXJlcG8vQXBwUmVwby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUNBLDhFQUFzRDtBQUN0RCwwREFBMEU7QUFLM0QsSUFBTSxPQUFPLEdBQWIsTUFBTSxPQUFPO0lBSW5CLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSTtRQUN2QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDUixPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFTSxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQVE7UUFDN0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0NBQ0YsQ0FBQTtBQWRDO0lBQUMsSUFBQSx1QkFBTSxHQUFFOzhCQUNXLDRCQUFrQjttREFBQztBQUZwQixPQUFPO0lBSDNCLElBQUEsNkJBQVksRUFBQztRQUNaLFdBQVcsRUFBRSw0QkFBVyxDQUFDLE1BQU07S0FDaEMsQ0FBQztHQUNtQixPQUFPLENBZTNCO2tCQWZvQixPQUFPIn0=
@@ -0,0 +1,5 @@
1
+ export default class PersistenceService {
2
+ private store;
3
+ set(key: string, val: string): void;
4
+ get(key: string): string | undefined;
5
+ }
@@ -0,0 +1,28 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const core_decorator_1 = require("@eggjs/core-decorator");
10
+ let PersistenceService = class PersistenceService {
11
+ constructor() {
12
+ this.store = new Map();
13
+ }
14
+ set(key, val) {
15
+ this.store.set(key, val);
16
+ }
17
+ get(key) {
18
+ return this.store.get(key);
19
+ }
20
+ };
21
+ PersistenceService = __decorate([
22
+ (0, core_decorator_1.Prototype)({
23
+ initType: core_decorator_1.ObjectInitType.SINGLETON,
24
+ accessLevel: core_decorator_1.AccessLevel.PRIVATE,
25
+ })
26
+ ], PersistenceService);
27
+ exports.default = PersistenceService;
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGVyc2lzdGVuY2VTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdGVzdC9maXh0dXJlcy9tb2R1bGVzL211bHRpLW1vZHVsZS9tdWx0aS1tb2R1bGUtcmVwby9QZXJzaXN0ZW5jZVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSwwREFBK0U7QUFNaEUsSUFBTSxrQkFBa0IsR0FBeEIsTUFBTSxrQkFBa0I7SUFBeEI7UUFDTCxVQUFLLEdBQXdCLElBQUksR0FBRyxFQUFFLENBQUM7SUFTakQsQ0FBQztJQVBRLEdBQUcsQ0FBQyxHQUFXLEVBQUUsR0FBVztRQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVNLEdBQUcsQ0FBQyxHQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0IsQ0FBQztDQUNGLENBQUE7QUFWb0Isa0JBQWtCO0lBSnRDLElBQUEsMEJBQVMsRUFBQztRQUNULFFBQVEsRUFBRSwrQkFBYyxDQUFDLFNBQVM7UUFDbEMsV0FBVyxFQUFFLDRCQUFXLENBQUMsT0FBTztLQUNqQyxDQUFDO0dBQ21CLGtCQUFrQixDQVV0QztrQkFWb0Isa0JBQWtCIn0=
@@ -0,0 +1,7 @@
1
+ import AppRepo from '../multi-module-repo/AppRepo';
2
+ import App from '../multi-module-common/model/App';
3
+ export default class AppService {
4
+ appRepo: AppRepo;
5
+ findApp(name: string): Promise<App | null>;
6
+ save(app: App): Promise<void>;
7
+ }
@@ -0,0 +1,33 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const core_decorator_1 = require("@eggjs/core-decorator");
16
+ const AppRepo_1 = __importDefault(require("../multi-module-repo/AppRepo"));
17
+ let AppService = class AppService {
18
+ findApp(name) {
19
+ return this.appRepo.findApp(name);
20
+ }
21
+ save(app) {
22
+ return this.appRepo.insertApp(app);
23
+ }
24
+ };
25
+ __decorate([
26
+ (0, core_decorator_1.Inject)(),
27
+ __metadata("design:type", AppRepo_1.default)
28
+ ], AppService.prototype, "appRepo", void 0);
29
+ AppService = __decorate([
30
+ (0, core_decorator_1.ContextProto)()
31
+ ], AppService);
32
+ exports.default = AppService;
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Rlc3QvZml4dHVyZXMvbW9kdWxlcy9tdWx0aS1tb2R1bGUvbXVsdGktbW9kdWxlLXNlcnZpY2UvQXBwU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBLDBEQUE2RDtBQUM3RCwyRUFBbUQ7QUFJcEMsSUFBTSxVQUFVLEdBQWhCLE1BQU0sVUFBVTtJQUk3QixPQUFPLENBQUMsSUFBWTtRQUNsQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLENBQUMsR0FBUTtRQUNYLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsQ0FBQztDQUNGLENBQUE7QUFWQztJQUFDLElBQUEsdUJBQU0sR0FBRTs4QkFDQSxpQkFBTzsyQ0FBQztBQUZFLFVBQVU7SUFEOUIsSUFBQSw2QkFBWSxHQUFFO0dBQ00sVUFBVSxDQVc5QjtrQkFYb0IsVUFBVSJ9
@@ -0,0 +1,5 @@
1
+ import { LoadUnitInstance } from '..';
2
+ export default class TestUtil {
3
+ static createLoadUnitInstance(modulePath: string): Promise<LoadUnitInstance>;
4
+ static destroyLoadUnitInstance(loadUnitInstance: LoadUnitInstance): Promise<void>;
5
+ }
@@ -0,0 +1,23 @@
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 path_1 = __importDefault(require("path"));
7
+ const tegg_metadata_1 = require("@eggjs/tegg-metadata");
8
+ const __1 = require("..");
9
+ const tegg_loader_1 = require("@eggjs/tegg-loader");
10
+ class TestUtil {
11
+ static async createLoadUnitInstance(modulePath) {
12
+ const absolutePath = path_1.default.join(__dirname, 'fixtures/modules', modulePath);
13
+ const loader = tegg_loader_1.LoaderFactory.createLoader(absolutePath, tegg_metadata_1.EggLoadUnitType.MODULE);
14
+ const loadUnit = await tegg_metadata_1.LoadUnitFactory.createLoadUnit(absolutePath, tegg_metadata_1.EggLoadUnitType.MODULE, loader);
15
+ return await __1.LoadUnitInstanceFactory.createLoadUnitInstance(loadUnit);
16
+ }
17
+ static async destroyLoadUnitInstance(loadUnitInstance) {
18
+ await __1.LoadUnitInstanceFactory.destroyLoadUnitInstance(loadUnitInstance);
19
+ await tegg_metadata_1.LoadUnitFactory.destroyLoadUnit(loadUnitInstance.loadUnit);
20
+ }
21
+ }
22
+ exports.default = TestUtil;
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Rlc3QvdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdEQUF3QjtBQUN4Qix3REFBd0U7QUFDeEUsMEJBQStEO0FBQy9ELG9EQUFtRDtBQUVuRCxNQUFxQixRQUFRO0lBQzNCLE1BQU0sQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsVUFBa0I7UUFDcEQsTUFBTSxZQUFZLEdBQUcsY0FBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDMUUsTUFBTSxNQUFNLEdBQUcsMkJBQWEsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLCtCQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEYsTUFBTSxRQUFRLEdBQUcsTUFBTSwrQkFBZSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsK0JBQWUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDcEcsT0FBTyxNQUFNLDJCQUF1QixDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLGdCQUFrQztRQUNyRSxNQUFNLDJCQUF1QixDQUFDLHVCQUF1QixDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDeEUsTUFBTSwrQkFBZSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNuRSxDQUFDO0NBQ0Y7QUFaRCwyQkFZQyJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eggjs/tegg-runtime",
3
- "version": "3.14.3",
3
+ "version": "3.15.0",
4
4
  "description": "tegg runtime",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -36,13 +36,13 @@
36
36
  "node": ">=14.0.0"
37
37
  },
38
38
  "dependencies": {
39
- "@eggjs/core-decorator": "^3.14.3",
40
- "@eggjs/tegg-common-util": "^3.14.3",
41
- "@eggjs/tegg-lifecycle": "^3.14.3",
42
- "@eggjs/tegg-metadata": "^3.14.3"
39
+ "@eggjs/core-decorator": "^3.15.0",
40
+ "@eggjs/tegg-common-util": "^3.15.0",
41
+ "@eggjs/tegg-lifecycle": "^3.15.0",
42
+ "@eggjs/tegg-metadata": "^3.15.0"
43
43
  },
44
44
  "devDependencies": {
45
- "@eggjs/tegg-loader": "^3.14.3",
45
+ "@eggjs/tegg-loader": "^3.15.0",
46
46
  "@types/mocha": "^10.0.1",
47
47
  "@types/node": "^20.2.4",
48
48
  "cross-env": "^7.0.3",
@@ -54,5 +54,5 @@
54
54
  "publishConfig": {
55
55
  "access": "public"
56
56
  },
57
- "gitHead": "467cbb2ff77708529b7402510bd69da71d206264"
57
+ "gitHead": "66389677299438ba334dd0ee38e81d9c1c2de5cc"
58
58
  }