@eggjs/core-decorator 4.0.0-beta.4 → 4.0.0-beta.6
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 +13 -1
- package/dist/decorator/ConfigSource.d.ts +4 -0
- package/dist/decorator/ConfigSource.js +13 -0
- package/dist/decorator/ContextProto.d.ts +7 -0
- package/dist/decorator/ContextProto.js +14 -0
- package/dist/decorator/EggQualifier.d.ts +6 -0
- package/dist/decorator/EggQualifier.js +13 -0
- package/dist/decorator/InitTypeQualifier.d.ts +6 -0
- package/dist/decorator/InitTypeQualifier.js +13 -0
- package/dist/decorator/Inject.d.ts +7 -0
- package/dist/decorator/Inject.js +77 -0
- package/dist/decorator/ModuleQualifier.d.ts +4 -0
- package/dist/decorator/ModuleQualifier.js +13 -0
- package/dist/decorator/MultiInstanceInfo.d.ts +6 -0
- package/dist/decorator/MultiInstanceInfo.js +13 -0
- package/dist/decorator/MultiInstanceProto.d.ts +6 -0
- package/dist/decorator/MultiInstanceProto.js +35 -0
- package/dist/decorator/Prototype.d.ts +6 -0
- package/dist/decorator/Prototype.js +27 -0
- package/dist/decorator/SingletonProto.d.ts +7 -0
- package/dist/decorator/SingletonProto.js +14 -0
- package/dist/decorator/index.js +12 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +19 -0
- package/dist/util/MetadataUtil.d.ts +39 -0
- package/dist/util/MetadataUtil.js +75 -0
- package/dist/util/PrototypeUtil.d.ts +112 -0
- package/dist/util/PrototypeUtil.js +216 -0
- package/dist/util/QualifierUtil.d.ts +17 -0
- package/dist/util/QualifierUtil.js +67 -0
- package/dist/util/index.js +5 -0
- package/package.json +24 -26
- package/src/decorator/ConfigSource.d.ts +0 -1
- package/src/decorator/ConfigSource.js +0 -8
- package/src/decorator/ContextProto.d.ts +0 -2
- package/src/decorator/ContextProto.js +0 -10
- package/src/decorator/EggQualifier.d.ts +0 -2
- package/src/decorator/EggQualifier.js +0 -8
- package/src/decorator/InitTypeQualifier.d.ts +0 -2
- package/src/decorator/InitTypeQualifier.js +0 -8
- package/src/decorator/Inject.d.ts +0 -3
- package/src/decorator/Inject.js +0 -95
- package/src/decorator/ModuleQualifier.d.ts +0 -1
- package/src/decorator/ModuleQualifier.js +0 -8
- package/src/decorator/MultiInstanceInfo.d.ts +0 -2
- package/src/decorator/MultiInstanceInfo.js +0 -8
- package/src/decorator/MultiInstanceProto.d.ts +0 -2
- package/src/decorator/MultiInstanceProto.js +0 -36
- package/src/decorator/Prototype.d.ts +0 -2
- package/src/decorator/Prototype.js +0 -29
- package/src/decorator/SingletonProto.d.ts +0 -2
- package/src/decorator/SingletonProto.js +0 -10
- package/src/decorator/index.d.ts +0 -10
- package/src/decorator/index.js +0 -11
- package/src/index.d.ts +0 -3
- package/src/index.js +0 -4
- package/src/util/MetadataUtil.d.ts +0 -35
- package/src/util/MetadataUtil.js +0 -83
- package/src/util/PrototypeUtil.d.ts +0 -108
- package/src/util/PrototypeUtil.js +0 -249
- package/src/util/QualifierUtil.d.ts +0 -13
- package/src/util/QualifierUtil.js +0 -92
- package/src/util/index.d.ts +0 -3
- package/src/util/index.js +0 -4
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { MapUtil, ObjectUtils } from '@eggjs/tegg-common-util';
|
|
2
|
-
import { PROPERTY_QUALIFIER_META_DATA, QUALIFIER_META_DATA } from '@eggjs/tegg-types';
|
|
3
|
-
import { MetadataUtil } from './MetadataUtil.js';
|
|
4
|
-
export class QualifierUtil {
|
|
5
|
-
static addProtoQualifier(clazz, attribute, value) {
|
|
6
|
-
const qualifiers = MetadataUtil.initOwnMapMetaData(QUALIFIER_META_DATA, clazz, new Map());
|
|
7
|
-
qualifiers.set(attribute, value);
|
|
8
|
-
}
|
|
9
|
-
static getProtoQualifiers(clazz) {
|
|
10
|
-
const qualifiers = MetadataUtil.getMetaData(QUALIFIER_META_DATA, clazz);
|
|
11
|
-
if (!qualifiers) {
|
|
12
|
-
return [];
|
|
13
|
-
}
|
|
14
|
-
const res = [];
|
|
15
|
-
for (const [attribute, value] of qualifiers) {
|
|
16
|
-
res.push({
|
|
17
|
-
attribute,
|
|
18
|
-
value,
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
return res;
|
|
22
|
-
}
|
|
23
|
-
static addInjectQualifier(clazz, property, parameterIndex, attribute, value) {
|
|
24
|
-
if (typeof parameterIndex === 'number') {
|
|
25
|
-
const argNames = ObjectUtils.getConstructorArgNameList(clazz);
|
|
26
|
-
const argName = argNames[parameterIndex];
|
|
27
|
-
QualifierUtil.addProperQualifier(clazz, argName, attribute, value);
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
QualifierUtil.addProperQualifier(clazz.constructor, property, attribute, value);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
static addProperQualifier(clazz, property, attribute, value) {
|
|
34
|
-
const properQualifiers = MetadataUtil.initOwnMapMetaData(PROPERTY_QUALIFIER_META_DATA, clazz, new Map());
|
|
35
|
-
const qualifiers = MapUtil.getOrStore(properQualifiers, property, new Map());
|
|
36
|
-
qualifiers.set(attribute, value);
|
|
37
|
-
}
|
|
38
|
-
static getProperQualifiers(clazz, property) {
|
|
39
|
-
const properQualifiers = MetadataUtil.getMetaData(PROPERTY_QUALIFIER_META_DATA, clazz);
|
|
40
|
-
const qualifiers = properQualifiers?.get(property);
|
|
41
|
-
if (!qualifiers) {
|
|
42
|
-
return [];
|
|
43
|
-
}
|
|
44
|
-
const res = [];
|
|
45
|
-
for (const [attribute, value] of qualifiers) {
|
|
46
|
-
res.push({
|
|
47
|
-
attribute,
|
|
48
|
-
value,
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
return res;
|
|
52
|
-
}
|
|
53
|
-
static getQualifierValue(clazz, attribute) {
|
|
54
|
-
const qualifiers = MetadataUtil.getMetaData(QUALIFIER_META_DATA, clazz);
|
|
55
|
-
return qualifiers?.get(attribute);
|
|
56
|
-
}
|
|
57
|
-
static getProperQualifier(clazz, property, attribute) {
|
|
58
|
-
const properQualifiers = MetadataUtil.getMetaData(PROPERTY_QUALIFIER_META_DATA, clazz);
|
|
59
|
-
const qualifiers = properQualifiers?.get(property);
|
|
60
|
-
return qualifiers?.get(attribute);
|
|
61
|
-
}
|
|
62
|
-
static matchQualifiers(clazzQualifiers, requestQualifiers) {
|
|
63
|
-
for (const request of requestQualifiers) {
|
|
64
|
-
if (!clazzQualifiers.find(t => t.attribute === request.attribute && t.value === request.value)) {
|
|
65
|
-
return false;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
return true;
|
|
69
|
-
}
|
|
70
|
-
static equalQualifiers(clazzQualifiers, requestQualifiers) {
|
|
71
|
-
if (clazzQualifiers.length !== requestQualifiers.length)
|
|
72
|
-
return false;
|
|
73
|
-
return QualifierUtil.matchQualifiers(clazzQualifiers, requestQualifiers);
|
|
74
|
-
}
|
|
75
|
-
static mergeQualifiers(...qualifiers) {
|
|
76
|
-
const result = [];
|
|
77
|
-
const temp = {};
|
|
78
|
-
for (const qualifierList of qualifiers) {
|
|
79
|
-
for (const { attribute, value } of qualifierList) {
|
|
80
|
-
temp[attribute] = value;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
for (const key of Reflect.ownKeys(temp)) {
|
|
84
|
-
result.push({
|
|
85
|
-
attribute: key,
|
|
86
|
-
value: temp[key],
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
return result;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUXVhbGlmaWVyVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlF1YWxpZmllclV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV0RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsTUFBTSxPQUFPLGFBQWE7SUFDeEIsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQXdCLEVBQUUsU0FBNkIsRUFBRSxLQUFxQjtRQUNyRyxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLElBQUksR0FBRyxFQUFzQyxDQUFDLENBQUM7UUFDOUgsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxLQUF3QjtRQUNoRCxNQUFNLFVBQVUsR0FBd0QsWUFBWSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3SCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsTUFBTSxHQUFHLEdBQW9CLEVBQUUsQ0FBQztRQUNoQyxLQUFLLE1BQU0sQ0FBRSxTQUFTLEVBQUUsS0FBSyxDQUFFLElBQUksVUFBVSxFQUFFLENBQUM7WUFDOUMsR0FBRyxDQUFDLElBQUksQ0FBQztnQkFDUCxTQUFTO2dCQUNULEtBQUs7YUFDTixDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEtBQXdCLEVBQUUsUUFBaUMsRUFBRSxj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
|
package/src/util/index.d.ts
DELETED
package/src/util/index.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './MetadataUtil.js';
|
|
2
|
-
export * from './PrototypeUtil.js';
|
|
3
|
-
export * from './QualifierUtil.js';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxvQkFBb0IsQ0FBQyJ9
|