@eggjs/standalone 4.0.0-beta.34 → 4.0.0-beta.36

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/dist/Runner.js CHANGED
@@ -1,244 +1,179 @@
1
- import { ModuleConfigUtil, } from '@eggjs/tegg-common-util';
2
- import { EggPrototypeLifecycleUtil, GlobalGraph, LoadUnitFactory, LoadUnitLifecycleUtil, LoadUnitMultiInstanceProtoHook, } from '@eggjs/metadata';
3
- import { ContextHandler, EggContainerFactory, EggObjectLifecycleUtil, LoadUnitInstanceFactory, ModuleLoadUnitInstance, } from '@eggjs/tegg-runtime';
4
- import { PrototypeUtil, ModuleConfigs, ConfigSourceQualifierAttribute, } from '@eggjs/tegg';
5
- import { StandaloneUtil } from '@eggjs/tegg/standalone';
6
- import { CrosscutAdviceFactory } from '@eggjs/tegg/aop';
7
- import { crossCutGraphHook, EggObjectAopHook, EggPrototypeCrossCutHook, LoadUnitAopHook, pointCutGraphHook, } from '@eggjs/aop-runtime';
8
- import { DalTableEggPrototypeHook, DalModuleLoadUnitHook, MysqlDataSourceManager, SqlMapManager, TableModelManager, TransactionPrototypeHook, } from '@eggjs/dal-plugin';
9
1
  import { EggModuleLoader } from "./EggModuleLoader.js";
10
- import { StandaloneLoadUnit, StandaloneLoadUnitType } from "./StandaloneLoadUnit.js";
2
+ import { ConfigSourceLoadUnitHook } from "./ConfigSourceLoadUnitHook.js";
11
3
  import { StandaloneContext } from "./StandaloneContext.js";
12
4
  import { StandaloneContextHandler } from "./StandaloneContextHandler.js";
