@eggjs/core-decorator 3.62.0 → 4.0.0-beta.10
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/README.md +13 -1
- package/dist/decorator/ConfigSource.js +8 -0
- package/dist/decorator/ContextProto.js +10 -0
- package/dist/decorator/EggQualifier.js +8 -0
- package/dist/decorator/InitTypeQualifier.js +8 -0
- package/dist/{src/decorator → decorator}/Inject.d.ts +1 -1
- package/dist/decorator/Inject.js +102 -0
- package/dist/decorator/ModuleQualifier.js +8 -0
- package/dist/{src/decorator → decorator}/MultiInstanceInfo.d.ts +1 -1
- package/dist/decorator/MultiInstanceInfo.js +8 -0
- package/dist/decorator/MultiInstanceProto.js +36 -0
- package/dist/decorator/Prototype.js +29 -0
- package/dist/decorator/SingletonProto.js +10 -0
- package/dist/decorator/index.d.ts +10 -0
- package/dist/decorator/index.js +11 -0
- package/dist/index.d.ts +2 -13
- package/dist/index.js +4 -31
- package/dist/{src/util → util}/MetadataUtil.d.ts +0 -1
- package/dist/util/MetadataUtil.js +83 -0
- package/dist/{src/util → util}/PrototypeUtil.d.ts +7 -7
- package/dist/util/PrototypeUtil.js +249 -0
- package/dist/util/QualifierUtil.js +92 -0
- package/dist/util/index.d.ts +3 -0
- package/dist/util/index.js +4 -0
- package/package.json +26 -27
- 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/decorator → decorator}/ConfigSource.d.ts +0 -0
- /package/dist/{src/decorator → decorator}/ContextProto.d.ts +0 -0
- /package/dist/{src/decorator → decorator}/EggQualifier.d.ts +0 -0
- /package/dist/{src/decorator → decorator}/InitTypeQualifier.d.ts +0 -0
- /package/dist/{src/decorator → decorator}/ModuleQualifier.d.ts +0 -0
- /package/dist/{src/decorator → decorator}/MultiInstanceProto.d.ts +0 -0
- /package/dist/{src/decorator → decorator}/Prototype.d.ts +0 -0
- /package/dist/{src/decorator → decorator}/SingletonProto.d.ts +0 -0
- /package/dist/{src/util → util}/QualifierUtil.d.ts +0 -0
package/README.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# `@eggjs/core-decorator`
|
|
2
2
|
|
|
3
|
+
[![NPM version][npm-image]][npm-url]
|
|
4
|
+
[![Known Vulnerabilities][snyk-image]][snyk-url]
|
|
5
|
+
[![npm download][download-image]][download-url]
|
|
6
|
+
[](https://nodejs.org/en/download/)
|
|
7
|
+
|
|
8
|
+
[npm-image]: https://img.shields.io/npm/v/@eggjs/core-decorator.svg?style=flat-square
|
|
9
|
+
[npm-url]: https://npmjs.org/package/@eggjs/core-decorator
|
|
10
|
+
[snyk-image]: https://snyk.io/test/npm/@eggjs/core-decorator/badge.svg?style=flat-square
|
|
11
|
+
[snyk-url]: https://snyk.io/test/npm/@eggjs/core-decorator
|
|
12
|
+
[download-image]: https://img.shields.io/npm/dm/@eggjs/core-decorator.svg?style=flat-square
|
|
13
|
+
[download-url]: https://npmjs.org/package/@eggjs/core-decorator
|
|
14
|
+
|
|
3
15
|
## Usage
|
|
4
16
|
|
|
5
|
-
Please read [@eggjs/tegg-plugin](../../plugin/tegg)
|
|
17
|
+
Please read [@eggjs/tegg-plugin](../../plugin/tegg/README.md)
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZmlnU291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlY29yYXRvci9Db25maWdTb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpELE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxVQUFrQjtJQUN0RCxPQUFPLFVBQVMsTUFBVyxFQUFFLFdBQXlCLEVBQUUsY0FBdUI7UUFDN0UsYUFBYSxDQUFDLGtCQUFrQixDQUFDLE1BQTJCLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSw4QkFBOEIsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN6SSxDQUFDLENBQUM7QUFDSixDQUFDIn0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dFByb3RvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlY29yYXRvci9Db250ZXh0UHJvdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUdoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsTUFBTSxVQUFVLFlBQVksQ0FBQyxNQUEyQjtJQUN0RCxPQUFPLFNBQVMsQ0FBQztRQUNmLFFBQVEsRUFBRSxjQUFjLENBQUMsT0FBTztRQUNoQyxXQUFXLEVBQUUsTUFBTSxFQUFFLFdBQVcsSUFBSSxXQUFXLENBQUMsT0FBTztRQUN2RCxHQUFHLE1BQU07S0FDVixDQUFDLENBQUM7QUFDTCxDQUFDIn0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnUXVhbGlmaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlY29yYXRvci9FZ2dRdWFsaWZpZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpELE1BQU0sVUFBVSxZQUFZLENBQUMsT0FBZ0I7SUFDM0MsT0FBTyxVQUFTLE1BQVcsRUFBRSxXQUF5QixFQUFFLGNBQXVCO1FBQzdFLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxNQUEyQixFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUscUJBQXFCLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5pdFR5cGVRdWFsaWZpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVjb3JhdG9yL0luaXRUeXBlUXVhbGlmaWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsUUFBNEI7SUFDNUQsT0FBTyxVQUFTLE1BQVcsRUFBRSxXQUF5QixFQUFFLGNBQXVCO1FBQzdFLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxNQUEyQixFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsMEJBQTBCLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbkksQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { InjectParams } from '@eggjs/tegg-types';
|
|
1
|
+
import { type InjectParams } from '@eggjs/tegg-types';
|
|
2
2
|
export declare function Inject(param?: InjectParams | string): (target: any, propertyKey?: PropertyKey, parameterIndex?: number) => void;
|
|
3
3
|
export declare function InjectOptional(param?: Omit<InjectParams, 'optional'> | string): (target: any, propertyKey?: PropertyKey, parameterIndex?: number) => void;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { debuglog } from 'node:util';
|
|
2
|
+
import { InjectType, InitTypeQualifierAttribute, } from '@eggjs/tegg-types';
|
|
3
|
+
import { ObjectUtils } from '@eggjs/tegg-common-util';
|
|
4
|
+
import { PrototypeUtil, QualifierUtil } from "../util/index.js";
|
|
5
|
+
const debug = debuglog('tegg/core/core-decorator/decorator/Inject');
|
|
6
|
+
function guessInjectInfo(clazz, name, proto) {
|
|
7
|
+
let objName;
|
|
8
|
+
let initType;
|
|
9
|
+
if (typeof proto === 'function' && proto !== Object) {
|
|
10
|
+
// if property type is function and not Object( means maybe proto class ), then try to read EggPrototypeInfo.name as obj name
|
|
11
|
+
const info = PrototypeUtil.getProperty(proto);
|
|
12
|
+
objName = info?.name;
|
|
13
|
+
// try to read EggPrototypeInfo.initType as qualifier
|
|
14
|
+
if (info?.initType) {
|
|
15
|
+
const customInitType = QualifierUtil.getProperQualifier(clazz, name, InitTypeQualifierAttribute);
|
|
16
|
+
if (!customInitType) {
|
|
17
|
+
initType = info.initType;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return {
|
|
22
|
+
objName,
|
|
23
|
+
initType,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export function Inject(param) {
|
|
27
|
+
const injectParam = typeof param === 'string' ? { name: param } : param;
|
|
28
|
+
function propertyInject(target, propertyKey) {
|
|
29
|
+
let objName;
|
|
30
|
+
let initType;
|
|
31
|
+
if (!injectParam) {
|
|
32
|
+
// `@Inject() foo: FooService`
|
|
33
|
+
// try to read design:type from proto
|
|
34
|
+
const proto = PrototypeUtil.getDesignType(target, propertyKey);
|
|
35
|
+
const result = guessInjectInfo(target.constructor, propertyKey, proto);
|
|
36
|
+
objName = result.objName;
|
|
37
|
+
initType = result.initType;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
// params allow string or object
|
|
41
|
+
objName = injectParam?.name;
|
|
42
|
+
}
|
|
43
|
+
const injectObject = {
|
|
44
|
+
refName: propertyKey,
|
|
45
|
+
objName: objName || propertyKey,
|
|
46
|
+
};
|
|
47
|
+
if (injectParam?.optional) {
|
|
48
|
+
injectObject.optional = true;
|
|
49
|
+
}
|
|
50
|
+
PrototypeUtil.setInjectType(target.constructor, InjectType.PROPERTY);
|
|
51
|
+
PrototypeUtil.addInjectObject(target.constructor, injectObject);
|
|
52
|
+
debug('propertyInject, clazz: %s, propertyKey: %s, injectObject: %o', target.constructor.name, propertyKey, injectObject);
|
|
53
|
+
// console.trace();
|
|
54
|
+
if (initType) {
|
|
55
|
+
QualifierUtil.addProperQualifier(target.constructor, propertyKey, InitTypeQualifierAttribute, initType);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
function constructorInject(target, parameterIndex) {
|
|
59
|
+
const argNames = ObjectUtils.getConstructorArgNameList(target);
|
|
60
|
+
const argName = argNames[parameterIndex];
|
|
61
|
+
let objName;
|
|
62
|
+
let initType;
|
|
63
|
+
if (!injectParam) {
|
|
64
|
+
// try to read proto from design:paramtypes
|
|
65
|
+
const protos = PrototypeUtil.getDesignParamtypes(target);
|
|
66
|
+
({ objName, initType } = guessInjectInfo(target, argName, protos?.[parameterIndex]));
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
// params allow string or object
|
|
70
|
+
objName = injectParam?.name;
|
|
71
|
+
}
|
|
72
|
+
const injectObject = {
|
|
73
|
+
refIndex: parameterIndex,
|
|
74
|
+
refName: argName,
|
|
75
|
+
objName: objName || argName,
|
|
76
|
+
};
|
|
77
|
+
if (injectParam?.optional) {
|
|
78
|
+
injectObject.optional = true;
|
|
79
|
+
}
|
|
80
|
+
PrototypeUtil.setInjectType(target, InjectType.CONSTRUCTOR);
|
|
81
|
+
PrototypeUtil.addInjectConstructor(target, injectObject);
|
|
82
|
+
if (initType) {
|
|
83
|
+
QualifierUtil.addProperQualifier(target, argName, InitTypeQualifierAttribute, initType);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return function (target, propertyKey, parameterIndex) {
|
|
87
|
+
if (typeof parameterIndex === 'undefined') {
|
|
88
|
+
propertyInject(target, propertyKey);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
constructorInject(target, parameterIndex);
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
export function InjectOptional(param) {
|
|
96
|
+
const injectParam = typeof param === 'string' ? { name: param } : param;
|
|
97
|
+
return Inject({
|
|
98
|
+
...injectParam,
|
|
99
|
+
optional: true,
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlY29yYXRvci9JbmplY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVyQyxPQUFPLEVBS0wsVUFBVSxFQUNWLDBCQUEwQixHQUMzQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWhFLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO0FBRXBFLFNBQVMsZUFBZSxDQUFDLEtBQXdCLEVBQUUsSUFBaUIsRUFBRSxLQUFVO0lBQzlFLElBQUksT0FBZ0MsQ0FBQztJQUNyQyxJQUFJLFFBQTRCLENBQUM7SUFFakMsSUFBSSxPQUFPLEtBQUssS0FBSyxVQUFVLElBQUksS0FBSyxLQUFLLE1BQU0sRUFBRSxDQUFDO1FBQ3BELDZIQUE2SDtRQUM3SCxNQUFNLElBQUksR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDLEtBQTBCLENBQUMsQ0FBQztRQUNuRSxPQUFPLEdBQUcsSUFBSSxFQUFFLElBQUksQ0FBQztRQUNyQixxREFBcUQ7UUFDckQsSUFBSSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7WUFDbkIsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsMEJBQTBCLENBQUMsQ0FBQztZQUNqRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3BCLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPO1FBQ1AsUUFBUTtLQUNULENBQUM7QUFDSixDQUFDO0FBRUQsTUFB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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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlUXVhbGlmaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlY29yYXRvci9Nb2R1bGVRdWFsaWZpZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpELE1BQU0sVUFBVSxlQUFlLENBQUMsVUFBa0I7SUFDaEQsT0FBTyxVQUFTLE1BQVcsRUFBRSxXQUF5QixFQUFFLGNBQXVCO1FBQzdFLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxNQUEyQixFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsOEJBQThCLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDekksQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { QualifierAttribute } from '@eggjs/tegg-types';
|
|
1
|
+
import type { QualifierAttribute } from '@eggjs/tegg-types';
|
|
2
2
|
export declare function MultiInstanceInfo(attributes: QualifierAttribute[]): (target: any, _propertyKey: PropertyKey | undefined, parameterIndex: number) => void;
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTXVsdGlJbnN0YW5jZUluZm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVjb3JhdG9yL011bHRpSW5zdGFuY2VJbmZvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsVUFBZ0M7SUFDaEUsT0FBTyxVQUFTLE1BQVcsRUFBRSxZQUFxQyxFQUFFLGNBQXNCO1FBQ3hGLGFBQWEsQ0FBQyxnQ0FBZ0MsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDdkUsYUFBYSxDQUFDLHFDQUFxQyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUMxRSxDQUFDLENBQUM7QUFDSixDQUFDIn0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTXVsdGlJbnN0YW5jZVByb3RvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlY29yYXRvci9NdWx0aUluc3RhbmNlUHJvdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQVN6RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpELE1BQU0sY0FBYyxHQUFHO0lBQ3JCLFFBQVEsRUFBRSxjQUFjLENBQUMsU0FBUztJQUNsQyxXQUFXLEVBQUUsV0FBVyxDQUFDLE9BQU87SUFDaEMsYUFBYSxFQUFFLHVCQUF1QjtDQUN2QyxDQUFDO0FBRUYsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEtBQW1DO0lBQ3BFLE9BQU8sVUFBUyxLQUF3QjtRQUN0QyxhQUFhLENBQUMsOEJBQThCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEQsSUFBSyxLQUE0QyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzFELE1BQU0sUUFBUSxHQUFrQztnQkFDOUMsR0FBRyxjQUFjO2dCQUNqQixHQUFHLEtBQTJDO2dCQUM5QyxTQUFTLEVBQUUsS0FBSyxDQUFDLElBQUk7YUFDdEIsQ0FBQztZQUNGLGFBQWEsQ0FBQyw4QkFBOEIsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDaEUsQ0FBQzthQUFNLElBQUssS0FBOEMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN0RSxNQUFNLFFBQVEsR0FBMEM7Z0JBQ3RELEdBQUcsY0FBYztnQkFDakIsR0FBRyxLQUE2QztnQkFDaEQsU0FBUyxFQUFFLEtBQUssQ0FBQyxJQUFJO2FBQ3RCLENBQUM7WUFDRixhQUFhLENBQUMsZ0NBQWdDLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFFRCw4Q0FBOEM7UUFDOUMsMkRBQTJEO1FBQzNELGtHQUFrRztRQUNsRyxrR0FBa0c7UUFDbEcsdUVBQXVFO1FBQ3ZFLGFBQWEsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDLENBQUM7QUFDSixDQUFDIn0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvdG90eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlY29yYXRvci9Qcm90b3R5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR3pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxNQUFNLGNBQWMsR0FBRztJQUNyQixRQUFRLEVBQUUsY0FBYyxDQUFDLFNBQVM7SUFDbEMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxPQUFPO0lBQ2hDLGFBQWEsRUFBRSx1QkFBdUI7Q0FDdkMsQ0FBQztBQUVGLE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBdUI7SUFDL0MsT0FBTyxVQUFTLEtBQXdCO1FBQ3RDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QyxNQUFNLFFBQVEsR0FBOEI7WUFDMUMsR0FBRyxjQUFjO1lBQ2pCLEdBQUcsS0FBSztZQUNSLFNBQVMsRUFBRSxLQUFLLENBQUMsSUFBSTtTQUN0QixDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuQixRQUFRLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUNELGFBQWEsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLFFBQTRCLENBQUMsQ0FBQztRQUUvRCw4Q0FBOEM7UUFDOUMsMkRBQTJEO1FBQzNELGtHQUFrRztRQUNsRyxrR0FBa0c7UUFDbEcsdUVBQXVFO1FBQ3ZFLGFBQWEsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDLENBQUM7QUFDSixDQUFDIn0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2luZ2xldG9uUHJvdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVjb3JhdG9yL1NpbmdsZXRvblByb3RvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE1BQU0sVUFBVSxjQUFjLENBQUMsTUFBNkI7SUFDMUQsT0FBTyxTQUFTLENBQUM7UUFDZixRQUFRLEVBQUUsY0FBYyxDQUFDLFNBQVM7UUFDbEMsV0FBVyxFQUFFLE1BQU0sRUFBRSxXQUFXLElBQUksV0FBVyxDQUFDLE9BQU87UUFDdkQsR0FBRyxNQUFNO0tBQ1YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyJ9
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './ConfigSource.ts';
|
|
2
|
+
export * from './ContextProto.ts';
|
|
3
|
+
export * from './EggQualifier.ts';
|
|
4
|
+
export * from './InitTypeQualifier.ts';
|
|
5
|
+
export * from './Inject.ts';
|
|
6
|
+
export * from './ModuleQualifier.ts';
|
|
7
|
+
export * from './MultiInstanceInfo.ts';
|
|
8
|
+
export * from './MultiInstanceProto.ts';
|
|
9
|
+
export * from './Prototype.ts';
|
|
10
|
+
export * from './SingletonProto.ts';
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVjb3JhdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHFCQUFxQixDQUFDIn0=
|
package/dist/index.d.ts
CHANGED
|
@@ -1,14 +1,3 @@
|
|
|
1
1
|
export * from '@eggjs/tegg-types/core-decorator';
|
|
2
|
-
export * from './
|
|
3
|
-
export * from './
|
|
4
|
-
export * from './src/decorator/InitTypeQualifier';
|
|
5
|
-
export * from './src/decorator/ModuleQualifier';
|
|
6
|
-
export * from './src/decorator/ContextProto';
|
|
7
|
-
export * from './src/decorator/SingletonProto';
|
|
8
|
-
export * from './src/decorator/EggQualifier';
|
|
9
|
-
export * from './src/decorator/MultiInstanceProto';
|
|
10
|
-
export * from './src/decorator/MultiInstanceInfo';
|
|
11
|
-
export * from './src/decorator/ConfigSource';
|
|
12
|
-
export * from './src/util/MetadataUtil';
|
|
13
|
-
export * from './src/util/PrototypeUtil';
|
|
14
|
-
export * from './src/util/QualifierUtil';
|
|
2
|
+
export * from './decorator/index.ts';
|
|
3
|
+
export * from './util/index.ts';
|
package/dist/index.js
CHANGED
|
@@ -1,31 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("@eggjs/tegg-types/core-decorator"), exports);
|
|
18
|
-
__exportStar(require("./src/decorator/Inject"), exports);
|
|
19
|
-
__exportStar(require("./src/decorator/Prototype"), exports);
|
|
20
|
-
__exportStar(require("./src/decorator/InitTypeQualifier"), exports);
|
|
21
|
-
__exportStar(require("./src/decorator/ModuleQualifier"), exports);
|
|
22
|
-
__exportStar(require("./src/decorator/ContextProto"), exports);
|
|
23
|
-
__exportStar(require("./src/decorator/SingletonProto"), exports);
|
|
24
|
-
__exportStar(require("./src/decorator/EggQualifier"), exports);
|
|
25
|
-
__exportStar(require("./src/decorator/MultiInstanceProto"), exports);
|
|
26
|
-
__exportStar(require("./src/decorator/MultiInstanceInfo"), exports);
|
|
27
|
-
__exportStar(require("./src/decorator/ConfigSource"), exports);
|
|
28
|
-
__exportStar(require("./src/util/MetadataUtil"), exports);
|
|
29
|
-
__exportStar(require("./src/util/PrototypeUtil"), exports);
|
|
30
|
-
__exportStar(require("./src/util/QualifierUtil"), exports);
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbUVBQWlEO0FBQ2pELHlEQUF1QztBQUN2Qyw0REFBMEM7QUFDMUMsb0VBQWtEO0FBQ2xELGtFQUFnRDtBQUNoRCwrREFBNkM7QUFDN0MsaUVBQStDO0FBQy9DLCtEQUE2QztBQUM3QyxxRUFBbUQ7QUFDbkQsb0VBQWtEO0FBQ2xELCtEQUE2QztBQUU3QywwREFBd0M7QUFDeEMsMkRBQXlDO0FBQ3pDLDJEQUF5QyJ9
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQ0FBa0MsQ0FBQztBQUVqRCxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsaUJBQWlCLENBQUMifQ==
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWV0YWRhdGFVdGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvTWV0YWRhdGFVdGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLE1BQU0sQ0FBQyxjQUFjLENBQUMsV0FBd0IsRUFBRSxLQUF3QjtRQUN0RSxPQUFPLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBSSxXQUF3QixFQUFFLGFBQWdCLEVBQUUsS0FBd0I7UUFDM0YsT0FBTyxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFJLFdBQXdCLEVBQUUsS0FBd0I7UUFDekUsT0FBTyxPQUFPLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxXQUF3QixFQUFFLEtBQXdCLEVBQUUsT0FBcUI7UUFDMUYsT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsT0FBaUIsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFJLFdBQXdCLEVBQUUsS0FBd0IsRUFBRSxPQUFxQjtRQUM3RixPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxPQUFpQixDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxXQUF3QixFQUFFLEtBQXdCO1FBQzFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxNQUFNLENBQUMscUJBQXFCLENBQUMsV0FBd0IsRUFBRSxLQUF3QjtRQUM3RSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsTUFBTSxDQUFDLGdCQUFnQixDQUFJLFdBQXdCLEVBQUUsS0FBd0I7UUFDM0UsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLGlCQUFpQixDQUFJLFdBQXdCLEVBQUUsS0FBd0IsRUFBRSxZQUFzQjtRQUNwRyxNQUFNLFdBQVcsR0FBeUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFXLFdBQVcsRUFBRSxLQUFLLENBQUUsQ0FBQztJQUM1RCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLG9CQUFvQixDQUFJLFdBQXdCLEVBQUUsS0FBd0IsRUFBRSxZQUFzQjtRQUN2RyxNQUFNLFdBQVcsR0FBeUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sV0FBVyxHQUF5QixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMvRSxNQUFNLGVBQWUsR0FBRyxXQUFXLElBQUksWUFBWSxDQUFDO1lBQ3BELE1BQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckQsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBVyxXQUFXLEVBQUUsS0FBSyxDQUFFLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxrQkFBa0IsQ0FBTyxXQUF3QixFQUFFLEtBQXdCLEVBQUUsWUFBdUI7UUFDekcsTUFBTSxXQUFXLEdBQTBCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25GLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQixNQUFNLFdBQVcsR0FBMEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDaEYsTUFBTSxTQUFTLEdBQUcsSUFBSSxHQUFHLEVBQVEsQ0FBQztZQUNsQyxNQUFNLGVBQWUsR0FBRyxXQUFXLElBQUksWUFBWSxDQUFDO1lBQ3BELEtBQUssTUFBTSxDQUFFLENBQUMsRUFBRSxDQUFDLENBQUUsSUFBSSxlQUFlLEVBQUUsQ0FBQztnQkFDdkMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDdEIsQ0FBQztZQUNELElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFZLFdBQVcsRUFBRSxLQUFLLENBQUUsQ0FBQztJQUM3RCxDQUFDO0lBRUQsTUFBTSxDQUFDLGtCQUFrQixDQUFJLFdBQXdCLEVBQUUsS0FBd0IsRUFBRSxhQUFnQjtRQUMvRixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM3QyxPQUFPLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUQsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQztDQUNGIn0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EggMultiInstanceCallbackPrototypeInfo, EggMultiInstancePrototypeInfo, EggProtoImplClass, EggPrototypeInfo, EggPrototypeName, InjectConstructorInfo, InjectObjectInfo, InjectType, MultiInstancePrototypeGetObjectsContext, MultiInstanceType, QualifierAttribute } from '@eggjs/tegg-types';
|
|
1
|
+
import { type EggMultiInstanceCallbackPrototypeInfo, type EggMultiInstancePrototypeInfo, type EggProtoImplClass, type EggPrototypeInfo, type EggPrototypeName, type InjectConstructorInfo, type InjectObjectInfo, InjectType, type MultiInstancePrototypeGetObjectsContext, MultiInstanceType, type QualifierAttribute } from '@eggjs/tegg-types';
|
|
2
2
|
export declare class PrototypeUtil {
|
|
3
3
|
static readonly IS_EGG_OBJECT_PROTOTYPE: unique symbol;
|
|
4
4
|
static readonly IS_EGG_OBJECT_MULTI_INSTANCE_PROTOTYPE: unique symbol;
|
|
@@ -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;
|
|
@@ -104,5 +104,5 @@ export declare class PrototypeUtil {
|
|
|
104
104
|
static getClazzProto(clazz: EggProtoImplClass): object | undefined;
|
|
105
105
|
static setClazzProto(clazz: EggProtoImplClass, proto: object): void;
|
|
106
106
|
static getDesignType(clazz: EggProtoImplClass, propKey?: PropertyKey): unknown;
|
|
107
|
-
static getDesignParamtypes(clazz: EggProtoImplClass, propKey?: PropertyKey): unknown[]
|
|
107
|
+
static getDesignParamtypes(clazz: EggProtoImplClass, propKey?: PropertyKey): unknown[];
|
|
108
108
|
}
|