@eggjs/core-decorator 3.52.0 → 4.0.0-beta.2

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 (48) hide show
  1. package/package.json +21 -20
  2. package/src/decorator/ConfigSource.js +8 -0
  3. package/src/decorator/ContextProto.js +10 -0
  4. package/src/decorator/EggQualifier.js +8 -0
  5. package/src/decorator/InitTypeQualifier.js +8 -0
  6. package/src/decorator/Inject.js +95 -0
  7. package/src/decorator/ModuleQualifier.js +8 -0
  8. package/src/decorator/MultiInstanceInfo.js +8 -0
  9. package/src/decorator/MultiInstanceProto.js +36 -0
  10. package/src/decorator/Prototype.js +29 -0
  11. package/src/decorator/SingletonProto.js +10 -0
  12. package/src/decorator/index.d.ts +10 -0
  13. package/src/decorator/index.js +11 -0
  14. package/src/index.d.ts +3 -0
  15. package/src/index.js +4 -0
  16. package/{dist/src → src}/util/MetadataUtil.d.ts +0 -1
  17. package/src/util/MetadataUtil.js +83 -0
  18. package/{dist/src → src}/util/PrototypeUtil.d.ts +5 -5
  19. package/src/util/PrototypeUtil.js +249 -0
  20. package/src/util/QualifierUtil.js +92 -0
  21. package/src/util/index.d.ts +3 -0
  22. package/src/util/index.js +4 -0
  23. package/dist/index.d.ts +0 -14
  24. package/dist/index.js +0 -31
  25. package/dist/src/decorator/ConfigSource.js +0 -11
  26. package/dist/src/decorator/ContextProto.js +0 -13
  27. package/dist/src/decorator/EggQualifier.js +0 -11
  28. package/dist/src/decorator/InitTypeQualifier.js +0 -11
  29. package/dist/src/decorator/Inject.js +0 -100
  30. package/dist/src/decorator/ModuleQualifier.js +0 -11
  31. package/dist/src/decorator/MultiInstanceInfo.js +0 -11
  32. package/dist/src/decorator/MultiInstanceProto.js +0 -39
  33. package/dist/src/decorator/Prototype.js +0 -32
  34. package/dist/src/decorator/SingletonProto.js +0 -13
  35. package/dist/src/util/MetadataUtil.js +0 -88
  36. package/dist/src/util/PrototypeUtil.js +0 -255
  37. package/dist/src/util/QualifierUtil.js +0 -96
  38. /package/{dist/src → src}/decorator/ConfigSource.d.ts +0 -0
  39. /package/{dist/src → src}/decorator/ContextProto.d.ts +0 -0
  40. /package/{dist/src → src}/decorator/EggQualifier.d.ts +0 -0
  41. /package/{dist/src → src}/decorator/InitTypeQualifier.d.ts +0 -0
  42. /package/{dist/src → src}/decorator/Inject.d.ts +0 -0
  43. /package/{dist/src → src}/decorator/ModuleQualifier.d.ts +0 -0
  44. /package/{dist/src → src}/decorator/MultiInstanceInfo.d.ts +0 -0
  45. /package/{dist/src → src}/decorator/MultiInstanceProto.d.ts +0 -0
  46. /package/{dist/src → src}/decorator/Prototype.d.ts +0 -0
  47. /package/{dist/src → src}/decorator/SingletonProto.d.ts +0 -0
  48. /package/{dist/src → src}/util/QualifierUtil.d.ts +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eggjs/core-decorator",
3
- "version": "3.52.0",
3
+ "version": "4.0.0-beta.2",
4
4
  "description": "tegg core decorator",
5
5
  "keywords": [
6
6
  "egg",
@@ -8,18 +8,22 @@
8
8
  "decorator",
9
9
  "tegg"
10
10
  ],
11
- "main": "dist/index.js",
11
+ "type": "module",
12
+ "exports": {
13
+ ".": {
14
+ "types": "./src/index.d.ts",
15
+ "default": "./src/index.js"
16
+ }
17
+ },
12
18
  "files": [
13
- "dist/**/*.js",
14
- "dist/**/*.d.ts"
19
+ "src/**/*.js",
20
+ "src/**/*.d.ts"
15
21
  ],
