@eggjs/tegg-runtime 3.52.0 → 4.0.0-beta.1
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/package.json +23 -23
- package/{dist/src → src}/factory/EggContainerFactory.d.ts +1 -0
- package/src/factory/EggContainerFactory.js +77 -0
- package/src/factory/EggObjectFactory.js +46 -0
- package/src/factory/LoadUnitInstanceFactory.js +57 -0
- package/src/factory/index.d.ts +3 -0
- package/src/factory/index.js +4 -0
- package/src/impl/ContextInitiator.js +37 -0
- package/src/impl/ContextObjectGraph.js +38 -0
- package/src/impl/EggAlwaysNewObjectContainer.js +32 -0
- package/{dist/src → src}/impl/EggObjectImpl.d.ts +1 -1
- package/src/impl/EggObjectImpl.js +178 -0
- package/src/impl/EggObjectUtil.js +172 -0
- package/src/impl/ModuleLoadUnitInstance.js +90 -0
- package/src/impl/index.d.ts +6 -0
- package/src/impl/index.js +7 -0
- package/src/index.d.ts +5 -0
- package/src/index.js +5 -0
- package/{dist/src → src}/model/AbstractEggContext.d.ts +1 -1
- package/src/model/AbstractEggContext.js +89 -0
- package/src/model/ContextHandler.js +14 -0
- package/src/model/EggContext.js +3 -0
- package/src/model/EggObject.js +3 -0
- package/src/model/LoadUnitInstance.js +3 -0
- package/src/model/index.d.ts +5 -0
- package/src/model/index.js +6 -0
- package/dist/index.d.ts +0 -13
- package/dist/index.js +0 -29
- package/dist/src/factory/EggContainerFactory.js +0 -76
- package/dist/src/factory/EggObjectFactory.js +0 -53
- package/dist/src/factory/LoadUnitInstanceFactory.js +0 -62
- package/dist/src/impl/ContextInitiator.js +0 -39
- package/dist/src/impl/ContextObjectGraph.js +0 -44
- package/dist/src/impl/EggAlwaysNewObjectContainer.js +0 -36
- package/dist/src/impl/EggObjectImpl.js +0 -178
- package/dist/src/impl/EggObjectUtil.js +0 -176
- package/dist/src/impl/ModuleLoadUnitInstance.js +0 -91
- package/dist/src/model/AbstractEggContext.js +0 -96
- package/dist/src/model/ContextHandler.js +0 -19
- package/dist/src/model/EggContext.js +0 -6
- package/dist/src/model/EggObject.js +0 -6
- package/dist/src/model/LoadUnitInstance.js +0 -6
- /package/{dist/src → src}/factory/EggObjectFactory.d.ts +0 -0
- /package/{dist/src → src}/factory/LoadUnitInstanceFactory.d.ts +0 -0
- /package/{dist/src → src}/impl/ContextInitiator.d.ts +0 -0
- /package/{dist/src → src}/impl/ContextObjectGraph.d.ts +0 -0
- /package/{dist/src → src}/impl/EggAlwaysNewObjectContainer.d.ts +0 -0
- /package/{dist/src → src}/impl/EggObjectUtil.d.ts +0 -0
- /package/{dist/src → src}/impl/ModuleLoadUnitInstance.d.ts +0 -0
- /package/{dist/src → src}/model/ContextHandler.d.ts +0 -0
- /package/{dist/src → src}/model/EggContext.d.ts +0 -0
- /package/{dist/src → src}/model/EggObject.d.ts +0 -0
- /package/{dist/src → src}/model/LoadUnitInstance.d.ts +0 -0
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.EggObjectFactory = void 0;
|
|
7
|
-
const tegg_metadata_1 = require("@eggjs/tegg-metadata");
|
|
8
|
-
const EggObjectImpl_1 = __importDefault(require("../impl/EggObjectImpl"));
|
|
9
|
-
const EggObject_1 = require("../model/EggObject");
|
|
10
|
-
const LoadUnitInstanceFactory_1 = require("./LoadUnitInstanceFactory");
|
|
11
|
-
class EggObjectFactory {
|
|
12
|
-
static registerEggObjectCreateMethod(protoClass, method) {
|
|
13
|
-
this.eggObjectCreateMap.set(protoClass, method);
|
|
14
|
-
}
|
|
15
|
-
static getEggObjectCreateMethod(protoClass) {
|
|
16
|
-
if (this.eggObjectCreateMap.has(protoClass)) {
|
|
17
|
-
return this.eggObjectCreateMap.get(protoClass);
|
|
18
|
-
}
|
|
19
|
-
return EggObjectImpl_1.default.createObject;
|
|
20
|
-
}
|
|
21
|
-
static async createObject(name, proto) {
|
|
22
|
-
const loadUnit = tegg_metadata_1.LoadUnitFactory.getLoadUnitById(proto.loadUnitId);
|
|
23
|
-
if (!loadUnit) {
|
|
24
|
-
throw new Error(`not found load unit ${proto.loadUnitId}`);
|
|
25
|
-
}
|
|
26
|
-
const loadUnitInstance = LoadUnitInstanceFactory_1.LoadUnitInstanceFactory.getLoadUnitInstance(loadUnit);
|
|
27
|
-
const lifecycleContext = {
|
|
28
|
-
loadUnit,
|
|
29
|
-
loadUnitInstance: loadUnitInstance,
|
|
30
|
-
};
|
|
31
|
-
const method = this.getEggObjectCreateMethod(proto.constructor);
|
|
32
|
-
const args = [name, proto, lifecycleContext];
|
|
33
|
-
const obj = await Reflect.apply(method, null, args);
|
|
34
|
-
this.eggObjectMap.set(obj.id, { obj, ctx: lifecycleContext });
|
|
35
|
-
return obj;
|
|
36
|
-
}
|
|
37
|
-
static async destroyObject(obj) {
|
|
38
|
-
const { ctx } = this.eggObjectMap.get(obj.id);
|
|
39
|
-
try {
|
|
40
|
-
if (obj.destroy) {
|
|
41
|
-
await obj.destroy(ctx);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
finally {
|
|
45
|
-
this.eggObjectMap.delete(obj.id);
|
|
46
|
-
EggObject_1.EggObjectLifecycleUtil.clearObjectLifecycle(obj);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
exports.EggObjectFactory = EggObjectFactory;
|
|
51
|
-
EggObjectFactory.eggObjectMap = new Map();
|
|
52
|
-
EggObjectFactory.eggObjectCreateMap = new Map();
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnT2JqZWN0RmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mYWN0b3J5L0VnZ09iamVjdEZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBUUEsd0RBQXVEO0FBQ3ZELDBFQUFrRDtBQUNsRCxrREFBNEQ7QUFDNUQsdUVBQW9FO0FBT3BFLE1BQWEsZ0JBQWdCO0lBSXBCLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxVQUE2QixFQUFFLE1BQTBCO1FBQ25HLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTSxNQUFNLENBQUMsd0JBQXdCLENBQUMsVUFBNkI7UUFDbEUsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDNUMsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBRSxDQUFDO1FBQ2xELENBQUM7UUFDRCxPQUFPLHVCQUFhLENBQUMsWUFBWSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFtQixFQUFFLEtBQW1CO1FBQ2hFLE1BQU0sUUFBUSxHQUFHLCtCQUFlLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsTUFBTSxnQkFBZ0IsR0FBRyxpREFBdUIsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvRSxNQUFNLGdCQUFnQixHQUE4QjtZQUNsRCxRQUFRO1lBQ1IsZ0JBQWdCLEVBQUUsZ0JBQWlCO1NBQ3BDLENBQUM7UUFDRixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsS0FBSyxDQUFDLFdBQWdDLENBQUMsQ0FBQztRQUNyRixNQUFNLElBQUksR0FBRyxDQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLENBQUUsQ0FBQztRQUMvQyxNQUFNLEdBQUcsR0FBRyxNQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDOUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBYztRQUN2QyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxDQUFDO1FBQy9DLElBQUksQ0FBQztZQUNILElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNoQixNQUFNLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekIsQ0FBQztRQUNILENBQUM7Z0JBQVMsQ0FBQztZQUNULElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNqQyxrQ0FBc0IsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuRCxDQUFDO0lBQ0gsQ0FBQzs7QUExQ0gsNENBMkNDO0FBMUNRLDZCQUFZLEdBQStCLElBQUksR0FBRyxFQUFFLENBQUM7QUFDckQsbUNBQWtCLEdBQStDLElBQUksR0FBRyxFQUFFLENBQUMifQ==
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LoadUnitInstanceFactory = void 0;
|
|
4
|
-
const LoadUnitInstance_1 = require("../model/LoadUnitInstance");
|
|
5
|
-
const tegg_types_1 = require("@eggjs/tegg-types");
|
|
6
|
-
const tegg_lifecycle_1 = require("@eggjs/tegg-lifecycle");
|
|
7
|
-
const EggContainerFactory_1 = require("./EggContainerFactory");
|
|
8
|
-
class LoadUnitInstanceFactory {
|
|
9
|
-
static registerLoadUnitInstanceClass(type, creator) {
|
|
10
|
-
this.creatorMap.set(type, creator);
|
|
11
|
-
}
|
|
12
|
-
static async createLoadUnitInstance(loadUnit) {
|
|
13
|
-
const creator = this.creatorMap.get(loadUnit.type);
|
|
14
|
-
if (!creator) {
|
|
15
|
-
throw new Error(`load unit instance type ${loadUnit.type} is not implement`);
|
|
16
|
-
}
|
|
17
|
-
const instanceId = tegg_lifecycle_1.IdenticalUtil.createLoadUnitInstanceId(loadUnit.id);
|
|
18
|
-
if (!this.instanceMap.has(instanceId)) {
|
|
19
|
-
const ctx = {
|
|
20
|
-
loadUnit,
|
|
21
|
-
};
|
|
22
|
-
const instance = creator(ctx);
|
|
23
|
-
this.instanceMap.set(instanceId, { instance, ctx });
|
|
24
|
-
if (instance.init) {
|
|
25
|
-
// Module init method will create egg object
|
|
26
|
-
// When inject objects, will find load unit instance
|
|
27
|
-
// so should add instance to instanceMap first
|
|
28
|
-
await instance.init(ctx);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return this.instanceMap.get(instanceId).instance;
|
|
32
|
-
}
|
|
33
|
-
static getLoadUnitInstance(loadUnit) {
|
|
34
|
-
var _a;
|
|
35
|
-
const instanceId = tegg_lifecycle_1.IdenticalUtil.createLoadUnitInstanceId(loadUnit.id);
|
|
36
|
-
return (_a = this.instanceMap.get(instanceId)) === null || _a === void 0 ? void 0 : _a.instance;
|
|
37
|
-
}
|
|
38
|
-
static async destroyLoadUnitInstance(loadUnitInstance) {
|
|
39
|
-
const { ctx } = this.instanceMap.get(loadUnitInstance.id);
|
|
40
|
-
await LoadUnitInstance_1.LoadUnitInstanceLifecycleUtil.objectPreDestroy(ctx, loadUnitInstance);
|
|
41
|
-
if (loadUnitInstance.destroy) {
|
|
42
|
-
await loadUnitInstance.destroy(ctx);
|
|
43
|
-
}
|
|
44
|
-
this.instanceMap.delete(loadUnitInstance.id);
|
|
45
|
-
LoadUnitInstance_1.LoadUnitInstanceLifecycleUtil.clearObjectLifecycle(loadUnitInstance);
|
|
46
|
-
}
|
|
47
|
-
static getLoadUnitInstanceByProto(proto) {
|
|
48
|
-
for (const { instance } of this.instanceMap.values()) {
|
|
49
|
-
if (instance.loadUnit.containPrototype(proto)) {
|
|
50
|
-
return instance;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
throw new Error(`not found load unit for proto ${proto.id}`);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
exports.LoadUnitInstanceFactory = LoadUnitInstanceFactory;
|
|
57
|
-
LoadUnitInstanceFactory.creatorMap = new Map();
|
|
58
|
-
LoadUnitInstanceFactory.instanceMap = new Map();
|
|
59
|
-
EggContainerFactory_1.EggContainerFactory.registerContainerGetMethod(tegg_types_1.ObjectInitType.SINGLETON, (proto) => {
|
|
60
|
-
return LoadUnitInstanceFactory.getLoadUnitInstanceByProto(proto);
|
|
61
|
-
});
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9hZFVuaXRJbnN0YW5jZUZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmFjdG9yeS9Mb2FkVW5pdEluc3RhbmNlRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnRUFBMEU7QUFDMUUsa0RBQW1EO0FBUW5ELDBEQUFzRDtBQUN0RCwrREFBNEQ7QUFRNUQsTUFBYSx1QkFBdUI7SUFJbEMsTUFBTSxDQUFDLDZCQUE2QixDQUFDLElBQXlCLEVBQUUsT0FBZ0M7UUFDOUYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLFFBQWtCO1FBQ3BELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixRQUFRLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxDQUFDO1FBQy9FLENBQUM7UUFDRCxNQUFNLFVBQVUsR0FBRyw4QkFBYSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUN0QyxNQUFNLEdBQUcsR0FBcUM7Z0JBQzVDLFFBQVE7YUFDVCxDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3BELElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNsQiw0Q0FBNEM7Z0JBQzVDLG9EQUFvRDtnQkFDcEQsOENBQThDO2dCQUM5QyxNQUFNLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0IsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBRSxDQUFDLFFBQVEsQ0FBQztJQUNwRCxDQUFDO0lBRUQsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFFBQWtCOztRQUMzQyxNQUFNLFVBQVUsR0FBRyw4QkFBYSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2RSxPQUFPLE1BQUEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLDBDQUFFLFFBQVEsQ0FBQztJQUNwRCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxnQkFBa0M7UUFDckUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBRSxDQUFDO1FBQzNELE1BQU0sZ0RBQTZCLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDNUUsSUFBSSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM3QixNQUFNLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0MsZ0RBQTZCLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsTUFBTSxDQUFDLDBCQUEwQixDQUFDLEtBQW1CO1FBQ25ELEtBQUssTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztZQUNyRCxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDOUMsT0FBTyxRQUFRLENBQUM7WUFDbEIsQ0FBQztRQUNILENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDOztBQXBESCwwREFxREM7QUFwRGdCLGtDQUFVLEdBQXNELElBQUksR0FBRyxFQUFFLENBQUM7QUFDMUUsbUNBQVcsR0FBc0MsSUFBSSxHQUFHLEVBQUUsQ0FBQztBQXFENUUseUNBQW1CLENBQUMsMEJBQTBCLENBQUMsMkJBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFtQixFQUFFLEVBQUU7SUFDL0YsT0FBTyx1QkFBdUIsQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNuRSxDQUFDLENBQUMsQ0FBQyJ9
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ContextInitiator = void 0;
|
|
4
|
-
const tegg_metadata_1 = require("@eggjs/tegg-metadata");
|
|
5
|
-
const ContextObjectGraph_1 = require("./ContextObjectGraph");
|
|
6
|
-
const EggContainerFactory_1 = require("../factory/EggContainerFactory");
|
|
7
|
-
const CONTEXT_INITIATOR = Symbol('EggContext#ContextInitiator');
|
|
8
|
-
class ContextInitiator {
|
|
9
|
-
constructor(eggContext) {
|
|
10
|
-
this.eggContext = eggContext;
|
|
11
|
-
this.eggObjectInitRecorder = new WeakMap();
|
|
12
|
-
this.eggContext.set(CONTEXT_INITIATOR, this);
|
|
13
|
-
}
|
|
14
|
-
async init(obj) {
|
|
15
|
-
if (this.eggObjectInitRecorder.get(obj) === true) {
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
this.eggObjectInitRecorder.set(obj, true);
|
|
19
|
-
const injectObjectProtos = ContextObjectGraph_1.ContextObjectGraph.getContextProto(obj.proto);
|
|
20
|
-
await Promise.all(injectObjectProtos.map(async (injectObject) => {
|
|
21
|
-
const proto = injectObject.proto;
|
|
22
|
-
const loadUnit = tegg_metadata_1.LoadUnitFactory.getLoadUnitById(proto.loadUnitId);
|
|
23
|
-
if (!loadUnit) {
|
|
24
|
-
throw new Error(`can not find load unit: ${proto.loadUnitId}`);
|
|
25
|
-
}
|
|
26
|
-
await EggContainerFactory_1.EggContainerFactory.getOrCreateEggObject(proto, injectObject.objName);
|
|
27
|
-
}));
|
|
28
|
-
}
|
|
29
|
-
static createContextInitiator(context) {
|
|
30
|
-
let initiator = context.get(CONTEXT_INITIATOR);
|
|
31
|
-
if (!initiator) {
|
|
32
|
-
initiator = new ContextInitiator(context);
|
|
33
|
-
context.set(CONTEXT_INITIATOR, initiator);
|
|
34
|
-
}
|
|
35
|
-
return initiator;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
exports.ContextInitiator = ContextInitiator;
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dEluaXRpYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbXBsL0NvbnRleHRJbml0aWF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsd0RBQXVEO0FBRXZELDZEQUEwRDtBQUMxRCx3RUFBcUU7QUFFckUsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQztBQUVoRSxNQUFhLGdCQUFnQjtJQUkzQixZQUFZLFVBQTZCO1FBQ3ZDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQWM7UUFDdkIsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2pELE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUMsTUFBTSxrQkFBa0IsR0FBRyx1Q0FBa0IsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFDLFlBQVksRUFBQyxFQUFFO1lBQzVELE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7WUFDakMsTUFBTSxRQUFRLEdBQUcsK0JBQWUsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ25FLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDZCxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUNqRSxDQUFDO1lBQ0QsTUFBTSx5Q0FBbUIsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQsTUFBTSxDQUFDLHNCQUFzQixDQUFDLE9BQTBCO1FBQ3RELElBQUksU0FBUyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixTQUFTLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMxQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzVDLENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBQ0Y7QUFsQ0QsNENBa0NDIn0=
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ContextObjectGraph = void 0;
|
|
4
|
-
const tegg_types_1 = require("@eggjs/tegg-types");
|
|
5
|
-
class InjectProtoHolder {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.idSet = new Set();
|
|
8
|
-
this.injectProtos = [];
|
|
9
|
-
}
|
|
10
|
-
addInjectProto(injectObjectProto) {
|
|
11
|
-
const id = `${String(injectObjectProto.objName)}:${injectObjectProto.proto.id}`;
|
|
12
|
-
if (this.idSet.has(id)) {
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
|
-
this.idSet.add(id);
|
|
16
|
-
this.injectProtos.push(injectObjectProto);
|
|
17
|
-
}
|
|
18
|
-
dumpProtos() {
|
|
19
|
-
return this.injectProtos;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
class ContextObjectGraph {
|
|
23
|
-
static getContextProto(proto) {
|
|
24
|
-
if (ContextObjectGraph.eggObjectInitRecorder.has(proto)) {
|
|
25
|
-
return ContextObjectGraph.eggObjectInitRecorder.get(proto);
|
|
26
|
-
}
|
|
27
|
-
const holder = new InjectProtoHolder();
|
|
28
|
-
this.doGetContextProto(proto, holder);
|
|
29
|
-
const injectObjectProtos = holder.dumpProtos();
|
|
30
|
-
ContextObjectGraph.eggObjectInitRecorder.set(proto, injectObjectProtos);
|
|
31
|
-
return injectObjectProtos;
|
|
32
|
-
}
|
|
33
|
-
static doGetContextProto(proto, holder) {
|
|
34
|
-
for (const injectObject of proto.injectObjects) {
|
|
35
|
-
if (injectObject.proto.initType === tegg_types_1.ObjectInitType.CONTEXT && proto.initType !== tegg_types_1.ObjectInitType.CONTEXT) {
|
|
36
|
-
holder.addInjectProto(injectObject);
|
|
37
|
-
}
|
|
38
|
-
ContextObjectGraph.doGetContextProto(injectObject.proto, holder);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
exports.ContextObjectGraph = ContextObjectGraph;
|
|
43
|
-
ContextObjectGraph.eggObjectInitRecorder = new WeakMap();
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dE9iamVjdEdyYXBoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ltcGwvQ29udGV4dE9iamVjdEdyYXBoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGtEQUFtRDtBQUduRCxNQUFNLGlCQUFpQjtJQUF2QjtRQUNVLFVBQUssR0FBZ0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUMvQixpQkFBWSxHQUE2QixFQUFFLENBQUM7SUFjdEQsQ0FBQztJQVpDLGNBQWMsQ0FBQyxpQkFBb0M7UUFDakQsTUFBTSxFQUFFLEdBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUksaUJBQWlCLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2hGLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN2QixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztDQUNGO0FBRUQsTUFBYSxrQkFBa0I7SUFHN0IsTUFBTSxDQUFDLGVBQWUsQ0FBQyxLQUFtQjtRQUN4QyxJQUFJLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hELE9BQU8sa0JBQWtCLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBRSxDQUFDO1FBQzlELENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN0QyxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMvQyxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFDeEUsT0FBTyxrQkFBa0IsQ0FBQztJQUM1QixDQUFDO0lBRU8sTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQW1CLEVBQUUsTUFBeUI7UUFDN0UsS0FBSyxNQUFNLFlBQVksSUFBSSxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDL0MsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLFFBQVEsS0FBSywyQkFBYyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsUUFBUSxLQUFLLDJCQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3hHLE1BQU0sQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDdEMsQ0FBQztZQUNELGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbkUsQ0FBQztJQUNILENBQUM7O0FBckJILGdEQXNCQztBQXJCZ0Isd0NBQXFCLEdBQW9ELElBQUksT0FBTyxFQUFFLENBQUMifQ==
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EggAlwaysNewObjectContainer = void 0;
|
|
4
|
-
const tegg_types_1 = require("@eggjs/tegg-types");
|
|
5
|
-
const EggObjectFactory_1 = require("../factory/EggObjectFactory");
|
|
6
|
-
const EggContainerFactory_1 = require("../factory/EggContainerFactory");
|
|
7
|
-
class EggAlwaysNewObjectContainer {
|
|
8
|
-
constructor() {
|
|
9
|
-
this.id = 'ALWAYS_NEW_OBJECT_CONTAINER';
|
|
10
|
-
}
|
|
11
|
-
addProtoToCreate() {
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
deleteProtoToCreate() {
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
iterateProtoToCreate() {
|
|
18
|
-
return new Map().entries();
|
|
19
|
-
}
|
|
20
|
-
getEggObject() {
|
|
21
|
-
throw new Error('Always Object can not use getEggObject, should use getOrCreateEggObject');
|
|
22
|
-
}
|
|
23
|
-
async getOrCreateEggObject(name, proto) {
|
|
24
|
-
return EggObjectFactory_1.EggObjectFactory.createObject(name, proto);
|
|
25
|
-
}
|
|
26
|
-
async destroy() {
|
|
27
|
-
// do nothing
|
|
28
|
-
}
|
|
29
|
-
async init() {
|
|
30
|
-
// do nothing
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
exports.EggAlwaysNewObjectContainer = EggAlwaysNewObjectContainer;
|
|
34
|
-
EggAlwaysNewObjectContainer.instance = new EggAlwaysNewObjectContainer();
|
|
35
|
-
EggContainerFactory_1.EggContainerFactory.registerContainerGetMethod(tegg_types_1.ObjectInitType.ALWAYS_NEW, () => EggAlwaysNewObjectContainer.instance);
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnQWx3YXlzTmV3T2JqZWN0Q29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ltcGwvRWdnQWx3YXlzTmV3T2JqZWN0Q29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGtEQUFtRDtBQUVuRCxrRUFBK0Q7QUFDL0Qsd0VBQXFFO0FBRXJFLE1BQWEsMkJBQTJCO0lBSXRDO1FBQ0UsSUFBSSxDQUFDLEVBQUUsR0FBRyw2QkFBNkIsQ0FBQztJQUMxQyxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTztJQUNULENBQUM7SUFFRCxtQkFBbUI7UUFDakIsT0FBTztJQUNULENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsT0FBTyxJQUFJLEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxZQUFZO1FBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyx5RUFBeUUsQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFRCxLQUFLLENBQUMsb0JBQW9CLENBQUMsSUFBWSxFQUFFLEtBQW1CO1FBQzFELE9BQU8sbUNBQWdCLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU87UUFDWCxhQUFhO0lBQ2YsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJO1FBQ1IsYUFBYTtJQUNmLENBQUM7O0FBbENILGtFQW1DQztBQWxDUSxvQ0FBUSxHQUFHLElBQUksMkJBQTJCLEVBQUUsQ0FBQztBQW9DdEQseUNBQW1CLENBQUMsMEJBQTBCLENBQUMsMkJBQWMsQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUMsUUFBUSxDQUFDLENBQUMifQ==
|
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tegg_metadata_1 = require("@eggjs/tegg-metadata");
|
|
4
|
-
const tegg_types_1 = require("@eggjs/tegg-types");
|
|
5
|
-
const tegg_lifecycle_1 = require("@eggjs/tegg-lifecycle");
|
|
6
|
-
const EggObject_1 = require("../model/EggObject");
|
|
7
|
-
const EggContainerFactory_1 = require("../factory/EggContainerFactory");
|
|
8
|
-
const EggObjectUtil_1 = require("./EggObjectUtil");
|
|
9
|
-
const ContextHandler_1 = require("../model/ContextHandler");
|
|
10
|
-
class EggObjectImpl {
|
|
11
|
-
constructor(name, proto) {
|
|
12
|
-
this.status = tegg_types_1.EggObjectStatus.PENDING;
|
|
13
|
-
this.name = name;
|
|
14
|
-
this.proto = proto;
|
|
15
|
-
const ctx = ContextHandler_1.ContextHandler.getContext();
|
|
16
|
-
this.id = tegg_lifecycle_1.IdenticalUtil.createObjectId(this.proto.id, ctx === null || ctx === void 0 ? void 0 : ctx.id);
|
|
17
|
-
}
|
|
18
|
-
async initWithInjectProperty(ctx) {
|
|
19
|
-
var _a, _b, _c, _d;
|
|
20
|
-
// 1. create obj
|
|
21
|
-
// 2. call obj lifecycle preCreate
|
|
22
|
-
// 3. inject deps
|
|
23
|
-
// 4. call obj lifecycle postCreate
|
|
24
|
-
// 5. success create
|
|
25
|
-
try {
|
|
26
|
-
this._obj = this.proto.constructEggObject();
|
|
27
|
-
const objLifecycleHook = this._obj;
|
|
28
|
-
// global hook
|
|
29
|
-
await EggObject_1.EggObjectLifecycleUtil.objectPreCreate(ctx, this);
|
|
30
|
-
// self hook
|
|
31
|
-
const postConstructMethod = (_a = EggObject_1.EggObjectLifecycleUtil.getLifecycleHook('postConstruct', this.proto)) !== null && _a !== void 0 ? _a : 'postConstruct';
|
|
32
|
-
if (objLifecycleHook[postConstructMethod]) {
|
|
33
|
-
await objLifecycleHook[postConstructMethod](ctx, this);
|
|
34
|
-
}
|
|
35
|
-
const preInjectMethod = (_b = EggObject_1.EggObjectLifecycleUtil.getLifecycleHook('preInject', this.proto)) !== null && _b !== void 0 ? _b : 'preInject';
|
|
36
|
-
if (objLifecycleHook[preInjectMethod]) {
|
|
37
|
-
await objLifecycleHook[preInjectMethod](ctx, this);
|
|
38
|
-
}
|
|
39
|
-
await Promise.all(this.proto.injectObjects.map(async (injectObject) => {
|
|
40
|
-
const proto = injectObject.proto;
|
|
41
|
-
const loadUnit = tegg_metadata_1.LoadUnitFactory.getLoadUnitById(proto.loadUnitId);
|
|
42
|
-
if (!loadUnit) {
|
|
43
|
-
throw new Error(`can not find load unit: ${proto.loadUnitId}`);
|
|
44
|
-
}
|
|
45
|
-
if (this.proto.initType !== tegg_types_1.ObjectInitType.CONTEXT && injectObject.proto.initType === tegg_types_1.ObjectInitType.CONTEXT) {
|
|
46
|
-
this.injectProperty(injectObject.refName, EggObjectUtil_1.EggObjectUtil.contextEggObjectGetProperty(proto, injectObject.objName));
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
const injectObj = await EggContainerFactory_1.EggContainerFactory.getOrCreateEggObject(proto, injectObject.objName);
|
|
50
|
-
this.injectProperty(injectObject.refName, EggObjectUtil_1.EggObjectUtil.eggObjectGetProperty(injectObj));
|
|
51
|
-
}
|
|
52
|
-
}));
|
|
53
|
-
// global hook
|
|
54
|
-
await EggObject_1.EggObjectLifecycleUtil.objectPostCreate(ctx, this);
|
|
55
|
-
// self hook
|
|
56
|
-
const postInjectMethod = (_c = EggObject_1.EggObjectLifecycleUtil.getLifecycleHook('postInject', this.proto)) !== null && _c !== void 0 ? _c : 'postInject';
|
|
57
|
-
if (objLifecycleHook[postInjectMethod]) {
|
|
58
|
-
await objLifecycleHook[postInjectMethod](ctx, this);
|
|
59
|
-
}
|
|
60
|
-
const initMethod = (_d = EggObject_1.EggObjectLifecycleUtil.getLifecycleHook('init', this.proto)) !== null && _d !== void 0 ? _d : 'init';
|
|
61
|
-
if (objLifecycleHook[initMethod]) {
|
|
62
|
-
await objLifecycleHook[initMethod](ctx, this);
|
|
63
|
-
}
|
|
64
|
-
this.status = tegg_types_1.EggObjectStatus.READY;
|
|
65
|
-
}
|
|
66
|
-
catch (e) {
|
|
67
|
-
this.status = tegg_types_1.EggObjectStatus.ERROR;
|
|
68
|
-
throw e;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
async initWithInjectConstructor(ctx) {
|
|
72
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
73
|
-
// 1. create inject deps
|
|
74
|
-
// 2. create obj
|
|
75
|
-
// 3. call obj lifecycle preCreate
|
|
76
|
-
// 4. call obj lifecycle postCreate
|
|
77
|
-
// 5. success create
|
|
78
|
-
try {
|
|
79
|
-
const constructArgs = await Promise.all(this.proto.injectObjects.map(async (injectObject) => {
|
|
80
|
-
const proto = injectObject.proto;
|
|
81
|
-
const loadUnit = tegg_metadata_1.LoadUnitFactory.getLoadUnitById(proto.loadUnitId);
|
|
82
|
-
if (!loadUnit) {
|
|
83
|
-
throw new Error(`can not find load unit: ${proto.loadUnitId}`);
|
|
84
|
-
}
|
|
85
|
-
if (this.proto.initType !== tegg_types_1.ObjectInitType.CONTEXT && injectObject.proto.initType === tegg_types_1.ObjectInitType.CONTEXT) {
|
|
86
|
-
return EggObjectUtil_1.EggObjectUtil.contextEggObjectProxy(proto, injectObject.objName);
|
|
87
|
-
}
|
|
88
|
-
const injectObj = await EggContainerFactory_1.EggContainerFactory.getOrCreateEggObject(proto, injectObject.objName);
|
|
89
|
-
return EggObjectUtil_1.EggObjectUtil.eggObjectProxy(injectObj);
|
|
90
|
-
}));
|
|
91
|
-
if (typeof this.proto.multiInstanceConstructorIndex !== 'undefined') {
|
|
92
|
-
const qualifiers = (_c = (_b = (_a = this.proto.multiInstanceConstructorAttributes) === null || _a === void 0 ? void 0 : _a.map(t => {
|
|
93
|
-
return {
|
|
94
|
-
attribute: t,
|
|
95
|
-
value: this.proto.getQualifier(t),
|
|
96
|
-
};
|
|
97
|
-
})) === null || _b === void 0 ? void 0 : _b.filter(t => typeof t.value !== 'undefined')) !== null && _c !== void 0 ? _c : [];
|
|
98
|
-
const objInfo = {
|
|
99
|
-
name: this.proto.name,
|
|
100
|
-
qualifiers,
|
|
101
|
-
};
|
|
102
|
-
constructArgs.splice(this.proto.multiInstanceConstructorIndex, 0, objInfo);
|
|
103
|
-
}
|
|
104
|
-
this._obj = this.proto.constructEggObject(...constructArgs);
|
|
105
|
-
const objLifecycleHook = this._obj;
|
|
106
|
-
// global hook
|
|
107
|
-
await EggObject_1.EggObjectLifecycleUtil.objectPreCreate(ctx, this);
|
|
108
|
-
// self hook
|
|
109
|
-
const postConstructMethod = (_d = EggObject_1.EggObjectLifecycleUtil.getLifecycleHook('postConstruct', this.proto)) !== null && _d !== void 0 ? _d : 'postConstruct';
|
|
110
|
-
if (objLifecycleHook[postConstructMethod]) {
|
|
111
|
-
await objLifecycleHook[postConstructMethod](ctx, this);
|
|
112
|
-
}
|
|
113
|
-
const preInjectMethod = (_e = EggObject_1.EggObjectLifecycleUtil.getLifecycleHook('preInject', this.proto)) !== null && _e !== void 0 ? _e : 'preInject';
|
|
114
|
-
if (objLifecycleHook[preInjectMethod]) {
|
|
115
|
-
await objLifecycleHook[preInjectMethod](ctx, this);
|
|
116
|
-
}
|
|
117
|
-
// global hook
|
|
118
|
-
await EggObject_1.EggObjectLifecycleUtil.objectPostCreate(ctx, this);
|
|
119
|
-
// self hook
|
|
120
|
-
const postInjectMethod = (_f = EggObject_1.EggObjectLifecycleUtil.getLifecycleHook('postInject', this.proto)) !== null && _f !== void 0 ? _f : 'postInject';
|
|
121
|
-
if (objLifecycleHook[postInjectMethod]) {
|
|
122
|
-
await objLifecycleHook[postInjectMethod](ctx, this);
|
|
123
|
-
}
|
|
124
|
-
const initMethod = (_g = EggObject_1.EggObjectLifecycleUtil.getLifecycleHook('init', this.proto)) !== null && _g !== void 0 ? _g : 'init';
|
|
125
|
-
if (objLifecycleHook[initMethod]) {
|
|
126
|
-
await objLifecycleHook[initMethod](ctx, this);
|
|
127
|
-
}
|
|
128
|
-
this.status = tegg_types_1.EggObjectStatus.READY;
|
|
129
|
-
}
|
|
130
|
-
catch (e) {
|
|
131
|
-
this.status = tegg_types_1.EggObjectStatus.ERROR;
|
|
132
|
-
throw e;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
async init(ctx) {
|
|
136
|
-
if (this.proto.injectType === tegg_types_1.InjectType.CONSTRUCTOR) {
|
|
137
|
-
await this.initWithInjectConstructor(ctx);
|
|
138
|
-
}
|
|
139
|
-
else {
|
|
140
|
-
await this.initWithInjectProperty(ctx);
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
async destroy(ctx) {
|
|
144
|
-
var _a, _b;
|
|
145
|
-
if (this.status === tegg_types_1.EggObjectStatus.READY) {
|
|
146
|
-
this.status = tegg_types_1.EggObjectStatus.DESTROYING;
|
|
147
|
-
// global hook
|
|
148
|
-
await EggObject_1.EggObjectLifecycleUtil.objectPreDestroy(ctx, this);
|
|
149
|
-
// self hook
|
|
150
|
-
const objLifecycleHook = this._obj;
|
|
151
|
-
const preDestroyMethod = (_a = EggObject_1.EggObjectLifecycleUtil.getLifecycleHook('preDestroy', this.proto)) !== null && _a !== void 0 ? _a : 'preDestroy';
|
|
152
|
-
if (objLifecycleHook[preDestroyMethod]) {
|
|
153
|
-
await objLifecycleHook[preDestroyMethod](ctx, this);
|
|
154
|
-
}
|
|
155
|
-
const destroyMethod = (_b = EggObject_1.EggObjectLifecycleUtil.getLifecycleHook('destroy', this.proto)) !== null && _b !== void 0 ? _b : 'destroy';
|
|
156
|
-
if (objLifecycleHook[destroyMethod]) {
|
|
157
|
-
await objLifecycleHook[destroyMethod](ctx, this);
|
|
158
|
-
}
|
|
159
|
-
this.status = tegg_types_1.EggObjectStatus.DESTROYED;
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
injectProperty(name, descriptor) {
|
|
163
|
-
Reflect.defineProperty(this._obj, name, descriptor);
|
|
164
|
-
}
|
|
165
|
-
get obj() {
|
|
166
|
-
return this._obj;
|
|
167
|
-
}
|
|
168
|
-
get isReady() {
|
|
169
|
-
return this.status === tegg_types_1.EggObjectStatus.READY;
|
|
170
|
-
}
|
|
171
|
-
static async createObject(name, proto, lifecycleContext) {
|
|
172
|
-
const obj = new EggObjectImpl(name, proto);
|
|
173
|
-
await obj.init(lifecycleContext);
|
|
174
|
-
return obj;
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
exports.default = EggObjectImpl;
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnT2JqZWN0SW1wbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbXBsL0VnZ09iamVjdEltcGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx3REFBdUQ7QUFRdkQsa0RBQWdGO0FBQ2hGLDBEQUFzRDtBQUN0RCxrREFBNEQ7QUFDNUQsd0VBQXFFO0FBQ3JFLG1EQUFnRDtBQUNoRCw0REFBeUQ7QUFFekQsTUFBcUIsYUFBYTtJQVFoQyxZQUFZLElBQW1CLEVBQUUsS0FBbUI7UUFONUMsV0FBTSxHQUFvQiw0QkFBZSxDQUFDLE9BQU8sQ0FBQztRQU94RCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixNQUFNLEdBQUcsR0FBRywrQkFBYyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxFQUFFLEdBQUcsOEJBQWEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxLQUFLLENBQUMsc0JBQXNCLENBQUMsR0FBOEI7O1FBQ3pELGdCQUFnQjtRQUNoQixrQ0FBa0M7UUFDbEMsaUJBQWlCO1FBQ2pCLG1DQUFtQztRQUNuQyxvQkFBb0I7UUFDcEIsSUFBSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDNUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsSUFBMEIsQ0FBQztZQUV6RCxjQUFjO1lBQ2QsTUFBTSxrQ0FBc0IsQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3hELFlBQVk7WUFDWixNQUFNLG1CQUFtQixHQUFHLE1BQUEsa0NBQXNCLENBQUMsZ0JBQWdC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
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EggObjectUtil = void 0;
|
|
4
|
-
const EggContainerFactory_1 = require("../factory/EggContainerFactory");
|
|
5
|
-
class EggObjectUtil {
|
|
6
|
-
static eggObjectGetProperty(eggObject) {
|
|
7
|
-
return {
|
|
8
|
-
get() {
|
|
9
|
-
return eggObject.obj;
|
|
10
|
-
},
|
|
11
|
-
configurable: true,
|
|
12
|
-
enumerable: true,
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
static contextEggObjectGetProperty(proto, objName) {
|
|
16
|
-
const PROTO_OBJ_GETTER = Symbol(`EggPrototype#objGetter#${String(objName)}`);
|
|
17
|
-
if (!proto[PROTO_OBJ_GETTER]) {
|
|
18
|
-
proto[PROTO_OBJ_GETTER] = {
|
|
19
|
-
get() {
|
|
20
|
-
const eggObject = EggContainerFactory_1.EggContainerFactory.getEggObject(proto, objName);
|
|
21
|
-
return eggObject.obj;
|
|
22
|
-
},
|
|
23
|
-
configurable: true,
|
|
24
|
-
enumerable: true,
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
return proto[PROTO_OBJ_GETTER];
|
|
28
|
-
}
|
|
29
|
-
static eggObjectProxy(eggObject) {
|
|
30
|
-
let _obj;
|
|
31
|
-
function getObj() {
|
|
32
|
-
if (!_obj) {
|
|
33
|
-
_obj = eggObject.obj;
|
|
34
|
-
}
|
|
35
|
-
return _obj;
|
|
36
|
-
}
|
|
37
|
-
const proxy = new Proxy({}, {
|
|
38
|
-
defineProperty(_target, property, attributes) {
|
|
39
|
-
const obj = getObj();
|
|
40
|
-
Object.defineProperty(obj, property, attributes);
|
|
41
|
-
return true;
|
|
42
|
-
},
|
|
43
|
-
deleteProperty(_target, p) {
|
|
44
|
-
const obj = getObj();
|
|
45
|
-
delete obj[p];
|
|
46
|
-
return true;
|
|
47
|
-
},
|
|
48
|
-
get(target, p) {
|
|
49
|
-
// make get be lazy
|
|
50
|
-
if (p === 'then')
|
|
51
|
-
return;
|
|
52
|
-
if (Object.prototype[p]) {
|
|
53
|
-
return target[p];
|
|
54
|
-
}
|
|
55
|
-
const obj = getObj();
|
|
56
|
-
const val = obj[p];
|
|
57
|
-
if (typeof val === 'function') {
|
|
58
|
-
return val.bind(obj);
|
|
59
|
-
}
|
|
60
|
-
return val;
|
|
61
|
-
},
|
|
62
|
-
getOwnPropertyDescriptor(_target, p) {
|
|
63
|
-
const obj = getObj();
|
|
64
|
-
return Object.getOwnPropertyDescriptor(obj, p);
|
|
65
|
-
},
|
|
66
|
-
getPrototypeOf() {
|
|
67
|
-
const obj = getObj();
|
|
68
|
-
return Object.getPrototypeOf(obj);
|
|
69
|
-
},
|
|
70
|
-
has(_target, p) {
|
|
71
|
-
const obj = getObj();
|
|
72
|
-
return p in obj;
|
|
73
|
-
},
|
|
74
|
-
isExtensible() {
|
|
75
|
-
const obj = getObj();
|
|
76
|
-
return Object.isExtensible(obj);
|
|
77
|
-
},
|
|
78
|
-
ownKeys() {
|
|
79
|
-
const obj = getObj();
|
|
80
|
-
return Reflect.ownKeys(obj);
|
|
81
|
-
},
|
|
82
|
-
preventExtensions() {
|
|
83
|
-
const obj = getObj();
|
|
84
|
-
Object.preventExtensions(obj);
|
|
85
|
-
return true;
|
|
86
|
-
},
|
|
87
|
-
set(_target, p, newValue) {
|
|
88
|
-
const obj = getObj();
|
|
89
|
-
obj[p] = newValue;
|
|
90
|
-
return true;
|
|
91
|
-
},
|
|
92
|
-
setPrototypeOf(_target, v) {
|
|
93
|
-
const obj = getObj();
|
|
94
|
-
Object.setPrototypeOf(obj, v);
|
|
95
|
-
return true;
|
|
96
|
-
},
|
|
97
|
-
});
|
|
98
|
-
return proxy;
|
|
99
|
-
}
|
|
100
|
-
static contextEggObjectProxy(proto, objName) {
|
|
101
|
-
const PROTO_OBJ_PROXY = Symbol(`EggPrototype#objProxy#${String(objName)}`);
|
|
102
|
-
if (!proto[PROTO_OBJ_PROXY]) {
|
|
103
|
-
proto[PROTO_OBJ_PROXY] = new Proxy({}, {
|
|
104
|
-
defineProperty(_target, property, attributes) {
|
|
105
|
-
const eggObject = EggContainerFactory_1.EggContainerFactory.getEggObject(proto, objName);
|
|
106
|
-
const obj = eggObject.obj;
|
|
107
|
-
Object.defineProperty(obj, property, attributes);
|
|
108
|
-
return true;
|
|
109
|
-
},
|
|
110
|
-
deleteProperty(_target, p) {
|
|
111
|
-
const eggObject = EggContainerFactory_1.EggContainerFactory.getEggObject(proto, objName);
|
|
112
|
-
const obj = eggObject.obj;
|
|
113
|
-
delete obj[p];
|
|
114
|
-
return true;
|
|
115
|
-
},
|
|
116
|
-
get(target, p) {
|
|
117
|
-
// make get be lazy
|
|
118
|
-
if (p === 'then')
|
|
119
|
-
return;
|
|
120
|
-
if (Object.prototype[p]) {
|
|
121
|
-
return target[p];
|
|
122
|
-
}
|
|
123
|
-
const eggObject = EggContainerFactory_1.EggContainerFactory.getEggObject(proto, objName);
|
|
124
|
-
const obj = eggObject.obj;
|
|
125
|
-
return obj[p];
|
|
126
|
-
},
|
|
127
|
-
getOwnPropertyDescriptor(_target, p) {
|
|
128
|
-
const eggObject = EggContainerFactory_1.EggContainerFactory.getEggObject(proto, objName);
|
|
129
|
-
const obj = eggObject.obj;
|
|
130
|
-
return Object.getOwnPropertyDescriptor(obj, p);
|
|
131
|
-
},
|
|
132
|
-
getPrototypeOf() {
|
|
133
|
-
const eggObject = EggContainerFactory_1.EggContainerFactory.getEggObject(proto, objName);
|
|
134
|
-
const obj = eggObject.obj;
|
|
135
|
-
return Object.getPrototypeOf(obj);
|
|
136
|
-
},
|
|
137
|
-
has(_target, p) {
|
|
138
|
-
const eggObject = EggContainerFactory_1.EggContainerFactory.getEggObject(proto, objName);
|
|
139
|
-
const obj = eggObject.obj;
|
|
140
|
-
return p in obj;
|
|
141
|
-
},
|
|
142
|
-
isExtensible() {
|
|
143
|
-
const eggObject = EggContainerFactory_1.EggContainerFactory.getEggObject(proto, objName);
|
|
144
|
-
const obj = eggObject.obj;
|
|
145
|
-
return Object.isExtensible(obj);
|
|
146
|
-
},
|
|
147
|
-
ownKeys() {
|
|
148
|
-
const eggObject = EggContainerFactory_1.EggContainerFactory.getEggObject(proto, objName);
|
|
149
|
-
const obj = eggObject.obj;
|
|
150
|
-
return Reflect.ownKeys(obj);
|
|
151
|
-
},
|
|
152
|
-
preventExtensions() {
|
|
153
|
-
const eggObject = EggContainerFactory_1.EggContainerFactory.getEggObject(proto, objName);
|
|
154
|
-
const obj = eggObject.obj;
|
|
155
|
-
Object.preventExtensions(obj);
|
|
156
|
-
return true;
|
|
157
|
-
},
|
|
158
|
-
set(_target, p, newValue) {
|
|
159
|
-
const eggObject = EggContainerFactory_1.EggContainerFactory.getEggObject(proto, objName);
|
|
160
|
-
const obj = eggObject.obj;
|
|
161
|
-
obj[p] = newValue;
|
|
162
|
-
return true;
|
|
163
|
-
},
|
|
164
|
-
setPrototypeOf(_target, v) {
|
|
165
|
-
const eggObject = EggContainerFactory_1.EggContainerFactory.getEggObject(proto, objName);
|
|
166
|
-
const obj = eggObject.obj;
|
|
167
|
-
Object.setPrototypeOf(obj, v);
|
|
168
|
-
return true;
|
|
169
|
-
},
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
return proto[PROTO_OBJ_PROXY];
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
exports.EggObjectUtil = EggObjectUtil;
|
|
176
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnT2JqZWN0VXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbXBsL0VnZ09iamVjdFV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0Esd0VBQXFFO0FBRXJFLE1BQWEsYUFBYTtJQUN4QixNQUFNLENBQUMsb0JBQW9CLENBQUMsU0FBb0I7UUFDOUMsT0FBTztZQUNMLEdBQUc7Z0JBQ0QsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDO1lBQ3ZCLENBQUM7WUFDRCxZQUFZLEVBQUUsSUFBSTtZQUNsQixVQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxLQUFtQixFQUFFLE9BQW9CO1FBQzFFLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1lBQzdCLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHO2dCQUN4QixHQUFHO29CQUNELE1BQU0sU0FBUyxHQUFHLHlDQUFtQixDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7b0JBQ25FLE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQztnQkFDdkIsQ0FBQztnQkFDRCxZQUFZLEVBQUUsSUFBSTtnQkFDbEIsVUFBVSxFQUFFLElBQUk7YUFDakIsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLFNBQW9CO1FBQ3hDLElBQUksSUFBWSxDQUFDO1FBQ2pCLFNBQVMsTUFBTTtZQUNiLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDVixJQUFJLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQztZQUN2QixDQUFDO1lB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
|