@eggjs/core-decorator 4.0.0-beta.3 → 4.0.0-beta.5

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