@eggjs/tegg-runtime 3.62.0 → 4.0.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +12 -0
  2. package/dist/{src/factory → factory}/EggContainerFactory.d.ts +1 -0
  3. package/dist/factory/EggContainerFactory.js +90 -0
  4. package/dist/factory/EggObjectFactory.js +46 -0
  5. package/dist/factory/LoadUnitInstanceFactory.js +57 -0
  6. package/dist/factory/index.d.ts +3 -0
  7. package/dist/factory/index.js +4 -0
  8. package/dist/{src/impl → impl}/ContextInitiator.d.ts +0 -1
  9. package/dist/impl/ContextInitiator.js +37 -0
  10. package/dist/impl/ContextObjectGraph.js +38 -0
  11. package/dist/impl/EggAlwaysNewObjectContainer.js +33 -0
  12. package/dist/{src/impl → impl}/EggObjectImpl.d.ts +1 -1
  13. package/dist/impl/EggObjectImpl.js +179 -0
  14. package/dist/impl/EggObjectUtil.js +172 -0
  15. package/dist/impl/ModuleLoadUnitInstance.js +90 -0
  16. package/dist/impl/index.d.ts +6 -0
  17. package/dist/impl/index.js +7 -0
  18. package/dist/index.d.ts +4 -12
  19. package/dist/index.js +5 -29
  20. package/dist/{src/model → model}/AbstractEggContext.d.ts +1 -1
  21. package/dist/model/AbstractEggContext.js +93 -0
  22. package/dist/model/ContextHandler.js +14 -0
  23. package/dist/model/EggContext.js +3 -0
  24. package/dist/model/EggObject.js +3 -0
  25. package/dist/model/LoadUnitInstance.js +3 -0
  26. package/dist/model/index.d.ts +5 -0
  27. package/dist/model/index.js +6 -0
  28. package/package.json +29 -29
  29. package/dist/src/factory/EggContainerFactory.js +0 -76
  30. package/dist/src/factory/EggObjectFactory.js +0 -53
  31. package/dist/src/factory/LoadUnitInstanceFactory.js +0 -62
  32. package/dist/src/impl/ContextInitiator.js +0 -46
  33. package/dist/src/impl/ContextObjectGraph.js +0 -44
  34. package/dist/src/impl/EggAlwaysNewObjectContainer.js +0 -36
  35. package/dist/src/impl/EggObjectImpl.js +0 -178
  36. package/dist/src/impl/EggObjectUtil.js +0 -176
  37. package/dist/src/impl/ModuleLoadUnitInstance.js +0 -91
  38. package/dist/src/model/AbstractEggContext.js +0 -96
  39. package/dist/src/model/ContextHandler.js +0 -19
  40. package/dist/src/model/EggContext.js +0 -6
  41. package/dist/src/model/EggObject.js +0 -6
  42. package/dist/src/model/LoadUnitInstance.js +0 -6
  43. /package/dist/{src/factory → factory}/EggObjectFactory.d.ts +0 -0
  44. /package/dist/{src/factory → factory}/LoadUnitInstanceFactory.d.ts +0 -0
  45. /package/dist/{src/impl → impl}/ContextObjectGraph.d.ts +0 -0
  46. /package/dist/{src/impl → impl}/EggAlwaysNewObjectContainer.d.ts +0 -0
  47. /package/dist/{src/impl → impl}/EggObjectUtil.d.ts +0 -0
  48. /package/dist/{src/impl → impl}/ModuleLoadUnitInstance.d.ts +0 -0
  49. /package/dist/{src/model → model}/ContextHandler.d.ts +0 -0
  50. /package/dist/{src/model → model}/EggContext.d.ts +0 -0
  51. /package/dist/{src/model → model}/EggObject.d.ts +0 -0
  52. /package/dist/{src/model → model}/LoadUnitInstance.d.ts +0 -0
