@adaas/a-concept 0.1.21 → 0.1.23
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/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.js +6 -2
- package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.js.map +1 -1
- package/dist/src/global/A-Feature/A-Feature-Extend.decorator.js +8 -5
- package/dist/src/global/A-Feature/A-Feature-Extend.decorator.js.map +1 -1
- package/dist/src/global/A-Stage/A-Stage.class.d.ts +16 -0
- package/dist/src/global/A-Stage/A-Stage.class.js +28 -2
- package/dist/src/global/A-Stage/A-Stage.class.js.map +1 -1
- package/package.json +2 -4
- package/src/global/A-Abstraction/A-Abstraction-Extend.decorator.ts +6 -2
- package/src/global/A-Feature/A-Feature-Extend.decorator.ts +8 -4
- package/src/global/A-Stage/A-Stage.class.ts +29 -4
- package/tests/A-Meta.test.ts +131 -0
|
@@ -48,9 +48,13 @@ config = {}) {
|
|
|
48
48
|
}
|
|
49
49
|
const setName = `CONCEPT_ABSTRACTION::${name}`;
|
|
50
50
|
// Get the existed metadata or create a new one
|
|
51
|
-
const existedMeta = meta.get(metaKey)
|
|
51
|
+
const existedMeta = meta.get(metaKey) ?
|
|
52
|
+
new A_Meta_class_1.A_Meta().from(meta.get(metaKey))
|
|
53
|
+
: new A_Meta_class_1.A_Meta();
|
|
52
54
|
// Set the metadata of the method to define a custom Stage with name
|
|
53
|
-
const existedMetaValue =
|
|
55
|
+
const existedMetaValue = [
|
|
56
|
+
...(existedMeta.get(setName) || [])
|
|
57
|
+
];
|
|
54
58
|
const existedIndex = existedMetaValue.findIndex(item => item.handler === propertyKey);
|
|
55
59
|
const abstraction = {
|
|
56
60
|
name: setName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-Abstraction-Extend.decorator.js","sourceRoot":"","sources":["../../../../src/global/A-Abstraction/A-Abstraction-Extend.decorator.ts"],"names":[],"mappings":";;AA2BA,
|
|
1
|
+
{"version":3,"file":"A-Abstraction-Extend.decorator.js","sourceRoot":"","sources":["../../../../src/global/A-Abstraction/A-Abstraction-Extend.decorator.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,17 +54,20 @@ function A_Feature_Extend(param1) {
|
|
|
54
54
|
.meta(target)
|
|
55
55
|
.get(A_Component_constants_1.A_TYPES__ComponentMetaKey.FEATURES);
|
|
56
56
|
// Get the existed metadata or create a new one
|
|
57
|
-
const
|
|
58
|
-
.meta(target)
|
|
59
|
-
|
|
60
|
-
|
|
57
|
+
const meta = A_Context_class_1.A_Context
|
|
58
|
+
.meta(target);
|
|
59
|
+
const existedMeta = meta.get(A_Component_constants_1.A_TYPES__ComponentMetaKey.EXTENSIONS)
|
|
60
|
+
? new A_Meta_class_1.A_Meta().from(meta.get(A_Component_constants_1.A_TYPES__ComponentMetaKey.EXTENSIONS))
|
|
61
|
+
: new A_Meta_class_1.A_Meta();
|
|
61
62
|
if (existedDefinitions
|
|
62
63
|
&& existedDefinitions.size()
|
|
63
64
|
&& existedDefinitions.has(propertyKey)
|
|
64
65
|
&& existedDefinitions.get(propertyKey).invoke) {
|
|
65
66
|
throw new A_Feature_error_1.A_FeatureError(A_Feature_error_1.A_FeatureError.FeatureExtensionError, `A-Feature-Extend cannot be used on the method "${propertyKey}" because it is already defined as a Feature with "invoke" set to true. Please remove the A-Feature-Extend decorator or set "invoke" to false in the A-Feature decorator.`);
|
|
66
67
|
}
|
|
67
|
-
const existedMetaValue =
|
|
68
|
+
const existedMetaValue = [
|
|
69
|
+
...(existedMeta.get(targetRegexp.source) || [])
|
|
70
|
+
];
|
|
68
71
|
const existedIndex = existedMetaValue.findIndex(item => item.handler === propertyKey);
|
|
69
72
|
const extension = {
|
|
70
73
|
name: targetRegexp.source,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-Feature-Extend.decorator.js","sourceRoot":"","sources":["../../../../src/global/A-Feature/A-Feature-Extend.decorator.ts"],"names":[],"mappings":";;AAyDA,
|
|
1
|
+
{"version":3,"file":"A-Feature-Extend.decorator.js","sourceRoot":"","sources":["../../../../src/global/A-Feature/A-Feature-Extend.decorator.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,10 +44,26 @@ export declare class A_Stage {
|
|
|
44
44
|
* Returns the name of the stage
|
|
45
45
|
*/
|
|
46
46
|
get name(): string;
|
|
47
|
+
/**
|
|
48
|
+
* Returns the definition of the stage
|
|
49
|
+
*/
|
|
50
|
+
get definition(): A_TYPES__A_StageStep;
|
|
47
51
|
/**
|
|
48
52
|
* Returns the current status of the stage
|
|
49
53
|
*/
|
|
50
54
|
get status(): A_TYPES__A_Stage_Status;
|
|
55
|
+
/**
|
|
56
|
+
* Returns the feature that owns this stage
|
|
57
|
+
*/
|
|
58
|
+
get feature(): A_Feature;
|
|
59
|
+
/**
|
|
60
|
+
* Returns true if the stage is processed (completed, failed, or skipped)
|
|
61
|
+
*/
|
|
62
|
+
get isProcessed(): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Returns the error of the stage
|
|
65
|
+
*/
|
|
66
|
+
get error(): A_Error | undefined;
|
|
51
67
|
/**
|
|
52
68
|
* Resolves the arguments of the step
|
|
53
69
|
*
|
|
@@ -44,12 +44,38 @@ class A_Stage {
|
|
|
44
44
|
get name() {
|
|
45
45
|
return this.toString();
|
|
46
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Returns the definition of the stage
|
|
49
|
+
*/
|
|
50
|
+
get definition() {
|
|
51
|
+
return this._definition;
|
|
52
|
+
}
|
|
47
53
|
/**
|
|
48
54
|
* Returns the current status of the stage
|
|
49
55
|
*/
|
|
50
56
|
get status() {
|
|
51
57
|
return this._status;
|
|
52
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Returns the feature that owns this stage
|
|
61
|
+
*/
|
|
62
|
+
get feature() {
|
|
63
|
+
return this._feature;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Returns true if the stage is processed (completed, failed, or skipped)
|
|
67
|
+
*/
|
|
68
|
+
get isProcessed() {
|
|
69
|
+
return this._status === A_Stage_types_1.A_TYPES__A_Stage_Status.COMPLETED
|
|
70
|
+
|| this._status === A_Stage_types_1.A_TYPES__A_Stage_Status.FAILED
|
|
71
|
+
|| this._status === A_Stage_types_1.A_TYPES__A_Stage_Status.SKIPPED;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Returns the error of the stage
|
|
75
|
+
*/
|
|
76
|
+
get error() {
|
|
77
|
+
return this._error;
|
|
78
|
+
}
|
|
53
79
|
/**
|
|
54
80
|
* Resolves the arguments of the step
|
|
55
81
|
*
|
|
@@ -148,7 +174,7 @@ class A_Stage {
|
|
|
148
174
|
return __awaiter(this, void 0, void 0, function* () {
|
|
149
175
|
const targetScope = A_TypeGuards_helper_1.A_TypeGuards.isScopeInstance(scope)
|
|
150
176
|
? scope
|
|
151
|
-
:
|
|
177
|
+
: this._feature.scope;
|
|
152
178
|
if (!this._processed)
|
|
153
179
|
this._processed = new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
154
180
|
try {
|
|
@@ -185,7 +211,7 @@ class A_Stage {
|
|
|
185
211
|
this._status = A_Stage_types_1.A_TYPES__A_Stage_Status.COMPLETED;
|
|
186
212
|
}
|
|
187
213
|
failed(error) {
|
|
188
|
-
this._error = error;
|
|
214
|
+
this._error = new A_Error_class_1.A_Error(error);
|
|
189
215
|
this._status = A_Stage_types_1.A_TYPES__A_Stage_Status.FAILED;
|
|
190
216
|
}
|
|
191
217
|
// ==========================================
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-Stage.class.js","sourceRoot":"","sources":["../../../../src/global/A-Stage/A-Stage.class.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAIyB;AACzB,kEAAyD;AAGzD,mDAA+C;AAC/C,4DAAmD;AACnD,sFAA4E;AAO5E,MAAa,OAAO;IAyBhB;;;;;OAKG;IACH;IACI;;OAEG;IACH,OAAkB;IAClB;;OAEG;IACH,IAA0B;QAzB9B;;WAEG;QACK,YAAO,GAA4B,uCAAuB,CAAC,WAAW,CAAC;QAwB3E,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IACD;;OAEG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;
|
|
1
|
+
{"version":3,"file":"A-Stage.class.js","sourceRoot":"","sources":["../../../../src/global/A-Stage/A-Stage.class.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adaas/a-concept",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.23",
|
|
4
4
|
"description": "A-Concept is a framework to build new Applications within or outside the ADAAS ecosystem. This framework is designed to be modular structure regardless environment and program goal.",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -50,13 +50,11 @@
|
|
|
50
50
|
"url": "https://github.com/ADAAS-org/adaas-adf-auth/issues"
|
|
51
51
|
},
|
|
52
52
|
"homepage": "https://github.com/ADAAS-org/adaas-adf-auth#readme",
|
|
53
|
-
"dependencies": {
|
|
54
|
-
"@types/node": "^20.10.0"
|
|
55
|
-
},
|
|
56
53
|
"devDependencies": {
|
|
57
54
|
"@types/chai": "^4.3.14",
|
|
58
55
|
"@types/jest": "^29.5.12",
|
|
59
56
|
"@types/mocha": "^10.0.6",
|
|
57
|
+
"@types/node": "^24.9.1",
|
|
60
58
|
"chai": "^5.1.0",
|
|
61
59
|
"dotenv": "^16.4.5",
|
|
62
60
|
"jest": "^29.7.0",
|
|
@@ -74,10 +74,14 @@ export function A_Abstraction_Extend(
|
|
|
74
74
|
// Get the existed metadata or create a new one
|
|
75
75
|
const existedMeta: A_Meta<{
|
|
76
76
|
[Key: string]: A_TYPES__ConceptAbstraction[];
|
|
77
|
-
}> = meta.get(metaKey)
|
|
77
|
+
}> = meta.get(metaKey) ?
|
|
78
|
+
new A_Meta().from(meta.get(metaKey))
|
|
79
|
+
: new A_Meta();
|
|
78
80
|
|
|
79
81
|
// Set the metadata of the method to define a custom Stage with name
|
|
80
|
-
const existedMetaValue =
|
|
82
|
+
const existedMetaValue = [
|
|
83
|
+
...(existedMeta.get(setName) || [])
|
|
84
|
+
];
|
|
81
85
|
|
|
82
86
|
const existedIndex = existedMetaValue.findIndex(item => item.handler === propertyKey);
|
|
83
87
|
|
|
@@ -131,10 +131,12 @@ export function A_Feature_Extend(
|
|
|
131
131
|
|
|
132
132
|
|
|
133
133
|
// Get the existed metadata or create a new one
|
|
134
|
-
const
|
|
134
|
+
const meta = A_Context
|
|
135
135
|
.meta(target)
|
|
136
|
-
|
|
137
|
-
|
|
136
|
+
|
|
137
|
+
const existedMeta = meta.get(A_TYPES__ComponentMetaKey.EXTENSIONS)
|
|
138
|
+
? new A_Meta().from(meta.get(A_TYPES__ComponentMetaKey.EXTENSIONS)!)
|
|
139
|
+
: new A_Meta();
|
|
138
140
|
|
|
139
141
|
if (existedDefinitions
|
|
140
142
|
&& existedDefinitions.size()
|
|
@@ -147,7 +149,9 @@ export function A_Feature_Extend(
|
|
|
147
149
|
);
|
|
148
150
|
}
|
|
149
151
|
|
|
150
|
-
const existedMetaValue =
|
|
152
|
+
const existedMetaValue = [
|
|
153
|
+
...(existedMeta.get(targetRegexp.source) || [])
|
|
154
|
+
];
|
|
151
155
|
|
|
152
156
|
const existedIndex = existedMetaValue.findIndex(item => item.handler === propertyKey);
|
|
153
157
|
|
|
@@ -28,7 +28,7 @@ export class A_Stage {
|
|
|
28
28
|
/**
|
|
29
29
|
* Possible errors during stage processing
|
|
30
30
|
*/
|
|
31
|
-
private _error?:
|
|
31
|
+
private _error?: A_Error;
|
|
32
32
|
/**
|
|
33
33
|
* Indicates the current status of the stage
|
|
34
34
|
*/
|
|
@@ -66,13 +66,38 @@ export class A_Stage {
|
|
|
66
66
|
get name(): string {
|
|
67
67
|
return this.toString();
|
|
68
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* Returns the definition of the stage
|
|
71
|
+
*/
|
|
72
|
+
get definition(): A_TYPES__A_StageStep {
|
|
73
|
+
return this._definition;
|
|
74
|
+
}
|
|
69
75
|
/**
|
|
70
76
|
* Returns the current status of the stage
|
|
71
77
|
*/
|
|
72
78
|
get status(): A_TYPES__A_Stage_Status {
|
|
73
79
|
return this._status;
|
|
74
80
|
}
|
|
75
|
-
|
|
81
|
+
/**
|
|
82
|
+
* Returns the feature that owns this stage
|
|
83
|
+
*/
|
|
84
|
+
get feature(): A_Feature {
|
|
85
|
+
return this._feature;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Returns true if the stage is processed (completed, failed, or skipped)
|
|
89
|
+
*/
|
|
90
|
+
get isProcessed(): boolean {
|
|
91
|
+
return this._status === A_TYPES__A_Stage_Status.COMPLETED
|
|
92
|
+
|| this._status === A_TYPES__A_Stage_Status.FAILED
|
|
93
|
+
|| this._status === A_TYPES__A_Stage_Status.SKIPPED;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Returns the error of the stage
|
|
97
|
+
*/
|
|
98
|
+
get error(): A_Error | undefined {
|
|
99
|
+
return this._error;
|
|
100
|
+
}
|
|
76
101
|
|
|
77
102
|
/**
|
|
78
103
|
* Resolves the arguments of the step
|
|
@@ -205,7 +230,7 @@ export class A_Stage {
|
|
|
205
230
|
|
|
206
231
|
const targetScope = A_TypeGuards.isScopeInstance(scope)
|
|
207
232
|
? scope
|
|
208
|
-
:
|
|
233
|
+
: this._feature.scope;
|
|
209
234
|
|
|
210
235
|
if (!this._processed)
|
|
211
236
|
this._processed = new Promise<void>(
|
|
@@ -253,7 +278,7 @@ export class A_Stage {
|
|
|
253
278
|
protected failed(
|
|
254
279
|
error: Error | A_Error | any
|
|
255
280
|
) {
|
|
256
|
-
this._error = error;
|
|
281
|
+
this._error = new A_Error(error);
|
|
257
282
|
|
|
258
283
|
this._status = A_TYPES__A_Stage_Status.FAILED;
|
|
259
284
|
}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { A_Component } from "@adaas/a-concept/global/A-Component/A-Component.class";
|
|
2
|
+
import { A_TYPES__ComponentMetaKey } from "@adaas/a-concept/global/A-Component/A-Component.constants";
|
|
3
|
+
import { A_ComponentMeta } from "@adaas/a-concept/global/A-Component/A-Component.meta";
|
|
4
|
+
import { A_Concept } from "@adaas/a-concept/global/A-Concept/A-Concept.class";
|
|
5
|
+
import { A_Context } from "@adaas/a-concept/global/A-Context/A-Context.class";
|
|
6
|
+
import { A_Feature } from "@adaas/a-concept/global/A-Feature/A-Feature.class";
|
|
7
|
+
import { A_Meta } from "@adaas/a-concept/global/A-Meta/A-Meta.class";
|
|
8
|
+
|
|
9
|
+
jest.retryTimes(0);
|
|
10
|
+
|
|
11
|
+
describe('A-Meta tests', () => {
|
|
12
|
+
it('Should Allow to create a Meta instance', async () => {
|
|
13
|
+
const meta = new A_Meta();
|
|
14
|
+
|
|
15
|
+
expect(meta).toBeInstanceOf(A_Meta);
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it('Should Allow to get prop meta for component Feature', async () => {
|
|
19
|
+
|
|
20
|
+
class ComponentA extends A_Component {
|
|
21
|
+
|
|
22
|
+
@A_Feature.Extend()
|
|
23
|
+
async test() {
|
|
24
|
+
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const meta = A_Context.meta(ComponentA);
|
|
29
|
+
|
|
30
|
+
expect(meta).toBeInstanceOf(A_ComponentMeta);
|
|
31
|
+
expect(meta.get(A_TYPES__ComponentMetaKey.EXTENSIONS)?.size()).toBe(1);
|
|
32
|
+
expect(meta.get(A_TYPES__ComponentMetaKey.EXTENSIONS)?.has('^.*test$')).toBe(true);
|
|
33
|
+
})
|
|
34
|
+
it('Should correctly create abstractions meta', async () => {
|
|
35
|
+
|
|
36
|
+
class ComponentB extends A_Component {
|
|
37
|
+
|
|
38
|
+
@A_Concept.Load()
|
|
39
|
+
async test() {
|
|
40
|
+
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
class ComponentC extends ComponentB {
|
|
45
|
+
async test() {
|
|
46
|
+
|
|
47
|
+
}
|
|
48
|
+
@A_Concept.Load()
|
|
49
|
+
async test2() {
|
|
50
|
+
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
class ComponentE extends ComponentB {
|
|
55
|
+
|
|
56
|
+
@A_Concept.Load()
|
|
57
|
+
async test3() {
|
|
58
|
+
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const metaC = A_Context.meta(ComponentC);
|
|
63
|
+
const metaE = A_Context.meta(ComponentE);
|
|
64
|
+
|
|
65
|
+
expect(metaC).toBeInstanceOf(A_ComponentMeta);
|
|
66
|
+
expect(metaC.get(A_TYPES__ComponentMetaKey.ABSTRACTIONS)?.size()).toBe(1);
|
|
67
|
+
expect(metaC.get(A_TYPES__ComponentMetaKey.ABSTRACTIONS)?.has('CONCEPT_ABSTRACTION::load')).toBe(true);
|
|
68
|
+
expect(metaC.get(A_TYPES__ComponentMetaKey.ABSTRACTIONS)?.get('CONCEPT_ABSTRACTION::load')?.length).toBe(2);
|
|
69
|
+
expect(metaC.get(A_TYPES__ComponentMetaKey.ABSTRACTIONS)?.get('CONCEPT_ABSTRACTION::load')?.map(e => e.handler)).toContain('test2');
|
|
70
|
+
expect(metaC.get(A_TYPES__ComponentMetaKey.ABSTRACTIONS)?.get('CONCEPT_ABSTRACTION::load')?.map(e => e.handler)).not.toContain('tes3');
|
|
71
|
+
|
|
72
|
+
expect(metaE).toBeInstanceOf(A_ComponentMeta);
|
|
73
|
+
expect(metaE.get(A_TYPES__ComponentMetaKey.ABSTRACTIONS)?.size()).toBe(1);
|
|
74
|
+
expect(metaE.get(A_TYPES__ComponentMetaKey.ABSTRACTIONS)?.has('CONCEPT_ABSTRACTION::load')).toBe(true);
|
|
75
|
+
expect(metaE.get(A_TYPES__ComponentMetaKey.ABSTRACTIONS)?.get('CONCEPT_ABSTRACTION::load')?.length).toBe(2);
|
|
76
|
+
expect(metaE.get(A_TYPES__ComponentMetaKey.ABSTRACTIONS)?.get('CONCEPT_ABSTRACTION::load')?.map(e => e.handler)).toContain('test3');
|
|
77
|
+
expect(metaE.get(A_TYPES__ComponentMetaKey.ABSTRACTIONS)?.get('CONCEPT_ABSTRACTION::load')?.map(e => e.handler)).not.toContain('test2');
|
|
78
|
+
})
|
|
79
|
+
|
|
80
|
+
it('Should correctly create features meta', async () => {
|
|
81
|
+
|
|
82
|
+
class ComponentB extends A_Component {
|
|
83
|
+
|
|
84
|
+
@A_Feature.Extend({
|
|
85
|
+
name: 'testFeature'
|
|
86
|
+
})
|
|
87
|
+
async test() {
|
|
88
|
+
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
class ComponentC extends ComponentB {
|
|
93
|
+
async test() {
|
|
94
|
+
|
|
95
|
+
}
|
|
96
|
+
@A_Feature.Extend({
|
|
97
|
+
name: 'testFeature'
|
|
98
|
+
})
|
|
99
|
+
async test2() {
|
|
100
|
+
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
class ComponentE extends ComponentB {
|
|
105
|
+
|
|
106
|
+
@A_Feature.Extend({
|
|
107
|
+
name: 'testFeature'
|
|
108
|
+
})
|
|
109
|
+
async test3() {
|
|
110
|
+
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
const metaC = A_Context.meta(ComponentC);
|
|
115
|
+
const metaE = A_Context.meta(ComponentE);
|
|
116
|
+
|
|
117
|
+
expect(metaC).toBeInstanceOf(A_ComponentMeta);
|
|
118
|
+
expect(metaC.get(A_TYPES__ComponentMetaKey.EXTENSIONS)?.size()).toBe(1);
|
|
119
|
+
expect(metaC.get(A_TYPES__ComponentMetaKey.EXTENSIONS)?.has('.*\\.testFeature$')).toBe(true);
|
|
120
|
+
expect(metaC.get(A_TYPES__ComponentMetaKey.EXTENSIONS)?.get('.*\\.testFeature$')?.length).toBe(2);
|
|
121
|
+
expect(metaC.get(A_TYPES__ComponentMetaKey.EXTENSIONS)?.get('.*\\.testFeature$')?.map(e => e.handler)).toContain('test2');
|
|
122
|
+
expect(metaC.get(A_TYPES__ComponentMetaKey.EXTENSIONS)?.get('.*\\.testFeature$')?.map(e => e.handler)).not.toContain('tes3');
|
|
123
|
+
|
|
124
|
+
expect(metaE).toBeInstanceOf(A_ComponentMeta);
|
|
125
|
+
expect(metaE.get(A_TYPES__ComponentMetaKey.EXTENSIONS)?.size()).toBe(1);
|
|
126
|
+
expect(metaE.get(A_TYPES__ComponentMetaKey.EXTENSIONS)?.has('.*\\.testFeature$')).toBe(true);
|
|
127
|
+
expect(metaE.get(A_TYPES__ComponentMetaKey.EXTENSIONS)?.get('.*\\.testFeature$')?.length).toBe(2);
|
|
128
|
+
expect(metaE.get(A_TYPES__ComponentMetaKey.EXTENSIONS)?.get('.*\\.testFeature$')?.map(e => e.handler)).toContain('test3');
|
|
129
|
+
expect(metaE.get(A_TYPES__ComponentMetaKey.EXTENSIONS)?.get('.*\\.testFeature$')?.map(e => e.handler)).not.toContain('test2');
|
|
130
|
+
})
|
|
131
|
+
})
|