16
- "typings": "dist/index.d.ts",
17
22
  "scripts": {
18
- "test": "cross-env NODE_ENV=test NODE_OPTIONS='--no-deprecation' mocha",
19
23
  "clean": "tsc -b --clean",
20
24
  "tsc": "npm run clean && tsc -p ./tsconfig.json",
21
- "tsc:pub": "npm run clean && tsc -p ./tsconfig.pub.json",
22
- "prepublishOnly": "npm run tsc:pub"
25
+ "tsc:pub": "npm run tsc",
26
+ "prepublishOnly": "npm run tsc"
23
27
  },
24
28
  "author": "killagu <killa123@126.com>",
25
29
  "license": "MIT",
@@ -33,23 +37,20 @@
33
37
  "directory": "core/core-decorator"
34
38
  },
35
39
  "engines": {
36
- "node": ">=14.0.0"
40
+ "node": ">=20.0.0"
37
41
  },
38
42
  "dependencies": {
39
- "@eggjs/tegg-common-util": "^3.52.0",
40
- "@eggjs/tegg-types": "^3.52.0",
41
- "reflect-metadata": "^0.1.13"
43
+ "@eggjs/tegg-common-util": "^4.0.0-beta.2",
44
+ "@eggjs/tegg-types": "^4.0.0-beta.2",
45
+ "reflect-metadata": "^0.2.2"
42
46
  },
43
47
  "publishConfig": {
44
48
  "access": "public"
45
49
  },
46
50
  "devDependencies": {
47
- "@types/mocha": "^10.0.1",
48
- "@types/node": "^20.2.4",
49
- "cross-env": "^7.0.3",
50
- "mocha": "^10.2.0",
51
- "ts-node": "^10.9.1",
52
- "typescript": "^5.0.4"
53
- },
54
- "gitHead": "35ed34855041dd8898046c9f3834d09a39da8ada"
51
+ "@types/node": "22",
52
+ "ts-node": "10",
53
+ "typescript": "5"
54
+ },
55
+ "gitHead": "7e29d49dcc2eb26909697d5543b3c4f596c9e927"
55
56
  }