13
- import { ConfigSourceLoadUnitHook } from "./ConfigSourceLoadUnitHook.js";
14
- export class Runner {
15
- cwd;
16
- moduleReferences;
17
- moduleConfigs;
18
- env;
19
- name;
20
- options;
21
- loadUnitLoader;
22
- runnerProto;
23
- configSourceEggPrototypeHook;
24
- loadUnitMultiInstanceProtoHook;
25
- dalTableEggPrototypeHook;
26
- dalModuleLoadUnitHook;
27
- transactionPrototypeHook;
28
- crosscutAdviceFactory;
29
- loadUnitAopHook;
30
- eggPrototypeCrossCutHook;
31
- eggObjectAopHook;
32
- loadUnits = [];
33
- loadUnitInstances = [];
34
- innerObjects;
35
- constructor(cwd, options) {
36
- this.cwd = cwd;
37
- this.env = options?.env;
38
- this.name = options?.name;
39
- this.options = options;
40
- this.moduleReferences = Runner.getModuleReferences(this.cwd, options?.dependencies);
41
- this.moduleConfigs = {};
42
- this.innerObjects = {
43
- moduleConfigs: [
44
- {
45
- obj: new ModuleConfigs(this.moduleConfigs),
46
- },
47
- ],
48
- moduleConfig: [],
49
- };
50
- const runtimeConfig = {
51
- baseDir: this.cwd,
52
- name: this.name,
53
- env: this.env,
54
- };
55
- // Inject runtimeConfig
56
- this.innerObjects.runtimeConfig = [
57
- {
58
- obj: runtimeConfig,
59
- },
60
- ];
61
- // load module.yml and module.env.yml by default
62
- if (!ModuleConfigUtil.configNames) {
63
- ModuleConfigUtil.configNames = ['module.default', `module.${this.env}`];
64
- }
65
- for (const reference of this.moduleReferences) {
66
- const absoluteRef = {
67
- path: ModuleConfigUtil.resolveModuleDir(reference.path, this.cwd),
68
- name: reference.name,
69
- };
70
- const moduleName = ModuleConfigUtil.readModuleNameSync(absoluteRef.path);
71
- this.moduleConfigs[moduleName] = {
72
- name: moduleName,
73
- reference: absoluteRef,
74
- config: ModuleConfigUtil.loadModuleConfigSync(absoluteRef.path),
75
- };
76
- }
77
- for (const moduleConfig of Object.values(this.moduleConfigs)) {
78
- this.innerObjects.moduleConfig.push({
79
- obj: moduleConfig.config,
80
- qualifiers: [
81
- {
82
- attribute: ConfigSourceQualifierAttribute,
83
- value: moduleConfig.name,
84
- },
85
- ],
86
- });
87
- }
88
- if (options?.innerObjects) {
89
- for (const [name, obj] of Object.entries(options.innerObjects)) {
90
- this.innerObjects[name] = [
91
- {
92
- obj,
93
- },
94
- ];
95
- }
96
- }
97
- else if (options?.innerObjectHandlers) {
98
- Object.assign(this.innerObjects, options.innerObjectHandlers);
99
- }
100
- }
101
- async load() {
102
- StandaloneContextHandler.register();
103
- LoadUnitFactory.registerLoadUnitCreator(StandaloneLoadUnitType, () => {
104
- return new StandaloneLoadUnit(this.innerObjects);
105
- });
106
- LoadUnitInstanceFactory.registerLoadUnitInstanceClass(StandaloneLoadUnitType, ModuleLoadUnitInstance.createModuleLoadUnitInstance);
107
- const standaloneLoadUnit = await LoadUnitFactory.createLoadUnit('MockStandaloneLoadUnitPath', StandaloneLoadUnitType, {
108
- async load() {
109
- return [];
110
- },
111
- });
112
- const loadUnits = await this.loadUnitLoader.load();
113
- return [standaloneLoadUnit, ...loadUnits];
114
- }
115
- static getModuleReferences(cwd, dependencies) {
116
- const moduleDirs = (dependencies || []).concat(cwd);
117
- return moduleDirs.reduce((list, baseDir) => {
118
- const module = typeof baseDir === 'string' ? { baseDir } : baseDir;
119
- return list.concat(...ModuleConfigUtil.readModuleReference(module.baseDir, module));
120
- }, []);
121
- }
122
- static async preLoad(cwd, dependencies) {
123
- const moduleReferences = Runner.getModuleReferences(cwd, dependencies);
124
- await EggModuleLoader.preLoad(moduleReferences, {
125
- baseDir: cwd,
126
- logger: console,
127
- dump: false,
128
- });
129
- }
130
- async initLoaderInstance() {
131
- this.loadUnitLoader = new EggModuleLoader(this.moduleReferences, {
132
- logger: (this.innerObjects.logger && this.innerObjects.logger[0])?.obj || console,
133
- baseDir: this.cwd,
134
- dump: this.options?.dump,
135
- });
136
- await this.loadUnitLoader.init();
137
- GlobalGraph.instance.registerBuildHook(crossCutGraphHook);
138
- GlobalGraph.instance.registerBuildHook(pointCutGraphHook);
139
- const configSourceEggPrototypeHook = new ConfigSourceLoadUnitHook();
140
- LoadUnitLifecycleUtil.registerLifecycle(configSourceEggPrototypeHook);
141
- // TODO refactor with egg module
142
- // aop runtime
143
- this.crosscutAdviceFactory = new CrosscutAdviceFactory();
144
- this.loadUnitAopHook = new LoadUnitAopHook(this.crosscutAdviceFactory);
145
- this.eggPrototypeCrossCutHook = new EggPrototypeCrossCutHook(this.crosscutAdviceFactory);
146
- this.eggObjectAopHook = new EggObjectAopHook();
147
- EggPrototypeLifecycleUtil.registerLifecycle(this.eggPrototypeCrossCutHook);
148
- LoadUnitLifecycleUtil.registerLifecycle(this.loadUnitAopHook);
149
- EggObjectLifecycleUtil.registerLifecycle(this.eggObjectAopHook);
150
- this.loadUnitMultiInstanceProtoHook = new LoadUnitMultiInstanceProtoHook();
151
- LoadUnitLifecycleUtil.registerLifecycle(this.loadUnitMultiInstanceProtoHook);
152
- const loggerInnerObject = this.innerObjects.logger && this.innerObjects.logger[0];
153
- const logger = (loggerInnerObject?.obj || console);
154
- this.dalModuleLoadUnitHook = new DalModuleLoadUnitHook(this.env ?? '', this.moduleConfigs, logger);
155
- this.dalTableEggPrototypeHook = new DalTableEggPrototypeHook(logger);
156
- this.transactionPrototypeHook = new TransactionPrototypeHook(this.moduleConfigs, logger);
157
- EggPrototypeLifecycleUtil.registerLifecycle(this.dalTableEggPrototypeHook);
158
- EggPrototypeLifecycleUtil.registerLifecycle(this.transactionPrototypeHook);
159
- LoadUnitLifecycleUtil.registerLifecycle(this.dalModuleLoadUnitHook);
160
- }
161
- async init() {
162
- await this.initLoaderInstance();
163
- this.loadUnits = await this.load();
164
- const instances = [];
165
- for (const loadUnit of this.loadUnits) {
166
- const instance = await LoadUnitInstanceFactory.createLoadUnitInstance(loadUnit);
167
- instances.push(instance);
168
- }
169
- this.loadUnitInstances = instances;
170
- const runnerClass = StandaloneUtil.getMainRunner();
171
- if (!runnerClass) {
172
- throw new Error('not found runner class. Do you add @Runner decorator?');
173
- }
174
- const proto = PrototypeUtil.getClazzProto(runnerClass);
175
- if (!proto) {
176
- throw new Error(`can not get proto for clazz ${runnerClass.name}`);
177
- }
178
- this.runnerProto = proto;
179
- }
180
- async run(aCtx) {
181
- const lifecycle = {};
182
- const ctx = aCtx || new StandaloneContext();
183
- return await ContextHandler.run(ctx, async () => {
184
- if (ctx.init) {
185
- await ctx.init(lifecycle);
186
- }
187
- const eggObject = await EggContainerFactory.getOrCreateEggObject(this.runnerProto);
188
- const runner = eggObject.obj;
189
- try {
190
- return await runner.main();
191
- }
192
- finally {
193
- if (ctx.destroy) {
194
- ctx.destroy(lifecycle).catch((e) => {
195
- e.message = `[tegg/standalone] destroy tegg context failed: ${e.message}`;
196
- console.warn(e);
197
- });
198
- }
199
- }
200
- });
201
- }
202
- async destroy() {
203
- if (this.loadUnitInstances) {
204
- for (const instance of this.loadUnitInstances) {
205
- await LoadUnitInstanceFactory.destroyLoadUnitInstance(instance);
206
- }
207
- }
208
- if (this.loadUnits) {
209
- for (const loadUnit of this.loadUnits) {
210
- await LoadUnitFactory.destroyLoadUnit(loadUnit);
211
- }
212
- }
213
- if (this.configSourceEggPrototypeHook) {
214
- LoadUnitLifecycleUtil.deleteLifecycle(this.configSourceEggPrototypeHook);
215
- }
216
- if (this.eggPrototypeCrossCutHook) {
217
- EggPrototypeLifecycleUtil.deleteLifecycle(this.eggPrototypeCrossCutHook);
218
- }
219
- if (this.loadUnitAopHook) {
220
- LoadUnitLifecycleUtil.deleteLifecycle(this.loadUnitAopHook);
221
- }
222
- if (this.eggObjectAopHook) {
223
- EggObjectLifecycleUtil.deleteLifecycle(this.eggObjectAopHook);
224
- }
225
- if (this.loadUnitMultiInstanceProtoHook) {
226
- LoadUnitLifecycleUtil.deleteLifecycle(this.loadUnitMultiInstanceProtoHook);
227
- }
228
- if (this.dalTableEggPrototypeHook) {
229
- EggPrototypeLifecycleUtil.deleteLifecycle(this.dalTableEggPrototypeHook);
230
- }
231
- if (this.dalModuleLoadUnitHook) {
232
- LoadUnitLifecycleUtil.deleteLifecycle(this.dalModuleLoadUnitHook);
233
- }
234
- if (this.transactionPrototypeHook) {
235
- EggPrototypeLifecycleUtil.deleteLifecycle(this.transactionPrototypeHook);
236
- }
237
- MysqlDataSourceManager.instance.clear();
238
- SqlMapManager.instance.clear();
239
- TableModelManager.instance.clear();
240
- // clear configNames
241
- ModuleConfigUtil.setConfigNames(undefined);
242
- }
243
- }
244
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnVubmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1J1bm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZ0JBQWdCLEdBSWpCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUVMLHlCQUF5QixFQUN6QixXQUFXLEVBRVgsZUFBZSxFQUNmLHFCQUFxQixFQUNyQiw4QkFBOEIsR0FDL0IsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQ0wsY0FBYyxFQUNkLG1CQUFtQixFQUVuQixzQkFBc0IsRUFFdEIsdUJBQXVCLEVBQ3ZCLHNCQUFzQixHQUN2QixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFFTCxhQUFhLEVBRWIsYUFBYSxFQUNiLDhCQUE4QixHQUUvQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsY0FBYyxFQUFtQixNQUFNLHdCQUF3QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLHdCQUF3QixFQUN4QixlQUFlLEVBQ2YsaUJBQWlCLEdBQ2xCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsd0JBQXdCLEdBQ3pCLE1BQU0sbUJBQW1CLENBQUM7QUFFM0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBb0Isa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsd0JB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
5
+ import { StandaloneLoadUnit, StandaloneLoadUnitType } from "./StandaloneLoadUnit.js";
6
+ import { EggPrototypeLifecycleUtil, GlobalGraph, LoadUnitFactory, LoadUnitLifecycleUtil, LoadUnitMultiInstanceProtoHook } from "@eggjs/metadata";
7
+ import { EggObjectAopHook, EggPrototypeCrossCutHook, LoadUnitAopHook, crossCutGraphHook, pointCutGraphHook } from "@eggjs/aop-runtime";
8
+ import { DalModuleLoadUnitHook, DalTableEggPrototypeHook, MysqlDataSourceManager, SqlMapManager, TableModelManager, TransactionPrototypeHook } from "@eggjs/dal-plugin";
9
+ import { ConfigSourceQualifierAttribute, ModuleConfigs, PrototypeUtil } from "@eggjs/tegg";
10
+ import { ModuleConfigUtil } from "@eggjs/tegg-common-util";
11
+ import { ContextHandler, EggContainerFactory, EggObjectLifecycleUtil, LoadUnitInstanceFactory, ModuleLoadUnitInstance } from "@eggjs/tegg-runtime";
12
+ import { CrosscutAdviceFactory } from "@eggjs/tegg/aop";
13
+ import { StandaloneUtil } from "@eggjs/tegg/standalone";
14
+
15
+ //#region src/Runner.ts
16
+ var Runner = class Runner {
17
+ cwd;
18
+ moduleReferences;
19
+ moduleConfigs;
20
+ env;
21
+ name;
22
+ options;
23
+ loadUnitLoader;
24
+ runnerProto;
25
+ configSourceEggPrototypeHook;
26
+ loadUnitMultiInstanceProtoHook;
27
+ dalTableEggPrototypeHook;
28
+ dalModuleLoadUnitHook;
29
+ transactionPrototypeHook;
30
+ crosscutAdviceFactory;
31
+ loadUnitAopHook;
32
+ eggPrototypeCrossCutHook;
33
+ eggObjectAopHook;
34
+ loadUnits = [];
35
+ loadUnitInstances = [];
36
+ innerObjects;
37
+ constructor(cwd, options) {
38
+ this.cwd = cwd;
39
+ this.env = options?.env;
40
+ this.name = options?.name;
41
+ this.options = options;
42
+ this.moduleReferences = Runner.getModuleReferences(this.cwd, options?.dependencies);
43
+ this.moduleConfigs = {};
44
+ this.innerObjects = {
45
+ moduleConfigs: [{ obj: new ModuleConfigs(this.moduleConfigs) }],
46
+ moduleConfig: []
47
+ };
48
+ const runtimeConfig = {
49
+ baseDir: this.cwd,
50
+ name: this.name,
51
+ env: this.env
52
+ };
53
+ this.innerObjects.runtimeConfig = [{ obj: runtimeConfig }];
54
+ if (!ModuleConfigUtil.configNames) ModuleConfigUtil.configNames = ["module.default", `module.${this.env}`];
55
+ for (const reference of this.moduleReferences) {
56
+ const absoluteRef = {
57
+ path: ModuleConfigUtil.resolveModuleDir(reference.path, this.cwd),
58
+ name: reference.name
59
+ };
60
+ const moduleName = ModuleConfigUtil.readModuleNameSync(absoluteRef.path);
61
+ this.moduleConfigs[moduleName] = {
62
+ name: moduleName,
63
+ reference: absoluteRef,
64
+ config: ModuleConfigUtil.loadModuleConfigSync(absoluteRef.path)
65
+ };
66
+ }
67
+ for (const moduleConfig of Object.values(this.moduleConfigs)) this.innerObjects.moduleConfig.push({
68
+ obj: moduleConfig.config,
69
+ qualifiers: [{
70
+ attribute: ConfigSourceQualifierAttribute,
71
+ value: moduleConfig.name
72
+ }]
73
+ });
74
+ if (options?.innerObjects) for (const [name, obj] of Object.entries(options.innerObjects)) this.innerObjects[name] = [{ obj }];
75
+ else if (options?.innerObjectHandlers) Object.assign(this.innerObjects, options.innerObjectHandlers);
76
+ }
77
+ async load() {
78
+ StandaloneContextHandler.register();
79
+ LoadUnitFactory.registerLoadUnitCreator(StandaloneLoadUnitType, () => {
80
+ return new StandaloneLoadUnit(this.innerObjects);
81
+ });
82
+ LoadUnitInstanceFactory.registerLoadUnitInstanceClass(StandaloneLoadUnitType, ModuleLoadUnitInstance.createModuleLoadUnitInstance);
83
+ return [await LoadUnitFactory.createLoadUnit("MockStandaloneLoadUnitPath", StandaloneLoadUnitType, { async load() {
84
+ return [];
85
+ } }), ...await this.loadUnitLoader.load()];
86
+ }
87
+ static getModuleReferences(cwd, dependencies) {
88
+ return (dependencies || []).concat(cwd).reduce((list, baseDir) => {
89
+ const module = typeof baseDir === "string" ? { baseDir } : baseDir;
90
+ return list.concat(...ModuleConfigUtil.readModuleReference(module.baseDir, module));
91
+ }, []);
92
+ }
93
+ static async preLoad(cwd, dependencies) {
94
+ const moduleReferences = Runner.getModuleReferences(cwd, dependencies);
95
+ await EggModuleLoader.preLoad(moduleReferences, {
96
+ baseDir: cwd,
97
+ logger: console,
98
+ dump: false
99
+ });
100
+ }
101
+ async initLoaderInstance() {
102
+ this.loadUnitLoader = new EggModuleLoader(this.moduleReferences, {
103
+ logger: (this.innerObjects.logger && this.innerObjects.logger[0])?.obj || console,
104
+ baseDir: this.cwd,
105
+ dump: this.options?.dump
106
+ });
107
+ await this.loadUnitLoader.init();
108
+ GlobalGraph.instance.registerBuildHook(crossCutGraphHook);
109
+ GlobalGraph.instance.registerBuildHook(pointCutGraphHook);
110
+ const configSourceEggPrototypeHook = new ConfigSourceLoadUnitHook();
111
+ LoadUnitLifecycleUtil.registerLifecycle(configSourceEggPrototypeHook);
112
+ this.crosscutAdviceFactory = new CrosscutAdviceFactory();
113
+ this.loadUnitAopHook = new LoadUnitAopHook(this.crosscutAdviceFactory);
114
+ this.eggPrototypeCrossCutHook = new EggPrototypeCrossCutHook(this.crosscutAdviceFactory);
115
+ this.eggObjectAopHook = new EggObjectAopHook();
116
+ EggPrototypeLifecycleUtil.registerLifecycle(this.eggPrototypeCrossCutHook);
117
+ LoadUnitLifecycleUtil.registerLifecycle(this.loadUnitAopHook);
118
+ EggObjectLifecycleUtil.registerLifecycle(this.eggObjectAopHook);
119
+ this.loadUnitMultiInstanceProtoHook = new LoadUnitMultiInstanceProtoHook();
120
+ LoadUnitLifecycleUtil.registerLifecycle(this.loadUnitMultiInstanceProtoHook);
121
+ const logger = (this.innerObjects.logger && this.innerObjects.logger[0])?.obj || console;
122
+ this.dalModuleLoadUnitHook = new DalModuleLoadUnitHook(this.env ?? "", this.moduleConfigs, logger);
123
+ this.dalTableEggPrototypeHook = new DalTableEggPrototypeHook(logger);
124
+ this.transactionPrototypeHook = new TransactionPrototypeHook(this.moduleConfigs, logger);
125
+ EggPrototypeLifecycleUtil.registerLifecycle(this.dalTableEggPrototypeHook);
126
+ EggPrototypeLifecycleUtil.registerLifecycle(this.transactionPrototypeHook);
127
+ LoadUnitLifecycleUtil.registerLifecycle(this.dalModuleLoadUnitHook);
128
+ }
129
+ async init() {
130
+ await this.initLoaderInstance();
131
+ this.loadUnits = await this.load();
132
+ const instances = [];
133
+ for (const loadUnit of this.loadUnits) {
134
+ const instance = await LoadUnitInstanceFactory.createLoadUnitInstance(loadUnit);
135
+ instances.push(instance);
136
+ }
137
+ this.loadUnitInstances = instances;
138
+ const runnerClass = StandaloneUtil.getMainRunner();
139
+ if (!runnerClass) throw new Error("not found runner class. Do you add @Runner decorator?");
140
+ const proto = PrototypeUtil.getClazzProto(runnerClass);
141
+ if (!proto) throw new Error(`can not get proto for clazz ${runnerClass.name}`);
142
+ this.runnerProto = proto;
143
+ }
144
+ async run(aCtx) {
145
+ const lifecycle = {};
146
+ const ctx = aCtx || new StandaloneContext();
147
+ return await ContextHandler.run(ctx, async () => {
148
+ if (ctx.init) await ctx.init(lifecycle);
149
+ const runner = (await EggContainerFactory.getOrCreateEggObject(this.runnerProto)).obj;
150
+ try {
151
+ return await runner.main();
152
+ } finally {
153
+ if (ctx.destroy) ctx.destroy(lifecycle).catch((e) => {
154
+ e.message = `[tegg/standalone] destroy tegg context failed: ${e.message}`;
155
+ console.warn(e);
156
+ });
157
+ }
158
+ });
159
+ }
160
+ async destroy() {
161
+ if (this.loadUnitInstances) for (const instance of this.loadUnitInstances) await LoadUnitInstanceFactory.destroyLoadUnitInstance(instance);
162
+ if (this.loadUnits) for (const loadUnit of this.loadUnits) await LoadUnitFactory.destroyLoadUnit(loadUnit);
163
+ if (this.configSourceEggPrototypeHook) LoadUnitLifecycleUtil.deleteLifecycle(this.configSourceEggPrototypeHook);
164
+ if (this.eggPrototypeCrossCutHook) EggPrototypeLifecycleUtil.deleteLifecycle(this.eggPrototypeCrossCutHook);
165
+ if (this.loadUnitAopHook) LoadUnitLifecycleUtil.deleteLifecycle(this.loadUnitAopHook);
166
+ if (this.eggObjectAopHook) EggObjectLifecycleUtil.deleteLifecycle(this.eggObjectAopHook);
167
+ if (this.loadUnitMultiInstanceProtoHook) LoadUnitLifecycleUtil.deleteLifecycle(this.loadUnitMultiInstanceProtoHook);
168
+ if (this.dalTableEggPrototypeHook) EggPrototypeLifecycleUtil.deleteLifecycle(this.dalTableEggPrototypeHook);
169
+ if (this.dalModuleLoadUnitHook) LoadUnitLifecycleUtil.deleteLifecycle(this.dalModuleLoadUnitHook);
170
+ if (this.transactionPrototypeHook) EggPrototypeLifecycleUtil.deleteLifecycle(this.transactionPrototypeHook);
171
+ MysqlDataSourceManager.instance.clear();
172
+ SqlMapManager.instance.clear();
173
+ TableModelManager.instance.clear();
174
+ ModuleConfigUtil.setConfigNames(void 0);
175
+ }
176
+ };
177
+
178
+ //#endregion
179
+ export { Runner };
@@ -1,5 +1,9 @@
1
- import { AbstractEggContext } from '@eggjs/tegg-runtime';
2
- export declare class StandaloneContext extends AbstractEggContext {
3
- id: string;
4
- constructor();
1
+ import { AbstractEggContext } from "@eggjs/tegg-runtime";
2
+
3
+ //#region src/StandaloneContext.d.ts
4
+ declare class StandaloneContext extends AbstractEggContext {
5
+ id: string;
6
+ constructor();
5
7
  }
8
+ //#endregion
9
+ export { StandaloneContext };
@@ -1,10 +1,14 @@
1
- import { AbstractEggContext } from '@eggjs/tegg-runtime';
2
- import { IdenticalUtil } from '@eggjs/lifecycle';
3
- export class StandaloneContext extends AbstractEggContext {
4
- id;
5
- constructor() {
6
- super();
7
- this.id = IdenticalUtil.createContextId();
8
- }
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhbmRhbG9uZUNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvU3RhbmRhbG9uZUNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxrQkFBa0I7SUFDdkQsRUFBRSxDQUFTO0lBRVg7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxFQUFFLEdBQUcsYUFBYSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzVDLENBQUM7Q0FDRiJ9
1
+ import { AbstractEggContext } from "@eggjs/tegg-runtime";
2
+ import { IdenticalUtil } from "@eggjs/lifecycle";
3
+
4
+ //#region src/StandaloneContext.ts
5
+ var StandaloneContext = class extends AbstractEggContext {
6
+ id;
7
+ constructor() {
8
+ super();
9
+ this.id = IdenticalUtil.createContextId();
10
+ }
11
+ };
12
+
13
+ //#endregion
14
+ export { StandaloneContext };
@@ -1,14 +1,18 @@
1
- import { AsyncLocalStorage } from 'node:async_hooks';
2
- import { ContextHandler } from '@eggjs/tegg-runtime';
3
- export class StandaloneContextHandler {
4
- static storage = new AsyncLocalStorage();
5
- static register() {
6
- ContextHandler.getContextCallback = () => {
7
- return StandaloneContextHandler.storage.getStore();
8
- };
9
- ContextHandler.runInContextCallback = (context, fn) => {
10
- return StandaloneContextHandler.storage.run(context, fn);
11
- };
12
- }
13
- }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhbmRhbG9uZUNvbnRleHRIYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1N0YW5kYWxvbmVDb250ZXh0SGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsY0FBYyxFQUFtQixNQUFNLHFCQUFxQixDQUFDO0FBRXRFLE1BQU0sT0FBTyx3QkFBd0I7SUFDbkMsTUFBTSxDQUFDLE9BQU8sR0FBa0MsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO0lBRXhFLE1BQU0sQ0FBQyxRQUFRO1FBQ2IsY0FBYyxDQUFDLGtCQUFrQixHQUFHLEdBQUcsRUFBRTtZQUN2QyxPQUFPLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNyRCxDQUFDLENBQUM7UUFFRixjQUFjLENBQUMsb0JBQW9CLEdBQUcsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUU7WUFDcEQsT0FBTyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMzRCxDQUFDLENBQUM7SUFDSixDQUFDIn0=
1
+ import { ContextHandler } from "@eggjs/tegg-runtime";
2
+ import { AsyncLocalStorage } from "node:async_hooks";
3
+
4
+ //#region src/StandaloneContextHandler.ts
5
+ var StandaloneContextHandler = class StandaloneContextHandler {
6
+ static storage = new AsyncLocalStorage();
7
+ static register() {
8
+ ContextHandler.getContextCallback = () => {
9
+ return StandaloneContextHandler.storage.getStore();
10
+ };
11
+ ContextHandler.runInContextCallback = (context, fn) => {
12
+ return StandaloneContextHandler.storage.run(context, fn);
13
+ };
14
+ }
15
+ };
16
+
17
+ //#endregion
18
+ export { StandaloneContextHandler };
@@ -1,15 +1,19 @@
1
- import { type EggObject } from '@eggjs/tegg-runtime';
2
- import { type EggObjectName } from '@eggjs/tegg';
3
- import type { EggPrototype } from '@eggjs/metadata';
4
- import { StandaloneInnerObjectProto } from './StandaloneInnerObjectProto.ts';
5
- export declare class StandaloneInnerObject implements EggObject {
6
- #private;
7
- readonly isReady: boolean;
8
- readonly proto: StandaloneInnerObjectProto;
9
- readonly name: EggObjectName;
10
- readonly id: string;
11
- constructor(name: EggObjectName, proto: StandaloneInnerObjectProto);
12
- get obj(): object;
13
- injectProperty(): void;
14
- static createObject(name: EggObjectName, proto: EggPrototype): Promise<StandaloneInnerObject>;
1
+ import { StandaloneInnerObjectProto } from "./StandaloneInnerObjectProto.js";
2
+ import { EggPrototype } from "@eggjs/metadata";
3
+ import { EggObjectName } from "@eggjs/tegg";
4
+ import { EggObject } from "@eggjs/tegg-runtime";
5
+
6
+ //#region src/StandaloneInnerObject.d.ts
7
+ declare class StandaloneInnerObject implements EggObject {
8
+ #private;
9
+ readonly isReady: boolean;
10
+ readonly proto: StandaloneInnerObjectProto;
11
+ readonly name: EggObjectName;
12
+ readonly id: string;
13
+ constructor(name: EggObjectName, proto: StandaloneInnerObjectProto);
14
+ get obj(): object;
15
+ injectProperty(): void;
16
+ static createObject(name: EggObjectName, proto: EggPrototype): Promise<StandaloneInnerObject>;
15
17
  }
18
+ //#endregion
19
+ export { StandaloneInnerObject };
@@ -1,29 +1,29 @@
1
- import { EggObjectFactory } from '@eggjs/tegg-runtime';
2
- import { IdenticalUtil } from '@eggjs/tegg';
3
1
  import { StandaloneInnerObjectProto } from "./StandaloneInnerObjectProto.js";
4
- export class StandaloneInnerObject {
5
- isReady = true;
6
- #obj;
7
- proto;
8
- name;
9
- id;
10
- constructor(name, proto) {
11
- this.proto = proto;
12
- this.name = name;
13
- this.id = IdenticalUtil.createObjectId(this.proto.id);
14
- }
15
- get obj() {
16
- if (!this.#obj) {
17
- this.#obj = this.proto.constructEggObject();
18
- }
19
- return this.#obj;
20
- }
21
- injectProperty() {
22
- return;
23
- }
24
- static async createObject(name, proto) {
25
- return new StandaloneInnerObject(name, proto);
26
- }
27
- }
2
+ import { IdenticalUtil } from "@eggjs/tegg";
3
+ import { EggObjectFactory } from "@eggjs/tegg-runtime";
4
+
5
+ //#region src/StandaloneInnerObject.ts
6
+ var StandaloneInnerObject = class StandaloneInnerObject {
7
+ isReady = true;
8
+ #obj;
9
+ proto;
10
+ name;
11
+ id;
12
+ constructor(name, proto) {
13
+ this.proto = proto;
14
+ this.name = name;
15
+ this.id = IdenticalUtil.createObjectId(this.proto.id);
16
+ }
17
+ get obj() {
18
+ if (!this.#obj) this.#obj = this.proto.constructEggObject();
19
+ return this.#obj;
20
+ }
21
+ injectProperty() {}
22
+ static async createObject(name, proto) {
23
+ return new StandaloneInnerObject(name, proto);
24
+ }
25
+ };
28
26
  EggObjectFactory.registerEggObjectCreateMethod(StandaloneInnerObjectProto, StandaloneInnerObject.createObject);
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhbmRhbG9uZUlubmVyT2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1N0YW5kYWxvbmVJbm5lck9iamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtCLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBc0IsTUFBTSxhQUFhLENBQUM7QUFHaEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFN0UsTUFBTSxPQUFPLHFCQUFxQjtJQUN2QixPQUFPLEdBQVksSUFBSSxDQUFDO0lBQ2pDLElBQUksQ0FBUztJQUNKLEtBQUssQ0FBNkI7SUFDbEMsSUFBSSxDQUFnQjtJQUNwQixFQUFFLENBQVM7SUFFcEIsWUFBWSxJQUFtQixFQUFFLEtBQWlDO1FBQ2hFLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxFQUFFLEdBQUcsYUFBYSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDOUMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU87SUFDVCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBbUIsRUFBRSxLQUFtQjtRQUNoRSxPQUFPLElBQUkscUJBQXFCLENBQUMsSUFBSSxFQUFFLEtBQW1DLENBQUMsQ0FBQztJQUM5RSxDQUFDO0NBQ0Y7QUFFRCxnQkFBZ0IsQ0FBQyw2QkFBNkIsQ0FBQywwQkFBMEIsRUFBRSxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyJ9
27
+
28
+ //#endregion
29
+ export { StandaloneInnerObject };