@@ -0,0 +1,172 @@
1
+ import { EggContainerFactory } from "../factory/EggContainerFactory.js";
2
+ export class EggObjectUtil {
3
+ static eggObjectGetProperty(eggObject) {
4
+ return {
5
+ get() {
6
+ return eggObject.obj;
7
+ },
8
+ configurable: true,
9
+ enumerable: true,
10
+ };
11
+ }
12
+ static contextEggObjectGetProperty(proto, objName) {
13
+ const PROTO_OBJ_GETTER = Symbol(`EggPrototype#objGetter#${String(objName)}`);
14
+ if (!proto[PROTO_OBJ_GETTER]) {
15
+ proto[PROTO_OBJ_GETTER] = {
16
+ get() {
17
+ const eggObject = EggContainerFactory.getEggObject(proto, objName);
18
+ return eggObject.obj;
19
+ },
20
+ configurable: true,
21
+ enumerable: true,
22
+ };
23
+ }
24
+ return proto[PROTO_OBJ_GETTER];
25
+ }
26
+ static eggObjectProxy(eggObject) {
27
+ let _obj;
28
+ function getObj() {
29
+ if (!_obj) {
30
+ _obj = eggObject.obj;
31
+ }
32
+ return _obj;
33
+ }
34
+ const proxy = new Proxy({}, {
35
+ defineProperty(_target, property, attributes) {
36
+ const obj = getObj();
37
+ Object.defineProperty(obj, property, attributes);
38
+ return true;
39
+ },
40
+ deleteProperty(_target, p) {
41
+ const obj = getObj();
42
+ delete obj[p];
43
+ return true;
44
+ },
45
+ get(target, p) {
46
+ // make get be lazy
47
+ if (p === 'then')
48
+ return;
49
+ if (Object.prototype[p]) {
50
+ return target[p];
51
+ }
52
+ const obj = getObj();
53
+ const val = obj[p];
54
+ if (typeof val === 'function') {
55
+ return val.bind(obj);
56
+ }
57
+ return val;
58
+ },
59
+ getOwnPropertyDescriptor(_target, p) {
60
+ const obj = getObj();
61
+ return Object.getOwnPropertyDescriptor(obj, p);
62
+ },
63
+ getPrototypeOf() {
64
+ const obj = getObj();
65
+ return Object.getPrototypeOf(obj);
66
+ },
67
+ has(_target, p) {
68
+ const obj = getObj();
69
+ return p in obj;
70
+ },
71
+ isExtensible() {
72
+ const obj = getObj();
73
+ return Object.isExtensible(obj);
74
+ },
75
+ ownKeys() {
76
+ const obj = getObj();
77
+ return Reflect.ownKeys(obj);
78
+ },
79
+ preventExtensions() {
80
+ const obj = getObj();
81
+ Object.preventExtensions(obj);
82
+ return true;
83
+ },
84
+ set(_target, p, newValue) {
85
+ const obj = getObj();
86
+ obj[p] = newValue;
87
+ return true;
88
+ },
89
+ setPrototypeOf(_target, v) {
90
+ const obj = getObj();
91
+ Object.setPrototypeOf(obj, v);
92
+ return true;
93
+ },
94
+ });
95
+ return proxy;
96
+ }
97
+ static contextEggObjectProxy(proto, objName) {
98
+ const PROTO_OBJ_PROXY = Symbol(`EggPrototype#objProxy#${String(objName)}`);
99
+ if (!proto[PROTO_OBJ_PROXY]) {
100
+ proto[PROTO_OBJ_PROXY] = new Proxy({}, {
101
+ defineProperty(_target, property, attributes) {
102
+ const eggObject = EggContainerFactory.getEggObject(proto, objName);
103
+ const obj = eggObject.obj;
104
+ Object.defineProperty(obj, property, attributes);
105
+ return true;
106
+ },
107
+ deleteProperty(_target, p) {
108
+ const eggObject = EggContainerFactory.getEggObject(proto, objName);
109
+ const obj = eggObject.obj;
110
+ delete obj[p];
111
+ return true;
112
+ },
113
+ get(target, p) {
114
+ // make get be lazy
115
+ if (p === 'then')
116
+ return;
117
+ if (Object.prototype[p]) {
118
+ return target[p];
119
+ }
120
+ const eggObject = EggContainerFactory.getEggObject(proto, objName);
121
+ const obj = eggObject.obj;
122
+ return obj[p];
123
+ },
124
+ getOwnPropertyDescriptor(_target, p) {
125
+ const eggObject = EggContainerFactory.getEggObject(proto, objName);
126
+ const obj = eggObject.obj;
127
+ return Object.getOwnPropertyDescriptor(obj, p);
128
+ },
129
+ getPrototypeOf() {
130
+ const eggObject = EggContainerFactory.getEggObject(proto, objName);
131
+ const obj = eggObject.obj;
132
+ return Object.getPrototypeOf(obj);
133
+ },
134
+ has(_target, p) {
135
+ const eggObject = EggContainerFactory.getEggObject(proto, objName);
136
+ const obj = eggObject.obj;
137
+ return p in obj;
138
+ },
139
+ isExtensible() {
140
+ const eggObject = EggContainerFactory.getEggObject(proto, objName);
141
+ const obj = eggObject.obj;
142
+ return Object.isExtensible(obj);
143
+ },
144
+ ownKeys() {
145
+ const eggObject = EggContainerFactory.getEggObject(proto, objName);
146
+ const obj = eggObject.obj;
147
+ return Reflect.ownKeys(obj);
148
+ },
149
+ preventExtensions() {
150
+ const eggObject = EggContainerFactory.getEggObject(proto, objName);
151
+ const obj = eggObject.obj;
152
+ Object.preventExtensions(obj);
153
+ return true;
154
+ },
155
+ set(_target, p, newValue) {
156
+ const eggObject = EggContainerFactory.getEggObject(proto, objName);
157
+ const obj = eggObject.obj;
158
+ obj[p] = newValue;
159
+ return true;
160
+ },
161
+ setPrototypeOf(_target, v) {
162
+ const eggObject = EggContainerFactory.getEggObject(proto, objName);
163
+ const obj = eggObject.obj;
164
+ Object.setPrototypeOf(obj, v);
165
+ return true;
166
+ },
167
+ });
168
+ }
169
+ return proto[PROTO_OBJ_PROXY];
170
+ }
171
+ }
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnT2JqZWN0VXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbXBsL0VnZ09iamVjdFV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFeEUsTUFBTSxPQUFPLGFBQWE7SUFDeEIsTUFBTSxDQUFDLG9CQUFvQixDQUFDLFNBQW9CO1FBQzlDLE9BQU87WUFDTCxHQUFHO2dCQUNELE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQztZQUN2QixDQUFDO1lBQ0QsWUFBWSxFQUFFLElBQUk7WUFDbEIsVUFBVSxFQUFFLElBQUk7U0FDakIsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsMkJBQTJCLENBQUMsS0FBbUIsRUFBRSxPQUFvQjtRQUMxRSxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztZQUM3QixLQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBRztnQkFDeEIsR0FBRztvQkFDRCxNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO29CQUNuRSxPQUFPLFNBQVMsQ0FBQyxHQUFHLENBQUM7Z0JBQ3ZCLENBQUM7Z0JBQ0QsWUFBWSxFQUFFLElBQUk7Z0JBQ2xCLFVBQVUsRUFBRSxJQUFJO2FBQ2pCLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxTQUFvQjtRQUN4QyxJQUFJLElBQVksQ0FBQztRQUNqQixTQUFTLE1BQU07WUFDYixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ1YsSUFBSSxHQUFHLFNB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
@@ -0,0 +1,90 @@
1
+ import { MapUtil } from '@eggjs/tegg-common-util';
2
+ import { IdenticalUtil } from '@eggjs/tegg-lifecycle';
3
+ import { EggLoadUnitType, ObjectInitType } from '@eggjs/tegg-types';
4
+ import { EggObjectFactory } from "../factory/EggObjectFactory.js";
5
+ import { LoadUnitInstanceFactory } from "../factory/LoadUnitInstanceFactory.js";
6
+ import { LoadUnitInstanceLifecycleUtil } from "../model/LoadUnitInstance.js";
7
+ export class ModuleLoadUnitInstance {
8
+ loadUnit;
9
+ id;
10
+ name;
11
+ protoToCreateMap = [];
12
+ eggObjectMap = new Map();
13
+ eggObjectPromiseMap = new Map();
14
+ constructor(loadUnit) {
15
+ this.loadUnit = loadUnit;
16
+ this.name = loadUnit.name;
17
+ const iterator = this.loadUnit.iterateEggPrototype();
18
+ for (const proto of iterator) {
19
+ if (proto.initType === ObjectInitType.SINGLETON) {
20
+ this.protoToCreateMap.push([
21
+ proto.name, proto,
22
+ ]);
23
+ }
24
+ }
25
+ this.id = IdenticalUtil.createLoadUnitInstanceId(loadUnit.id);
26
+ }
27
+ iterateProtoToCreate() {
28
+ return this.protoToCreateMap[Symbol.iterator]();
29
+ }
30
+ addProtoToCreate(name, proto) {
31
+ this.protoToCreateMap.push([name, proto]);
32
+ }
33
+ deleteProtoToCreate(name) {
34
+ const index = this.protoToCreateMap.findIndex(([protoName]) => protoName === name);
35
+ if (index !== -1) {
36
+ this.protoToCreateMap.splice(index, 1);
37
+ }
38
+ }
39
+ async init(ctx) {
40
+ await LoadUnitInstanceLifecycleUtil.objectPreCreate(ctx, this);
41
+ for (const [name, proto] of this.protoToCreateMap) {
42
+ await this.getOrCreateEggObject(name, proto);
43
+ }
44
+ await LoadUnitInstanceLifecycleUtil.objectPostCreate(ctx, this);
45
+ }
46
+ async destroy() {
47
+ const objs = [];
48
+ for (const protoObjMap of this.eggObjectMap.values()) {
49
+ for (const obj of protoObjMap.values()) {
50
+ objs.push(obj);
51
+ }
52
+ }
53
+ this.eggObjectMap.clear();
54
+ await Promise.all(objs.map(async (obj) => {
55
+ await EggObjectFactory.destroyObject(obj);
56
+ }));
57
+ }
58
+ async getOrCreateEggObject(name, proto) {
59
+ if (!this.loadUnit.containPrototype(proto)) {
60
+ throw new Error('load unit not contain proto');
61
+ }
62
+ const protoObjMap = MapUtil.getOrStore(this.eggObjectMap, proto.id, new Map());
63
+ if (!protoObjMap.has(name)) {
64
+ const protoObjPromiseMap = MapUtil.getOrStore(this.eggObjectPromiseMap, proto.id, new Map());
65
+ if (!protoObjPromiseMap.has(name)) {
66
+ const objPromise = EggObjectFactory.createObject(name, proto);
67
+ protoObjPromiseMap.set(name, objPromise);
68
+ const obj = await objPromise;
69
+ protoObjPromiseMap.delete(name);
70
+ protoObjMap.set(name, obj);
71
+ }
72
+ else {
73
+ await protoObjPromiseMap.get(name);
74
+ }
75
+ }
76
+ return protoObjMap.get(name);
77
+ }
78
+ getEggObject(name, proto) {
79
+ const protoObjMap = this.eggObjectMap.get(proto.id);
80
+ if (!protoObjMap || !protoObjMap.has(name)) {
81
+ throw new Error(`EggObject ${String(proto.name)} not found`);
82
+ }
83
+ return protoObjMap.get(name);
84
+ }
85
+ static createModuleLoadUnitInstance(ctx) {
86
+ return new ModuleLoadUnitInstance(ctx.loadUnit);
87
+ }
88
+ }
89
+ LoadUnitInstanceFactory.registerLoadUnitInstanceClass(EggLoadUnitType.MODULE, ModuleLoadUnitInstance.createModuleLoadUnitInstance);
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlTG9hZFVuaXRJbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbXBsL01vZHVsZUxvYWRVbml0SW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBWXBFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTdFLE1BQU0sT0FBTyxzQkFBc0I7SUFDeEIsUUFBUSxDQUFXO0lBQ25CLEVBQUUsQ0FBUztJQUNYLElBQUksQ0FBUztJQUNkLGdCQUFnQixHQUF1QyxFQUFFLENBQUM7SUFDMUQsWUFBWSxHQUE4QyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ3BFLG1CQUFtQixHQUF1RCxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRTVGLFlBQVksUUFBa0I7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQzFCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUNyRCxLQUFLLE1BQU0sS0FBSyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQzdCLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2hELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7b0JBQ3pCLEtBQUssQ0FBQyxJ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
@@ -0,0 +1,6 @@
1
+ export * from './ContextInitiator.ts';
2
+ export * from './ContextObjectGraph.ts';
3
+ export * from './EggAlwaysNewObjectContainer.ts';
4
+ export * from './EggObjectImpl.ts';
5
+ export * from './EggObjectUtil.ts';
6
+ export * from './ModuleLoadUnitInstance.ts';
@@ -0,0 +1,7 @@
1
+ export * from "./ContextInitiator.js";
2
+ export * from "./ContextObjectGraph.js";
3
+ export * from "./EggAlwaysNewObjectContainer.js";
4
+ export * from "./EggObjectImpl.js";
5
+ export * from "./EggObjectUtil.js";
6
+ export * from "./ModuleLoadUnitInstance.js";
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW1wbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw2QkFBNkIsQ0FBQyJ9
package/dist/index.d.ts CHANGED
@@ -1,13 +1,5 @@
1
1
  export * from '@eggjs/tegg-types/runtime';
