@eggjs/core-decorator 4.0.0-beta.7 → 4.0.0-beta.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/decorator/ConfigSource.d.ts +1 -4
- package/dist/decorator/ConfigSource.js +7 -12
- package/dist/decorator/ContextProto.d.ts +2 -7
- package/dist/decorator/ContextProto.js +8 -12
- package/dist/decorator/EggQualifier.d.ts +2 -6
- package/dist/decorator/EggQualifier.js +7 -12
- package/dist/decorator/InitTypeQualifier.d.ts +2 -6
- package/dist/decorator/InitTypeQualifier.js +7 -12
- package/dist/decorator/Inject.d.ts +3 -7
- package/dist/decorator/Inject.js +98 -73
- package/dist/decorator/ModuleQualifier.d.ts +1 -4
- package/dist/decorator/ModuleQualifier.js +7 -12
- package/dist/decorator/MultiInstanceInfo.d.ts +2 -6
- package/dist/decorator/MultiInstanceInfo.js +7 -12
- package/dist/decorator/MultiInstanceProto.d.ts +2 -6
- package/dist/decorator/MultiInstanceProto.js +33 -32
- package/dist/decorator/Prototype.d.ts +2 -6
- package/dist/decorator/Prototype.js +26 -24
- package/dist/decorator/SingletonProto.d.ts +2 -7
- package/dist/decorator/SingletonProto.js +8 -12
- package/dist/decorator/index.d.ts +10 -0
- package/dist/decorator/index.js +11 -12
- package/dist/index.d.ts +3 -15
- package/dist/index.js +4 -19
- package/dist/util/MetadataUtil.d.ts +34 -38
- package/dist/util/MetadataUtil.js +83 -75
- package/dist/util/PrototypeUtil.d.ts +107 -111
- package/dist/util/PrototypeUtil.js +248 -215
- package/dist/util/QualifierUtil.d.ts +12 -16
- package/dist/util/QualifierUtil.js +91 -66
- package/dist/util/index.d.ts +3 -0
- package/dist/util/index.js +4 -5
- package/package.json +4 -4
|
@@ -1,67 +1,92 @@
|
|
|
1
|
+
import { MapUtil, ObjectUtils } from '@eggjs/tegg-common-util';
|
|
2
|
+
import { PROPERTY_QUALIFIER_META_DATA, QUALIFIER_META_DATA } from '@eggjs/tegg-types';
|
|
1
3
|
import { MetadataUtil } from "./MetadataUtil.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUXVhbGlmaWVyVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL1F1YWxpZmllclV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUd0RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsTUFBTSxPQUFPLGFBQWE7SUFDeEIsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQXdCLEVBQUUsU0FBNkIsRUFBRSxLQUFxQjtRQUNyRyxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLElBQUksR0FBRyxFQUFzQyxDQUFDLENBQUM7UUFDOUgsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxLQUF3QjtRQUNoRCxNQUFNLFVBQVUsR0FBd0QsWUFBWSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3SCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsTUFBTSxHQUFHLEdBQW9CLEVBQUUsQ0FBQztRQUNoQyxLQUFLLE1BQU0sQ0FBRSxTQUFTLEVBQUUsS0FBSyxDQUFFLElBQUksVUFBVSxFQUFFLENBQUM7WUFDOUMsR0FBRyxDQUFDLElBQUksQ0FBQztnQkFDUCxTQUFTO2dCQUNULEtBQUs7YUFDTixDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEtBQXdCLEVB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
|
package/dist/util/index.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export { };
|
|
1
|
+
export * from "./MetadataUtil.js";
|
|
2
|
+
export * from "./PrototypeUtil.js";
|
|
3
|
+
export * from "./QualifierUtil.js";
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxvQkFBb0IsQ0FBQyJ9
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eggjs/core-decorator",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.9",
|
|
4
4
|
"description": "tegg core decorator",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"egg",
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"access": "public"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@eggjs/tegg-common-util": "4.0.0-beta.
|
|
38
|
-
"@eggjs/tegg-types": "4.0.0-beta.
|
|
37
|
+
"@eggjs/tegg-common-util": "4.0.0-beta.9",
|
|
38
|
+
"@eggjs/tegg-types": "4.0.0-beta.9"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@types/node": "^22.10.5",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"types": "./dist/index.d.ts",
|
|
49
49
|
"scripts": {
|
|
50
50
|
"clean": "rimraf dist",
|
|
51
|
-
"build": "tsdown",
|
|
51
|
+
"build": "tsdown && rimraf dist && tsc -b --clean && tsc",
|
|
52
52
|
"typecheck": "tsc --noEmit"
|
|
53
53
|
}
|
|
54
54
|
}
|