@eggjs/tegg-dynamic-inject-runtime 4.0.0-beta.1 → 4.0.0-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,4 +1,16 @@
1
- # `dyniamic-inject-runtime`
1
+ # `@eggjs/tegg-dynamic-inject-runtime`
2
+
3
+ [![NPM version][npm-image]][npm-url]
4
+ [![Known Vulnerabilities][snyk-image]][snyk-url]
5
+ [![npm download][download-image]][download-url]
6
+ [![Node.js Version](https://img.shields.io/node/v/@eggjs/tegg-dynamic-inject-runtime.svg?style=flat)](https://nodejs.org/en/download/)
7
+
8
+ [npm-image]: https://img.shields.io/npm/v/@eggjs/tegg-dynamic-inject-runtime.svg?style=flat-square
9
+ [npm-url]: https://npmjs.org/package/@eggjs/tegg-dynamic-inject-runtime
10
+ [snyk-image]: https://snyk.io/test/npm/@eggjs/tegg-dynamic-inject-runtime/badge.svg?style=flat-square
11
+ [snyk-url]: https://snyk.io/test/npm/@eggjs/tegg-dynamic-inject-runtime
12
+ [download-image]: https://img.shields.io/npm/dm/@eggjs/tegg-dynamic-inject-runtime.svg?style=flat-square
13
+ [download-url]: https://npmjs.org/package/@eggjs/tegg-dynamic-inject-runtime
2
14
 
3
15
  ## Usage
4
16
 
@@ -50,4 +50,4 @@ EggObjectFactory = __decorate([
50
50
  })
51
51
  ], EggObjectFactory);
