@eggjs/tegg-standalone 4.0.0-beta.8 → 4.0.0-beta.9

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.
@@ -0,0 +1,9 @@
1
+ import { type LoadUnit, type LoadUnitLifecycleContext } from '@eggjs/tegg-metadata';
2
+ import { type LifecycleHook } from '@eggjs/tegg';
3
+ /**
4
+ * Hook for inject moduleConfig.
5
+ * Add default qualifier value is current module name.
6
+ */
7
+ export declare class ConfigSourceLoadUnitHook implements LifecycleHook<LoadUnitLifecycleContext, LoadUnit> {
8
+ preCreate(ctx: LoadUnitLifecycleContext, loadUnit: LoadUnit): Promise<void>;
9
+ }
@@ -0,0 +1,20 @@
1
+ import {} from '@eggjs/tegg-metadata';
2
+ import { PrototypeUtil, QualifierUtil, ConfigSourceQualifier, ConfigSourceQualifierAttribute, } from '@eggjs/tegg';
3
+ /**
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZmlnU291cmNlTG9hZFVuaXRIb29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0NvbmZpZ1NvdXJjZUxvYWRVbml0SG9vay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdELE1BQU0sc0JBQXNCLENBQUM7QUFDcEYsT0FBTyxFQUVMLGFBQWEsRUFDYixhQUFhLEVBQ2IscUJBQXFCLEVBQ3JCLDhCQUE4QixHQUMvQixNQUFNLGFBQWEsQ0FBQztBQUVyQjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBNkIsRUFBRSxRQUFrQjtRQUMvRCxNQUFNLFNBQVMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUMsS0FBSyxNQUFNLEtBQUssSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUM5QixNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUQsTUFBTSxrQkFBa0IsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxjQUFjLENBQUMsQ0FBQztZQUNqRixNQUFNLHFCQUFxQixHQUFHLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsY0FBYyxFQUFFLDhCQUE4QixDQUFDLENBQUM7WUFDdEgsSUFBSSxrQkFBa0IsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7Z0JBQ2pELHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BGLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGIn0=
@@ -0,0 +1,18 @@
1
+ import { type LoadUnit } from '@eggjs/tegg-metadata';
2
+ import type { ModuleReference } from '@eggjs/tegg-common-util';
3
+ import type { Logger } from '@eggjs/tegg';
4
+ export interface EggModuleLoaderOptions {
5
+ logger: Logger;
6
+ baseDir: string;
7
+ dump?: boolean;
8
+ }
9
+ export declare class EggModuleLoader {
10
+ private moduleReferences;
11
+ private globalGraph;
12
+ private options;
13
+ constructor(moduleReferences: readonly ModuleReference[], options: EggModuleLoaderOptions);
14
+ init(): Promise<void>;
15
+ private static generateAppGraph;
16
+ load(): Promise<LoadUnit[]>;
17
+ static preLoad(moduleReferences: readonly ModuleReference[], options: EggModuleLoaderOptions): Promise<void>;
18
+ }
@@ -0,0 +1,59 @@
1
+ import { EggLoadUnitType, GlobalGraph, LoadUnitFactory, ModuleDescriptorDumper, } from '@eggjs/tegg-metadata';
2
+ import { LoaderFactory } from '@eggjs/tegg-loader';
3
+ export class EggModuleLoader {
4
+ moduleReferences;
5
+ globalGraph;
6
+ options;
7
+ constructor(moduleReferences, options) {
8
+ this.moduleReferences = moduleReferences;
9
+ this.options = options;
10
+ }
11
+ async init() {
12
+ GlobalGraph.instance = this.globalGraph = await EggModuleLoader.generateAppGraph(this.moduleReferences, this.options);
13
+ }
14
+ static async generateAppGraph(moduleReferences, options) {
15
+ const moduleDescriptors = await LoaderFactory.loadApp(moduleReferences);
16
+ if (options.dump !== false) {
17
+ for (const moduleDescriptor of moduleDescriptors) {
18
+ ModuleDescriptorDumper.dump(moduleDescriptor, {
19
+ dumpDir: options.baseDir,
20
+ }).catch(e => {
21
+ e.message = 'dump module descriptor failed: ' + e.message;
22
+ options.logger.warn(e);
23
+ });
24
+ }
25
+ }
26
+ const globalGraph = await GlobalGraph.create(moduleDescriptors);
27
+ return globalGraph;
28
+ }
29
+ async load() {
30
+ const loadUnits = [];
31
+ this.globalGraph.build();
32
+ this.globalGraph.sort();
33
+ const moduleConfigList = GlobalGraph.instance.moduleConfigList;
34
+ for (const moduleConfig of moduleConfigList) {
35
+ const modulePath = moduleConfig.path;
36
+ const loader = LoaderFactory.createLoader(modulePath, EggLoadUnitType.MODULE);
37
+ const loadUnit = await LoadUnitFactory.createLoadUnit(modulePath, EggLoadUnitType.MODULE, loader);
38
+ loadUnits.push(loadUnit);
39
+ }
40
+ return loadUnits;
41
+ }
42
+ static async preLoad(moduleReferences, options) {
43
+ const loadUnits = [];
44
+ const loaderCache = new Map();
45
+ const globalGraph = GlobalGraph.instance = await EggModuleLoader.generateAppGraph(moduleReferences, options);
46
+ globalGraph.sort();
47
+ const moduleConfigList = globalGraph.moduleConfigList;
48
+ for (const moduleConfig of moduleConfigList) {
49
+ const modulePath = moduleConfig.path;
50
+ const loader = loaderCache.get(modulePath);
51
+ const loadUnit = await LoadUnitFactory.createPreloadLoadUnit(modulePath, EggLoadUnitType.MODULE, loader);
52
+ loadUnits.push(loadUnit);
53
+ }
54
+ for (const load of loadUnits) {
55
+ await load.preLoad?.();
56
+ }
57
+ }
58
+ }
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnTW9kdWxlTG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0VnZ01vZHVsZUxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZUFBZSxFQUNmLFdBQVcsRUFHWCxlQUFlLEVBQ2Ysc0JBQXNCLEdBQ3ZCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBVW5ELE1BQU0sT0FBTyxlQUFlO0lBQ2xCLGdCQUFnQixDQUE2QjtJQUM3QyxXQUFXLENBQWM7SUFDekIsT0FBTyxDQUF5QjtJQUV4QyxZQUFZLGdCQUE0QyxFQUFFLE9BQStCO1FBQ3ZGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUN6QyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUk7UUFDUixXQUFXLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxlQUFlLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4SCxDQUFDO0lBRU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBNEMsRUFBRSxPQUErQjtRQUNqSCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sYUFBYSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3hFLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUMzQixLQUFLLE1BQU0sZ0JBQWdCLElBQUksaUJBQWlCLEVBQUUsQ0FBQztnQkFDakQsc0JBQXNCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO29CQUM1QyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87aUJBQ3pCLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ1gsQ0FBQyxDQUFDLE9BQU8sR0FBRyxpQ0FBaUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDO29CQUMxRCxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDekIsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUNELE1BQU0sV0FBVyxHQUFHLE1BQU0sV0FBVyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2hFLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSTtRQUNSLE1BQU0sU0FBUyxHQUFlLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDeEIsTUFBTSxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsUUFBUyxDQUFDLGdCQUFnQixDQUFDO1FBQ2hFLEtBQUssTUFBTSxZQUFZLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUM1QyxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQ3JDLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM5RSxNQUFNLFFBQVEsR0FBRyxNQUFNLGVBQWUsQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDbEcsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGdCQUE0QyxFQUFFLE9BQStCO1FBQ2hHLE1BQU0sU0FBUyxHQUFlLEVBQUUsQ0FBQztRQUNqQyxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztRQUM5QyxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsUUFBUSxHQUFHLE1BQU0sZUFBZSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzdHLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuQixNQUFNLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQztRQUN0RCxLQUFLLE1BQU0sWUFBWSxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDNUMsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQztZQUNyQyxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBRSxDQUFDO1lBQzVDLE1BQU0sUUFBUSxHQUFHLE1BQU0sZUFBZSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsRUFBRSxlQUFlLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3pHLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUNELEtBQUssTUFBTSxJQUFJLElBQUksU0FBUyxFQUFFLENBQUM7WUFDN0IsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztDQUNGIn0=
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ // import 'egg';
2
+ export {};
3
+ // for declare merging
4
+ // declare module 'egg' {
5
+ // export interface ModuleConfig {
6
+ // // ...
7
+ // }
8
+ // }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL01vZHVsZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7O0FBRWhCLHNCQUFzQjtBQUN0Qix5QkFBeUI7QUFDekIsb0NBQW9DO0FBQ3BDLGFBQWE7QUFDYixNQUFNO0FBQ04sSUFBSSJ9
@@ -0,0 +1,50 @@
1
+ import { type ModuleReference, type ReadModuleReferenceOptions } from '@eggjs/tegg-common-util';
2
+ import { type LoadUnit } from '@eggjs/tegg-metadata';
3
+ import { type EggContext, type LoadUnitInstance } from '@eggjs/tegg-runtime';
4
+ import { type ModuleConfigHolder } from '@eggjs/tegg';
5
+ import { type InnerObject } from './StandaloneLoadUnit.ts';
6
+ export interface ModuleDependency extends ReadModuleReferenceOptions {
7
+ baseDir: string;
8
+ }
9
+ export interface RunnerOptions {
10
+ /**
11
+ * @deprecated
12
+ * use inner object handlers instead
13
+ */
14
+ innerObjects?: Record<string, object>;
15
+ env?: string;
16
+ name?: string;
17
+ innerObjectHandlers?: Record<string, InnerObject[]>;
18
+ dependencies?: (string | ModuleDependency)[];
19
+ dump?: boolean;
20
+ }
21
+ export declare class Runner {
22
+ readonly cwd: string;
23
+ readonly moduleReferences: readonly ModuleReference[];
24
+ readonly moduleConfigs: Record<string, ModuleConfigHolder>;
25
+ readonly env?: string;
26
+ readonly name?: string;
27
+ readonly options?: RunnerOptions;
28
+ private loadUnitLoader;
29
+ private runnerProto;
30
+ private configSourceEggPrototypeHook;
31
+ private loadUnitMultiInstanceProtoHook;
32
+ private dalTableEggPrototypeHook;
33
+ private dalModuleLoadUnitHook;
34
+ private transactionPrototypeHook;
35
+ private crosscutAdviceFactory;
36
+ private loadUnitAopHook;
37
+ private eggPrototypeCrossCutHook;
38
+ private eggObjectAopHook;
39
+ loadUnits: LoadUnit[];
40
+ loadUnitInstances: LoadUnitInstance[];
41
+ innerObjects: Record<string, InnerObject[]>;
42
+ constructor(cwd: string, options?: RunnerOptions);
43
+ load(): Promise<LoadUnit[]>;
44
+ static getModuleReferences(cwd: string, dependencies?: RunnerOptions['dependencies']): readonly ModuleReference[];
45
+ static preLoad(cwd: string, dependencies?: RunnerOptions['dependencies']): Promise<void>;
46
+ private initLoaderInstance;
47
+ init(): Promise<void>;
48
+ run<T>(aCtx?: EggContext): Promise<T>;
49
+ destroy(): Promise<void>;
50
+ }
package/dist/Runner.js ADDED
@@ -0,0 +1,236 @@
1
+ import { ModuleConfigUtil } from '@eggjs/tegg-common-util';
2
+ import { EggPrototypeLifecycleUtil, GlobalGraph, LoadUnitFactory, LoadUnitLifecycleUtil, LoadUnitMultiInstanceProtoHook, } from '@eggjs/tegg-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/tegg-aop-runtime';
8
+ import { DalTableEggPrototypeHook, DalModuleLoadUnitHook, MysqlDataSourceManager, SqlMapManager, TableModelManager, TransactionPrototypeHook, } from '@eggjs/tegg-dal-plugin';
9
+ import { EggModuleLoader } from "./EggModuleLoader.js";
10
+ import { StandaloneLoadUnit, StandaloneLoadUnitType } from "./StandaloneLoadUnit.js";
11
+ import { StandaloneContext } from "./StandaloneContext.js";
12
+ 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
+ obj: new ModuleConfigs(this.moduleConfigs),
45
+ }],
46
+ moduleConfig: [],
47
+ };
48
+ const runtimeConfig = {
49
+ baseDir: this.cwd,
50
+ name: this.name,
51
+ env: this.env,
52
+ };
53
+ // Inject runtimeConfig
54
+ this.innerObjects.runtimeConfig = [{
55
+ obj: runtimeConfig,
56
+ }];
57
+ // load module.yml and module.env.yml by default
58
+ if (!ModuleConfigUtil.configNames) {
59
+ ModuleConfigUtil.configNames = ['module.default', `module.${this.env}`];
60
+ }
61
+ for (const reference of this.moduleReferences) {
62
+ const absoluteRef = {
63
+ path: ModuleConfigUtil.resolveModuleDir(reference.path, this.cwd),
64
+ name: reference.name,
65
+ };
66
+ const moduleName = ModuleConfigUtil.readModuleNameSync(absoluteRef.path);
67
+ this.moduleConfigs[moduleName] = {
68
+ name: moduleName,
69
+ reference: absoluteRef,
70
+ config: ModuleConfigUtil.loadModuleConfigSync(absoluteRef.path),
71
+ };
72
+ }
73
+ for (const moduleConfig of Object.values(this.moduleConfigs)) {
74
+ this.innerObjects.moduleConfig.push({
75
+ obj: moduleConfig.config,
76
+ qualifiers: [{
77
+ attribute: ConfigSourceQualifierAttribute,
78
+ value: moduleConfig.name,
79
+ }],
80
+ });
81
+ }
82
+ if (options?.innerObjects) {
83
+ for (const [name, obj] of Object.entries(options.innerObjects)) {
84
+ this.innerObjects[name] = [{
85
+ obj,
86
+ }];
87
+ }
88
+ }
89
+ else if (options?.innerObjectHandlers) {
90
+ Object.assign(this.innerObjects, options.innerObjectHandlers);
91
+ }
92
+ }
93
+ async load() {
94
+ StandaloneContextHandler.register();
95
+ LoadUnitFactory.registerLoadUnitCreator(StandaloneLoadUnitType, () => {
96
+ return new StandaloneLoadUnit(this.innerObjects);
97
+ });
98
+ LoadUnitInstanceFactory.registerLoadUnitInstanceClass(StandaloneLoadUnitType, ModuleLoadUnitInstance.createModuleLoadUnitInstance);
99
+ const standaloneLoadUnit = await LoadUnitFactory.createLoadUnit('MockStandaloneLoadUnitPath', StandaloneLoadUnitType, {
100
+ async load() {
101
+ return [];
102
+ },
103
+ });
104
+ const loadUnits = await this.loadUnitLoader.load();
105
+ return [standaloneLoadUnit, ...loadUnits];
106
+ }
107
+ static getModuleReferences(cwd, dependencies) {
108
+ const moduleDirs = (dependencies || []).concat(cwd);
109
+ return moduleDirs.reduce((list, baseDir) => {
110
+ const module = typeof baseDir === 'string' ? { baseDir } : baseDir;
111
+ return list.concat(...ModuleConfigUtil.readModuleReference(module.baseDir, module));
112
+ }, []);
113
+ }
114
+ static async preLoad(cwd, dependencies) {
115
+ const moduleReferences = Runner.getModuleReferences(cwd, dependencies);
116
+ await EggModuleLoader.preLoad(moduleReferences, {
117
+ baseDir: cwd,
118
+ logger: console,
119
+ dump: false,
120
+ });
121
+ }
122
+ async initLoaderInstance() {
123
+ this.loadUnitLoader = new EggModuleLoader(this.moduleReferences, {
124
+ logger: (this.innerObjects.logger && this.innerObjects.logger[0])?.obj || console,
125
+ baseDir: this.cwd,
126
+ dump: this.options?.dump,
127
+ });
128
+ await this.loadUnitLoader.init();
129
+ GlobalGraph.instance.registerBuildHook(crossCutGraphHook);
130
+ GlobalGraph.instance.registerBuildHook(pointCutGraphHook);
131
+ const configSourceEggPrototypeHook = new ConfigSourceLoadUnitHook();
132
+ LoadUnitLifecycleUtil.registerLifecycle(configSourceEggPrototypeHook);
133
+ // TODO refactor with egg module
134
+ // aop runtime
135
+ this.crosscutAdviceFactory = new CrosscutAdviceFactory();
136
+ this.loadUnitAopHook = new LoadUnitAopHook(this.crosscutAdviceFactory);
137
+ this.eggPrototypeCrossCutHook = new EggPrototypeCrossCutHook(this.crosscutAdviceFactory);
138
+ this.eggObjectAopHook = new EggObjectAopHook();
139
+ EggPrototypeLifecycleUtil.registerLifecycle(this.eggPrototypeCrossCutHook);
140
+ LoadUnitLifecycleUtil.registerLifecycle(this.loadUnitAopHook);
141
+ EggObjectLifecycleUtil.registerLifecycle(this.eggObjectAopHook);
142
+ this.loadUnitMultiInstanceProtoHook = new LoadUnitMultiInstanceProtoHook();
143
+ LoadUnitLifecycleUtil.registerLifecycle(this.loadUnitMultiInstanceProtoHook);
144
+ const loggerInnerObject = this.innerObjects.logger && this.innerObjects.logger[0];
145
+ const logger = (loggerInnerObject?.obj || console);
146
+ this.dalModuleLoadUnitHook = new DalModuleLoadUnitHook(this.env ?? '', this.moduleConfigs, logger);
147
+ this.dalTableEggPrototypeHook = new DalTableEggPrototypeHook(logger);
148
+ this.transactionPrototypeHook = new TransactionPrototypeHook(this.moduleConfigs, logger);
149
+ EggPrototypeLifecycleUtil.registerLifecycle(this.dalTableEggPrototypeHook);
150
+ EggPrototypeLifecycleUtil.registerLifecycle(this.transactionPrototypeHook);
151
+ LoadUnitLifecycleUtil.registerLifecycle(this.dalModuleLoadUnitHook);
152
+ }
153
+ async init() {
154
+ await this.initLoaderInstance();
155
+ this.loadUnits = await this.load();
156
+ const instances = [];
157
+ for (const loadUnit of this.loadUnits) {
158
+ const instance = await LoadUnitInstanceFactory.createLoadUnitInstance(loadUnit);
159
+ instances.push(instance);
160
+ }
161
+ this.loadUnitInstances = instances;
162
+ const runnerClass = StandaloneUtil.getMainRunner();
163
+ if (!runnerClass) {
164
+ throw new Error('not found runner class. Do you add @Runner decorator?');
165
+ }
166
+ const proto = PrototypeUtil.getClazzProto(runnerClass);
167
+ if (!proto) {
168
+ throw new Error(`can not get proto for clazz ${runnerClass.name}`);
169
+ }
170
+ this.runnerProto = proto;
171
+ }
172
+ async run(aCtx) {
173
+ const lifecycle = {};
174
+ const ctx = aCtx || new StandaloneContext();
175
+ return await ContextHandler.run(ctx, async () => {
176
+ if (ctx.init) {
177
+ await ctx.init(lifecycle);
178
+ }
179
+ const eggObject = await EggContainerFactory.getOrCreateEggObject(this.runnerProto);
180
+ const runner = eggObject.obj;
181
+ try {
182
+ return await runner.main();
183
+ }
184
+ finally {
185
+ if (ctx.destroy) {
186
+ ctx.destroy(lifecycle).catch(e => {
187
+ e.message = `[tegg/standalone] destroy tegg context failed: ${e.message}`;
188
+ console.warn(e);
189
+ });
190
+ }
191
+ }
192
+ });
193
+ }
194
+ async destroy() {
195
+ if (this.loadUnitInstances) {
196
+ for (const instance of this.loadUnitInstances) {
197
+ await LoadUnitInstanceFactory.destroyLoadUnitInstance(instance);
198
+ }
199
+ }
200
+ if (this.loadUnits) {
201
+ for (const loadUnit of this.loadUnits) {
202
+ await LoadUnitFactory.destroyLoadUnit(loadUnit);
203
+ }
204
+ }
205
+ if (this.configSourceEggPrototypeHook) {
206
+ LoadUnitLifecycleUtil.deleteLifecycle(this.configSourceEggPrototypeHook);
207
+ }
208
+ if (this.eggPrototypeCrossCutHook) {
209
+ EggPrototypeLifecycleUtil.deleteLifecycle(this.eggPrototypeCrossCutHook);
210
+ }
211
+ if (this.loadUnitAopHook) {
212
+ LoadUnitLifecycleUtil.deleteLifecycle(this.loadUnitAopHook);
213
+ }
214
+ if (this.eggObjectAopHook) {
215
+ EggObjectLifecycleUtil.deleteLifecycle(this.eggObjectAopHook);
216
+ }
217
+ if (this.loadUnitMultiInstanceProtoHook) {
218
+ LoadUnitLifecycleUtil.deleteLifecycle(this.loadUnitMultiInstanceProtoHook);
219
+ }
220
+ if (this.dalTableEggPrototypeHook) {
221
+ EggPrototypeLifecycleUtil.deleteLifecycle(this.dalTableEggPrototypeHook);
222
+ }
223
+ if (this.dalModuleLoadUnitHook) {
224
+ LoadUnitLifecycleUtil.deleteLifecycle(this.dalModuleLoadUnitHook);
225
+ }
226
+ if (this.transactionPrototypeHook) {
227
+ EggPrototypeLifecycleUtil.deleteLifecycle(this.transactionPrototypeHook);
228
+ }
229
+ MysqlDataSourceManager.instance.clear();
230
+ SqlMapManager.instance.clear();
231
+ TableModelManager.instance.clear();
232
+ // clear configNames
233
+ ModuleConfigUtil.setConfigNames(undefined);
234
+ }
235
+ }
236
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnVubmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1J1bm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQTZFLE1BQU0seUJBQXlCLENBQUM7QUFDdEksT0FBTyxFQUVMLHlCQUF5QixFQUFFLFdBQVcsRUFFdEMsZUFBZSxFQUNmLHFCQUFxQixFQUNyQiw4QkFBOEIsR0FDL0IsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQ0wsY0FBYyxFQUNkLG1CQUFtQixFQUVuQixzQkFBc0IsRUFFdEIsdUJBQXVCLEVBQ3ZCLHNCQUFzQixHQUN2QixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFFTCxhQUFhLEVBRWIsYUFBYSxFQUNiLDhCQUE4QixHQUUvQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsY0FBYyxFQUFtQixNQUFNLHdCQUF3QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLHdCQUF3QixFQUN4QixlQUFlLEVBQUUsaUJBQWlCLEdBQ25DLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsd0JBQXdCLEdBQ3pCLE1BQU0sd0JBQXdCLENBQUM7QUFFaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBb0Isa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsd0JB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
@@ -0,0 +1,5 @@
1
+ import { AbstractEggContext } from '@eggjs/tegg-runtime';
2
+ export declare class StandaloneContext extends AbstractEggContext {
3
+ id: string;
4
+ constructor();
5
+ }
@@ -0,0 +1,10 @@
1
+ import { AbstractEggContext } from '@eggjs/tegg-runtime';
2
+ import { IdenticalUtil } from '@eggjs/tegg-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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhbmRhbG9uZUNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvU3RhbmRhbG9uZUNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXRELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxrQkFBa0I7SUFDdkQsRUFBRSxDQUFTO0lBRVg7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxFQUFFLEdBQUcsYUFBYSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzVDLENBQUM7Q0FDRiJ9
@@ -0,0 +1,6 @@
1
+ import { AsyncLocalStorage } from 'node:async_hooks';
2
+ import { type EggContext } from '@eggjs/tegg-runtime';
3
+ export declare class StandaloneContextHandler {
4
+ static storage: AsyncLocalStorage<EggContext>;
5
+ static register(): void;
6
+ }
@@ -0,0 +1,14 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhbmRhbG9uZUNvbnRleHRIYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1N0YW5kYWxvbmVDb250ZXh0SGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsY0FBYyxFQUFtQixNQUFNLHFCQUFxQixDQUFDO0FBRXRFLE1BQU0sT0FBTyx3QkFBd0I7SUFDbkMsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLGlCQUFpQixFQUFjLENBQUM7SUFFckQsTUFBTSxDQUFDLFFBQVE7UUFDYixjQUFjLENBQUMsa0JBQWtCLEdBQUcsR0FBRyxFQUFFO1lBQ3ZDLE9BQU8sd0JBQXdCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3JELENBQUMsQ0FBQztRQUVGLGNBQWMsQ0FBQyxvQkFBb0IsR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRTtZQUNwRCxPQUFPLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzNELENBQUMsQ0FBQztJQUNKLENBQUMifQ==
@@ -0,0 +1,5 @@
1
+ import { AbstractEggContext } from '@eggjs/tegg-runtime';
2
+ export declare class StandaloneContextImpl extends AbstractEggContext {
3
+ readonly id: string;
4
+ constructor();
5
+ }
@@ -0,0 +1,10 @@
1
+ import { AbstractEggContext } from '@eggjs/tegg-runtime';
2
+ import { IdenticalUtil } from '@eggjs/tegg';
3
+ export class StandaloneContextImpl extends AbstractEggContext {
4
+ id;
5
+ constructor() {
6
+ super();
7
+ this.id = IdenticalUtil.createContextId();
8
+ }
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhbmRhbG9uZUNvbnRleHRJbXBsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1N0YW5kYWxvbmVDb250ZXh0SW1wbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTVDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxrQkFBa0I7SUFDbEQsRUFBRSxDQUFTO0lBRXBCO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsRUFBRSxHQUFHLGFBQWEsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0NBQ0YifQ==
@@ -0,0 +1,17 @@
1
+ import { type EggObject } from '@eggjs/tegg-runtime';
2
+ import { type EggObjectName } from '@eggjs/tegg';
3
+ import { type EggPrototype } from '@eggjs/tegg-metadata';
4
+ import { StandaloneInnerObjectProto } from './StandaloneInnerObjectProto.ts';
5
+ declare const OBJ: unique symbol;
6
+ export declare class StandaloneInnerObject implements EggObject {
7
+ readonly isReady: boolean;
8
+ private [OBJ];
9
+ readonly proto: StandaloneInnerObjectProto;
10
+ readonly name: EggObjectName;
11
+ readonly id: string;
12
+ constructor(name: EggObjectName, proto: StandaloneInnerObjectProto);
13
+ get obj(): object;
14
+ injectProperty(): void;
15
+ static createObject(name: EggObjectName, proto: EggPrototype): Promise<StandaloneInnerObject>;
16
+ }
17
+ export {};
@@ -0,0 +1,31 @@
1
+ import { EggObjectFactory } from '@eggjs/tegg-runtime';
2
+ import { IdenticalUtil } from '@eggjs/tegg';
3
+ import {} from '@eggjs/tegg-metadata';
4
+ import { StandaloneInnerObjectProto } from "./StandaloneInnerObjectProto.js";
5
+ const OBJ = Symbol('EggCompatibleObject#obj');
6
+ export 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]) {
19
+ this[OBJ] = this.proto.constructEggObject();
20
+ }
21
+ return this[OBJ];
22
+ }
23
+ injectProperty() {
24
+ return;
25
+ }
26
+ static async createObject(name, proto) {
27
+ return new StandaloneInnerObject(name, proto);
28
+ }
29
+ }
30
+ EggObjectFactory.registerEggObjectCreateMethod(StandaloneInnerObjectProto, StandaloneInnerObject.createObject);
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhbmRhbG9uZUlubmVyT2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1N0YW5kYWxvbmVJbm5lck9iamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtCLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBc0IsTUFBTSxhQUFhLENBQUM7QUFDaEUsT0FBTyxFQUFxQixNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTdFLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBRTlDLE1BQU0sT0FBTyxxQkFBcUI7SUFDdkIsT0FBTyxHQUFZLElBQUksQ0FBQztJQUN6QixDQUFDLEdBQUcsQ0FBQyxDQUFTO0lBQ2IsS0FBSyxDQUE2QjtJQUNsQyxJQUFJLENBQWdCO0lBQ3BCLEVBQUUsQ0FBUztJQUVwQixZQUFZLElBQW1CLEVBQUUsS0FBaUM7UUFDaEUsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEVBQUUsR0FBRyxhQUFhLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQUksR0FBRztRQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDOUMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTztJQUNULENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFtQixFQUFFLEtBQW1CO1FBQ2hFLE9BQU8sSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsS0FBbUMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7Q0FDRjtBQUVELGdCQUFnQixDQUFDLDZCQUE2QixDQUFDLDBCQUEwQixFQUFFLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxDQUFDIn0=
@@ -0,0 +1,20 @@
1
+ import { AccessLevel, type EggProtoImplClass, type EggPrototypeName, type MetaDataKey, type ObjectInitTypeLike, type QualifierInfo, type Id, type QualifierValue } from '@eggjs/tegg';
2
+ import { type EggPrototype, type InjectObjectProto, type EggPrototypeLifecycleContext } from '@eggjs/tegg-metadata';
3
+ export declare class StandaloneInnerObjectProto implements EggPrototype {
4
+ [key: symbol]: PropertyDescriptor;
5
+ private readonly clazz;
6
+ private readonly qualifiers;
7
+ readonly id: string;
8
+ readonly name: EggPrototypeName;
9
+ readonly initType: ObjectInitTypeLike;
10
+ readonly accessLevel: AccessLevel;
11
+ readonly injectObjects: InjectObjectProto[];
12
+ readonly loadUnitId: Id;
13
+ constructor(id: string, name: EggPrototypeName, clazz: EggProtoImplClass, initType: ObjectInitTypeLike, loadUnitId: Id, qualifiers: QualifierInfo[]);
14
+ verifyQualifiers(qualifiers: QualifierInfo[]): boolean;
15
+ verifyQualifier(qualifier: QualifierInfo): boolean;
16
+ constructEggObject(): object;
17
+ getMetaData<T>(metadataKey: MetaDataKey): T | undefined;
18
+ getQualifier(attribute: string): QualifierValue | undefined;
19
+ static create(ctx: EggPrototypeLifecycleContext): EggPrototype;
20
+ }
@@ -0,0 +1,51 @@
1
+ import { AccessLevel, MetadataUtil, QualifierUtil, IdenticalUtil, } from '@eggjs/tegg';
2
+ import {} from '@eggjs/tegg-metadata';
3
+ export class StandaloneInnerObjectProto {
4
+ clazz;
5
+ qualifiers;
6
+ id;
7
+ name;
8
+ initType;
9
+ accessLevel;
10
+ injectObjects;
11
+ loadUnitId;
12
+ constructor(id, name, clazz, initType, loadUnitId, qualifiers) {
13
+ this.id = id;
14
+ this.clazz = clazz;
15
+ this.name = name;
16
+ this.initType = initType;
17
+ this.accessLevel = AccessLevel.PUBLIC;
18
+ this.injectObjects = [];
19
+ this.loadUnitId = loadUnitId;
20
+ this.qualifiers = qualifiers;
21
+ }
22
+ verifyQualifiers(qualifiers) {
23
+ for (const qualifier of qualifiers) {
24
+ if (!this.verifyQualifier(qualifier)) {
25
+ return false;
26
+ }
27
+ }
28
+ return true;
29
+ }
30
+ verifyQualifier(qualifier) {
31
+ const selfQualifiers = this.qualifiers.find(t => t.attribute === qualifier.attribute);
32
+ return selfQualifiers?.value === qualifier.value;
33
+ }
34
+ constructEggObject() {
35
+ return Reflect.apply(this.clazz, null, []);
36
+ }
37
+ getMetaData(metadataKey) {
38
+ return MetadataUtil.getMetaData(metadataKey, this.clazz);
39
+ }
40
+ getQualifier(attribute) {
41
+ return this.qualifiers.find(t => t.attribute === attribute)?.value;
42
+ }
43
+ static create(ctx) {
44
+ const { clazz, loadUnit } = ctx;
45
+ const name = ctx.prototypeInfo.name;
46
+ const id = IdenticalUtil.createProtoId(loadUnit.id, name);
47
+ const proto = new StandaloneInnerObjectProto(id, name, clazz, ctx.prototypeInfo.initType, loadUnit.id, QualifierUtil.getProtoQualifiers(clazz));
48
+ return proto;
49
+ }
50
+ }
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhbmRhbG9uZUlubmVyT2JqZWN0UHJvdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvU3RhbmRhbG9uZUlubmVyT2JqZWN0UHJvdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFHWCxZQUFZLEVBR1osYUFBYSxFQUViLGFBQWEsR0FDZCxNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBSU4sTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixNQUFNLE9BQU8sMEJBQTBCO0lBRXBCLEtBQUssQ0FBb0I7SUFDekIsVUFBVSxDQUFrQjtJQUVwQyxFQUFFLENBQVM7SUFDWCxJQUFJLENBQW1CO0lBQ3ZCLFFBQVEsQ0FBcUI7SUFDN0IsV0FBVyxDQUFjO0lBQ3pCLGFBQWEsQ0FBc0I7SUFDbkMsVUFBVSxDQUFLO0lBRXhCLFlBQ0UsRUFBVSxFQUNWLElBQXNCLEVBQ3RCLEtBQXdCLEVBQ3hCLFFBQTRCLEVBQzVCLFVBQWMsRUFDZCxVQUEyQjtRQUUzQixJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztRQUN0QyxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBMkI7UUFDMUMsS0FBSyxNQUFNLFNBQVMsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUNyQyxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsZUFBZSxDQUFDLFNBQXdCO1FBQ3RDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEYsT0FBTyxjQUFjLEVBQUUsS0FBSyxLQUFLLFNBQVMsQ0FBQyxLQUFLLENBQUM7SUFDbkQsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFdBQVcsQ0FBSSxXQUF3QjtRQUNyQyxPQUFPLFlBQVksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWlCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxFQUFFLEtBQUssQ0FBQztJQUNyRSxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFpQztRQUM3QyxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLEdBQUcsQ0FBQztRQUNoQyxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztRQUNwQyxNQUFNLEVBQUUsR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUQsTUFBTSxLQUFLLEdBQUcsSUFBSSwwQkFBMEIsQ0FDMUMsRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxhQUFhLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQ2xHLENBQUM7UUFDRixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRiJ9