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

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 (54) hide show
  1. package/README.md +13 -1
  2. package/dist/decorator/ConfigSource.js +8 -0
  3. package/{src → dist}/decorator/ContextProto.d.ts +2 -1
  4. package/dist/decorator/ContextProto.js +10 -0
  5. package/dist/decorator/EggQualifier.js +8 -0
  6. package/dist/decorator/InitTypeQualifier.js +8 -0
  7. package/dist/decorator/Inject.d.ts +14 -0
  8. package/dist/decorator/Inject.js +112 -0
  9. package/dist/decorator/ModuleQualifier.js +8 -0
  10. package/{src → dist}/decorator/MultiInstanceInfo.d.ts +1 -1
  11. package/dist/decorator/MultiInstanceInfo.js +8 -0
  12. package/{src → dist}/decorator/MultiInstanceProto.js +2 -2
  13. package/dist/decorator/Prototype.d.ts +8 -0
  14. package/dist/decorator/Prototype.js +34 -0
  15. package/{src → dist}/decorator/SingletonProto.d.ts +2 -1
  16. package/dist/decorator/SingletonProto.js +10 -0
  17. package/dist/decorator/index.d.ts +10 -0
  18. package/dist/decorator/index.js +11 -0
  19. package/dist/index.d.ts +3 -0
  20. package/dist/index.js +4 -0
  21. package/dist/util/MetadataUtil.js +83 -0
  22. package/{src → dist}/util/PrototypeUtil.d.ts +14 -14
  23. package/dist/util/PrototypeUtil.js +251 -0
  24. package/{src → dist}/util/QualifierUtil.d.ts +1 -1
  25. package/dist/util/QualifierUtil.js +92 -0
  26. package/dist/util/index.d.ts +3 -0
  27. package/dist/util/index.js +4 -0
  28. package/package.json +27 -29
  29. package/src/decorator/ConfigSource.js +0 -8
  30. package/src/decorator/ContextProto.js +0 -10
  31. package/src/decorator/EggQualifier.js +0 -8
  32. package/src/decorator/InitTypeQualifier.js +0 -8
  33. package/src/decorator/Inject.d.ts +0 -3
  34. package/src/decorator/Inject.js +0 -95
  35. package/src/decorator/ModuleQualifier.js +0 -8
  36. package/src/decorator/MultiInstanceInfo.js +0 -8
  37. package/src/decorator/Prototype.d.ts +0 -2
  38. package/src/decorator/Prototype.js +0 -29
  39. package/src/decorator/SingletonProto.js +0 -10
  40. package/src/decorator/index.d.ts +0 -10
  41. package/src/decorator/index.js +0 -11
  42. package/src/index.d.ts +0 -3
  43. package/src/index.js +0 -4
  44. package/src/util/MetadataUtil.js +0 -83
  45. package/src/util/PrototypeUtil.js +0 -249
  46. package/src/util/QualifierUtil.js +0 -95
  47. package/src/util/index.d.ts +0 -3
  48. package/src/util/index.js +0 -4
  49. /package/{src → dist}/decorator/ConfigSource.d.ts +0 -0
  50. /package/{src → dist}/decorator/EggQualifier.d.ts +0 -0
  51. /package/{src → dist}/decorator/InitTypeQualifier.d.ts +0 -0
  52. /package/{src → dist}/decorator/ModuleQualifier.d.ts +0 -0
  53. /package/{src → dist}/decorator/MultiInstanceProto.d.ts +0 -0
  54. /package/{src → dist}/util/MetadataUtil.d.ts +0 -0