52
52
  export { EggObjectFactory };
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnT2JqZWN0RmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkVnZ09iamVjdEZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBT2hELE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFPOUUsSUFBTSxnQkFBZ0IsR0FBdEIsTUFBTSxnQkFBZ0I7SUFDM0IsbUJBQW1CLENBQTZCO0lBRWhELEtBQUssQ0FBQyxZQUFZLENBQW1CLGFBQWtDLEVBQUUsY0FBOEI7UUFDckcsTUFBTSxTQUFTLEdBQUcsaUJBQWlCLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNuRixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixhQUFhLENBQUMsSUFBSSxtQkFBbUIsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUM1RixDQUFDO1FBQ0QsTUFBTSxRQUFRLEdBQVEsYUFBYSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBQ0QsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvRixPQUFPLFNBQVMsQ0FBQyxHQUFRLENBQUM7SUFDNUIsQ0FBQztJQUVELEtBQUssQ0FBQyxhQUFhLENBQW1CLGFBQWtDO1FBQ3RFLE1BQU0sWUFBWSxHQUFHLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xELE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFFeEQsT0FBTztZQUNMLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQztnQkFDcEIsT0FBTztvQkFDTCxHQUFHLEVBQUUsQ0FBQztvQkFDTixLQUFLLENBQUMsSUFBSTt3QkFDUixJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssZUFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDOzRCQUN4QyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBdUIsQ0FBQzt3QkFDN0MsQ0FBQzt3QkFFRCxNQUFNLEtBQUssR0FBRyxNQUFNLFlBQVksQ0FBQyxhQUFhLEVBQUUsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7d0JBQzdFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBdUIsQ0FBQztvQkFDckQsQ0FBQztpQkFDRixDQUFDO1lBQ0osQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQTtBQXJDWSxnQkFBZ0I7SUFMNUIsY0FBYyxDQUFDO1FBQ2QsYUFBYSxFQUFFLG1DQUFtQztRQUNsRCxJQUFJLEVBQUUsa0JBQWtCO1FBQ3hCLFdBQVcsRUFBRSxXQUFXLENBQUMsTUFBTTtLQUNoQyxDQUFDO0dBQ1csZ0JBQWdCLENBcUM1QiJ9
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnT2JqZWN0RmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9FZ2dPYmplY3RGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQU9oRCxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBTzlFLElBQU0sZ0JBQWdCLEdBQXRCLE1BQU0sZ0JBQWdCO0lBQzNCLG1CQUFtQixDQUE2QjtJQUVoRCxLQUFLLENBQUMsWUFBWSxDQUFtQixhQUFrQyxFQUFFLGNBQThCO1FBQ3JHLE1BQU0sU0FBUyxHQUFHLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDbkYsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsYUFBYSxDQUFDLElBQUksbUJBQW1CLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDNUYsQ0FBQztRQUNELE1BQU0sUUFBUSxHQUFRLGFBQWEsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDbkUsQ0FBQztRQUNELE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0YsT0FBTyxTQUFTLENBQUMsR0FBUSxDQUFDO0lBQzVCLENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUFtQixhQUFrQztRQUN0RSxNQUFNLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN6RSxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRCxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXhELE9BQU87WUFDTCxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUM7Z0JBQ3BCLE9BQU87b0JBQ0wsR0FBRyxFQUFFLENBQUM7b0JBQ04sS0FBSyxDQUFDLElBQUk7d0JBQ1IsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLGVBQWUsQ0FBQyxNQUFNLEVBQUUsQ0FBQzs0QkFDeEMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQXVCLENBQUM7d0JBQzdDLENBQUM7d0JBRUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxZQUFZLENBQUMsYUFBYSxFQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO3dCQUM3RSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQXVCLENBQUM7b0JBQ3JELENBQUM7aUJBQ0YsQ0FBQztZQUNKLENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGLENBQUE7QUFyQ1ksZ0JBQWdCO0lBTDVCLGNBQWMsQ0FBQztRQUNkLGFBQWEsRUFBRSxtQ0FBbUM7UUFDbEQsSUFBSSxFQUFFLGtCQUFrQjtRQUN4QixXQUFXLEVBQUUsV0FBVyxDQUFDLE1BQU07S0FDaEMsQ0FBQztHQUNXLGdCQUFnQixDQXFDNUIifQ==
@@ -0,0 +1,33 @@
1
+ import { EggContainerFactory, EggObjectFactory as TEggObjectFactory, } from '@eggjs/tegg-runtime';
2
+ import { IdenticalUtil } from '@eggjs/tegg-lifecycle';
3
+ import { EggObjectFactory } from './EggObjectFactory.js';
4
+ import { EggObjectFactoryPrototype } from './EggObjectFactoryPrototype.js';
5
+ const OBJ = Symbol('EggObjectFactoryObject#obj');
6
+ export class EggObjectFactoryObject {
7
+ proto;
8
+ name;
9
+ ctx;
10
+ id;
11
+ [OBJ];
12
+ constructor(name, proto) {
13
+ this.proto = proto;
14
+ this.name = name;
15
+ this.id = IdenticalUtil.createObjectId(this.proto.id, this.ctx?.id);
16
+ }
17
+ get obj() {
18
+ if (!this[OBJ]) {
19
+ this[OBJ] = this.proto.constructEggObject();
20
+ this[OBJ].eggContainerFactory = EggContainerFactory;
21
+ }
22
+ return this[OBJ];
23
+ }
24
+ static async createObject(name, proto) {
25
+ return new EggObjectFactoryObject(name, proto);
26
+ }
27
+ isReady;
28
+ injectProperty() {
29
+ return;
30
+ }
31
+ }
32
+ TEggObjectFactory.registerEggObjectCreateMethod(EggObjectFactoryPrototype, EggObjectFactoryObject.createObject);
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnT2JqZWN0RmFjdG9yeU9iamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9FZ2dPYmplY3RGYWN0b3J5T2JqZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsZ0JBQWdCLElBQUksaUJBQWlCLEdBQ3RDLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBT3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTNFLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBRWpELE1BQU0sT0FBTyxzQkFBc0I7SUFDeEIsS0FBSyxDQUE0QjtJQUNqQyxJQUFJLENBQWdCO0lBQ3BCLEdBQUcsQ0FBcUI7SUFDeEIsRUFBRSxDQUFTO0lBQ1osQ0FBQyxHQUFHLENBQUMsQ0FBbUI7SUFFaEMsWUFBWSxJQUFtQixFQUFFLEtBQWdDO1FBQy9ELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxFQUFFLEdBQUcsYUFBYSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsRUFBc0IsQ0FBQztZQUNoRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsbUJBQW1CLEdBQUcsbUJBQW1CLENBQUM7UUFDdEQsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFtQixFQUFFLEtBQW1CO1FBQ2hFLE9BQU8sSUFBSSxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsS0FBa0MsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFUSxPQUFPLENBQU87SUFFdkIsY0FBYztRQUNaLE9BQU87SUFDVCxDQUFDO0NBQ0Y7QUFFRCxpQkFBaUIsQ0FBQyw2QkFBNkIsQ0FBQyx5QkFBeUIsRUFBRSxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyJ9
@@ -0,0 +1,51 @@
1
+ import { EggPrototypeCreatorFactory } from '@eggjs/tegg-metadata';
2
+ import { MetadataUtil, QualifierUtil, } from '@eggjs/core-decorator';
3
+ import { NameUtil } from '@eggjs/tegg-common-util';
4
+ import { IdenticalUtil } from '@eggjs/tegg-lifecycle';
5
+ export const EGG_OBJECT_FACTORY_PROTO_IMPLE_TYPE = 'EGG_OBJECT_FACTORY_PROTOTYPE';
6
+ export class EggObjectFactoryPrototype {
7
+ clazz;
8
+ accessLevel;
9
+ id;
10
+ initType;
11
+ injectObjects;
12
+ loadUnitId;
13
+ name;
14
+ qualifiers;
15
+ constructor(clazz, loadUnit, prototypeInfo) {
16
+ this.clazz = clazz;
17
+ this.qualifiers = QualifierUtil.mergeQualifiers(QualifierUtil.getProtoQualifiers(clazz), (prototypeInfo.qualifiers ?? []));
18
+ this.id = IdenticalUtil.createProtoId(loadUnit.id, NameUtil.getClassName(this.clazz));
19
+ this.initType = prototypeInfo.initType;
20
+ this.accessLevel = prototypeInfo.accessLevel;
21
+ this.loadUnitId = loadUnit.id;
22
+ this.name = prototypeInfo.name || NameUtil.getClassName(this.clazz);
23
+ this.injectObjects = [];
24
+ }
25
+ constructEggObject() {
26
+ return Reflect.construct(this.clazz, []);
27
+ }
28
+ getMetaData(metadataKey) {
29
+ return MetadataUtil.getMetaData(metadataKey, this.clazz);
30
+ }
31
+ verifyQualifier(qualifier) {
32
+ const selfQualifiers = this.qualifiers.find(t => t.attribute === qualifier.attribute);
33
+ return selfQualifiers?.value === qualifier.value;
34
+ }
35
+ getQualifier(attribute) {
36
+ return this.qualifiers.find(t => t.attribute === attribute)?.value;
37
+ }
38
+ verifyQualifiers(qualifiers) {
39
+ for (const qualifier of qualifiers) {
40
+ if (!this.verifyQualifier(qualifier)) {
41
+ return false;
42
+ }
43
+ }
44
+ return true;
45
+ }
46
+ static create(ctx) {
47
+ return new EggObjectFactoryPrototype(ctx.clazz, ctx.loadUnit, ctx.prototypeInfo);
48
+ }
49
+ }
50
+ EggPrototypeCreatorFactory.registerPrototypeCreator(EGG_OBJECT_FACTORY_PROTO_IMPLE_TYPE, EggObjectFactoryPrototype.create);
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnT2JqZWN0RmFjdG9yeVByb3RvdHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9FZ2dPYmplY3RGYWN0b3J5UHJvdG90eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xFLE9BQU8sRUFDTCxZQUFZLEVBQ1osYUFBYSxHQUNkLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQWtCdEQsTUFBTSxDQUFDLE1BQU0sbUNBQW1DLEdBQUcsOEJBQThCLENBQUM7QUFFbEYsTUFBTSxPQUFPLHlCQUF5QjtJQUczQixLQUFLLENBQXNDO0lBQzNDLFdBQVcsQ0FBYztJQUN6QixFQUFFLENBQUs7SUFDUCxRQUFRLENBQXFCO0lBQzdCLGFBQWEsQ0FBc0I7SUFDbkMsVUFBVSxDQUFTO0lBQ25CLElBQUksQ0FBbUI7SUFDdkIsVUFBVSxDQUFrQjtJQUVyQyxZQUFZLEtBQTBDLEVBQUUsUUFBa0IsRUFBRSxhQUErQjtRQUN6RyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FBQyxlQUFlLENBQzdDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFDdkMsQ0FBQyxhQUFhLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUNqQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLEVBQUUsR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN0RixJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUM7UUFDdkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDO1FBQzdDLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsV0FBVyxDQUFJLFdBQXdCO1FBQ3JDLE9BQU8sWUFBWSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxlQUFlLENBQUMsU0FBd0I7UUFDdEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0RixPQUFPLGNBQWMsRUFBRSxLQUFLLEtBQUssU0FBUyxDQUFDLEtBQUssQ0FBQztJQUNuRCxDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWlCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxFQUFFLEtBQUssQ0FBQztJQUNyRSxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBMkI7UUFDMUMsS0FBSyxNQUFNLFNBQVMsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUNyQyxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFpQztRQUM3QyxPQUFPLElBQUkseUJBQXlCLENBQUMsR0FBRyxDQUFDLEtBQTRDLEVBQUUsR0FBRyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDMUgsQ0FBQztDQUNGO0FBR0QsMEJBQTBCLENBQUMsd0JBQXdCLENBQUMsbUNBQW1DLEVBQUUseUJBQXlCLENBQUMsTUFBTSxDQUFDLENBQUMifQ==
@@ -1,4 +1,4 @@
1
1
  export * from './EggObjectFactory.js';