2
- export { EggRuntimeContext as EggContext } from '@eggjs/tegg-types/runtime';
3
- export * from './src/model/EggContext';
4
- export * from './src/model/AbstractEggContext';
5
- export * from './src/model/LoadUnitInstance';
6
- export * from './src/model/EggObject';
7
- export * from './src/factory/EggContainerFactory';
8
- export * from './src/factory/EggObjectFactory';
9
- export * from './src/factory/LoadUnitInstanceFactory';
10
- export * from './src/impl/ModuleLoadUnitInstance';
11
- export * from './src/model/ContextHandler';
12
- import './src/impl/EggAlwaysNewObjectContainer';
13
- import './src/impl/ModuleLoadUnitInstance';
2
+ export type { EggRuntimeContext as EggContext } from '@eggjs/tegg-types/runtime';
3
+ export * from './model/index.ts';
4
+ export * from './impl/index.ts';
5
+ export * from './factory/index.ts';
package/dist/index.js CHANGED
@@ -1,29 +1,5 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("@eggjs/tegg-types/runtime"), exports);
18
- __exportStar(require("./src/model/EggContext"), exports);
19
- __exportStar(require("./src/model/AbstractEggContext"), exports);
20
- __exportStar(require("./src/model/LoadUnitInstance"), exports);
21
- __exportStar(require("./src/model/EggObject"), exports);
22
- __exportStar(require("./src/factory/EggContainerFactory"), exports);
23
- __exportStar(require("./src/factory/EggObjectFactory"), exports);
24
- __exportStar(require("./src/factory/LoadUnitInstanceFactory"), exports);
25
- __exportStar(require("./src/impl/ModuleLoadUnitInstance"), exports);
26
- __exportStar(require("./src/model/ContextHandler"), exports);
27
- require("./src/impl/EggAlwaysNewObjectContainer");
28
- require("./src/impl/ModuleLoadUnitInstance");
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNERBQTBDO0FBRTFDLHlEQUF1QztBQUN2QyxpRUFBK0M7QUFDL0MsK0RBQTZDO0FBQzdDLHdEQUFzQztBQUV0QyxvRUFBa0Q7QUFDbEQsaUVBQStDO0FBQy9DLHdFQUFzRDtBQUN0RCxvRUFBa0Q7QUFDbEQsNkRBQTJDO0FBRTNDLGtEQUFnRDtBQUNoRCw2Q0FBMkMifQ==
1
+ export * from '@eggjs/tegg-types/runtime';
2
+ export * from "./model/index.js";
3
+ export * from "./impl/index.js";
4
+ export * from "./factory/index.js";
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUcxQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxvQkFBb0IsQ0FBQyJ9
@@ -7,7 +7,7 @@ export declare abstract class AbstractEggContext implements EggRuntimeContext {
7
7
  private destroyed;
8
8
  abstract id: string;
9
9
  addProtoToCreate(name: string, proto: EggPrototype): void;
10
- deleteProtoToCreate(name: any): void;
10
+ deleteProtoToCreate(name: string): void;
11
11
  destroy(ctx: EggContextLifecycleContext): Promise<void>;
12
12
  get(key: string | symbol): any | undefined;
13
13
  getEggObject(name: EggPrototypeName, proto: EggPrototype): EggObject;
@@ -0,0 +1,93 @@
1
+ import { debuglog } from 'node:util';
2
+ import { ObjectInitType } from '@eggjs/tegg-types';
3
+ import { TeggError } from '@eggjs/tegg-metadata';
4
+ import { MapUtil } from '@eggjs/tegg-common-util';
5
+ import { EggContainerFactory } from "../factory/EggContainerFactory.js";
6
+ import { EggObjectFactory } from "../factory/EggObjectFactory.js";
7
+ import { ContextHandler } from "./ContextHandler.js";
8
+ import { EggContextLifecycleUtil } from "./EggContext.js";
9
+ const debug = debuglog('tegg/core/runtime/AbstractEggContext');
10
+ export class AbstractEggContext {
11
+ contextData = new Map();
12
+ protoToCreate = new Map();
13
+ eggObjectMap = new Map();
14
+ eggObjectPromiseMap = new Map();
15
+ destroyed = false;
16
+ addProtoToCreate(name, proto) {
17
+ this.protoToCreate.set(name, proto);
18
+ }
19
+ deleteProtoToCreate(name) {
20
+ this.protoToCreate.delete(name);
21
+ }
22
+ async destroy(ctx) {
23
+ await EggContextLifecycleUtil.objectPreDestroy(ctx, this);
24
+ const objs = [];
25
+ for (const protoObjMap of this.eggObjectMap.values()) {
26
+ for (const protoObj of protoObjMap.values()) {
27
+ objs.push(protoObj);
28
+ }
29
+ }
30
+ this.eggObjectMap.clear();
31
+ await Promise.all(objs.map(async (obj) => {
32
+ await EggObjectFactory.destroyObject(obj);
33
+ }));
34
+ this.contextData.clear();
35
+ this.destroyed = true;
36
+ await EggContextLifecycleUtil.clearObjectLifecycle(this);
37
+ }
38
+ get(key) {
39
+ return this.contextData.get(key);
40
+ }
41
+ getEggObject(name, proto) {
42
+ if (this.destroyed) {
43
+ throw TeggError.create(`Can not read property \`${String(name)}\` because egg ctx has been destroyed`, 'read_after_ctx_destroyed');
44
+ }
45
+ const protoObjMap = this.eggObjectMap.get(proto.id);
46
+ if (!protoObjMap || !protoObjMap.has(name)) {
47
+ throw new Error(`EggObject ${String(proto.name)} not found`);
48
+ }
49
+ return protoObjMap.get(name);
50
+ }
51
+ async getOrCreateEggObject(name, proto) {
52
+ const protoObjMap = MapUtil.getOrStore(this.eggObjectMap, proto.id, new Map());
53
+ if (!protoObjMap.has(name)) {
54
+ const protoObjPromiseMap = MapUtil.getOrStore(this.eggObjectPromiseMap, proto.id, new Map());
55
+ if (!protoObjPromiseMap.has(name)) {
56
+ const objPromise = EggObjectFactory.createObject(name, proto);
57
+ protoObjPromiseMap.set(name, objPromise);
58
+ const obj = await objPromise;
59
+ protoObjPromiseMap.delete(name);
60
+ if (!protoObjPromiseMap.size) {
61
+ this.eggObjectPromiseMap.delete(proto.id);
62
+ }
63
+ protoObjMap.set(name, obj);
64
+ }
65
+ else {
66
+ await protoObjPromiseMap.get(name);
67
+ }
68
+ }
69
+ return protoObjMap.get(name);
70
+ }
71
+ async init(ctx) {
72
+ await EggContextLifecycleUtil.objectPreCreate(ctx, this);
73
+ for (const [name, proto] of this.protoToCreate) {
74
+ await this.getOrCreateEggObject(name, proto);
75
+ }
76
+ await EggContextLifecycleUtil.objectPostCreate(ctx, this);
77
+ }
78
+ iterateProtoToCreate() {
79
+ return this.protoToCreate.entries();
80
+ }
81
+ set(key, val) {
82
+ this.contextData.set(key, val);
83
+ }
84
+ }
85
+ EggContainerFactory.registerContainerGetMethod(ObjectInitType.CONTEXT, () => {
86
+ const ctx = ContextHandler.getContext();
87
+ if (!ctx) {
88
+ debug('can not get teggCtx from ContextHandler');
89
+ throw new Error('ctx is required');
90
+ }
91
+ return ctx;
92
+ });
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RFZ2dDb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGVsL0Fic3RyYWN0RWdnQ29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWxELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUxRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsc0NBQXNDLENBQUMsQ0FBQztBQUUvRCxNQUFNLE9BQWdCLGtCQUFrQjtJQUM5QixXQUFXLEdBQThCLElBQUksR0FBRyxFQUFFLENBQUM7SUFDbkQsYUFBYSxHQUF3QyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQy9ELFlBQVksR0FBOEMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNwRSxtQkFBbUIsR0FBdUQsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNwRixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBSTFCLGdCQUFnQixDQUFDLElBQVksRUFBRSxLQUFtQjtRQUNoRCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQVk7UUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxD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
@@ -0,0 +1,14 @@
1
+ import assert from 'node:assert';
2
+ export class ContextHandler {
3
+ static getContextCallback;
4
+ static runInContextCallback;
5
+ static getContext() {
6
+ assert(this.getContextCallback, 'getContextCallback not set');
7
+ return this.getContextCallback ? this.getContextCallback() : undefined;
8
+ }
9
+ static run(context, fn) {
10
+ assert(this.runInContextCallback, 'runInContextCallback not set');
11
+ return this.runInContextCallback(context, fn);
12
+ }
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dEhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwvQ29udGV4dEhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBTWpDLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBc0M7SUFDL0QsTUFBTSxDQUFDLG9CQUFvQixDQUF1QjtJQUVsRCxNQUFNLENBQUMsVUFBVTtRQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsNEJBQTRCLENBQUMsQ0FBQztRQUM5RCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUcsQ0FBVSxPQUEwQixFQUFFLEVBQW9CO1FBQ2xFLE1BQU0sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsOEJBQThCLENBQUMsQ0FBQztRQUNsRSxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQztDQUNGIn0=
@@ -0,0 +1,3 @@
1
+ import { LifecycleUtil } from '@eggjs/tegg-lifecycle';
2
+ export const EggContextLifecycleUtil = new LifecycleUtil();
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnQ29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RlbC9FZ2dDb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLGFBQWEsRUFBaUQsQ0FBQyJ9
@@ -0,0 +1,3 @@
1
+ import { LifecycleUtil } from '@eggjs/tegg-lifecycle';
2
+ export const EggObjectLifecycleUtil = new LifecycleUtil();
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnT2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGVsL0VnZ09iamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHdEQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxhQUFhLEVBQXdDLENBQUMifQ==
@@ -0,0 +1,3 @@
1
+ import { LifecycleUtil } from '@eggjs/tegg-lifecycle';
2
+ export const LoadUnitInstanceLifecycleUtil = new LifecycleUtil();
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9hZFVuaXRJbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RlbC9Mb2FkVW5pdEluc3RhbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxJQUFJLGFBQWEsRUFBc0QsQ0FBQyJ9
@@ -0,0 +1,5 @@
1
+ export * from './AbstractEggContext.ts';
2
+ export * from './ContextHandler.ts';
3
+ export * from './EggContext.ts';
4
+ export * from './EggObject.ts';
5
+ export * from './LoadUnitInstance.ts';
@@ -0,0 +1,6 @@
1
+ export * from "./AbstractEggContext.js";
2
+ export * from "./ContextHandler.js";
3
+ export * from "./EggContext.js";
4
+ export * from "./EggObject.js";
5
+ export * from "./LoadUnitInstance.js";
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHVCQUF1QixDQUFDIn0=
package/package.json CHANGED
@@ -1,29 +1,24 @@
1
1
  {
2
2
  "name": "@eggjs/tegg-runtime",
3
- "version": "3.62.0",
3
+ "version": "4.0.0-beta.10",
4
4
  "description": "tegg runtime",
5
- "main": "dist/index.js",
5
+ "type": "module",
6
+ "exports": {
7
+ ".": "./dist/index.js",
8
+ "./package.json": "./package.json"
9
+ },
6
10
  "files": [
7
- "dist/**/*.js",
8
- "dist/**/*.d.ts"
11
+ "dist"
9
12
  ],
10
- "typings": "dist/index.d.ts",
11
13
  "keywords": [
12
14
  "egg",
13
15
  "typescript",
14
16
  "runtime",
15
17
  "tegg"
16
18
  ],
17
- "scripts": {
18
- "test": "cross-env NODE_ENV=test NODE_OPTIONS='--no-deprecation' mocha",
19
- "clean": "tsc -b --clean",
20
- "tsc": "npm run clean && tsc -p ./tsconfig.json",
21
- "tsc:pub": "npm run clean && tsc -p ./tsconfig.pub.json",
22
- "prepublishOnly": "npm run tsc:pub"
23
- },
24
19
  "author": "killagu <killa123@126.com>",
25
20
  "license": "MIT",
26
- "homepage": "https://github.com/eggjs/tegg",
21
+ "homepage": "https://github.com/eggjs/tegg/tree/next/core/runtime",
27
22
  "bugs": {
28
23
  "url": "https://github.com/eggjs/tegg/issues"
29
24
  },
@@ -33,27 +28,32 @@
33
28
  "directory": "core/runtime"
34
29
  },
35
30
  "engines": {
36
- "node": ">=14.0.0"
31
+ "node": ">=22.18.0"
37
32
  },
38
33
  "dependencies": {
39
- "@eggjs/core-decorator": "^3.62.0",
40
- "@eggjs/tegg-common-util": "^3.62.0",
41
- "@eggjs/tegg-lifecycle": "^3.62.0",
42
- "@eggjs/tegg-metadata": "^3.62.0",
43
- "@eggjs/tegg-types": "^3.62.0"
34
+ "@eggjs/tegg-common-util": "4.0.0-beta.10",
35
+ "@eggjs/core-decorator": "4.0.0-beta.10",
36
+ "@eggjs/tegg-lifecycle": "4.0.0-beta.10",
37
+ "@eggjs/tegg-types": "4.0.0-beta.10",
38
+ "@eggjs/tegg-metadata": "4.0.0-beta.10"
44
39
  },
45
40
  "devDependencies": {
46
- "@eggjs/tegg-loader": "^3.62.0",
47
- "@types/mocha": "^10.0.1",
48
- "@types/node": "^20.2.4",
49
- "cross-env": "^7.0.3",
50
- "mm": "^3.2.1",
51
- "mocha": "^10.2.0",
52
- "ts-node": "^10.9.1",
53
- "typescript": "^5.0.4"
41
+ "@types/node": "^22.10.5",
42
+ "typescript": "^5.9.3",
43
+ "tsdown": "^0.15.6",
44
+ "unplugin-unused": "^0.5.3",
45
+ "@eggjs/module-test-util": "4.0.0-beta.4",
46
+ "@eggjs/tegg-loader": "4.0.0-beta.10"
54
47
  },
55
48
  "publishConfig": {
56
49
  "access": "public"
57
50
  },
58
- "gitHead": "b0c5d2dbae617d227909f338013b1e6310054270"
59
- }
51
+ "main": "./dist/index.js",
52
+ "module": "./dist/index.js",
53
+ "types": "./dist/index.d.ts",
54
+ "scripts": {
55
+ "clean": "rimraf dist",
56
+ "build": "tsdown && rimraf dist && tsc -b --clean && tsc",
57
+ "typecheck": "tsc --noEmit"
58
+ }
59
+ }