@@ -0,0 +1,251 @@
1
+ import { InitTypeQualifierAttribute, InjectType, LoadUnitNameQualifierAttribute, MultiInstanceType, } from '@eggjs/tegg-types';
2
+ import { MetadataUtil } from "./MetadataUtil.js";
3
+ export class PrototypeUtil {
4
+ static IS_EGG_OBJECT_PROTOTYPE = Symbol.for('EggPrototype#isEggPrototype');
5
+ static IS_EGG_OBJECT_MULTI_INSTANCE_PROTOTYPE = Symbol.for('EggPrototype#isEggMultiInstancePrototype');
6
+ static FILE_PATH = Symbol.for('EggPrototype.filePath');
7
+ static PROTOTYPE_PROPERTY = Symbol.for('EggPrototype.Property');
8
+ static MULTI_INSTANCE_PROTOTYPE_STATIC_PROPERTY = Symbol.for('EggPrototype.MultiInstanceStaticProperty');
9
+ static MULTI_INSTANCE_PROTOTYPE_CALLBACK_PROPERTY = Symbol.for('EggPrototype.MultiInstanceCallbackProperty');
10
+ static INJECT_OBJECT_NAME_SET = Symbol.for('EggPrototype.injectObjectNames');
11
+ static INJECT_TYPE = Symbol.for('EggPrototype.injectType');
12
+ static INJECT_CONSTRUCTOR_NAME_SET = Symbol.for('EggPrototype.injectConstructorNames');
13
+ static CLAZZ_PROTO = Symbol.for('EggPrototype.clazzProto');
14
+ static MULTI_INSTANCE_CONSTRUCTOR_INDEX = Symbol.for('EggPrototype#multiInstanceConstructorIndex');
15
+ static MULTI_INSTANCE_CONSTRUCTOR_ATTRIBUTES = Symbol.for('EggPrototype#multiInstanceConstructorAttributes');
16
+ /**
17
+ * Mark class is egg object prototype
18
+ * @param {Function} clazz -
19
+ */
20
+ static setIsEggPrototype(clazz) {
21
+ MetadataUtil.defineMetaData(PrototypeUtil.IS_EGG_OBJECT_PROTOTYPE, true, clazz);
22
+ }
23
+ /**
24
+ * If class is egg object prototype, return true
25
+ * @param {Function} clazz -
26
+ */
27
+ static isEggPrototype(clazz) {
28
+ return MetadataUtil.getOwnBooleanMetaData(PrototypeUtil.IS_EGG_OBJECT_PROTOTYPE, clazz);
29
+ }
30
+ /**
31
+ * Mark class is egg object multi instance prototype
32
+ * @param {Function} clazz -
33
+ */
34
+ static setIsEggMultiInstancePrototype(clazz) {
35
+ MetadataUtil.defineMetaData(PrototypeUtil.IS_EGG_OBJECT_MULTI_INSTANCE_PROTOTYPE, true, clazz);
36
+ }
37
+ /**
38
+ * If class is egg object multi instance prototype, return true
39
+ * @param {Function} clazz -
40
+ */
41
+ static isEggMultiInstancePrototype(clazz) {
42
+ return MetadataUtil.getOwnBooleanMetaData(PrototypeUtil.IS_EGG_OBJECT_MULTI_INSTANCE_PROTOTYPE, clazz);
43
+ }
44
+ /**
45
+ * Get the type of the egg multi-instance prototype.
46
+ * @param {Function} clazz -
47
+ */
48
+ static getEggMultiInstancePrototypeType(clazz) {
49
+ if (!PrototypeUtil.isEggMultiInstancePrototype(clazz)) {
50
+ return;
51
+ }
52
+ const metadata = MetadataUtil.getOwnMetaData(PrototypeUtil.MULTI_INSTANCE_PROTOTYPE_STATIC_PROPERTY, clazz);
53
+ if (metadata) {
54
+ return MultiInstanceType.STATIC;
55
+ }
56
+ return MultiInstanceType.DYNAMIC;
57
+ }
58
+ /**
59
+ * set class file path
60
+ * @param {Function} clazz -
61
+ * @param {string} filePath -
62
+ */
63
+ static setFilePath(clazz, filePath) {
64
+ MetadataUtil.defineMetaData(PrototypeUtil.FILE_PATH, filePath, clazz);
65
+ }
66
+ /**
67
+ * get class file path
68
+ * @param {Function} clazz -
69
+ */
70
+ static getFilePath(clazz) {
71
+ return MetadataUtil.getOwnMetaData(PrototypeUtil.FILE_PATH, clazz);
72
+ }
73
+ /**
74
+ * set class property
75
+ * @param {EggProtoImplClass} clazz -
76
+ * @param {EggPrototypeInfo} property -
77
+ */
78
+ static setProperty(clazz, property) {
79
+ MetadataUtil.defineMetaData(PrototypeUtil.PROTOTYPE_PROPERTY, property, clazz);
80
+ }
81
+ /**
82
+ * get class property
83
+ * @param {EggProtoImplClass} clazz -
84
+ * @return {EggPrototypeInfo} -
85
+ */
86
+ static getProperty(clazz) {
87
+ return MetadataUtil.getOwnMetaData(PrototypeUtil.PROTOTYPE_PROPERTY, clazz);
88
+ }
89
+ static async getInitType(clazz, ctx) {
90
+ const property = PrototypeUtil.getProperty(clazz) ?? (await PrototypeUtil.getMultiInstanceProperty(clazz, ctx));
91
+ return property?.initType;
92
+ }
93
+ static async getAccessLevel(clazz, ctx) {
94
+ const property = PrototypeUtil.getProperty(clazz) ?? (await PrototypeUtil.getMultiInstanceProperty(clazz, ctx));
95
+ return property?.accessLevel;
96
+ }
97
+ static async getObjNames(clazz, ctx) {
98
+ const property = PrototypeUtil.getProperty(clazz);
99
+ if (property) {
100
+ return [property.name];
101
+ }
102
+ const multiInstanceProperty = await PrototypeUtil.getMultiInstanceProperty(clazz, ctx);
103
+ return multiInstanceProperty?.objects.map((t) => t.name) || [];
104
+ }
105
+ /**
106
+ * set class property
107
+ * @param {EggProtoImplClass} clazz -
108
+ * @param {EggPrototypeInfo} property -
109
+ */
110
+ static setMultiInstanceStaticProperty(clazz, property) {
111
+ MetadataUtil.defineMetaData(PrototypeUtil.MULTI_INSTANCE_PROTOTYPE_STATIC_PROPERTY, property, clazz);
112
+ }
113
+ /**
114
+ * set class property
115
+ * @param {EggProtoImplClass} clazz -
116
+ * @param {EggPrototypeInfo} property -
117
+ */
118
+ static setMultiInstanceCallbackProperty(clazz, property) {
119
+ MetadataUtil.defineMetaData(PrototypeUtil.MULTI_INSTANCE_PROTOTYPE_CALLBACK_PROPERTY, property, clazz);
120
+ }
121
+ /**
122
+ * Get instance property of Static multi-instance prototype.
123
+ * @param {EggProtoImplClass} clazz -
124
+ */
125
+ static getStaticMultiInstanceProperty(clazz) {
126
+ const metadata = MetadataUtil.getOwnMetaData(PrototypeUtil.MULTI_INSTANCE_PROTOTYPE_STATIC_PROPERTY, clazz);
127
+ if (metadata) {
128
+ return metadata;
129
+ }
130
+ }
131
+ /**
132
+ * Get instance property of Dynamic multi-instance prototype.
133
+ * @param {EggProtoImplClass} clazz -
134
+ * @param {MultiInstancePrototypeGetObjectsContext} ctx -
135
+ */
136
+ static async getDynamicMultiInstanceProperty(clazz, ctx) {
137
+ const callBackMetadata = MetadataUtil.getOwnMetaData(PrototypeUtil.MULTI_INSTANCE_PROTOTYPE_CALLBACK_PROPERTY, clazz);
138
+ if (callBackMetadata) {
139
+ const objects = await callBackMetadata.getObjects(ctx);
140
+ return {
141
+ ...callBackMetadata,
142
+ objects,
143
+ };
144
+ }
145
+ }
146
+ /**
147
+ * get class property
148
+ * @param {EggProtoImplClass} clazz -
149
+ * @param {MultiInstancePrototypeGetObjectsContext} ctx -
150
+ */
151
+ static async getMultiInstanceProperty(clazz, ctx) {
152
+ const metadata = MetadataUtil.getOwnMetaData(PrototypeUtil.MULTI_INSTANCE_PROTOTYPE_STATIC_PROPERTY, clazz);
153
+ if (metadata) {
154
+ return metadata;
155
+ }
156
+ const callBackMetadata = MetadataUtil.getOwnMetaData(PrototypeUtil.MULTI_INSTANCE_PROTOTYPE_CALLBACK_PROPERTY, clazz);
157
+ if (callBackMetadata) {
158
+ const objects = await callBackMetadata.getObjects(ctx);
159
+ // TODO delete in next major version, default qualifier be added in ProtoDescriptorHelper.addDefaultQualifier
160
+ const defaultQualifier = [
161
+ {
162
+ attribute: InitTypeQualifierAttribute,
163
+ value: callBackMetadata.initType,
164
+ },
165
+ {
166
+ attribute: LoadUnitNameQualifierAttribute,
167
+ value: ctx.moduleName,
168
+ },
169
+ ];
170
+ for (const object of objects) {
171
+ defaultQualifier.forEach((qualifier) => {
172
+ if (!object.qualifiers.find((t) => t.attribute === qualifier.attribute)) {
173
+ object.qualifiers.push(qualifier);
174
+ }
175
+ });
176
+ }
177
+ return {
178
+ ...callBackMetadata,
179
+ objects,
180
+ };
181
+ }
182
+ }
183
+ static setMultiInstanceConstructorAttributes(clazz, attributes) {
184
+ MetadataUtil.defineMetaData(PrototypeUtil.MULTI_INSTANCE_CONSTRUCTOR_ATTRIBUTES, attributes, clazz);
185
+ }
186
+ static getMultiInstanceConstructorAttributes(clazz) {
187
+ return MetadataUtil.getMetaData(PrototypeUtil.MULTI_INSTANCE_CONSTRUCTOR_ATTRIBUTES, clazz) || [];
188
+ }
189
+ static setMultiInstanceConstructorIndex(clazz, index) {
190
+ MetadataUtil.defineMetaData(PrototypeUtil.MULTI_INSTANCE_CONSTRUCTOR_INDEX, index, clazz);
191
+ }
192
+ static getMultiInstanceConstructorIndex(clazz) {
193
+ return MetadataUtil.getMetaData(PrototypeUtil.MULTI_INSTANCE_CONSTRUCTOR_INDEX, clazz);
194
+ }
195
+ static setInjectType(clazz, type) {
196
+ const injectType = MetadataUtil.getMetaData(PrototypeUtil.INJECT_TYPE, clazz);
197
+ if (!injectType) {
198
+ MetadataUtil.defineMetaData(PrototypeUtil.INJECT_TYPE, type, clazz);
199
+ }
200
+ else if (injectType !== type) {
201
+ throw new Error(`class ${clazz.name} already use inject type ${injectType} can not use ${type}`);
202
+ }
203
+ }
204
+ static addInjectObject(clazz, injectObject) {
205
+ const objs = MetadataUtil.initOwnArrayMetaData(PrototypeUtil.INJECT_OBJECT_NAME_SET, clazz, []);
206
+ objs.push(injectObject);
207
+ MetadataUtil.defineMetaData(PrototypeUtil.INJECT_OBJECT_NAME_SET, objs, clazz);
208
+ }
209
+ static addInjectConstructor(clazz, injectConstructorInfo) {
210
+ const objs = MetadataUtil.initArrayMetaData(PrototypeUtil.INJECT_CONSTRUCTOR_NAME_SET, clazz, []);
211
+ objs.push(injectConstructorInfo);
212
+ MetadataUtil.defineMetaData(PrototypeUtil.INJECT_CONSTRUCTOR_NAME_SET, objs, clazz);
213
+ }
214
+ static getInjectType(clazz) {
215
+ const injectType = MetadataUtil.getMetaData(PrototypeUtil.INJECT_TYPE, clazz);
216
+ return injectType;
217
+ }
218
+ static getInjectObjects(clazz) {
219
+ const injectType = MetadataUtil.getMetaData(PrototypeUtil.INJECT_TYPE, clazz);
220
+ if (!injectType) {
221
+ return [];
222
+ }
223
+ if (injectType === InjectType.CONSTRUCTOR) {
224
+ return MetadataUtil.getArrayMetaData(PrototypeUtil.INJECT_CONSTRUCTOR_NAME_SET, clazz).sort((a, b) => {
225
+ return a.refIndex - b.refIndex;
226
+ });
227
+ }
228
+ return MetadataUtil.getArrayMetaData(PrototypeUtil.INJECT_OBJECT_NAME_SET, clazz);
229
+ }
230
+ // static getInjectConstructors(clazz: EggProtoImplClass): Array<InjectConstructorInfo> {
231
+ // return MetadataUtil.getArrayMetaData<InjectConstructorInfo>(PrototypeUtil.INJECT_CONSTRUCTOR_NAME_SET, clazz)
232
+ // .sort((a, b) => {
233
+ // return a.refIndex - b.refIndex;
234
+ // });
235
+ // }
236
+ // TODO fix proto type
237
+ static getClazzProto(clazz) {
238
+ return MetadataUtil.getMetaData(PrototypeUtil.CLAZZ_PROTO, clazz);
239
+ }
240
+ // TODO fix proto type
241
+ static setClazzProto(clazz, proto) {
242
+ MetadataUtil.defineMetaData(PrototypeUtil.CLAZZ_PROTO, proto, clazz);
243
+ }
244
+ static getDesignType(clazz, propKey) {
245
+ return MetadataUtil.getMetaData('design:type', clazz, propKey);
246
+ }
247
+ static getDesignParamtypes(clazz, propKey) {
248
+ return MetadataUtil.getMetaData('design:paramtypes', clazz, propKey);
249
+ }
250
+ }
251
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvdG90eXBlVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL1Byb3RvdHlwZVV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQU1MLDBCQUEwQixFQUcxQixVQUFVLEVBQ1YsOEJBQThCLEVBRTlCLGlCQUFpQixHQUVsQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRCxNQUFNLE9BQU8sYUFBYTtJQUN4QixNQUFNLENBQVUsdUJBQXVCLEdBQVcsTUFBTSxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQzVGLE1BQU0sQ0FBVSxzQ0FBc0MsR0FBVyxNQUFNLENBQUMsR0FBRyxDQUN6RSwwQ0FBMEMsQ0FDM0MsQ0FBQztJQUNGLE1BQU0sQ0FBVSxTQUFTLEdBQVcsTUFBTSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3hFLE1BQU0sQ0FBVSxrQkFBa0IsR0FBVyxNQUFNLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDakYsTUFBTSxDQUFVLHdDQUF3QyxHQUFXLE1BQU0sQ0FBQyxHQUFHLENBQzNFLDBDQUEwQyxDQUMzQyxDQUFDO0lBQ0YsTUFBTSxDQUFVLDBDQUEwQyxHQUFXLE1BQU0sQ0FBQyxHQUFHLENBQzdFLDRDQUE0QyxDQUM3QyxDQUFDO0lBQ0YsTUFBTSxDQUFVLHNCQUFzQixHQUFXLE1BQU0sQ0FBQyxHQUFHLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUM5RixNQUFNLENBQVUsV0FBVyxHQUFXLE1BQU0sQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM1RSxNQUFNLENBQVUsMkJBQTJCLEdBQVcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO0lBQ3hHLE1BQU0sQ0FBVSxXQUFXLEdBQVcsTUFBTSxDQUFDLEdBQUcsQ0FBQyx5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
@@ -1,6 +1,6 @@
1
1
  import type { EggProtoImplClass, QualifierAttribute, QualifierInfo, QualifierValue } from '@eggjs/tegg-types';