2
2
  export * from './EggObjectFactoryObject.js';
3
3
  export * from './EggObjectFactoryPrototype.js';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxnQ0FBZ0MsQ0FBQyJ9
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsZ0NBQWdDLENBQUMifQ==
package/package.json CHANGED
@@ -1,20 +1,17 @@
1
1
  {
2
2
  "name": "@eggjs/tegg-dynamic-inject-runtime",
3
- "version": "4.0.0-beta.1",
3
+ "version": "4.0.0-beta.11",
4
4
  "description": "tegg dynamic inject",
5
5
  "eggModule": {
6
6
  "name": "teggDyniamicInjectRuntime"
7
7
  },
8
8
  "type": "module",
9
9
  "exports": {
10
- ".": {
11
- "types": "./src/index.d.ts",
12
- "default": "./src/index.js"
13
- }
10
+ ".": "./dist/index.js",
11
+ "./package.json": "./package.json"
14
12
  },
15
13
  "files": [
16
- "src/**/*.js",
17
- "src/**/*.d.ts"
14
+ "dist"
18
15
  ],
19
16
  "keywords": [
20
17
  "egg",
@@ -22,15 +19,9 @@
22
19
  "runtime",
23
20
  "tegg"
24
21
  ],
25
- "scripts": {
26
- "clean": "tsc -b --clean",
27
- "tsc": "npm run clean && tsc -p ./tsconfig.json",
28
- "tsc:pub": "npm run tsc",
29
- "prepublishOnly": "npm run tsc"
30
- },
31
22
  "author": "killagu <killa123@126.com>",
32
23
  "license": "MIT",
33
- "homepage": "https://github.com/eggjs/tegg",
24
+ "homepage": "https://github.com/eggjs/tegg/tree/next/core/dynamic-inject-runtime",
34
25
  "bugs": {
35
26
  "url": "https://github.com/eggjs/tegg/issues"
36
27
  },
@@ -40,26 +31,34 @@
40
31
  "directory": "core/dynamic-inject"
41
32
  },