@@ -0,0 +1,8 @@
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
@@ -0,0 +1,10 @@
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
@@ -0,0 +1,8 @@
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==
@@ -0,0 +1,8 @@
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==
@@ -0,0 +1,95 @@
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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
@@ -0,0 +1,8 @@
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==
@@ -0,0 +1,8 @@
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
@@ -0,0 +1,36 @@
1
+ import { ObjectInitType, AccessLevel, DEFAULT_PROTO_IMPL_TYPE } from '@eggjs/tegg-types';
2
+ import { StackUtil } from '@eggjs/tegg-common-util';
3
+ import { PrototypeUtil } from '../util/index.js';
4
+ const DEFAULT_PARAMS = {
5
+ initType: ObjectInitType.SINGLETON,
6
+ accessLevel: AccessLevel.PRIVATE,
7
+ protoImplType: DEFAULT_PROTO_IMPL_TYPE,
8
+ };
9
+ export function MultiInstanceProto(param) {
10
+ return function (clazz) {
11
+ PrototypeUtil.setIsEggMultiInstancePrototype(clazz);
12
+ if (param.objects) {
13
+ const property = {
14
+ ...DEFAULT_PARAMS,
15
+ ...param,
16
+ className: clazz.name,
17
+ };
18
+ PrototypeUtil.setMultiInstanceStaticProperty(clazz, property);
19
+ }
20
+ else if (param.getObjects) {
21
+ const property = {
22
+ ...DEFAULT_PARAMS,
23
+ ...param,
24
+ className: clazz.name,
25
+ };
26
+ PrototypeUtil.setMultiInstanceCallbackProperty(clazz, property);
27
+ }
28
+ // './tegg/core/common-util/src/StackUtil.ts',
29
+ // './tegg/core/core-decorator/src/decorator/Prototype.ts',
30
+ // './tegg/core/core-decorator/node_modules/_reflect-metadata@0.1.13@reflect-metadata/Reflect.js',
31
+ // './tegg/core/core-decorator/node_modules/_reflect-metadata@0.1.13@reflect-metadata/Reflect.js',
32
+ // './tegg/core/core-decorator/test/fixtures/decators/CacheService.ts',
33
+ PrototypeUtil.setFilePath(clazz, StackUtil.getCalleeFromStack(false, 4));
34
+ };
35
+ }
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTXVsdGlJbnN0YW5jZVByb3RvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiTXVsdGlJbnN0YW5jZVByb3RvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFTekYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxNQUFNLGNBQWMsR0FBRztJQUNyQixRQUFRLEVBQUUsY0FBYyxDQUFDLFNBQVM7SUFDbEMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxPQUFPO0lBQ2hDLGFBQWEsRUFBRSx1QkFBdUI7Q0FDdkMsQ0FBQztBQUVGLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxLQUFtQztJQUNwRSxPQUFPLFVBQVMsS0FBd0I7UUFDdEMsYUFBYSxDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELElBQUssS0FBNEMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMxRCxNQUFNLFFBQVEsR0FBa0M7Z0JBQzlDLEdBQUcsY0FBYztnQkFDakIsR0FBRyxLQUEyQztnQkFDOUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxJQUFJO2FBQ3RCLENBQUM7WUFDRixhQUFhLENBQUMsOEJBQThCLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7YUFBTSxJQUFLLEtBQThDLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdEUsTUFBTSxRQUFRLEdBQTBDO2dCQUN0RCxHQUFHLGNBQWM7Z0JBQ2pCLEdBQUcsS0FBNkM7Z0JBQ2hELFNBQVMsRUFBRSxLQUFLLENBQUMsSUFBSTthQUN0QixDQUFDO1lBQ0YsYUFBYSxDQUFDLGdDQUFnQyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNsRSxDQUFDO1FBRUQsOENBQThDO1FBQzlDLDJEQUEyRDtRQUMzRCxrR0FBa0c7UUFDbEcsa0dBQWtHO1FBQ2xHLHVFQUF1RTtRQUN2RSxhQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
@@ -0,0 +1,29 @@
1
+ import { NameUtil, StackUtil } from '@eggjs/tegg-common-util';
2
+ import { AccessLevel, DEFAULT_PROTO_IMPL_TYPE, ObjectInitType } from '@eggjs/tegg-types';
3
+ import { PrototypeUtil } from '../util/index.js';
4
+ const DEFAULT_PARAMS = {
5
+ initType: ObjectInitType.SINGLETON,
6
+ accessLevel: AccessLevel.PRIVATE,
7
+ protoImplType: DEFAULT_PROTO_IMPL_TYPE,
8
+ };
9
+ export function Prototype(param) {
10
+ return function (clazz) {
11
+ PrototypeUtil.setIsEggPrototype(clazz);
12
+ const property = {
13
+ ...DEFAULT_PARAMS,
14
+ ...param,
15
+ className: clazz.name,
16
+ };
17
+ if (!property.name) {
18
+ property.name = NameUtil.getClassName(clazz);
19
+ }
20
+ PrototypeUtil.setProperty(clazz, property);
21
+ // './tegg/core/common-util/src/StackUtil.ts',
22
+ // './tegg/core/core-decorator/src/decorator/Prototype.ts',
23
+ // './tegg/core/core-decorator/node_modules/_reflect-metadata@0.1.13@reflect-metadata/Reflect.js',
24
+ // './tegg/core/core-decorator/node_modules/_reflect-metadata@0.1.13@reflect-metadata/Reflect.js',
25
+ // './tegg/core/core-decorator/test/fixtures/decators/CacheService.ts',
26
+ PrototypeUtil.setFilePath(clazz, StackUtil.getCalleeFromStack(false, 4));
27
+ };
28
+ }
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvdG90eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiUHJvdG90eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV6RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsTUFBTSxjQUFjLEdBQUc7SUFDckIsUUFBUSxFQUFFLGNBQWMsQ0FBQyxTQUFTO0lBQ2xDLFdBQVcsRUFBRSxXQUFXLENBQUMsT0FBTztJQUNoQyxhQUFhLEVBQUUsdUJBQXVCO0NBQ3ZDLENBQUM7QUFFRixNQUFNLFVBQVUsU0FBUyxDQUFDLEtBQXVCO0lBQy9DLE9BQU8sVUFBUyxLQUF3QjtRQUN0QyxhQUFhLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsTUFBTSxRQUFRLEdBQThCO1lBQzFDLEdBQUcsY0FBYztZQUNqQixHQUFHLEtBQUs7WUFDUixTQUFTLEVBQUUsS0FBSyxDQUFDLElBQUk7U0FDdEIsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkIsUUFBUSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFDRCxhQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxRQUE0QixDQUFDLENBQUM7UUFFL0QsOENBQThDO1FBQzlDLDJEQUEyRDtRQUMzRCxrR0FBa0c7UUFDbEcsa0dBQWtHO1FBQ2xHLHVFQUF1RTtRQUN2RSxhQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
@@ -0,0 +1,10 @@
1
+ import { AccessLevel, ObjectInitType } from '@eggjs/tegg-types';
2
+ import { Prototype } from './Prototype.js';
3
+ export function SingletonProto(params) {
4
+ return Prototype({
5
+ initType: ObjectInitType.SINGLETON,
6
+ accessLevel: params?.accessLevel || AccessLevel.PRIVATE,
7
+ ...params,
8
+ });
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2luZ2xldG9uUHJvdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJTaW5nbGV0b25Qcm90by50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxNQUFNLFVBQVUsY0FBYyxDQUFDLE1BQTZCO0lBQzFELE9BQU8sU0FBUyxDQUFDO1FBQ2YsUUFBUSxFQUFFLGNBQWMsQ0FBQyxTQUFTO1FBQ2xDLFdBQVcsRUFBRSxNQUFNLEVBQUUsV0FBVyxJQUFJLFdBQVcsQ0FBQyxPQUFPO1FBQ3ZELEdBQUcsTUFBTTtLQUNWLENBQUMsQ0FBQztBQUNMLENBQUMifQ==
@@ -0,0 +1,10 @@
1
+ export * from './ConfigSource.js';
2
+ export * from './ContextProto.js';
3
+ export * from './EggQualifier.js';
4
+ export * from './InitTypeQualifier.js';
5
+ export * from './Inject.js';
6
+ export * from './ModuleQualifier.js';
7
+ export * from './MultiInstanceInfo.js';
8
+ export * from './MultiInstanceProto.js';
9
+ export * from './Prototype.js';
10
+ export * from './SingletonProto.js';
@@ -0,0 +1,11 @@
1
+ export * from './ConfigSource.js';
2
+ export * from './ContextProto.js';
3
+ export * from './EggQualifier.js';
4
+ export * from './InitTypeQualifier.js';
5
+ export * from './Inject.js';
6
+ export * from './ModuleQualifier.js';
7
+ export * from './MultiInstanceInfo.js';
8
+ export * from './MultiInstanceProto.js';
9
+ export * from './Prototype.js';
10
+ export * from './SingletonProto.js';
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxxQkFBcUIsQ0FBQyJ9
package/src/index.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export * from '@eggjs/tegg-types/core-decorator';
2
+ export * from './decorator/index.js';
3
+ export * from './util/index.js';
package/src/index.js ADDED
@@ -0,0 +1,4 @@
1
+ export * from '@eggjs/tegg-types/core-decorator';
2
+ export * from './decorator/index.js';
3
+ export * from './util/index.js';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxpQkFBaUIsQ0FBQyJ9
@@ -1,4 +1,3 @@
1
- import 'reflect-metadata';
2
1
  import type { EggProtoImplClass, MetaDataKey } from '@eggjs/tegg-types';
3
2
  export declare class MetadataUtil {
4
3
  static deleteMetaData(metadataKey: MetaDataKey, clazz: EggProtoImplClass): void;
@@ -0,0 +1,83 @@
1
+ export class MetadataUtil {
2
+ static deleteMetaData(metadataKey, clazz) {
3
+ Reflect.deleteMetadata(metadataKey, clazz);
4
+ }
5
+ static defineMetaData(metadataKey, metadataValue, clazz) {
6
+ Reflect.defineMetadata(metadataKey, metadataValue, clazz);
7
+ }
8
+ static getOwnMetaData(metadataKey, clazz) {
9
+ return Reflect.getOwnMetadata(metadataKey, clazz);
10
+ }
11
+ static hasMetaData(metadataKey, clazz, propKey) {
12
+ return Reflect.hasMetadata(metadataKey, clazz, propKey);
13
+ }
14
+ static getMetaData(metadataKey, clazz, propKey) {
15
+ return Reflect.getMetadata(metadataKey, clazz, propKey);
16
+ }
17
+ static getBooleanMetaData(metadataKey, clazz) {
18
+ return !!this.getMetaData(metadataKey, clazz);
19
+ }
20
+ static getOwnBooleanMetaData(metadataKey, clazz) {
21
+ return !!this.getOwnMetaData(metadataKey, clazz);
22
+ }
23
+ static getArrayMetaData(metadataKey, clazz) {
24
+ return this.getMetaData(metadataKey, clazz) || [];
25
+ }
26
+ /**
27
+ * init array metadata
28
+ * not inherit parent metadata
29
+ * return value true means use default value
30
+ * return value false means use map value
31
+ */
32
+ static initArrayMetaData(metadataKey, clazz, defaultValue) {
33
+ const ownMetaData = this.getOwnMetaData(metadataKey, clazz);
34
+ if (!ownMetaData) {
35
+ this.defineMetaData(metadataKey, defaultValue, clazz);
36
+ }
37
+ return this.getOwnMetaData(metadataKey, clazz);
38
+ }
39
+ /**
40
+ * init own array metadata
41
+ * if parent metadata exists, inherit
42
+ * if parent metadata not exits, use default value
43
+ * return value true means use default value
44
+ * return value false means use map value
45
+ */
46
+ static initOwnArrayMetaData(metadataKey, clazz, defaultValue) {
47
+ const ownMetaData = this.getOwnMetaData(metadataKey, clazz);
48
+ if (!ownMetaData) {
49
+ const parentValue = this.getMetaData(metadataKey, clazz);
50
+ const ownDefaultValue = parentValue || defaultValue;
51
+ const selfValue = ownDefaultValue.slice();
52
+ this.defineMetaData(metadataKey, selfValue, clazz);
53
+ }
54
+ return this.getOwnMetaData(metadataKey, clazz);
55
+ }
56
+ /**
57
+ * init own map metadata
58
+ * if parent metadata exists, inherit
59
+ * if parent metadata not exits, use default value
60
+ * return value true means use default value
61
+ * return value false means use map value
62
+ */
63
+ static initOwnMapMetaData(metadataKey, clazz, defaultValue) {
64
+ const ownMetaData = this.getOwnMetaData(metadataKey, clazz);
65
+ if (!ownMetaData) {
66
+ const parentValue = this.getMetaData(metadataKey, clazz);
67
+ const selfValue = new Map();
68
+ const ownDefaultValue = parentValue || defaultValue;
69
+ for (const [k, v] of ownDefaultValue) {
70
+ selfValue.set(k, v);
71
+ }
72
+ this.defineMetaData(metadataKey, selfValue, clazz);
73
+ }
74
+ return this.getOwnMetaData(metadataKey, clazz);
75
+ }
76
+ static getOrStoreMetaData(metadataKey, clazz, metadataValue) {
77
+ if (!Reflect.hasMetadata(metadataKey, clazz)) {
78
+ Reflect.defineMetadata(metadataKey, metadataValue, clazz);
79
+ }
80
+ return Reflect.getMetadata(metadataKey, clazz);
81
+ }
82
+ }
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWV0YWRhdGFVdGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiTWV0YWRhdGFVdGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLE1BQU0sQ0FBQyxjQUFjLENBQUMsV0FBd0IsRUFBRSxLQUF3QjtRQUN0RSxPQUFPLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBSSxXQUF3QixFQUFFLGFBQWdCLEVBQUUsS0FBd0I7UUFDM0YsT0FBTyxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFJLFdBQXdCLEVBQUUsS0FBd0I7UUFDekUsT0FBTyxPQUFPLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxXQUF3QixFQUFFLEtBQXdCLEVBQUUsT0FBcUI7UUFDMUYsT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsT0FBaUIsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFJLFdBQXdCLEVBQUUsS0FBd0IsRUFBRSxPQUFxQjtRQUM3RixPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxPQUFpQixDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxXQUF3QixFQUFFLEtBQXdCO1FBQzFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxNQUFNLENBQUMscUJBQXFCLENBQUMsV0FBd0IsRUFBRSxLQUF3QjtRQUM3RSxP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
@@ -60,9 +60,9 @@ export declare class PrototypeUtil {
60
60
  * @return {EggPrototypeInfo} -
61
61
  */
62
62
  static getProperty(clazz: EggProtoImplClass): EggPrototypeInfo | undefined;
63
- static getInitType(clazz: EggProtoImplClass, ctx: MultiInstancePrototypeGetObjectsContext): string | undefined;
64
- static getAccessLevel(clazz: EggProtoImplClass, ctx: MultiInstancePrototypeGetObjectsContext): string | undefined;
65
- static getObjNames(clazz: EggProtoImplClass, ctx: MultiInstancePrototypeGetObjectsContext): EggPrototypeName[];
63
+ static getInitType(clazz: EggProtoImplClass, ctx: MultiInstancePrototypeGetObjectsContext): Promise<string | undefined>;
64
+ static getAccessLevel(clazz: EggProtoImplClass, ctx: MultiInstancePrototypeGetObjectsContext): Promise<string | undefined>;
65
+ static getObjNames(clazz: EggProtoImplClass, ctx: MultiInstancePrototypeGetObjectsContext): Promise<EggPrototypeName[]>;
66
66
  /**
67
67
  * set class property
68
68
  * @param {EggProtoImplClass} clazz -
@@ -85,13 +85,13 @@ export declare class PrototypeUtil {
85
85
  * @param {EggProtoImplClass} clazz -
86
86
  * @param {MultiInstancePrototypeGetObjectsContext} ctx -
87
87
  */
88
- static getDynamicMultiInstanceProperty(clazz: EggProtoImplClass, ctx: MultiInstancePrototypeGetObjectsContext): EggMultiInstancePrototypeInfo | undefined;
88
+ static getDynamicMultiInstanceProperty(clazz: EggProtoImplClass, ctx: MultiInstancePrototypeGetObjectsContext): Promise<EggMultiInstancePrototypeInfo | undefined>;
89
89
  /**
90
90
  * get class property
91
91
  * @param {EggProtoImplClass} clazz -
92
92
  * @param {MultiInstancePrototypeGetObjectsContext} ctx -
93
93
  */
94
- static getMultiInstanceProperty(clazz: EggProtoImplClass, ctx: MultiInstancePrototypeGetObjectsContext): EggMultiInstancePrototypeInfo | undefined;
94
+ static getMultiInstanceProperty(clazz: EggProtoImplClass, ctx: MultiInstancePrototypeGetObjectsContext): Promise<EggMultiInstancePrototypeInfo | undefined>;
95
95
  static setMultiInstanceConstructorAttributes(clazz: EggProtoImplClass, attributes: QualifierAttribute[]): void;
96
96
  static getMultiInstanceConstructorAttributes(clazz: EggProtoImplClass): QualifierAttribute[];
97
97
  static setMultiInstanceConstructorIndex(clazz: EggProtoImplClass, index: number): void;