@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.
- package/package.json +21 -20
- package/src/decorator/ConfigSource.js +8 -0
- package/src/decorator/ContextProto.js +10 -0
- package/src/decorator/EggQualifier.js +8 -0
- package/src/decorator/InitTypeQualifier.js +8 -0
- package/src/decorator/Inject.js +95 -0
- package/src/decorator/ModuleQualifier.js +8 -0
- package/src/decorator/MultiInstanceInfo.js +8 -0
- package/src/decorator/MultiInstanceProto.js +36 -0
- package/src/decorator/Prototype.js +29 -0
- package/src/decorator/SingletonProto.js +10 -0
- package/src/decorator/index.d.ts +10 -0
- package/src/decorator/index.js +11 -0
- package/src/index.d.ts +3 -0
- package/src/index.js +4 -0
- package/{dist/src → src}/util/MetadataUtil.d.ts +0 -1
- package/src/util/MetadataUtil.js +83 -0
- package/{dist/src → src}/util/PrototypeUtil.d.ts +5 -5
- package/src/util/PrototypeUtil.js +249 -0
- package/src/util/QualifierUtil.js +92 -0
- package/src/util/index.d.ts +3 -0
- package/src/util/index.js +4 -0
- package/dist/index.d.ts +0 -14
- package/dist/index.js +0 -31
- package/dist/src/decorator/ConfigSource.js +0 -11
- package/dist/src/decorator/ContextProto.js +0 -13
- package/dist/src/decorator/EggQualifier.js +0 -11
- package/dist/src/decorator/InitTypeQualifier.js +0 -11
- package/dist/src/decorator/Inject.js +0 -100
- package/dist/src/decorator/ModuleQualifier.js +0 -11
- package/dist/src/decorator/MultiInstanceInfo.js +0 -11
- package/dist/src/decorator/MultiInstanceProto.js +0 -39
- package/dist/src/decorator/Prototype.js +0 -32
- package/dist/src/decorator/SingletonProto.js +0 -13
- package/dist/src/util/MetadataUtil.js +0 -88
- package/dist/src/util/PrototypeUtil.js +0 -255
- package/dist/src/util/QualifierUtil.js +0 -96
- /package/{dist/src → src}/decorator/ConfigSource.d.ts +0 -0
- /package/{dist/src → src}/decorator/ContextProto.d.ts +0 -0
- /package/{dist/src → src}/decorator/EggQualifier.d.ts +0 -0
- /package/{dist/src → src}/decorator/InitTypeQualifier.d.ts +0 -0
- /package/{dist/src → src}/decorator/Inject.d.ts +0 -0
- /package/{dist/src → src}/decorator/ModuleQualifier.d.ts +0 -0
- /package/{dist/src → src}/decorator/MultiInstanceInfo.d.ts +0 -0
- /package/{dist/src → src}/decorator/MultiInstanceProto.d.ts +0 -0
- /package/{dist/src → src}/decorator/Prototype.d.ts +0 -0
- /package/{dist/src → src}/decorator/SingletonProto.d.ts +0 -0
- /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
|
+
"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
|
-
"
|
|
11
|
+
"type": "module",
|
|
12
|
+
"exports": {
|
|
13
|
+
".": {
|
|
14
|
+
"types": "./src/index.d.ts",
|
|
15
|
+
"default": "./src/index.js"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
12
18
|
"files": [
|
|
13
|
-
"
|
|
14
|
-
"
|
|
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
|
|
22
|
-
"prepublishOnly": "npm run tsc
|
|
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": ">=
|
|
40
|
+
"node": ">=20.0.0"
|
|
37
41
|
},
|
|
38
42
|
"dependencies": {
|
|
39
|
-
"@eggjs/tegg-common-util": "^
|
|
40
|
-
"@eggjs/tegg-types": "^
|
|
41
|
-
"reflect-metadata": "^0.
|
|
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/
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
|
|
51
|
-
|
|
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
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
|
|
@@ -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;
|