42
33
  "engines": {
43
- "node": ">=20.0.0"
34
+ "node": ">=22.18.0"
44
35
  },
45
36
  "publishConfig": {
46
37
  "access": "public"
47
38
  },
48
39
  "dependencies": {
49
- "@eggjs/core-decorator": "^4.0.0-beta.1",
50
- "@eggjs/tegg-common-util": "^4.0.0-beta.1",
51
- "@eggjs/tegg-dynamic-inject": "^4.0.0-beta.1",
52
- "@eggjs/tegg-lifecycle": "^4.0.0-beta.1",
53
- "@eggjs/tegg-metadata": "^4.0.0-beta.1",
54
- "@eggjs/tegg-runtime": "^4.0.0-beta.1",
55
- "@eggjs/tegg-types": "^4.0.0-beta.1"
40
+ "@eggjs/core-decorator": "4.0.0-beta.11",
41
+ "@eggjs/tegg-dynamic-inject": "4.0.0-beta.11",
42
+ "@eggjs/tegg-lifecycle": "4.0.0-beta.11",
43
+ "@eggjs/tegg-runtime": "4.0.0-beta.11",
44
+ "@eggjs/tegg-common-util": "4.0.0-beta.11",
45
+ "@eggjs/tegg-metadata": "4.0.0-beta.11",
46
+ "@eggjs/tegg-types": "4.0.0-beta.11"
56
47
  },
