@eggjs/tegg-plugin 4.0.0-beta.3 → 4.0.0-beta.5
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/README.md +13 -1
- package/dist/app/extend/application.d.ts +57 -0
- package/dist/app/extend/application.js +72 -0
- package/dist/app/extend/application.unittest.d.ts +26 -0
- package/dist/app/extend/application.unittest.js +43 -0
- package/dist/app/extend/context.d.ts +24 -0
- package/dist/app/extend/context.js +30 -0
- package/dist/app/middleware/tegg_ctx_lifecycle_middleware.d.ts +6 -0
- package/dist/app/middleware/tegg_ctx_lifecycle_middleware.js +9 -0
- package/dist/app.d.ts +19 -0
- package/dist/app.js +57 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +5 -0
- package/dist/lib/AppLoadUnit.d.ts +23 -0
- package/dist/lib/AppLoadUnit.js +78 -0
- package/dist/lib/AppLoadUnitInstance.d.ts +24 -0
- package/dist/lib/AppLoadUnitInstance.js +69 -0
- package/dist/lib/CompatibleUtil.d.ts +18 -0
- package/dist/lib/CompatibleUtil.js +96 -0
- package/dist/lib/ConfigSourceLoadUnitHook.d.ts +15 -0
- package/dist/lib/ConfigSourceLoadUnitHook.js +22 -0
- package/dist/lib/EggAppLoader.d.ts +20 -0
- package/dist/lib/EggAppLoader.js +106 -0
- package/dist/lib/EggCompatibleObject.d.ts +21 -0
- package/dist/lib/EggCompatibleObject.js +37 -0
- package/dist/lib/EggCompatibleProtoImpl.d.ts +25 -0
- package/dist/lib/EggCompatibleProtoImpl.js +50 -0
- package/dist/lib/EggContextCompatibleHook.d.ts +14 -0
- package/dist/lib/EggContextCompatibleHook.js +32 -0
- package/dist/lib/EggContextHandler.d.ts +13 -0
- package/dist/lib/EggContextHandler.js +29 -0
- package/dist/lib/EggContextImpl.d.ts +10 -0
- package/dist/lib/EggContextImpl.js +18 -0
- package/dist/lib/EggModuleLoader.d.ts +15 -0
- package/dist/lib/EggModuleLoader.js +50 -0
- package/dist/lib/EggQualifierProtoHook.d.ts +14 -0
- package/dist/lib/EggQualifierProtoHook.js +48 -0
- package/dist/lib/ModuleConfigLoader.d.ts +12 -0
- package/dist/lib/ModuleConfigLoader.js +84 -0
- package/dist/lib/ModuleHandler.d.ts +17 -0
- package/dist/lib/ModuleHandler.js +46 -0
- package/dist/lib/Utils.d.ts +4 -0
- package/dist/lib/Utils.js +33 -0
- package/dist/lib/ctx_lifecycle_middleware.d.ts +6 -0
- package/dist/lib/ctx_lifecycle_middleware.js +27 -0
- package/dist/lib/run_in_background.d.ts +7 -0
- package/dist/lib/run_in_background.js +52 -0
- package/dist/types.d.ts +7 -0
- package/dist/types.js +6 -0
- package/package.json +63 -45
- package/app/extend/application.d.ts +0 -24
- package/app/extend/application.js +0 -76
- package/app/extend/application.unittest.d.ts +0 -8
- package/app/extend/application.unittest.js +0 -51
- package/app/extend/context.d.ts +0 -15
- package/app/extend/context.js +0 -32
- package/app/middleware/tegg_ctx_lifecycle_middleware.d.ts +0 -3
- package/app/middleware/tegg_ctx_lifecycle_middleware.js +0 -5
- package/app.d.ts +0 -17
- package/app.js +0 -63
- package/index.d.ts +0 -3
- package/index.js +0 -4
- package/lib/AppLoadUnit.d.ts +0 -19
- package/lib/AppLoadUnit.js +0 -85
- package/lib/AppLoadUnitInstance.d.ts +0 -20
- package/lib/AppLoadUnitInstance.js +0 -82
- package/lib/CompatibleUtil.d.ts +0 -14
- package/lib/CompatibleUtil.js +0 -94
- package/lib/ConfigSourceLoadUnitHook.d.ts +0 -10
- package/lib/ConfigSourceLoadUnitHook.js +0 -20
- package/lib/EggAppLoader.d.ts +0 -16
- package/lib/EggAppLoader.js +0 -127
- package/lib/EggCompatibleObject.d.ts +0 -18
- package/lib/EggCompatibleObject.js +0 -41
- package/lib/EggCompatibleProtoImpl.d.ts +0 -21
- package/lib/EggCompatibleProtoImpl.js +0 -51
- package/lib/EggContextCompatibleHook.d.ts +0 -10
- package/lib/EggContextCompatibleHook.js +0 -42
- package/lib/EggContextHandler.d.ts +0 -9
- package/lib/EggContextHandler.js +0 -25
- package/lib/EggContextImpl.d.ts +0 -6
- package/lib/EggContextImpl.js +0 -15
- package/lib/EggModuleLoader.d.ts +0 -11
- package/lib/EggModuleLoader.js +0 -53
- package/lib/EggQualifierProtoHook.d.ts +0 -10
- package/lib/EggQualifierProtoHook.js +0 -50
- package/lib/ModuleConfigLoader.d.ts +0 -8
- package/lib/ModuleConfigLoader.js +0 -80
- package/lib/ModuleHandler.d.ts +0 -13
- package/lib/ModuleHandler.js +0 -53
- package/lib/Utils.d.ts +0 -1
- package/lib/Utils.js +0 -36
- package/lib/ctx_lifecycle_middleware.d.ts +0 -2
- package/lib/ctx_lifecycle_middleware.js +0 -32
- package/lib/run_in_background.d.ts +0 -3
- package/lib/run_in_background.js +0 -55
- package/lib/types.d.ts +0 -43
- package/lib/types.js +0 -2
- package/typings/index.d.ts +0 -1
package/app/extend/context.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { TEGG_CONTEXT } from '@eggjs/egg-module-common';
|
|
2
|
-
import { PrototypeUtil } from '@eggjs/tegg';
|
|
3
|
-
import { ctxLifecycleMiddleware } from '../../lib/ctx_lifecycle_middleware.js';
|
|
4
|
-
export default {
|
|
5
|
-
[TEGG_CONTEXT]: undefined,
|
|
6
|
-
async beginModuleScope(func) {
|
|
7
|
-
await ctxLifecycleMiddleware(this, func);
|
|
8
|
-
},
|
|
9
|
-
get teggContext() {
|
|
10
|
-
if (!this[TEGG_CONTEXT]) {
|
|
11
|
-
throw new Error('tegg context have not ready, should call after teggCtxLifecycleMiddleware');
|
|
12
|
-
}
|
|
13
|
-
return this[TEGG_CONTEXT];
|
|
14
|
-
},
|
|
15
|
-
async getEggObject(clazz, name) {
|
|
16
|
-
const protoObj = PrototypeUtil.getClazzProto(clazz);
|
|
17
|
-
if (!protoObj) {
|
|
18
|
-
throw new Error(`can not get proto for clazz ${clazz.name}`);
|
|
19
|
-
}
|
|
20
|
-
const proto = protoObj;
|
|
21
|
-
const eggObject = await this.app.eggContainerFactory.getOrCreateEggObject(proto, name ?? proto.name);
|
|
22
|
-
return eggObject.obj;
|
|
23
|
-
},
|
|
24
|
-
async getEggObjectFromName(name, qualifiers) {
|
|
25
|
-
if (qualifiers) {
|
|
26
|
-
qualifiers = Array.isArray(qualifiers) ? qualifiers : [qualifiers];
|
|
27
|
-
}
|
|
28
|
-
const eggObject = await this.app.eggContainerFactory.getOrCreateEggObjectFromName(name, qualifiers);
|
|
29
|
-
return eggObject.obj;
|
|
30
|
-
},
|
|
31
|
-
};
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBMEIsYUFBYSxFQUFzQixNQUFNLGFBQWEsQ0FBQztBQUV4RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQU0vRSxlQUFlO0lBQ2IsQ0FBQyxZQUFZLENBQUMsRUFBRSxTQUFvQztJQUVwRCxLQUFLLENBQUMsZ0JBQWdCLENBQTBCLElBQXlCO1FBQ3ZFLE1BQU0sc0JBQXNCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQywyRUFBMkUsQ0FBQyxDQUFDO1FBQy9GLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQVksQ0FBZ0IsS0FBd0IsRUFBRSxJQUFhO1FBQ3ZFLE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDL0QsQ0FBQztRQUNELE1BQU0sS0FBSyxHQUFHLFFBQXdCLENBQUM7UUFDdkMsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxJQUFJLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JHLE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQztJQUN2QixDQUFDO0lBRUQsS0FBSyxDQUFDLG9CQUFvQixDQUFnQixJQUFZLEVBQUUsVUFBNEM7UUFDbEcsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLFVBQVUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUUsVUFBVSxDQUFFLENBQUM7UUFDdkUsQ0FBQztRQUNELE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDcEcsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDO0lBQ3ZCLENBQUM7Q0FDRixDQUFDIn0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { ctxLifecycleMiddleware } from '../../lib/ctx_lifecycle_middleware.js';
|
|
2
|
-
export default () => {
|
|
3
|
-
return ctxLifecycleMiddleware;
|
|
4
|
-
};
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVnZ19jdHhfbGlmZWN5Y2xlX21pZGRsZXdhcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0ZWdnX2N0eF9saWZlY3ljbGVfbWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUUvRSxlQUFlLEdBQUcsRUFBRTtJQUNsQixPQUFPLHNCQUFzQixDQUFDO0FBQ2hDLENBQUMsQ0FBQyJ9
|
package/app.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import './lib/AppLoadUnit.js';
|
|
2
|
-
import './lib/AppLoadUnitInstance.js';
|
|
3
|
-
import './lib/EggCompatibleObject.js';
|
|
4
|
-
import { Application, ILifecycleBoot } from 'egg';
|
|
5
|
-
export default class App implements ILifecycleBoot {
|
|
6
|
-
private readonly app;
|
|
7
|
-
private compatibleHook?;
|
|
8
|
-
private eggContextHandler;
|
|
9
|
-
private eggQualifierProtoHook;
|
|
10
|
-
private loadUnitMultiInstanceProtoHook;
|
|
11
|
-
private configSourceEggPrototypeHook;
|
|
12
|
-
constructor(app: Application);
|
|
13
|
-
configWillLoad(): void;
|
|
14
|
-
configDidLoad(): void;
|
|
15
|
-
didLoad(): Promise<void>;
|
|
16
|
-
beforeClose(): Promise<void>;
|
|
17
|
-
}
|
package/app.js
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import './lib/AppLoadUnit.js';
|
|
2
|
-
import './lib/AppLoadUnitInstance.js';
|
|
3
|
-
import './lib/EggCompatibleObject.js';
|
|
4
|
-
import { LoadUnitMultiInstanceProtoHook } from '@eggjs/tegg-metadata';
|
|
5
|
-
import { EggContextCompatibleHook } from './lib/EggContextCompatibleHook.js';
|
|
6
|
-
import { CompatibleUtil } from './lib/CompatibleUtil.js';
|
|
7
|
-
import { ModuleHandler } from './lib/ModuleHandler.js';
|
|
8
|
-
import { EggContextHandler } from './lib/EggContextHandler.js';
|
|
9
|
-
import { hijackRunInBackground } from './lib/run_in_background.js';
|
|
10
|
-
import { EggQualifierProtoHook } from './lib/EggQualifierProtoHook.js';
|
|
11
|
-
import { ConfigSourceLoadUnitHook } from './lib/ConfigSourceLoadUnitHook.js';
|
|
12
|
-
export default class App {
|
|
13
|
-
app;
|
|
14
|
-
compatibleHook;
|
|
15
|
-
eggContextHandler;
|
|
16
|
-
eggQualifierProtoHook;
|
|
17
|
-
loadUnitMultiInstanceProtoHook;
|
|
18
|
-
configSourceEggPrototypeHook;
|
|
19
|
-
constructor(app) {
|
|
20
|
-
this.app = app;
|
|
21
|
-
}
|
|
22
|
-
configWillLoad() {
|
|
23
|
-
this.app.config.coreMiddleware.push('teggCtxLifecycleMiddleware');
|
|
24
|
-
}
|
|
25
|
-
configDidLoad() {
|
|
26
|
-
this.eggContextHandler = new EggContextHandler(this.app);
|
|
27
|
-
this.app.eggContextHandler = this.eggContextHandler;
|
|
28
|
-
this.eggContextHandler.register();
|
|
29
|
-
this.app.moduleHandler = new ModuleHandler(this.app);
|
|
30
|
-
}
|
|
31
|
-
async didLoad() {
|
|
32
|
-
hijackRunInBackground(this.app);
|
|
33
|
-
this.loadUnitMultiInstanceProtoHook = new LoadUnitMultiInstanceProtoHook();
|
|
34
|
-
this.app.loadUnitLifecycleUtil.registerLifecycle(this.loadUnitMultiInstanceProtoHook);
|
|
35
|
-
// wait all file loaded, so app/ctx has all properties
|
|
36
|
-
this.eggQualifierProtoHook = new EggQualifierProtoHook(this.app);
|
|
37
|
-
this.app.loadUnitLifecycleUtil.registerLifecycle(this.eggQualifierProtoHook);
|
|
38
|
-
this.configSourceEggPrototypeHook = new ConfigSourceLoadUnitHook();
|
|
39
|
-
this.app.loadUnitLifecycleUtil.registerLifecycle(this.configSourceEggPrototypeHook);
|
|
40
|
-
// start load tegg objects
|
|
41
|
-
await this.app.moduleHandler.init();
|
|
42
|
-
this.compatibleHook = new EggContextCompatibleHook(this.app.moduleHandler);
|
|
43
|
-
this.app.eggContextLifecycleUtil.registerLifecycle(this.compatibleHook);
|
|
44
|
-
}
|
|
45
|
-
async beforeClose() {
|
|
46
|
-
CompatibleUtil.clean();
|
|
47
|
-
await this.app.moduleHandler.destroy();
|
|
48
|
-
if (this.compatibleHook) {
|
|
49
|
-
this.app.eggContextLifecycleUtil.deleteLifecycle(this.compatibleHook);
|
|
50
|
-
}
|
|
51
|
-
if (this.eggQualifierProtoHook) {
|
|
52
|
-
this.app.loadUnitLifecycleUtil.deleteLifecycle(this.eggQualifierProtoHook);
|
|
53
|
-
}
|
|
54
|
-
if (this.configSourceEggPrototypeHook) {
|
|
55
|
-
this.app.loadUnitLifecycleUtil.deleteLifecycle(this.configSourceEggPrototypeHook);
|
|
56
|
-
}
|
|
57
|
-
if (this.loadUnitMultiInstanceProtoHook) {
|
|
58
|
-
this.app.loadUnitLifecycleUtil.deleteLifecycle(this.loadUnitMultiInstanceProtoHook);
|
|
59
|
-
}
|
|
60
|
-
LoadUnitMultiInstanceProtoHook.clear();
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLDhCQUE4QixDQUFDO0FBRXRDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFN0UsTUFBTSxDQUFDLE9BQU8sT0FBTyxHQUFHO0lBQ0wsR0FBRyxDQUFjO0lBQzFCLGNBQWMsQ0FBNEI7SUFDMUMsaUJBQWlCLENBQW9CO0lBQ3JDLHFCQUFxQixDQUF3QjtJQUM3Qyw4QkFBOEIsQ0FBaUM7SUFDL0QsNEJBQTRCLENBQTJCO0lBRS9ELFlBQVksR0FBZ0I7UUFDMUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekQsSUFBSSxD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
|
package/index.d.ts
DELETED
package/index.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import './lib/types.js';
|
|
2
|
-
export * from './app/extend/application.js';
|
|
3
|
-
export * from './app/extend/context.js';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLGdCQUFnQixDQUFDO0FBRXhCLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx5QkFBeUIsQ0FBQyJ9
|
package/lib/AppLoadUnit.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { EggLoadUnitTypeLike, EggPrototype, Loader, LoadUnit, LoadUnitLifecycleContext } from '@eggjs/tegg-metadata';
|
|
2
|
-
import { Id, QualifierInfo } from '@eggjs/tegg';
|
|
3
|
-
export declare class AppLoadUnit implements LoadUnit {
|
|
4
|
-
private readonly loader;
|
|
5
|
-
id: Id;
|
|
6
|
-
readonly name: string;
|
|
7
|
-
readonly type: EggLoadUnitTypeLike;
|
|
8
|
-
readonly unitPath: string;
|
|
9
|
-
private protoMap;
|
|
10
|
-
constructor(name: string, unitPath: string, loader: Loader);
|
|
11
|
-
init(): Promise<void>;
|
|
12
|
-
containPrototype(proto: EggPrototype): boolean;
|
|
13
|
-
getEggPrototype(name: string, qualifiers: QualifierInfo[]): EggPrototype[];
|
|
14
|
-
registerEggPrototype(proto: EggPrototype): void;
|
|
15
|
-
deletePrototype(proto: EggPrototype): void;
|
|
16
|
-
destroy(): Promise<void>;
|
|
17
|
-
iterateEggPrototype(): IterableIterator<EggPrototype>;
|
|
18
|
-
static createModule(ctx: LoadUnitLifecycleContext): AppLoadUnit;
|
|
19
|
-
}
|
package/lib/AppLoadUnit.js
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { EggLoadUnitType, EggPrototypeFactory, LoadUnitFactory, EggPrototypeCreatorFactory, } from '@eggjs/tegg-metadata';
|
|
2
|
-
import { IdenticalUtil, PrototypeUtil, InitTypeQualifierAttribute, LoadUnitNameQualifierAttribute, QualifierUtil, } from '@eggjs/tegg';
|
|
3
|
-
import { MapUtil } from '@eggjs/tegg-common-util';
|
|
4
|
-
export class AppLoadUnit {
|
|
5
|
-
loader;
|
|
6
|
-
id;
|
|
7
|
-
name;
|
|
8
|
-
type = EggLoadUnitType.APP;
|
|
9
|
-
unitPath;
|
|
10
|
-
protoMap = new Map();
|
|
11
|
-
constructor(name, unitPath, loader) {
|
|
12
|
-
this.id = IdenticalUtil.createLoadUnitId(name);
|
|
13
|
-
this.name = name;
|
|
14
|
-
this.unitPath = unitPath;
|
|
15
|
-
this.loader = loader;
|
|
16
|
-
}
|
|
17
|
-
async init() {
|
|
18
|
-
const clazzList = await this.loader.load();
|
|
19
|
-
for (const clazz of clazzList) {
|
|
20
|
-
// TODO duplicate code, same in ModuleLoadUnit
|
|
21
|
-
const initTypeQualifierAttributeValue = await PrototypeUtil.getInitType(clazz, {
|
|
22
|
-
unitPath: this.unitPath,
|
|
23
|
-
moduleName: this.name,
|
|
24
|
-
});
|
|
25
|
-
const defaultQualifier = [{
|
|
26
|
-
attribute: InitTypeQualifierAttribute,
|
|
27
|
-
value: initTypeQualifierAttributeValue,
|
|
28
|
-
}, {
|
|
29
|
-
attribute: LoadUnitNameQualifierAttribute,
|
|
30
|
-
value: this.name,
|
|
31
|
-
}];
|
|
32
|
-
defaultQualifier.forEach(qualifier => {
|
|
33
|
-
QualifierUtil.addProtoQualifier(clazz, qualifier.attribute, qualifier.value, true);
|
|
34
|
-
});
|
|
35
|
-
const protos = await EggPrototypeCreatorFactory.createProto(clazz, this);
|
|
36
|
-
for (const proto of protos) {
|
|
37
|
-
EggPrototypeFactory.instance.registerPrototype(proto, this);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
containPrototype(proto) {
|
|
42
|
-
return !!(this.protoMap.get(proto.name)?.find(t => t === proto));
|
|
43
|
-
}
|
|
44
|
-
getEggPrototype(name, qualifiers) {
|
|
45
|
-
const protos = this.protoMap.get(name);
|
|
46
|
-
return protos?.filter(proto => proto.verifyQualifiers(qualifiers)) || [];
|
|
47
|
-
}
|
|
48
|
-
registerEggPrototype(proto) {
|
|
49
|
-
const protoList = MapUtil.getOrStore(this.protoMap, proto.name, []);
|
|
50
|
-
protoList.push(proto);
|
|
51
|
-
}
|
|
52
|
-
deletePrototype(proto) {
|
|
53
|
-
const protos = this.protoMap.get(proto.name);
|
|
54
|
-
if (protos) {
|
|
55
|
-
const index = protos.indexOf(proto);
|
|
56
|
-
if (index !== -1) {
|
|
57
|
-
protos.splice(index, 1);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
async destroy() {
|
|
62
|
-
for (const namedProtos of this.protoMap.values()) {
|
|
63
|
-
// Delete prototype will delete item
|
|
64
|
-
// array iterator is not safe
|
|
65
|
-
const protos = namedProtos.slice();
|
|
66
|
-
for (const proto of protos) {
|
|
67
|
-
EggPrototypeFactory.instance.deletePrototype(proto, this);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
this.protoMap.clear();
|
|
71
|
-
}
|
|
72
|
-
iterateEggPrototype() {
|
|
73
|
-
const protos = Array.from(this.protoMap.values())
|
|
74
|
-
.reduce((p, c) => {
|
|
75
|
-
p = p.concat(c);
|
|
76
|
-
return p;
|
|
77
|
-
}, []);
|
|
78
|
-
return protos.values();
|
|
79
|
-
}
|
|
80
|
-
static createModule(ctx) {
|
|
81
|
-
return new AppLoadUnit('tegg-app', ctx.unitPath, ctx.loader);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
LoadUnitFactory.registerLoadUnitCreator(EggLoadUnitType.APP, AppLoadUnit.createModule);
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwTG9hZFVuaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJBcHBMb2FkVW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZUFBZSxFQUdmLG1CQUFtQixFQUduQixlQUFlLEVBRWYsMEJBQTBCLEdBQzNCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUVMLGFBQWEsRUFHYixhQUFhLEVBQ2IsMEJBQTBCLEVBQUUsOEJBQThCLEVBQUUsYUFBYSxHQUMxRSxNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbEQsTUFBTSxPQUFPLFdBQVc7SUFDTCxNQUFNLENBQVM7SUFDaEMsRUFBRSxDQUFLO0lBQ0UsSUFBSSxDQUFTO0lBQ2IsSUFBSSxHQUF3QixlQUFlLENBQUMsR0FBRyxDQUFDO0lBQ2hELFFBQVEsQ0FBUztJQUNsQixRQUFRLEdBQTBDLElBQUksR0FBRyxFQUFFLENBQUM7SUFFcEUsWUFBWSxJQUFZLEVBQUUsUUFBZ0IsRUFBRSxNQUFjO1FBQ3hELElBQUksQ0FBQyxFQUFFLEdBQUcsYUFBYSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSTtRQUNSLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQyxLQUFLLE1BQU0sS0FBSyxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQzlCLDhDQUE4QztZQUM5QyxNQUFNLCtCQUErQixHQUFHLE1BQU0sYUFBYSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUU7Z0JBQzdFLFFBQVEsRUFBRSxJQUFJ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
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { EggPrototype, LoadUnit } from '@eggjs/tegg-metadata';
|
|
2
|
-
import { EggObjectName, EggPrototypeName } from '@eggjs/tegg';
|
|
3
|
-
import { EggObject, LoadUnitInstance, LoadUnitInstanceLifecycleContext } from '@eggjs/tegg-runtime';
|
|
4
|
-
export declare class AppLoadUnitInstance implements LoadUnitInstance {
|
|
5
|
-
readonly loadUnit: LoadUnit;
|
|
6
|
-
readonly id: string;
|
|
7
|
-
readonly name: string;
|
|
8
|
-
private protoToCreateMap;
|
|
9
|
-
private eggObjectMap;
|
|
10
|
-
private eggObjectPromiseMap;
|
|
11
|
-
constructor(loadUnit: LoadUnit);
|
|
12
|
-
iterateProtoToCreate(): IterableIterator<[EggObjectName, EggPrototype]>;
|
|
13
|
-
addProtoToCreate(name: string, proto: EggPrototype): void;
|
|
14
|
-
deleteProtoToCreate(name: string): void;
|
|
15
|
-
init(ctx: LoadUnitInstanceLifecycleContext): Promise<void>;
|
|
16
|
-
destroy(): Promise<void>;
|
|
17
|
-
getOrCreateEggObject(name: EggPrototypeName, proto: EggPrototype): Promise<EggObject>;
|
|
18
|
-
getEggObject(name: EggPrototypeName, proto: EggPrototype): EggObject;
|
|
19
|
-
static createModuleLoadUnitInstance(ctx: LoadUnitInstanceLifecycleContext): LoadUnitInstance;
|
|
20
|
-
}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { EggLoadUnitType } from '@eggjs/tegg-metadata';
|
|
2
|
-
import { ObjectInitType, IdenticalUtil } from '@eggjs/tegg';
|
|
3
|
-
import { MapUtil } from '@eggjs/tegg-common-util';
|
|
4
|
-
import { EggObjectFactory, LoadUnitInstanceFactory, LoadUnitInstanceLifecycleUtil, } from '@eggjs/tegg-runtime';
|
|
5
|
-
export class AppLoadUnitInstance {
|
|
6
|
-
loadUnit;
|
|
7
|
-
id;
|
|
8
|
-
name;
|
|
9
|
-
protoToCreateMap = new Map();
|
|
10
|
-
eggObjectMap = new Map();
|
|
11
|
-
eggObjectPromiseMap = new Map();
|
|
12
|
-
constructor(loadUnit) {
|
|
13
|
-
this.loadUnit = loadUnit;
|
|
14
|
-
this.name = loadUnit.name;
|
|
15
|
-
const iterator = this.loadUnit.iterateEggPrototype();
|
|
16
|
-
for (const proto of iterator) {
|
|
17
|
-
if (proto.initType === ObjectInitType.SINGLETON) {
|
|
18
|
-
this.protoToCreateMap.set(proto.name, proto);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
this.id = IdenticalUtil.createLoadUnitInstanceId(loadUnit.id);
|
|
22
|
-
}
|
|
23
|
-
iterateProtoToCreate() {
|
|
24
|
-
return this.protoToCreateMap.entries();
|
|
25
|
-
}
|
|
26
|
-
addProtoToCreate(name, proto) {
|
|
27
|
-
this.protoToCreateMap.set(name, proto);
|
|
28
|
-
}
|
|
29
|
-
deleteProtoToCreate(name) {
|
|
30
|
-
this.protoToCreateMap.delete(name);
|
|
31
|
-
}
|
|
32
|
-
async init(ctx) {
|
|
33
|
-
await LoadUnitInstanceLifecycleUtil.objectPreCreate(ctx, this);
|
|
34
|
-
for (const [name, proto] of this.protoToCreateMap) {
|
|
35
|
-
await this.getOrCreateEggObject(name, proto);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
async destroy() {
|
|
39
|
-
const objs = [];
|
|
40
|
-
for (const protoObjMap of this.eggObjectMap.values()) {
|
|
41
|
-
for (const protoObj of protoObjMap.values()) {
|
|
42
|
-
objs.push(protoObj);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
this.eggObjectMap.clear();
|
|
46
|
-
await Promise.all(objs.map(async (obj) => {
|
|
47
|
-
await EggObjectFactory.destroyObject(obj);
|
|
48
|
-
}));
|
|
49
|
-
}
|
|
50
|
-
async getOrCreateEggObject(name, proto) {
|
|
51
|
-
if (!this.loadUnit.containPrototype(proto)) {
|
|
52
|
-
throw new Error('load unit not contain proto');
|
|
53
|
-
}
|
|
54
|
-
const protoObjMap = MapUtil.getOrStore(this.eggObjectMap, proto.id, new Map());
|
|
55
|
-
if (!protoObjMap.has(name)) {
|
|
56
|
-
const protoObjPromiseMap = MapUtil.getOrStore(this.eggObjectPromiseMap, proto.id, new Map());
|
|
57
|
-
if (!protoObjPromiseMap.has(name)) {
|
|
58
|
-
const objPromise = EggObjectFactory.createObject(name, proto);
|
|
59
|
-
protoObjPromiseMap.set(name, objPromise);
|
|
60
|
-
const obj = await objPromise;
|
|
61
|
-
protoObjPromiseMap.delete(name);
|
|
62
|
-
protoObjMap.set(name, obj);
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
await protoObjPromiseMap.get(name);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
return protoObjMap.get(name);
|
|
69
|
-
}
|
|
70
|
-
getEggObject(name, proto) {
|
|
71
|
-
const protoObjMap = this.eggObjectMap.get(proto.id);
|
|
72
|
-
if (!protoObjMap || !protoObjMap.has(name)) {
|
|
73
|
-
throw new Error(`EggObject ${String(proto.name)} not found`);
|
|
74
|
-
}
|
|
75
|
-
return protoObjMap.get(name);
|
|
76
|
-
}
|
|
77
|
-
static createModuleLoadUnitInstance(ctx) {
|
|
78
|
-
return new AppLoadUnitInstance(ctx.loadUnit);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
LoadUnitInstanceFactory.registerLoadUnitInstanceClass(EggLoadUnitType.APP, AppLoadUnitInstance.createModuleLoadUnitInstance);
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwTG9hZFVuaXRJbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkFwcExvYWRVbml0SW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBMEIsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRSxPQUFPLEVBQW1DLGNBQWMsRUFBTSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xELE9BQU8sRUFDTSxnQkFBZ0IsRUFFM0IsdUJBQXVCLEVBQ1csNkJBQTZCLEdBQ2hFLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsTUFBTSxPQUFPLG1CQUFtQjtJQUNyQixRQUFRLENBQVc7SUFDbkIsRUFBRSxDQUFTO0lBQ1gsSUFBSSxDQUFTO0lBQ2QsZ0JBQWdCLEdBQXdDLElBQUksR0FBRyxFQUFFLENBQUM7SUFDbEUsWUFBWSxHQUE4QyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ3BFLG1CQUFtQixHQUF1RCxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRTVGLFlBQVksUUFBa0I7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQzFCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUNyRCxLQUFLLE1BQU0sS0FBSyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQzdCLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2hELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMvQyxDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksQ0FBQyxFQUFFLEdBQUcsYUFBYSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsS0FBbUI7UUFDaEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQVk7UUFDOUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFxQztRQUM5QyxNQUFNLDZCQUE2QixDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDL0QsS0FBSyxNQUFNLENBQUUsSUFBSSxFQUFFLEtBQUssQ0FBRSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3BELE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvQyxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxJQUFJLEdBQWdCLEVBQUUsQ0FBQztRQUM3QixLQUFLLE1BQU0sV0FBVyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztZQUNyRCxLQUFLLE1BQU0sUUFBUSxJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO2dCQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3RCLENBQUM7UUFDSCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMxQixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsR0FBRyxFQUFDLEVBQUU7WUFDckMsTUFBTSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFRCxLQUFLLENBQUMsb0JBQW9CLENBQUMsSUFBc0IsRUFBRSxLQUFtQjtRQUNwRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzNDLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDM0IsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztZQUM3RixJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ2xDLE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQzlELGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQ3pDLE1BQU0sR0FBRyxHQUFHLE1BQU0sVUFBVSxDQUFDO2dCQUM3QixrQkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2hDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzdCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyQyxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQXNCLEVBQUUsS0FBbUI7UUFDdEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXBELElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDM0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxhQUFhLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFDRCxPQUFPLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxHQUFxQztRQUN2RSxPQUFPLElBQUksbUJBQW1CLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9DLENBQUM7Q0FDRjtBQUVELHVCQUF1QixDQUFDLDZCQUE2QixDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUMsNEJBQTRCLENBQUMsQ0FBQyJ9
|
package/lib/CompatibleUtil.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Application, Context } from 'egg';
|
|
2
|
-
import { EggPrototype } from '@eggjs/tegg-metadata';
|
|
3
|
-
import { LoadUnitInstance } from '@eggjs/tegg-runtime';
|
|
4
|
-
export declare class CompatibleUtil {
|
|
5
|
-
static singletonProtoCache: Map<PropertyKey, EggPrototype>;
|
|
6
|
-
static requestProtoCache: Map<PropertyKey, EggPrototype>;
|
|
7
|
-
static getSingletonProto(name: PropertyKey): EggPrototype;
|
|
8
|
-
static getRequestProto(name: PropertyKey): EggPrototype;
|
|
9
|
-
private static singletonModuleProxyFactory;
|
|
10
|
-
static appCompatible(app: Application, loadUnitInstance: LoadUnitInstance): void;
|
|
11
|
-
static contextModuleProxyFactory(holder: Record<string, any>, ctx: Context, loadUnitInstance: LoadUnitInstance): any;
|
|
12
|
-
static contextModuleCompatible(ctx: Context, loadUnitInstances: LoadUnitInstance[]): void;
|
|
13
|
-
static clean(): void;
|
|
14
|
-
}
|
package/lib/CompatibleUtil.js
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { EggPrototypeFactory } from '@eggjs/tegg-metadata';
|
|
2
|
-
import { InitTypeQualifierAttribute, ObjectInitType } from '@eggjs/tegg';
|
|
3
|
-
import { EggContainerFactory } from '@eggjs/tegg-runtime';
|
|
4
|
-
import { ProxyUtil } from '@eggjs/tegg-common-util';
|
|
5
|
-
export class CompatibleUtil {
|
|
6
|
-
static singletonProtoCache = new Map();
|
|
7
|
-
static requestProtoCache = new Map();
|
|
8
|
-
static getSingletonProto(name) {
|
|
9
|
-
if (!this.singletonProtoCache.has(name)) {
|
|
10
|
-
const proto = EggPrototypeFactory.instance.getPrototype(name, undefined, [{
|
|
11
|
-
attribute: InitTypeQualifierAttribute,
|
|
12
|
-
value: ObjectInitType.SINGLETON,
|
|
13
|
-
}]);
|
|
14
|
-
this.singletonProtoCache.set(name, proto);
|
|
15
|
-
}
|
|
16
|
-
return this.singletonProtoCache.get(name);
|
|
17
|
-
}
|
|
18
|
-
static getRequestProto(name) {
|
|
19
|
-
if (!this.requestProtoCache.has(name)) {
|
|
20
|
-
const proto = EggPrototypeFactory.instance.getPrototype(name, undefined, [{
|
|
21
|
-
attribute: InitTypeQualifierAttribute,
|
|
22
|
-
value: ObjectInitType.CONTEXT,
|
|
23
|
-
}]);
|
|
24
|
-
this.requestProtoCache.set(name, proto);
|
|
25
|
-
}
|
|
26
|
-
return this.requestProtoCache.get(name);
|
|
27
|
-
}
|
|
28
|
-
static singletonModuleProxyFactory(app, loadUnitInstance) {
|
|
29
|
-
let deprecated = false;
|
|
30
|
-
return function (_, p) {
|
|
31
|
-
const proto = CompatibleUtil.getSingletonProto(p);
|
|
32
|
-
const eggObj = EggContainerFactory.getEggObject(proto);
|
|
33
|
-
if (!deprecated) {
|
|
34
|
-
deprecated = true;
|
|
35
|
-
app.deprecate(`[egg/module] Please use await app.getEggObject(clazzName) instead of app.${loadUnitInstance.name}.${String(p)}`);
|
|
36
|
-
}
|
|
37
|
-
return eggObj.obj;
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
static appCompatible(app, loadUnitInstance) {
|
|
41
|
-
const moduleLoadUnitProxy = ProxyUtil.safeProxy(loadUnitInstance, CompatibleUtil.singletonModuleProxyFactory(app, loadUnitInstance));
|
|
42
|
-
Reflect.defineProperty(app.module, loadUnitInstance.name, {
|
|
43
|
-
configurable: true,
|
|
44
|
-
value: moduleLoadUnitProxy,
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
static contextModuleProxyFactory(holder, ctx, loadUnitInstance) {
|
|
48
|
-
const cacheKey = `_${loadUnitInstance.name}Proxy`;
|
|
49
|
-
if (!holder[cacheKey]) {
|
|
50
|
-
let deprecated = false;
|
|
51
|
-
const getter = function (_, p) {
|
|
52
|
-
const proto = CompatibleUtil.getRequestProto(p);
|
|
53
|
-
const eggObj = EggContainerFactory.getEggObject(proto, p);
|
|
54
|
-
if (!deprecated) {
|
|
55
|
-
deprecated = true;
|
|
56
|
-
ctx.app.deprecate(`[egg/module] Please use await ctx.getEggObject(clazzName) instead of ctx.${loadUnitInstance.name}.${String(p)}`);
|
|
57
|
-
}
|
|
58
|
-
return eggObj.obj;
|
|
59
|
-
};
|
|
60
|
-
holder[cacheKey] = ProxyUtil.safeProxy(loadUnitInstance, getter);
|
|
61
|
-
}
|
|
62
|
-
return holder[cacheKey];
|
|
63
|
-
}
|
|
64
|
-
static contextModuleCompatible(ctx, loadUnitInstances) {
|
|
65
|
-
const loadUnitInstanceMap = loadUnitInstances.reduce((p, c) => {
|
|
66
|
-
p[c.name] = c;
|
|
67
|
-
return p;
|
|
68
|
-
}, {});
|
|
69
|
-
Reflect.defineProperty(ctx, 'module', {
|
|
70
|
-
configurable: true,
|
|
71
|
-
enumerable: true,
|
|
72
|
-
get() {
|
|
73
|
-
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
74
|
-
const ctx = this;
|
|
75
|
-
if (!this._moduleProxy) {
|
|
76
|
-
const ctxModule = Object.create(loadUnitInstanceMap);
|
|
77
|
-
this._moduleProxy = ProxyUtil.safeProxy(ctxModule, (_, p) => {
|
|
78
|
-
const loadUnitInstance = Reflect.get(ctxModule, p);
|
|
79
|
-
if (!loadUnitInstance) {
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
return CompatibleUtil.contextModuleProxyFactory(ctxModule, ctx, loadUnitInstance);
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
return this._moduleProxy;
|
|
86
|
-
},
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
static clean() {
|
|
90
|
-
this.singletonProtoCache.clear();
|
|
91
|
-
this.requestProtoCache.clear();
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcGF0aWJsZVV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJDb21wYXRpYmxlVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWdCLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6RSxPQUFPLEVBQUUsbUJBQW1CLEVBQW9CLE1BQU0scUJBQXFCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXBELE1BQU0sT0FBTyxjQUFjO0lBQ3pCLE1BQU0sQ0FBQyxtQkFBbUIsR0FBbUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUN2RSxNQUFNLENBQUMsaUJBQWlCLEdBQW1DLElBQUksR0FBRyxFQUFFLENBQUM7SUFFckUsTUFBTSxDQUFDLGlCQUFpQixDQUFDLElBQWlCO1FBQ3hDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDeEMsTUFBTSxLQUFLLEdBQUcsbUJBQW1CLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7b0JBQ3hFLFNBQVMsRUFBRSwwQkFBMEI7b0JBQ3JDLEtBQUssRUFBRSxjQUFjLENBQUMsU0FBUztpQkFDaEMsQ0FBQyxDQUFDLENBQUM7WUFDSixJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBRSxDQUFDO0lBQzdDLENBQUM7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLElBQWlCO1FBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUks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
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { LoadUnit, LoadUnitLifecycleContext } from '@eggjs/tegg-metadata';
|
|
2
|
-
import { LifecycleHook } from '@eggjs/tegg';
|
|
3
|
-
/**
|
|
4
|
-
* Copy from standalone/src/ConfigSourceLoadUnitHook
|
|
5
|
-
* Hook for inject moduleConfig.
|
|
6
|
-
* Add default qualifier value is current module name.
|
|
7
|
-
*/
|
|
8
|
-
export declare class ConfigSourceLoadUnitHook implements LifecycleHook<LoadUnitLifecycleContext, LoadUnit> {
|
|
9
|
-
preCreate(ctx: LoadUnitLifecycleContext, loadUnit: LoadUnit): Promise<void>;
|
|
10
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { PrototypeUtil, QualifierUtil, ConfigSourceQualifier, ConfigSourceQualifierAttribute, } from '@eggjs/tegg';
|
|
2
|
-
/**
|
|
3
|
-
* Copy from standalone/src/ConfigSourceLoadUnitHook
|
|
4
|
-
* Hook for inject moduleConfig.
|
|
5
|
-
* Add default qualifier value is current module name.
|
|
6
|
-
*/
|
|
7
|
-
export class ConfigSourceLoadUnitHook {
|
|
8
|
-
async preCreate(ctx, loadUnit) {
|
|
9
|
-
const classList = await ctx.loader.load();
|
|
10
|
-
for (const clazz of classList) {
|
|
11
|
-
const injectObjects = PrototypeUtil.getInjectObjects(clazz);
|
|
12
|
-
const moduleConfigObject = injectObjects.find(t => t.objName === 'moduleConfig');
|
|
13
|
-
const configSourceQualifier = QualifierUtil.getProperQualifier(clazz, 'moduleConfig', ConfigSourceQualifierAttribute);
|
|
14
|
-
if (moduleConfigObject && !configSourceQualifier) {
|
|
15
|
-
ConfigSourceQualifier(loadUnit.name)(clazz.prototype, moduleConfigObject.refName);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZmlnU291cmNlTG9hZFVuaXRIb29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiQ29uZmlnU291cmNlTG9hZFVuaXRIb29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFFTCxhQUFhLEVBQ2IsYUFBYSxFQUNiLHFCQUFxQixFQUNyQiw4QkFBOEIsR0FDL0IsTUFBTSxhQUFhLENBQUM7QUFFckI7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyx3QkFBd0I7SUFDbkMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUE2QixFQUFFLFFBQWtCO1FBQy9ELE1BQU0sU0FBUyxHQUFHLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQyxLQUFLLE1BQU0sS0FBSyxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQzlCLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1RCxNQUFNLGtCQUFrQixHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLGNBQWMsQ0FBQyxDQUFDO1lBQ2pGLE1BQU0scUJBQXFCLEdBQUcsYUFBYSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsOEJBQThCLENBQUMsQ0FBQztZQUN0SCxJQUFJLGtCQUFrQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztnQkFDakQscUJBQXFCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDcEYsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0NBQ0YifQ==
|
package/lib/EggAppLoader.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Application } from 'egg';
|
|
2
|
-
import { Loader } from '@eggjs/tegg-metadata';
|
|
3
|
-
import { EggProtoImplClass } from '@eggjs/tegg';
|
|
4
|
-
export declare const APP_CLAZZ_BLACK_LIST: string[];
|
|
5
|
-
export declare const CONTEXT_CLAZZ_BLACK_LIST: string[];
|
|
6
|
-
export declare const DEFAULT_APP_CLAZZ: string[];
|
|
7
|
-
export declare const DEFAULT_CONTEXT_CLAZZ: string[];
|
|
8
|
-
export declare class EggAppLoader implements Loader {
|
|
9
|
-
private readonly app;
|
|
10
|
-
private readonly moduleConfigLoader;
|
|
11
|
-
constructor(app: Application);
|
|
12
|
-
private buildClazz;
|
|
13
|
-
private buildAppLoggerClazz;
|
|
14
|
-
private getLoggerNames;
|
|
15
|
-
load(): Promise<EggProtoImplClass[]>;
|
|
16
|
-
}
|