@eggjs/core-decorator 4.0.0-beta.1 → 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/{src → dist}/decorator/Inject.d.ts +1 -1
- package/dist/decorator/Inject.js +102 -0
- package/dist/decorator/ModuleQualifier.js +8 -0
- package/{src → dist}/decorator/MultiInstanceInfo.d.ts +1 -1
- package/dist/decorator/MultiInstanceInfo.js +8 -0
- package/{src → dist}/decorator/MultiInstanceProto.js +2 -2
- package/{src → dist}/decorator/Prototype.js +2 -2
- 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 +3 -0
- package/dist/index.js +4 -0
- package/dist/util/MetadataUtil.js +83 -0
- package/{src → dist}/util/PrototypeUtil.d.ts +2 -2
- package/{src → dist}/util/PrototypeUtil.js +3 -3
- 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 +24 -26
- package/src/decorator/ConfigSource.js +0 -8
- package/src/decorator/ContextProto.js +0 -10
- package/src/decorator/EggQualifier.js +0 -8
- package/src/decorator/InitTypeQualifier.js +0 -8
- package/src/decorator/Inject.js +0 -95
- package/src/decorator/ModuleQualifier.js +0 -8
- package/src/decorator/MultiInstanceInfo.js +0 -8
- package/src/decorator/SingletonProto.js +0 -10
- package/src/decorator/index.d.ts +0 -10
- package/src/decorator/index.js +0 -11
- package/src/index.d.ts +0 -3
- package/src/index.js +0 -4
- package/src/util/MetadataUtil.js +0 -83
- package/src/util/QualifierUtil.js +0 -92
- package/src/util/index.d.ts +0 -3
- package/src/util/index.js +0 -4
- /package/{src → dist}/decorator/ConfigSource.d.ts +0 -0
- /package/{src → dist}/decorator/ContextProto.d.ts +0 -0
- /package/{src → dist}/decorator/EggQualifier.d.ts +0 -0
- /package/{src → dist}/decorator/InitTypeQualifier.d.ts +0 -0
- /package/{src → dist}/decorator/ModuleQualifier.d.ts +0 -0
- /package/{src → dist}/decorator/MultiInstanceProto.d.ts +0 -0
- /package/{src → dist}/decorator/Prototype.d.ts +0 -0
- /package/{src → dist}/decorator/SingletonProto.d.ts +0 -0
- /package/{src → dist}/util/MetadataUtil.d.ts +0 -0
- /package/{src → dist}/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlY29yYXRvci9JbmplY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVyQyxPQUFPLEVBS0wsVUFBVSxFQUNWLDBCQUEwQixHQUMzQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWhFLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO0FBRXBFLFNBQVMsZUFBZSxDQUFDLEtBQXdCLEVBQUUsSUFBaUIsRUFBRSxLQUFVO0lBQzlFLElBQUksT0FBZ0MsQ0FBQztJQUNyQyxJQUFJLFFBQTRCLENBQUM7SUFFakMsSUFBSSxPQUFPLEtBQUssS0FBSyxVQUFVLElBQUksS0FBSyxLQUFLLE1BQU0sRUFBRSxDQUFDO1FBQ3BELDZIQUE2SDtRQUM3SCxNQUFNLElBQUksR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDLEtBQTBCLENBQUMsQ0FBQztRQUNuRSxPQUFPLEdBQUcsSUFBSSxFQUFFLElBQUksQ0FBQztRQUNyQixxREFBcUQ7UUFDckQsSUFBSSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7WUFDbkIsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsMEJBQTBCLENBQUMsQ0FBQztZQUNqRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3BCLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPO1FBQ1AsUUFBUTtLQUNULENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLE1BQU0sQ0FBQyxLQUE2QjtJQUNsRCxNQUFNLFdBQVcsR0FBRyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFFeEUsU0FBUyxjQUFjLENBQUMsTUFBVyxFQUFFLFdBQXdCO1FBQzNELElBQUksT0FBZ0MsQ0FBQztRQUNyQyxJQUFJLFFBQTRCLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLDhCQUE4QjtZQUM5QixxQ0FBcUM7WUFDckMsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDL0QsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3ZFLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ3pCLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQzdCLENBQUM7YUFBTSxDQUFDO1lBQ04sZ0NBQWdDO1lBQ2hDLE9BQU8sR0FBRyxXQUFXLEVBQUUsSUFBSSxDQUFDO1FBQzlCLENBQUM7UUFFRCxNQUFNLFlBQVksR0FBcUI7WUFDckMsT0FBTyxFQUFFLFdBQVc7WUFDcEIsT0FBTyxFQUFFLE9BQU8sSUFBSSxXQUFXO1NBQ2hDLENBQUM7UUFFRixJQUFJLFdBQVcsRUFBRSxRQUFRLEVBQUUsQ0FBQztZQUMxQixZQUFZLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUMvQixDQUFDO1FBRUQsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyRSxhQUFhLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxXQUFnQyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3JGLEtBQUssQ0FBQyw4REFBOEQsRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDMUgsbUJBQW1CO1FBRW5CLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixhQUFhLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsMEJBQTBCLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDMUcsQ0FBQztJQUNILENBQUM7SUFFRCxTQUFTLGlCQUFpQixDQUFDLE1BQVcsRUFBRSxjQUFzQjtRQUM1RCxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMseUJBQXlCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0QsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRXpDLElBQUksT0FBZ0MsQ0FBQztRQUNyQyxJQUFJLFFBQTRCLENBQUM7UUFFakMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLDJDQUEyQztZQUMzQyxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDekQsQ0FBQyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxlQUFlLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkYsQ0FBQzthQUFNLENBQUM7WUFDTixnQ0FBZ0M7WUFDaEMsT0FBTyxHQUFHLFdBQVcsRUFBRSxJQUFJLENBQUM7UUFDOUIsQ0FBQztRQUVELE1BQU0sWUFBWSxHQUEwQjtZQUMxQyxRQUFRLEVBQUUsY0FBYztZQUN4QixPQUFPLEVBQUUsT0FBTztZQUNoQixPQUFPLEVBQUUsT0FBTyxJQUFJLE9BQU87U0FDNUIsQ0FBQztRQUVGLElBQUksV0FBVyxFQUFFLFFBQVEsRUFBRSxDQUFDO1lBQzFCLFlBQVksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQy9CLENBQUM7UUFFRCxhQUFhLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDNUQsYUFBYSxDQUFDLG9CQUFvQixDQUFDLE1BQTJCLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFOUUsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzFGLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxVQUFTLE1BQVcsRUFBRSxXQUF5QixFQUFFLGNBQXVCO1FBQzdFLElBQUksT0FBTyxjQUFjLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDMUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxXQUFZLENBQUMsQ0FBQztRQUN2QyxDQUFDO2FBQU0sQ0FBQztZQUNOLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxjQUFlLENBQUMsQ0FBQztRQUM3QyxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsS0FBK0M7SUFDNUUsTUFBTSxXQUFXLEdBQUcsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBRXhFLE9BQU8sTUFBTSxDQUFDO1FBQ1osR0FBRyxXQUFXO1FBQ2QsUUFBUSxFQUFFLElBQUk7S0FDZixDQUFDLENBQUM7QUFDTCxDQUFDIn0=
|
|
@@ -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=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ObjectInitType, AccessLevel, DEFAULT_PROTO_IMPL_TYPE } from '@eggjs/tegg-types';
|
|
2
2
|
import { StackUtil } from '@eggjs/tegg-common-util';
|
|
3
|
-
import { PrototypeUtil } from
|
|
3
|
+
import { PrototypeUtil } from "../util/index.js";
|
|
4
4
|
const DEFAULT_PARAMS = {
|
|
5
5
|
initType: ObjectInitType.SINGLETON,
|
|
6
6
|
accessLevel: AccessLevel.PRIVATE,
|
|
@@ -33,4 +33,4 @@ export function MultiInstanceProto(param) {
|
|
|
33
33
|
PrototypeUtil.setFilePath(clazz, StackUtil.getCalleeFromStack(false, 4));
|
|
34
34
|
};
|
|
35
35
|
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTXVsdGlJbnN0YW5jZVByb3RvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlY29yYXRvci9NdWx0aUluc3RhbmNlUHJvdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQVN6RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpELE1BQU0sY0FBYyxHQUFHO0lBQ3JCLFFBQVEsRUFBRSxjQUFjLENBQUMsU0FBUztJQUNsQyxXQUFXLEVBQUUsV0FBVyxDQUFDLE9BQU87SUFDaEMsYUFBYSxFQUFFLHVCQUF1QjtDQUN2QyxDQUFDO0FBRUYsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEtBQW1DO0lBQ3BFLE9BQU8sVUFBUyxLQUF3QjtRQUN0QyxhQUFhLENBQUMsOEJBQThCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEQsSUFBSyxLQUE0QyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzFELE1BQU0sUUFBUSxHQUFrQztnQkFDOUMsR0FBRyxjQUFjO2dCQUNqQixHQUFHLEtBQTJDO2dCQUM5QyxTQUFTLEVBQUUsS0FBSyxDQUFDLElBQUk7YUFDdEIsQ0FBQztZQUNGLGFBQWEsQ0FBQyw4QkFBOEIsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDaEUsQ0FBQzthQUFNLElBQUssS0FBOEMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN0RSxNQUFNLFFBQVEsR0FBMEM7Z0JBQ3RELEdBQUcsY0FBYztnQkFDakIsR0FBRyxLQUE2QztnQkFDaEQsU0FBUyxFQUFFLEtBQUssQ0FBQyxJQUFJO2FBQ3RCLENBQUM7WUFDRixhQUFhLENBQUMsZ0NBQWdDLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFFRCw4Q0FBOEM7UUFDOUMsMkRBQTJEO1FBQzNELGtHQUFrRztRQUNsRyxrR0FBa0c7UUFDbEcsdUVBQXVFO1FBQ3ZFLGFBQWEsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDLENBQUM7QUFDSixDQUFDIn0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NameUtil, StackUtil } from '@eggjs/tegg-common-util';
|
|
2
2
|
import { AccessLevel, DEFAULT_PROTO_IMPL_TYPE, ObjectInitType } from '@eggjs/tegg-types';
|
|
3
|
-
import { PrototypeUtil } from
|
|
3
|
+
import { PrototypeUtil } from "../util/index.js";
|
|
4
4
|
const DEFAULT_PARAMS = {
|
|
5
5
|
initType: ObjectInitType.SINGLETON,
|
|
6
6
|
accessLevel: AccessLevel.PRIVATE,
|
|
@@ -26,4 +26,4 @@ export function Prototype(param) {
|
|
|
26
26
|
PrototypeUtil.setFilePath(clazz, StackUtil.getCalleeFromStack(false, 4));
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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
ADDED
package/dist/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,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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWV0YWRhdGFVdGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvTWV0YWRhdGFVdGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLE1BQU0sQ0FBQyxjQUFjLENBQUMsV0FBd0IsRUFBRSxLQUF3QjtRQUN0RSxPQUFPLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBSSxXQUF3QixFQUFFLGFBQWdCLEVBQUUsS0FBd0I7UUFDM0YsT0FBTyxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFJLFdBQXdCLEVBQUUsS0FBd0I7UUFDekUsT0FBTyxPQUFPLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxXQUF3QixFQUFFLEtBQXdCLEVBQUUsT0FBcUI7UUFDMUYsT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsT0FBaUIsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFJLFdBQXdCLEVBQUUsS0FBd0IsRUFBRSxPQUFxQjtRQUM3RixPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxPQUFpQixDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxXQUF3QixFQUFFLEtBQXdCO1FBQzFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxNQUFNLENBQUMscUJBQXFCLENBQUMsV0FBd0IsRUFB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
|
|
@@ -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;
|
|
@@ -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
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { InitTypeQualifierAttribute, InjectType, LoadUnitNameQualifierAttribute, MultiInstanceType, } from '@eggjs/tegg-types';
|
|
2
|
-
import { MetadataUtil } from
|
|
2
|
+
import { MetadataUtil } from "./MetadataUtil.js";
|
|
3
3
|
export class PrototypeUtil {
|
|
4
4
|
static IS_EGG_OBJECT_PROTOTYPE = Symbol.for('EggPrototype#isEggPrototype');
|
|
5
5
|
static IS_EGG_OBJECT_MULTI_INSTANCE_PROTOTYPE = Symbol.for('EggPrototype#isEggMultiInstancePrototype');
|
|
@@ -237,7 +237,7 @@ export class PrototypeUtil {
|
|
|
237
237
|
}
|
|
238
238
|
// TODO fix proto type
|
|
239
239
|
static setClazzProto(clazz, proto) {
|
|
240
|
-
|
|
240
|
+
MetadataUtil.defineMetaData(PrototypeUtil.CLAZZ_PROTO, proto, clazz);
|
|
241
241
|
}
|
|
242
242
|
static getDesignType(clazz, propKey) {
|
|
243
243
|
return MetadataUtil.getMetaData('design:type', clazz, propKey);
|
|
@@ -246,4 +246,4 @@ export class PrototypeUtil {
|
|
|
246
246
|
return MetadataUtil.getMetaData('design:paramtypes', clazz, propKey);
|
|
247
247
|
}
|
|
248
248
|
}
|
|
249
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
249
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvdG90eXBlVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL1Byb3RvdHlwZVV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUtrQiwwQkFBMEIsRUFHakQsVUFBVSxFQUFFLDhCQUE4QixFQUUxQyxpQkFBaUIsR0FFbEIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsTUFBTSxPQUFPLGFBQWE7SUFDeEIsTUFBTSxDQUFVLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUNwRixNQUFNLENBQVUsc0NBQXNDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO0lBQ2hILE1BQU0sQ0FBVSxTQUFTLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ2hFLE1BQU0sQ0FBVSxrQkFBa0IsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDekUsTUFBTSxDQUFVLHdDQUF3QyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsMENBQTBDLENBQUMsQ0FBQztJQUNsSCxNQUFNLENBQVUsMENBQTBDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO0lBQ3RILE1BQU0sQ0FBVSxzQkFBc0IsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFDdEYsTUFBTSxDQUFVLFdBQVcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDcEUsTUFBTSxDQUFVLDJCQUEyQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMscUNBQXFDLENBQUMsQ0FBQztJQUNoRyxNQUFNLENBQVUsV0FBVyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMseUJB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
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { MapUtil, ObjectUtils } from '@eggjs/tegg-common-util';
|
|
2
|
+
import { PROPERTY_QUALIFIER_META_DATA, QUALIFIER_META_DATA } from '@eggjs/tegg-types';
|
|
3
|
+
import { MetadataUtil } from "./MetadataUtil.js";
|
|
4
|
+
export class QualifierUtil {
|
|
5
|
+
static addProtoQualifier(clazz, attribute, value) {
|
|
6
|
+
const qualifiers = MetadataUtil.initOwnMapMetaData(QUALIFIER_META_DATA, clazz, new Map());
|
|
7
|
+
qualifiers.set(attribute, value);
|
|
8
|
+
}
|
|
9
|
+
static getProtoQualifiers(clazz) {
|
|
10
|
+
const qualifiers = MetadataUtil.getMetaData(QUALIFIER_META_DATA, clazz);
|
|
11
|
+
if (!qualifiers) {
|
|
12
|
+
return [];
|
|
13
|
+
}
|
|
14
|
+
const res = [];
|
|
15
|
+
for (const [attribute, value] of qualifiers) {
|
|
16
|
+
res.push({
|
|
17
|
+
attribute,
|
|
18
|
+
value,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
return res;
|
|
22
|
+
}
|
|
23
|
+
static addInjectQualifier(clazz, property, parameterIndex, attribute, value) {
|
|
24
|
+
if (typeof parameterIndex === 'number') {
|
|
25
|
+
const argNames = ObjectUtils.getConstructorArgNameList(clazz);
|
|
26
|
+
const argName = argNames[parameterIndex];
|
|
27
|
+
QualifierUtil.addProperQualifier(clazz, argName, attribute, value);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
QualifierUtil.addProperQualifier(clazz.constructor, property, attribute, value);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
static addProperQualifier(clazz, property, attribute, value) {
|
|
34
|
+
const properQualifiers = MetadataUtil.initOwnMapMetaData(PROPERTY_QUALIFIER_META_DATA, clazz, new Map());
|
|
35
|
+
const qualifiers = MapUtil.getOrStore(properQualifiers, property, new Map());
|
|
36
|
+
qualifiers.set(attribute, value);
|
|
37
|
+
}
|
|
38
|
+
static getProperQualifiers(clazz, property) {
|
|
39
|
+
const properQualifiers = MetadataUtil.getMetaData(PROPERTY_QUALIFIER_META_DATA, clazz);
|
|
40
|
+
const qualifiers = properQualifiers?.get(property);
|
|
41
|
+
if (!qualifiers) {
|
|
42
|
+
return [];
|
|
43
|
+
}
|
|
44
|
+
const res = [];
|
|
45
|
+
for (const [attribute, value] of qualifiers) {
|
|
46
|
+
res.push({
|
|
47
|
+
attribute,
|
|
48
|
+
value,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
return res;
|
|
52
|
+
}
|
|
53
|
+
static getQualifierValue(clazz, attribute) {
|
|
54
|
+
const qualifiers = MetadataUtil.getMetaData(QUALIFIER_META_DATA, clazz);
|
|
55
|
+
return qualifiers?.get(attribute);
|
|
56
|
+
}
|
|
57
|
+
static getProperQualifier(clazz, property, attribute) {
|
|
58
|
+
const properQualifiers = MetadataUtil.getMetaData(PROPERTY_QUALIFIER_META_DATA, clazz);
|
|
59
|
+
const qualifiers = properQualifiers?.get(property);
|
|
60
|
+
return qualifiers?.get(attribute);
|
|
61
|
+
}
|
|
62
|
+
static matchQualifiers(clazzQualifiers, requestQualifiers) {
|
|
63
|
+
for (const request of requestQualifiers) {
|
|
64
|
+
if (!clazzQualifiers.find(t => t.attribute === request.attribute && t.value === request.value)) {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
static equalQualifiers(clazzQualifiers, requestQualifiers) {
|
|
71
|
+
if (clazzQualifiers.length !== requestQualifiers.length)
|
|
72
|
+
return false;
|
|
73
|
+
return QualifierUtil.matchQualifiers(clazzQualifiers, requestQualifiers);
|
|
74
|
+
}
|
|
75
|
+
static mergeQualifiers(...qualifiers) {
|
|
76
|
+
const result = [];
|
|
77
|
+
const temp = {};
|
|
78
|
+
for (const qualifierList of qualifiers) {
|
|
79
|
+
for (const { attribute, value } of qualifierList) {
|
|
80
|
+
temp[attribute] = value;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
for (const key of Reflect.ownKeys(temp)) {
|
|
84
|
+
result.push({
|
|
85
|
+
attribute: key,
|
|
86
|
+
value: temp[key],
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
return result;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUXVhbGlmaWVyVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL1F1YWxpZmllclV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUd0RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsTUFBTSxPQUFPLGFBQWE7SUFDeEIsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQXdCLEVBQUUsU0FBNkIsRUFBRSxLQUFxQjtRQUNyRyxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLElBQUksR0FBRyxFQUFzQyxDQUFDLENBQUM7UUFDOUgsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxLQUF3QjtRQUNoRCxNQUFNLFVBQVUsR0FBd0QsWUFBWSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3SCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsTUFBTSxHQUFHLEdBQW9CLEVBQUUsQ0FBQztRQUNoQyxLQUFLLE1BQU0sQ0FBRSxTQUFTLEVBQUUsS0FBSyxDQUFFLElBQUksVUFBVSxFQUFFLENBQUM7WUFDOUMsR0FBRyxDQUFDLElBQUksQ0FBQztnQkFDUCxTQUFTO2dCQUNULEtBQUs7YUFDTixDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEtBQXdCLEVB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
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from "./MetadataUtil.js";
|
|
2
|
+
export * from "./PrototypeUtil.js";
|
|
3
|
+
export * from "./QualifierUtil.js";
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxvQkFBb0IsQ0FBQyJ9
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eggjs/core-decorator",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.10",
|
|
4
4
|
"description": "tegg core decorator",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"egg",
|
|
@@ -10,24 +10,15 @@
|
|
|
10
10
|
],
|
|
11
11
|
"type": "module",
|
|
12
12
|
"exports": {
|
|
13
|
-
".":
|
|
14
|
-
|
|
15
|
-
"default": "./src/index.js"
|
|
16
|
-
}
|
|
13
|
+
".": "./dist/index.js",
|
|
14
|
+
"./package.json": "./package.json"
|
|
17
15
|
},
|
|
18
16
|
"files": [
|
|
19
|
-
"
|
|
20
|
-
"src/**/*.d.ts"
|
|
17
|
+
"dist"
|
|
21
18
|
],
|
|
22
|
-
"scripts": {
|
|
23
|
-
"clean": "tsc -b --clean",
|
|
24
|
-
"tsc": "npm run clean && tsc -p ./tsconfig.json",
|
|
25
|
-
"tsc:pub": "npm run tsc",
|
|
26
|
-
"prepublishOnly": "npm run tsc"
|
|
27
|
-
},
|
|
28
19
|
"author": "killagu <killa123@126.com>",
|
|
29
20
|
"license": "MIT",
|
|
30
|
-
"homepage": "https://github.com/eggjs/tegg",
|
|
21
|
+
"homepage": "https://github.com/eggjs/tegg/tree/next/core/core-decorator",
|
|
31
22
|
"bugs": {
|
|
32
23
|
"url": "https://github.com/eggjs/tegg/issues"
|
|
33
24
|
},
|
|
@@ -37,20 +28,27 @@
|
|
|
37
28
|
"directory": "core/core-decorator"
|
|
38
29
|
},
|
|
39
30
|
"engines": {
|
|
40
|
-
"node": ">=
|
|
41
|
-
},
|
|
42
|
-
"dependencies": {
|
|
43
|
-
"@eggjs/tegg-common-util": "^4.0.0-beta.1",
|
|
44
|
-
"@eggjs/tegg-types": "^4.0.0-beta.1",
|
|
45
|
-
"reflect-metadata": "^0.2.2"
|
|
31
|
+
"node": ">=22.18.0"
|
|
46
32
|
},
|
|
47
33
|
"publishConfig": {
|
|
48
34
|
"access": "public"
|
|
49
35
|
},
|
|
50
|
-
"
|
|
51
|
-
"@
|
|
52
|
-
"
|
|
53
|
-
"typescript": "5"
|
|
36
|
+
"dependencies": {
|
|
37
|
+
"@eggjs/tegg-common-util": "4.0.0-beta.10",
|
|
38
|
+
"@eggjs/tegg-types": "4.0.0-beta.10"
|
|
54
39
|
},
|
|
55
|
-
"
|
|
56
|
-
|
|
40
|
+
"devDependencies": {
|
|
41
|
+
"@types/node": "^22.10.5",
|
|
42
|
+
"typescript": "^5.9.3",
|
|
43
|
+
"tsdown": "^0.15.6",
|
|
44
|
+
"unplugin-unused": "^0.5.3"
|
|
45
|
+
},
|
|
46
|
+
"main": "./dist/index.js",
|
|
47
|
+
"module": "./dist/index.js",
|
|
48
|
+
"types": "./dist/index.d.ts",
|
|
49
|
+
"scripts": {
|
|
50
|
+
"clean": "rimraf dist",
|
|
51
|
+
"build": "tsdown && rimraf dist && tsc -b --clean && tsc",
|
|
52
|
+
"typecheck": "tsc --noEmit"
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ConfigSourceQualifierAttribute } from '@eggjs/tegg-types';
|
|
2
|
-
import { QualifierUtil } from '../util/index.js';
|
|
3
|
-
export function ConfigSourceQualifier(moduleName) {
|
|
4
|
-
return function (target, propertyKey, parameterIndex) {
|
|
5
|
-
QualifierUtil.addInjectQualifier(target, propertyKey, parameterIndex, ConfigSourceQualifierAttribute, moduleName);
|
|
6
|
-
};
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZmlnU291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiQ29uZmlnU291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRW5FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsVUFBa0I7SUFDdEQsT0FBTyxVQUFTLE1BQVcsRUFBRSxXQUF5QixFQUFFLGNBQXVCO1FBQzdFLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxNQUEyQixFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsOEJBQThCLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDekksQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { AccessLevel, ObjectInitType } from '@eggjs/tegg-types';
|
|
2
|
-
import { Prototype } from './Prototype.js';
|
|
3
|
-
export function ContextProto(params) {
|
|
4
|
-
return Prototype({
|
|
5
|
-
initType: ObjectInitType.CONTEXT,
|
|
6
|
-
accessLevel: params?.accessLevel || AccessLevel.PRIVATE,
|
|
7
|
-
...params,
|
|
8
|
-
});
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dFByb3RvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiQ29udGV4dFByb3RvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE1BQU0sVUFBVSxZQUFZLENBQUMsTUFBMkI7SUFDdEQsT0FBTyxTQUFTLENBQUM7UUFDZixRQUFRLEVBQUUsY0FBYyxDQUFDLE9BQU87UUFDaEMsV0FBVyxFQUFFLE1BQU0sRUFBRSxXQUFXLElBQUksV0FBVyxDQUFDLE9BQU87UUFDdkQsR0FBRyxNQUFNO0tBQ1YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyJ9
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { EggQualifierAttribute } from '@eggjs/tegg-types';
|
|
2
|
-
import { QualifierUtil } from '../util/index.js';
|
|
3
|
-
export function EggQualifier(eggType) {
|
|
4
|
-
return function (target, propertyKey, parameterIndex) {
|
|
5
|
-
QualifierUtil.addInjectQualifier(target, propertyKey, parameterIndex, EggQualifierAttribute, eggType);
|
|
6
|
-
};
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnUXVhbGlmaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiRWdnUXVhbGlmaWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxNQUFNLFVBQVUsWUFBWSxDQUFDLE9BQWdCO0lBQzNDLE9BQU8sVUFBUyxNQUFXLEVBQUUsV0FBeUIsRUFBRSxjQUF1QjtRQUM3RSxhQUFhLENBQUMsa0JBQWtCLENBQUMsTUFBMkIsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzdILENBQUMsQ0FBQztBQUNKLENBQUMifQ==
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { InitTypeQualifierAttribute } from '@eggjs/tegg-types';
|
|
2
|
-
import { QualifierUtil } from '../util/index.js';
|
|
3
|
-
export function InitTypeQualifier(initType) {
|
|
4
|
-
return function (target, propertyKey, parameterIndex) {
|
|
5
|
-
QualifierUtil.addInjectQualifier(target, propertyKey, parameterIndex, InitTypeQualifierAttribute, initType);
|
|
6
|
-
};
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5pdFR5cGVRdWFsaWZpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJJbml0VHlwZVF1YWxpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFFBQTRCO0lBQzVELE9BQU8sVUFBUyxNQUFXLEVBQUUsV0FBeUIsRUFBRSxjQUF1QjtRQUM3RSxhQUFhLENBQUMsa0JBQWtCLENBQUMsTUFBMkIsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLDBCQUEwQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ25JLENBQUMsQ0FBQztBQUNKLENBQUMifQ==
|
package/src/decorator/Inject.js
DELETED
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { InjectType, InitTypeQualifierAttribute, } from '@eggjs/tegg-types';
|
|
2
|
-
import { ObjectUtils } from '@eggjs/tegg-common-util';
|
|
3
|
-
import { PrototypeUtil, QualifierUtil } from '../util/index.js';
|
|
4
|
-
function guessInjectInfo(clazz, name, proto) {
|
|
5
|
-
let objName;
|
|
6
|
-
let initType;
|
|
7
|
-
if (typeof proto === 'function' && proto !== Object) {
|
|
8
|
-
// if property type is function and not Object( means maybe proto class ), then try to read EggPrototypeInfo.name as obj name
|
|
9
|
-
const info = PrototypeUtil.getProperty(proto);
|
|
10
|
-
objName = info?.name;
|
|
11
|
-
// try to read EggPrototypeInfo.initType as qualifier
|
|
12
|
-
if (info?.initType) {
|
|
13
|
-
const customInitType = QualifierUtil.getProperQualifier(clazz, name, InitTypeQualifierAttribute);
|
|
14
|
-
if (!customInitType) {
|
|
15
|
-
initType = info.initType;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
return {
|
|
20
|
-
objName,
|
|
21
|
-
initType,
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
export function Inject(param) {
|
|
25
|
-
const injectParam = typeof param === 'string' ? { name: param } : param;
|
|
26
|
-
function propertyInject(target, propertyKey) {
|
|
27
|
-
let objName;
|
|
28
|
-
let initType;
|
|
29
|
-
if (!injectParam) {
|
|
30
|
-
// try to read design:type from proto
|
|
31
|
-
const proto = PrototypeUtil.getDesignType(target, propertyKey);
|
|
32
|
-
({ objName, initType } = guessInjectInfo(target.constructor, propertyKey, proto));
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
// params allow string or object
|
|
36
|
-
objName = injectParam?.name;
|
|
37
|
-
}
|
|
38
|
-
const injectObject = {
|
|
39
|
-
refName: propertyKey,
|
|
40
|
-
objName: objName || propertyKey,
|
|
41
|
-
};
|
|
42
|
-
if (injectParam?.optional) {
|
|
43
|
-
injectObject.optional = true;
|
|
44
|
-
}
|
|
45
|
-
PrototypeUtil.setInjectType(target.constructor, InjectType.PROPERTY);
|
|
46
|
-
PrototypeUtil.addInjectObject(target.constructor, injectObject);
|
|
47
|
-
if (initType) {
|
|
48
|
-
QualifierUtil.addProperQualifier(target.constructor, propertyKey, InitTypeQualifierAttribute, initType);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
function constructorInject(target, parameterIndex) {
|
|
52
|
-
const argNames = ObjectUtils.getConstructorArgNameList(target);
|
|
53
|
-
const argName = argNames[parameterIndex];
|
|
54
|
-
let objName;
|
|
55
|
-
let initType;
|
|
56
|
-
if (!injectParam) {
|
|
57
|
-
// try to read proto from design:paramtypes
|
|
58
|
-
const protos = PrototypeUtil.getDesignParamtypes(target);
|
|
59
|
-
({ objName, initType } = guessInjectInfo(target, argName, protos?.[parameterIndex]));
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
// params allow string or object
|
|
63
|
-
objName = injectParam?.name;
|
|
64
|
-
}
|
|
65
|
-
const injectObject = {
|
|
66
|
-
refIndex: parameterIndex,
|
|
67
|
-
refName: argName,
|
|
68
|
-
objName: objName || argName,
|
|
69
|
-
};
|
|
70
|
-
if (injectParam?.optional) {
|
|
71
|
-
injectObject.optional = true;
|
|
72
|
-
}
|
|
73
|
-
PrototypeUtil.setInjectType(target, InjectType.CONSTRUCTOR);
|
|
74
|
-
PrototypeUtil.addInjectConstructor(target, injectObject);
|
|
75
|
-
if (initType) {
|
|
76
|
-
QualifierUtil.addProperQualifier(target, argName, InitTypeQualifierAttribute, initType);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
return function (target, propertyKey, parameterIndex) {
|
|
80
|
-
if (typeof parameterIndex === 'undefined') {
|
|
81
|
-
propertyInject(target, propertyKey);
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
constructorInject(target, parameterIndex);
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
export function InjectOptional(param) {
|
|
89
|
-
const injectParam = typeof param === 'string' ? { name: param } : param;
|
|
90
|
-
return Inject({
|
|
91
|
-
...injectParam,
|
|
92
|
-
optional: true,
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiSW5qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFLTCxVQUFVLEVBQ1YsMEJBQTBCLEdBQzNCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEUsU0FBUyxlQUFlLENBQUMsS0FBd0IsRUFBRSxJQUFpQixFQUFFLEtBQVU7SUFDOUUsSUFBSSxPQUFnQyxDQUFDO0lBQ3JDLElBQUksUUFBNEIsQ0FBQztJQUVqQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFVBQVUsSUFBSSxLQUFLLEtBQUssTUFBTSxFQUFFLENBQUM7UUFDcEQsNkhBQTZIO1FBQzdILE1BQU0sSUFBSSxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUMsS0FBMEIsQ0FBQyxDQUFDO1FBQ25FLE9BQU8sR0FBRyxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQ3JCLHFEQUFxRDtRQUNyRCxJQUFJLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQztZQUNuQixNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO1lBQ2pHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDcEIsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDM0IsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU87UUFDUCxRQUFRO0tBQ1QsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsTUFBTSxDQUFDLEtBQTZCO0lBQ2xELE1BQU0sV0FBVyxHQUFHLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMs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
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { LoadUnitNameQualifierAttribute } from '@eggjs/tegg-types';
|
|
2
|
-
import { QualifierUtil } from '../util/index.js';
|
|
3
|
-
export function ModuleQualifier(moduleName) {
|
|
4
|
-
return function (target, propertyKey, parameterIndex) {
|
|
5
|
-
QualifierUtil.addInjectQualifier(target, propertyKey, parameterIndex, LoadUnitNameQualifierAttribute, moduleName);
|
|
6
|
-
};
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlUXVhbGlmaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiTW9kdWxlUXVhbGlmaWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRW5FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxNQUFNLFVBQVUsZUFBZSxDQUFDLFVBQWtCO0lBQ2hELE9BQU8sVUFBUyxNQUFXLEVBQUUsV0FBeUIsRUFBRSxjQUF1QjtRQUM3RSxhQUFhLENBQUMsa0JBQWtCLENBQUMsTUFBMkIsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLDhCQUE4QixFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3pJLENBQUMsQ0FBQztBQUNKLENBQUMifQ==
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { PrototypeUtil } from '../util/index.js';
|
|
2
|
-
export function MultiInstanceInfo(attributes) {
|
|
3
|
-
return function (target, _propertyKey, parameterIndex) {
|
|
4
|
-
PrototypeUtil.setMultiInstanceConstructorIndex(target, parameterIndex);
|
|
5
|
-
PrototypeUtil.setMultiInstanceConstructorAttributes(target, attributes);
|
|
6
|
-
};
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTXVsdGlJbnN0YW5jZUluZm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJNdWx0aUluc3RhbmNlSW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFVBQWdDO0lBQ2hFLE9BQU8sVUFBUyxNQUFXLEVBQUUsWUFBcUMsRUFBRSxjQUFzQjtRQUN4RixhQUFhLENBQUMsZ0NBQWdDLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZFLGFBQWEsQ0FBQyxxQ0FBcUMsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDMUUsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -1,10 +0,0 @@
|
|
|
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==
|
package/src/decorator/index.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
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';
|
package/src/decorator/index.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
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
DELETED
package/src/index.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
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
|
package/src/util/MetadataUtil.js
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
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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
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { MapUtil, ObjectUtils } from '@eggjs/tegg-common-util';
|
|
2
|
-
import { PROPERTY_QUALIFIER_META_DATA, QUALIFIER_META_DATA } from '@eggjs/tegg-types';
|
|
3
|
-
import { MetadataUtil } from './MetadataUtil.js';
|
|
4
|
-
export class QualifierUtil {
|
|
5
|
-
static addProtoQualifier(clazz, attribute, value) {
|
|
6
|
-
const qualifiers = MetadataUtil.initOwnMapMetaData(QUALIFIER_META_DATA, clazz, new Map());
|
|
7
|
-
qualifiers.set(attribute, value);
|
|
8
|
-
}
|
|
9
|
-
static getProtoQualifiers(clazz) {
|
|
10
|
-
const qualifiers = MetadataUtil.getMetaData(QUALIFIER_META_DATA, clazz);
|
|
11
|
-
if (!qualifiers) {
|
|
12
|
-
return [];
|
|
13
|
-
}
|
|
14
|
-
const res = [];
|
|
15
|
-
for (const [attribute, value] of qualifiers) {
|
|
16
|
-
res.push({
|
|
17
|
-
attribute,
|
|
18
|
-
value,
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
return res;
|
|
22
|
-
}
|
|
23
|
-
static addInjectQualifier(clazz, property, parameterIndex, attribute, value) {
|
|
24
|
-
if (typeof parameterIndex === 'number') {
|
|
25
|
-
const argNames = ObjectUtils.getConstructorArgNameList(clazz);
|
|
26
|
-
const argName = argNames[parameterIndex];
|
|
27
|
-
QualifierUtil.addProperQualifier(clazz, argName, attribute, value);
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
QualifierUtil.addProperQualifier(clazz.constructor, property, attribute, value);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
static addProperQualifier(clazz, property, attribute, value) {
|
|
34
|
-
const properQualifiers = MetadataUtil.initOwnMapMetaData(PROPERTY_QUALIFIER_META_DATA, clazz, new Map());
|
|
35
|
-
const qualifiers = MapUtil.getOrStore(properQualifiers, property, new Map());
|
|
36
|
-
qualifiers.set(attribute, value);
|
|
37
|
-
}
|
|
38
|
-
static getProperQualifiers(clazz, property) {
|
|
39
|
-
const properQualifiers = MetadataUtil.getMetaData(PROPERTY_QUALIFIER_META_DATA, clazz);
|
|
40
|
-
const qualifiers = properQualifiers?.get(property);
|
|
41
|
-
if (!qualifiers) {
|
|
42
|
-
return [];
|
|
43
|
-
}
|
|
44
|
-
const res = [];
|
|
45
|
-
for (const [attribute, value] of qualifiers) {
|
|
46
|
-
res.push({
|
|
47
|
-
attribute,
|
|
48
|
-
value,
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
return res;
|
|
52
|
-
}
|
|
53
|
-
static getQualifierValue(clazz, attribute) {
|
|
54
|
-
const qualifiers = MetadataUtil.getMetaData(QUALIFIER_META_DATA, clazz);
|
|
55
|
-
return qualifiers?.get(attribute);
|
|
56
|
-
}
|
|
57
|
-
static getProperQualifier(clazz, property, attribute) {
|
|
58
|
-
const properQualifiers = MetadataUtil.getMetaData(PROPERTY_QUALIFIER_META_DATA, clazz);
|
|
59
|
-
const qualifiers = properQualifiers?.get(property);
|
|
60
|
-
return qualifiers?.get(attribute);
|
|
61
|
-
}
|
|
62
|
-
static matchQualifiers(clazzQualifiers, requestQualifiers) {
|
|
63
|
-
for (const request of requestQualifiers) {
|
|
64
|
-
if (!clazzQualifiers.find(t => t.attribute === request.attribute && t.value === request.value)) {
|
|
65
|
-
return false;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
return true;
|
|
69
|
-
}
|
|
70
|
-
static equalQualifiers(clazzQualifiers, requestQualifiers) {
|
|
71
|
-
if (clazzQualifiers.length !== requestQualifiers.length)
|
|
72
|
-
return false;
|
|
73
|
-
return QualifierUtil.matchQualifiers(clazzQualifiers, requestQualifiers);
|
|
74
|
-
}
|
|
75
|
-
static mergeQualifiers(...qualifiers) {
|
|
76
|
-
const result = [];
|
|
77
|
-
const temp = {};
|
|
78
|
-
for (const qualifierList of qualifiers) {
|
|
79
|
-
for (const { attribute, value } of qualifierList) {
|
|
80
|
-
temp[attribute] = value;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
for (const key of Reflect.ownKeys(temp)) {
|
|
84
|
-
result.push({
|
|
85
|
-
attribute: key,
|
|
86
|
-
value: temp[key],
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
return result;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUXVhbGlmaWVyVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlF1YWxpZmllclV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV0RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsTUFBTSxPQUFPLGFBQWE7SUFDeEIsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQXdCLEVBQUUsU0FBNkIsRUFBRSxLQUFxQjtRQUNyRyxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLElBQUksR0FBRyxFQUFzQyxDQUFDLENBQUM7UUFDOUgsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxLQUF3QjtRQUNoRCxNQUFNLFVBQVUsR0FBd0QsWUFBWSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3SCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsTUFBTSxHQUFHLEdBQW9CLEVBQUUsQ0FBQztRQUNoQyxLQUFLLE1BQU0sQ0FBRSxTQUFTLEVBQUUsS0FBSyxDQUFFLElBQUksVUFBVSxFQUFFLENBQUM7WUFDOUMsR0FBRyxDQUFDLElBQUksQ0FBQztnQkFDUCxTQUFTO2dCQUNULEtBQUs7YUFDTixDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEtBQXdCLEVBQUUsUUFBaUMsRUFBRSxj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
|
package/src/util/index.d.ts
DELETED
package/src/util/index.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './MetadataUtil.js';
|
|
2
|
-
export * from './PrototypeUtil.js';
|
|
3
|
-
export * from './QualifierUtil.js';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxvQkFBb0IsQ0FBQyJ9
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|