2
2
  export declare class QualifierUtil {
3
- static addProtoQualifier(clazz: EggProtoImplClass, attribute: QualifierAttribute, value: QualifierValue, isForceReplacement?: boolean): void;
3
+ static addProtoQualifier(clazz: EggProtoImplClass, attribute: QualifierAttribute, value: QualifierValue): void;
4
4
  static getProtoQualifiers(clazz: EggProtoImplClass): QualifierInfo[];
5
5
  static addInjectQualifier(clazz: EggProtoImplClass, property: PropertyKey | undefined, parameterIndex: number | undefined, attribute: QualifierAttribute, value: QualifierValue): void;
6
6
  static addProperQualifier(clazz: EggProtoImplClass, property: PropertyKey, attribute: QualifierAttribute, value: QualifierValue): void;
@@ -0,0 +1,92 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUXVhbGlmaWVyVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL1F1YWxpZmllclV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUd0RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsTUFBTSxPQUFPLGFBQWE7SUFDeEIsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQXdCLEVBQUUsU0FBNkIsRUFBRSxLQUFxQjtRQUNyRyxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsa0JBQWtCLENBQ2hELG1CQUFtQixFQUNuQixLQUFLLEVBQ0wsSUFBSSxHQUFHLEVBQXNDLENBQzlDLENBQUM7UUFDRixVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEtBQXdCO1FBQ2hELE1BQU0sVUFBVSxHQUF3RCxZQUFZLENBQUMsV0FBVyxDQUM5RixtQkFBbUIsRUFDbkIsS0FBSyxDQUNOLENBQUM7UUFDRixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsTUFBTSxHQUFHLEdBQW9CLEVBQUUsQ0FBQztRQUNoQyxLQUFLLE1BQU0sQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLElBQUksVUFBVSxFQUFFLENBQUM7WUFDNUMsR0FBRyxDQUFDLElBQUksQ0FBQztnQkFDUCxTQUFTO2dCQUNULEtBQUs7YUFDTixDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUFDLGtCQUFrQixDQUN2QixLQUF3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
@@ -0,0 +1,3 @@
1
+ export * from './MetadataUtil.ts';
2
+ export * from './PrototypeUtil.ts';
3
+ export * from './QualifierUtil.ts';
@@ -0,0 +1,4 @@
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",
3
+ "version": "4.0.0-beta.31",
4
4
  "description": "tegg core decorator",
5
5
  "keywords": [
6
6
  "egg",
@@ -10,47 +10,45 @@
10
10
  ],
11
11
  "type": "module",
12
12
  "exports": {
13
- ".": {
14
- "types": "./src/index.d.ts",
15
- "default": "./src/index.js"
16
- }
13
+ ".": "./dist/index.js",
14
+ "./package.json": "./package.json"
17
15
  },
18
16
  "files": [
19
- "src/**/*.js",
20
- "src/**/*.d.ts"
17
+ "dist"
21
18
  ],
22
- "scripts": {
23
- "clean": "tsc -b --clean",
24
- "tsc": "npm run clean && tsc -p ./tsconfig.json",
25
- "tsc:pub": "npm run tsc",
26
- "prepublishOnly": "npm run tsc"
27
- },
28
19
  "author": "killagu <killa123@126.com>",
29
20
  "license": "MIT",
30
- "homepage": "https://github.com/eggjs/tegg",
21
+ "homepage": "https://github.com/eggjs/egg/tree/next/tegg/core/core-decorator",
31
22
  "bugs": {
32
- "url": "https://github.com/eggjs/tegg/issues"
23
+ "url": "https://github.com/eggjs/egg/issues"
33
24
  },
34
25
  "repository": {
35
26
  "type": "git",
36
- "url": "git@github.com:eggjs/tegg.git",
37
- "directory": "core/core-decorator"
27
+ "url": "git@github.com:eggjs/egg.git",
28
+ "directory": "tegg/core/core-decorator"
38
29
  },
39
30
  "engines": {
40
- "node": ">=20.0.0"
41
- },
42
- "dependencies": {
43
- "@eggjs/tegg-common-util": "^4.0.0-beta.3",
44
- "@eggjs/tegg-types": "^4.0.0-beta.3",
45
- "reflect-metadata": "^0.2.2"
31
+ "node": ">=22.18.0"
46
32
  },
47
33
  "publishConfig": {
48
34
  "access": "public"
49
35
  },
50
- "devDependencies": {
51
- "@types/node": "22",
52
- "ts-node": "10",
53
- "typescript": "5"
36
+ "dependencies": {
37
+ "@eggjs/tegg-common-util": "4.0.0-beta.31",
38
+ "@eggjs/tegg-types": "4.0.0-beta.31"
54
39
  },
55
- "gitHead": "6b84b0275fd728a4973746a5341236fe0481a33e"
56
- }
40
+ "devDependencies": {
41
+ "@types/node": "^24.9.1",
42
+ "typescript": "^5.9.3",
43
+ "tsdown": "0.15.10",
44
+ "unplugin-unused": "^0.5.4"
45
+ },
46
+ "main": "./dist/index.js",
47
+ "module": "./dist/index.js",
48
+ "types": "./dist/index.d.ts",
49
+ "scripts": {
50
+ "clean": "rimraf dist *.tsbuildinfo",
51
+ "build": "tsdown && npm run clean && tsc -p tsconfig.build.json",
52
+ "typecheck": "tsc --noEmit"
53
+ }
54
+ }
@@ -1,8 +0,0 @@
1
- import { ConfigSourceQualifierAttribute } from '@eggjs/tegg-types';
2
- import { QualifierUtil } from '../util/index.js';
3
- export function ConfigSourceQualifier(moduleName) {
4
- return function (target, propertyKey, parameterIndex) {
5
- QualifierUtil.addInjectQualifier(target, propertyKey, parameterIndex, ConfigSourceQualifierAttribute, moduleName);
6
- };
7
- }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZmlnU291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiQ29uZmlnU291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRW5FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsVUFBa0I7SUFDdEQsT0FBTyxVQUFTLE1BQVcsRUFBRSxXQUF5QixFQUFFLGNBQXVCO1FBQzdFLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxNQUEyQixFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsOEJBQThCLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDekksQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
@@ -1,10 +0,0 @@
1
- import { AccessLevel, ObjectInitType } from '@eggjs/tegg-types';
2
- import { Prototype } from './Prototype.js';
3
- export function ContextProto(params) {
4
- return Prototype({
5
- initType: ObjectInitType.CONTEXT,
6
- accessLevel: params?.accessLevel || AccessLevel.PRIVATE,
7
- ...params,
8
- });
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dFByb3RvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiQ29udGV4dFByb3RvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE1BQU0sVUFBVSxZQUFZLENBQUMsTUFBMkI7SUFDdEQsT0FBTyxTQUFTLENBQUM7UUFDZixRQUFRLEVBQUUsY0FBYyxDQUFDLE9BQU87UUFDaEMsV0FBVyxFQUFFLE1BQU0sRUFBRSxXQUFXLElBQUksV0FBVyxDQUFDLE9BQU87UUFDdkQsR0FBRyxNQUFNO0tBQ1YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyJ9
@@ -1,8 +0,0 @@
1
- import { EggQualifierAttribute } from '@eggjs/tegg-types';
2
- import { QualifierUtil } from '../util/index.js';
3
- export function EggQualifier(eggType) {
4
- return function (target, propertyKey, parameterIndex) {
5
- QualifierUtil.addInjectQualifier(target, propertyKey, parameterIndex, EggQualifierAttribute, eggType);
6
- };
7
- }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnUXVhbGlmaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiRWdnUXVhbGlmaWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxNQUFNLFVBQVUsWUFBWSxDQUFDLE9BQWdCO0lBQzNDLE9BQU8sVUFBUyxNQUFXLEVBQUUsV0FBeUIsRUFBRSxjQUF1QjtRQUM3RSxhQUFhLENBQUMsa0JBQWtCLENBQUMsTUFBMkIsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzdILENBQUMsQ0FBQztBQUNKLENBQUMifQ==
@@ -1,8 +0,0 @@
1
- import { InitTypeQualifierAttribute } from '@eggjs/tegg-types';
2
- import { QualifierUtil } from '../util/index.js';
3
- export function InitTypeQualifier(initType) {
4
- return function (target, propertyKey, parameterIndex) {
5
- QualifierUtil.addInjectQualifier(target, propertyKey, parameterIndex, InitTypeQualifierAttribute, initType);
6
- };
7
- }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5pdFR5cGVRdWFsaWZpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJJbml0VHlwZVF1YWxpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFFBQTRCO0lBQzVELE9BQU8sVUFBUyxNQUFXLEVBQUUsV0FBeUIsRUFBRSxjQUF1QjtRQUM3RSxhQUFhLENBQUMsa0JBQWtCLENBQUMsTUFBMkIsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLDBCQUEwQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ25JLENBQUMsQ0FBQztBQUNKLENBQUMifQ==
@@ -1,3 +0,0 @@
1
- import { InjectParams } from '@eggjs/tegg-types';
2
- export declare function Inject(param?: InjectParams | string): (target: any, propertyKey?: PropertyKey, parameterIndex?: number) => void;
3
- export declare function InjectOptional(param?: Omit<InjectParams, 'optional'> | string): (target: any, propertyKey?: PropertyKey, parameterIndex?: number) => void;
@@ -1,95 +0,0 @@
1
- import { InjectType, InitTypeQualifierAttribute, } from '@eggjs/tegg-types';
2
- import { ObjectUtils } from '@eggjs/tegg-common-util';
3
- import { PrototypeUtil, QualifierUtil } from '../util/index.js';
4
- function guessInjectInfo(clazz, name, proto) {
5
- let objName;
6
- let initType;
7
- if (typeof proto === 'function' && proto !== Object) {
8
- // if property type is function and not Object( means maybe proto class ), then try to read EggPrototypeInfo.name as obj name
9
- const info = PrototypeUtil.getProperty(proto);
10
- objName = info?.name;
11
- // try to read EggPrototypeInfo.initType as qualifier
12
- if (info?.initType) {
13
- const customInitType = QualifierUtil.getProperQualifier(clazz, name, InitTypeQualifierAttribute);
14
- if (!customInitType) {
15
- initType = info.initType;
16
- }
17
- }
18
- }
19
- return {
20
- objName,
21
- initType,
22
- };
23
- }
24
- export function Inject(param) {
25
- const injectParam = typeof param === 'string' ? { name: param } : param;
26
- function propertyInject(target, propertyKey) {
27
- let objName;
28
- let initType;
29
- if (!injectParam) {
30
- // try to read design:type from proto
31
- const proto = PrototypeUtil.getDesignType(target, propertyKey);
32
- ({ objName, initType } = guessInjectInfo(target.constructor, propertyKey, proto));
33
- }
34
- else {
35
- // params allow string or object
36
- objName = injectParam?.name;
37
- }
38
- const injectObject = {
39
- refName: propertyKey,
40
- objName: objName || propertyKey,
41
- };
42
- if (injectParam?.optional) {
43
- injectObject.optional = true;
44
- }
45
- PrototypeUtil.setInjectType(target.constructor, InjectType.PROPERTY);
46
- PrototypeUtil.addInjectObject(target.constructor, injectObject);
47
- if (initType) {
48
- QualifierUtil.addProperQualifier(target.constructor, propertyKey, InitTypeQualifierAttribute, initType);
49
- }
50
- }
51
- function constructorInject(target, parameterIndex) {
52
- const argNames = ObjectUtils.getConstructorArgNameList(target);
53
- const argName = argNames[parameterIndex];
54
- let objName;
55
- let initType;
56
- if (!injectParam) {
57
- // try to read proto from design:paramtypes
58
- const protos = PrototypeUtil.getDesignParamtypes(target);
59
- ({ objName, initType } = guessInjectInfo(target, argName, protos?.[parameterIndex]));
60
- }
61
- else {
62
- // params allow string or object
63
- objName = injectParam?.name;
64
- }
65
- const injectObject = {
66
- refIndex: parameterIndex,
67
- refName: argName,
68
- objName: objName || argName,
69
- };
70
- if (injectParam?.optional) {
71
- injectObject.optional = true;
72
- }
73
- PrototypeUtil.setInjectType(target, InjectType.CONSTRUCTOR);
74
- PrototypeUtil.addInjectConstructor(target, injectObject);
75
- if (initType) {
76
- QualifierUtil.addProperQualifier(target, argName, InitTypeQualifierAttribute, initType);
77
- }
78
- }
79
- return function (target, propertyKey, parameterIndex) {
80
- if (typeof parameterIndex === 'undefined') {
81
- propertyInject(target, propertyKey);
82
- }
83
- else {
84
- constructorInject(target, parameterIndex);
85
- }
86
- };
87
- }
88
- export function InjectOptional(param) {
89
- const injectParam = typeof param === 'string' ? { name: param } : param;
90
- return Inject({
91
- ...injectParam,
92
- optional: true,
93
- });
94
- }
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiSW5qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFLTCxVQUFVLEVBQ1YsMEJBQTBCLEdBQzNCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEUsU0FBUyxlQUFlLENBQUMsS0FBd0IsRUFBRSxJQUFpQixFQUFFLEtBQVU7SUFDOUUsSUFBSSxPQUFnQyxDQUFDO0lBQ3JDLElBQUksUUFBNEIsQ0FBQztJQUVqQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFVBQVUsSUFBSSxLQUFLLEtBQUssTUFBTSxFQUFFLENBQUM7UUFDcEQsNkhBQTZIO1FBQzdILE1BQU0sSUFBSSxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUMsS0FBMEIsQ0FBQyxDQUFDO1FBQ25FLE9BQU8sR0FBRyxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQ3JCLHFEQUFxRDtRQUNyRCxJQUFJLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQztZQUNuQixNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO1lBQ2pHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDcEIsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDM0IsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU87UUFDUCxRQUFRO0tBQ1QsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsTUFBTSxDQUFDLEtBQTZCO0lBQ2xELE1BQU0sV0FBVyxHQUFHLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMs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
@@ -1,8 +0,0 @@
1
- import { LoadUnitNameQualifierAttribute } from '@eggjs/tegg-types';
2
- import { QualifierUtil } from '../util/index.js';
3
- export function ModuleQualifier(moduleName) {
4
- return function (target, propertyKey, parameterIndex) {
5
- QualifierUtil.addInjectQualifier(target, propertyKey, parameterIndex, LoadUnitNameQualifierAttribute, moduleName);
6
- };
7
- }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlUXVhbGlmaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiTW9kdWxlUXVhbGlmaWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRW5FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxNQUFNLFVBQVUsZUFBZSxDQUFDLFVBQWtCO0lBQ2hELE9BQU8sVUFBUyxNQUFXLEVBQUUsV0FBeUIsRUFBRSxjQUF1QjtRQUM3RSxhQUFhLENBQUMsa0JBQWtCLENBQUMsTUFBMkIsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLDhCQUE4QixFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3pJLENBQUMsQ0FBQztBQUNKLENBQUMifQ==
@@ -1,8 +0,0 @@
1
- import { PrototypeUtil } from '../util/index.js';
2
- export function MultiInstanceInfo(attributes) {
3
- return function (target, _propertyKey, parameterIndex) {
4
- PrototypeUtil.setMultiInstanceConstructorIndex(target, parameterIndex);
5
- PrototypeUtil.setMultiInstanceConstructorAttributes(target, attributes);
6
- };
7
- }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTXVsdGlJbnN0YW5jZUluZm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJNdWx0aUluc3RhbmNlSW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFVBQWdDO0lBQ2hFLE9BQU8sVUFBUyxNQUFXLEVBQUUsWUFBcUMsRUFBRSxjQUFzQjtRQUN4RixhQUFhLENBQUMsZ0NBQWdDLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZFLGFBQWEsQ0FBQyxxQ0FBcUMsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDMUUsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
@@ -1,2 +0,0 @@
1
- import type { EggProtoImplClass, PrototypeParams } from '@eggjs/tegg-types';
2
- export declare function Prototype(param?: PrototypeParams): (clazz: EggProtoImplClass) => void;