57
48
  "devDependencies": {
58
- "@eggjs/module-test-util": "^4.0.0-beta.1",
59
- "@eggjs/tegg-loader": "^4.0.0-beta.1",
60
- "@types/node": "22",
61
- "ts-node": "10",
62
- "typescript": "5"
49
+ "@types/node": "^22.10.5",
50
+ "typescript": "^5.9.3",
51
+ "tsdown": "^0.15.6",
52
+ "unplugin-unused": "^0.5.3",
53
+ "@eggjs/module-test-util": "4.0.0-beta.4",
54
+ "@eggjs/tegg-loader": "4.0.0-beta.11"
63
55
  },
64
- "gitHead": "79a22905272d6de7fe06152231dff65d213d9166"
65
- }
56
+ "main": "./dist/index.js",
57
+ "module": "./dist/index.js",
58
+ "types": "./dist/index.d.ts",
59
+ "scripts": {
60
+ "clean": "rimraf dist *.tsbuildinfo",
61
+ "build": "tsdown && npm run clean && tsc -p tsconfig.build.json",
62
+ "typecheck": "tsc --noEmit"
63
+ }
64
+ }
@@ -1,32 +0,0 @@
1
- import { EggContainerFactory, EggObjectFactory as TEggObjectFactory, } from '@eggjs/tegg-runtime';
2
- import { IdenticalUtil } from '@eggjs/tegg-lifecycle';
3
- import { EggObjectFactoryPrototype } from './EggObjectFactoryPrototype.js';
4
- const OBJ = Symbol('EggObjectFactoryObject#obj');
5
- export class EggObjectFactoryObject {
6
- proto;
7
- name;
8
- ctx;
9
- id;
10
- [OBJ];
11
- constructor(name, proto) {
12
- this.proto = proto;
13
- this.name = name;
14
- this.id = IdenticalUtil.createObjectId(this.proto.id, this.ctx?.id);
15
- }
16
- get obj() {
17
- if (!this[OBJ]) {
18
- this[OBJ] = this.proto.constructEggObject();
19
- this[OBJ].eggContainerFactory = EggContainerFactory;
20
- }
21
- return this[OBJ];
22
- }
23
- static async createObject(name, proto) {
24
- return new EggObjectFactoryObject(name, proto);
25
- }
26
- isReady;
27
- injectProperty() {
28
- return;
29
- }
30
- }
31
- TEggObjectFactory.registerEggObjectCreateMethod(EggObjectFactoryPrototype, EggObjectFactoryObject.createObject);
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnT2JqZWN0RmFjdG9yeU9iamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkVnZ09iamVjdEZhY3RvcnlPYmplY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixnQkFBZ0IsSUFBSSxpQkFBaUIsR0FDdEMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFRdEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFM0UsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUFFakQsTUFBTSxPQUFPLHNCQUFzQjtJQUN4QixLQUFLLENBQTRCO0lBQ2pDLElBQUksQ0FBZ0I7SUFDcEIsR0FBRyxDQUFxQjtJQUN4QixFQUFFLENBQVM7SUFDWixDQUFDLEdBQUcsQ0FBQyxDQUFtQjtJQUVoQyxZQUFZLElBQW1CLEVBQUUsS0FBZ0M7UUFDL0QsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEVBQUUsR0FBRyxhQUFhLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELElBQUksR0FBRztRQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixFQUFzQixDQUFDO1lBQ2hFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBQztRQUN0RCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQW1CLEVBQUUsS0FBbUI7UUFDaEUsT0FBTyxJQUFJLHNCQUFzQixDQUFDLElBQUksRUFBRSxLQUFrQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVRLE9BQU8sQ0FBTztJQUV2QixjQUFjO1FBQ1osT0FBTztJQUNULENBQUM7Q0FDRjtBQUVELGlCQUFpQixDQUFDLDZCQUE2QixDQUFDLHlCQUF5QixFQUFFLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxDQUFDIn0=
@@ -1,51 +0,0 @@
1
- import { EggPrototypeCreatorFactory } from '@eggjs/tegg-metadata';
2
- import { MetadataUtil, QualifierUtil, } from '@eggjs/core-decorator';
3
- import { NameUtil } from '@eggjs/tegg-common-util';
4
- import { IdenticalUtil } from '@eggjs/tegg-lifecycle';
5
- export const EGG_OBJECT_FACTORY_PROTO_IMPLE_TYPE = 'EGG_OBJECT_FACTORY_PROTOTYPE';
6
- export class EggObjectFactoryPrototype {
7
- clazz;
8
- accessLevel;
9
- id;
10
- initType;
11
- injectObjects;
12
- loadUnitId;
13
- name;
14
- qualifiers;
15
- constructor(clazz, loadUnit, prototypeInfo) {
16
- this.clazz = clazz;
17
- this.qualifiers = QualifierUtil.mergeQualifiers(QualifierUtil.getProtoQualifiers(clazz), (prototypeInfo.qualifiers ?? []));
18
- this.id = IdenticalUtil.createProtoId(loadUnit.id, NameUtil.getClassName(this.clazz));
19
- this.initType = prototypeInfo.initType;
20
- this.accessLevel = prototypeInfo.accessLevel;
21
- this.loadUnitId = loadUnit.id;
22
- this.name = prototypeInfo.name || NameUtil.getClassName(this.clazz);
23
- this.injectObjects = [];
24
- }
25
- constructEggObject() {
26
- return Reflect.construct(this.clazz, []);
27
- }
28
- getMetaData(metadataKey) {
29
- return MetadataUtil.getMetaData(metadataKey, this.clazz);
30
- }
31
- verifyQualifier(qualifier) {
32
- const selfQualifiers = this.qualifiers.find(t => t.attribute === qualifier.attribute);
33
- return selfQualifiers?.value === qualifier.value;
34
- }
35
- getQualifier(attribute) {
36
- return this.qualifiers.find(t => t.attribute === attribute)?.value;
37
- }
38
- verifyQualifiers(qualifiers) {
39
- for (const qualifier of qualifiers) {
40
- if (!this.verifyQualifier(qualifier)) {
41
- return false;
42
- }
43
- }
44
- return true;
45
- }
46
- static create(ctx) {
47
- return new EggObjectFactoryPrototype(ctx.clazz, ctx.loadUnit, ctx.prototypeInfo);
48
- }
49
- }
50
- EggPrototypeCreatorFactory.registerPrototypeCreator(EGG_OBJECT_FACTORY_PROTO_IMPLE_TYPE, EggObjectFactoryPrototype.create);
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnT2JqZWN0RmFjdG9yeVByb3RvdHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkVnZ09iamVjdEZhY3RvcnlQcm90b3R5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEUsT0FBTyxFQUNMLFlBQVksRUFDWixhQUFhLEdBQ2QsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBa0J0RCxNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FBRyw4QkFBOEIsQ0FBQztBQUVsRixNQUFNLE9BQU8seUJBQXlCO0lBRzNCLEtBQUssQ0FBc0M7SUFDM0MsV0FBVyxDQUFjO0lBQ3pCLEVBQUUsQ0FBSztJQUNQLFFBQVEsQ0FBcUI7SUFDN0IsYUFBYSxDQUFzQjtJQUNuQyxVQUFVLENBQVM7SUFDbkIsSUFBSSxDQUFtQjtJQUN2QixVQUFVLENBQWtCO0lBRXJDLFlBQVksS0FBMEMsRUFBRSxRQUFrQixFQUFFLGFBQStCO1FBQ3pHLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDLGVBQWUsQ0FDN0MsYUFBYSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxFQUN2QyxDQUFDLGFBQWEsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQ2pDLENBQUM7UUFDRixJQUFJLENBQUMsRUFBRSxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQztRQUN2QyxJQUFJLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUM7UUFDN0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLEdBQUcsYUFBYSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxXQUFXLENBQUksV0FBd0I7UUFDckMsT0FBTyxZQUFZLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELGVBQWUsQ0FBQyxTQUF3QjtRQUN0QyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RGLE9BQU8sY0FBYyxFQUFFLEtBQUssS0FBSyxTQUFTLENBQUMsS0FBSyxDQUFDO0lBQ25ELENBQUM7SUFFRCxZQUFZLENBQUMsU0FBaUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLEVBQUUsS0FBSyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUEyQjtRQUMxQyxLQUFLLE1BQU0sU0FBUyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JDLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQWlDO1FBQzdDLE9BQU8sSUFBSSx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsS0FBNEMsRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMxSCxDQUFDO0NBQ0Y7QUFHRCwwQkFBMEIsQ0FBQyx3QkFBd0IsQ0FBQyxtQ0FBbUMsRUFBRSx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyJ9
File without changes
File without changes
File without changes
File without changes