@adaas/a-concept 0.1.16 → 0.1.18
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 +11 -3
- package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.js.map +1 -1
- package/dist/src/global/A-Context/A-Context.class.d.ts +8 -0
- package/dist/src/global/A-Context/A-Context.class.js +30 -2
- package/dist/src/global/A-Context/A-Context.class.js.map +1 -1
- package/dist/src/global/A-Feature/A-Feature-Extend.decorator.js +13 -3
- package/dist/src/global/A-Feature/A-Feature-Extend.decorator.js.map +1 -1
- package/dist/src/global/A-Scope/A-Scope.class.d.ts +1 -1
- package/dist/src/global/A-Scope/A-Scope.class.js +10 -3
- package/dist/src/global/A-Scope/A-Scope.class.js.map +1 -1
- package/package.json +1 -1
- package/src/global/A-Abstraction/A-Abstraction-Extend.decorator.ts +12 -4
- package/src/global/A-Context/A-Context.class.ts +40 -3
- package/src/global/A-Feature/A-Feature-Extend.decorator.ts +15 -3
- package/src/global/A-Scope/A-Scope.class.ts +9 -5
- package/tests/A-Abstraction.test.ts +66 -0
- package/tests/A-Feature.test.ts +305 -221
|
@@ -51,14 +51,22 @@ config = {}) {
|
|
|
51
51
|
const existedMeta = meta.get(metaKey) || new A_Meta_class_1.A_Meta();
|
|
52
52
|
// Set the metadata of the method to define a custom Stage with name
|
|
53
53
|
const existedMetaValue = existedMeta.get(setName) || [];
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
const existedIndex = existedMetaValue.findIndex(item => item.handler === propertyKey);
|
|
55
|
+
const abstraction = {
|
|
56
56
|
name: setName,
|
|
57
57
|
handler: propertyKey,
|
|
58
58
|
before: config.before || [],
|
|
59
59
|
after: config.after || [],
|
|
60
60
|
behavior: config.behavior || 'sync'
|
|
61
|
-
}
|
|
61
|
+
};
|
|
62
|
+
if (existedIndex !== -1) {
|
|
63
|
+
// Update the existing method in the metadata
|
|
64
|
+
existedMetaValue[existedIndex] = abstraction;
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
// Add the new method to the metadata
|
|
68
|
+
existedMetaValue.push(abstraction);
|
|
69
|
+
}
|
|
62
70
|
// Set the metadata of the method to define a custom Feature with name
|
|
63
71
|
existedMeta.set(setName, existedMetaValue);
|
|
64
72
|
// Update the metadata of the container with the new Stage definition
|
|
@@ -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":";;AA2BA,oDAmFC;AAzGD,uFAA8E;AAI9E,8EAAqE;AAErE,qGAAsG;AACtG,qGAAsG;AAEtG,+DAA2D;AAC3D,sFAA4E;AAG5E;;;;;;;;GAQG;AACH,SAAgB,oBAAoB;AAChC;;GAEG;AACH,IAAkC;AAClC;;;GAGG;AACH,SAAuD,EAAE;IAEzD,OAAO,UACH,MAAiC,EACjC,WAAmB,EACnB,UAAmD;;QAEnD,qBAAqB;QACrB,MAAM,aAAa,GAAG,CAAA,MAAC,MAAc,aAAd,MAAM,uBAAN,MAAM,CAAU,WAAW,0CAAE,IAAI,KAAI,MAAM,CAAC,MAAM,CAAC,IAAI,kBAAkB,CAAC;QAEjG,IAAI,CAAC,IAAI;YACL,MAAM,IAAI,wCAAkB,CACxB,wCAAkB,CAAC,yBAAyB,EAC5C,gEAAgE,aAAa,IAAI,CACpF,CAAC;QAEN,kEAAkE;QAClE,IAAI,CAAC,kCAAY,CAAC,oCAAoC,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,wCAAkB,CACxB,wCAAkB,CAAC,yBAAyB,EAC5C,iCAAiC,IAAI,UAAU,aAAa,gEAAgE,CAC/H,CAAC;QACN,CAAC;QAED,IAAI,OAAO,CAAC;QACZ,MAAM,IAAI,GAAsC,2BAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEvE,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,kCAAY,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,kCAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC;gBACxF,OAAO,GAAG,iDAAyB,CAAC,YAAY,CAAA;gBAChD,MAAM;YACV,KAAK,kCAAY,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,kCAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC;gBACxF,OAAO,GAAG,iDAAyB,CAAC,YAAY,CAAA;gBAChD,MAAM;QACd,CAAC;QACD,MAAM,OAAO,GAAG,wBAAwB,IAAI,EAAE,CAAC;QAE/C,+CAA+C;QAC/C,MAAM,WAAW,GAEZ,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,qBAAM,EAAE,CAAC;QAEvC,oEAAoE;QACpE,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAExD,MAAM,YAAY,GAAG,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC;QAEtF,MAAM,WAAW,GAAI;YACjB,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,WAAW;YACpB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;YAC3B,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM;SACtC,CAAA;QAED,IAAG,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;YACrB,6CAA6C;YAC7C,gBAAgB,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC;QACjD,CAAC;aAAI,CAAC;YACF,qCAAqC;YACrC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC;QAED,sEAAsE;QACtE,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAE3C,sEAAsE;QACtE,2BAAS;aACJ,IAAI,CAAC,MAAM,CAAC;aACZ,GAAG,CACA,OAAO,EACP,WAAW,CACd,CAAC;IACV,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -273,6 +273,14 @@ export declare class A_Context {
|
|
|
273
273
|
* Provide the scope that dictates which components are active and can provide extensions for the feature.
|
|
274
274
|
*/
|
|
275
275
|
scope: A_Scope): Array<A_TYPES__A_StageStep>;
|
|
276
|
+
/**
|
|
277
|
+
* method helps to filter steps in a way that only the most derived classes are kept.
|
|
278
|
+
*
|
|
279
|
+
* @param scope
|
|
280
|
+
* @param items
|
|
281
|
+
* @returns
|
|
282
|
+
*/
|
|
283
|
+
private filterToMostDerived;
|
|
276
284
|
/**
|
|
277
285
|
* This method returns the feature template definition without any extensions.
|
|
278
286
|
* It can be used to retrieve the base template for a feature before any modifications are applied.
|
|
@@ -382,7 +382,35 @@ class A_Context {
|
|
|
382
382
|
});
|
|
383
383
|
}
|
|
384
384
|
}
|
|
385
|
-
return steps;
|
|
385
|
+
return instance.filterToMostDerived(scope, steps);
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* method helps to filter steps in a way that only the most derived classes are kept.
|
|
389
|
+
*
|
|
390
|
+
* @param scope
|
|
391
|
+
* @param items
|
|
392
|
+
* @returns
|
|
393
|
+
*/
|
|
394
|
+
filterToMostDerived(scope, items) {
|
|
395
|
+
return items.filter(item => {
|
|
396
|
+
const currentClass = typeof item.component === 'string'
|
|
397
|
+
? scope.resolveConstructor(item.component)
|
|
398
|
+
: A_TypeGuards_helper_1.A_TypeGuards.isContainerInstance(item.component)
|
|
399
|
+
? item.component.constructor : item.component;
|
|
400
|
+
// Check if this class is parent of any other in the list
|
|
401
|
+
const isParentOfAnother = items.some(other => {
|
|
402
|
+
if (other === item)
|
|
403
|
+
return false;
|
|
404
|
+
const otherClass = typeof other.component === 'string'
|
|
405
|
+
? scope.resolveConstructor(other.component)
|
|
406
|
+
: A_TypeGuards_helper_1.A_TypeGuards.isContainerInstance(other.component)
|
|
407
|
+
? other.component.constructor
|
|
408
|
+
: other.component;
|
|
409
|
+
return currentClass.prototype.isPrototypeOf(otherClass.prototype);
|
|
410
|
+
});
|
|
411
|
+
// Keep only classes that are not parent of any other
|
|
412
|
+
return !isParentOfAnother;
|
|
413
|
+
});
|
|
386
414
|
}
|
|
387
415
|
/**
|
|
388
416
|
* This method returns the feature template definition without any extensions.
|
|
@@ -509,7 +537,7 @@ class A_Context {
|
|
|
509
537
|
});
|
|
510
538
|
}
|
|
511
539
|
}
|
|
512
|
-
return steps;
|
|
540
|
+
return instance.filterToMostDerived(scope, steps);
|
|
513
541
|
}
|
|
514
542
|
/**
|
|
515
543
|
* Resets the Context to its initial state.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-Context.class.js","sourceRoot":"","sources":["../../../../src/global/A-Context/A-Context.class.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"A-Context.class.js","sourceRoot":"","sources":["../../../../src/global/A-Context/A-Context.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,14 +57,24 @@ function A_Feature_Extend(param1) {
|
|
|
57
57
|
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.`);
|
|
58
58
|
}
|
|
59
59
|
const existedMetaValue = existedMeta.get(targetRegexp.source) || [];
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
const existedIndex = existedMetaValue.findIndex(item => item.handler === propertyKey);
|
|
61
|
+
const extension = {
|
|
62
62
|
name: targetRegexp.source,
|
|
63
63
|
handler: propertyKey,
|
|
64
64
|
behavior,
|
|
65
65
|
before,
|
|
66
66
|
after
|
|
67
|
-
}
|
|
67
|
+
};
|
|
68
|
+
if (existedIndex !== -1) {
|
|
69
|
+
// Update the existing method in the metadata
|
|
70
|
+
existedMetaValue[existedIndex] = extension;
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
// Add the new method to the metadata
|
|
74
|
+
existedMetaValue.push(extension);
|
|
75
|
+
}
|
|
76
|
+
// Add the new method to the metadata
|
|
77
|
+
existedMetaValue.push();
|
|
68
78
|
// Set the metadata of the method to define a custom Feature with name
|
|
69
79
|
existedMeta.set(targetRegexp.source, existedMetaValue);
|
|
70
80
|
// Update the metadata of the container with the new Feature definition
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-Feature-Extend.decorator.js","sourceRoot":"","sources":["../../../../src/global/A-Feature/A-Feature-Extend.decorator.ts"],"names":[],"mappings":";;AA0DA,
|
|
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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"}
|
|
@@ -175,7 +175,7 @@ export declare class A_Scope<_ComponentType extends A_TYPES__Component_Construct
|
|
|
175
175
|
*
|
|
176
176
|
* @returns
|
|
177
177
|
*/
|
|
178
|
-
issuer<T extends A_TYPES__ScopeLinkedComponents>(): T;
|
|
178
|
+
issuer<T extends A_TYPES__ScopeLinkedComponents>(): T | undefined;
|
|
179
179
|
/**
|
|
180
180
|
* This method is used to inherit from a parent scope
|
|
181
181
|
*
|
|
@@ -186,7 +186,12 @@ class A_Scope {
|
|
|
186
186
|
* @returns
|
|
187
187
|
*/
|
|
188
188
|
issuer() {
|
|
189
|
-
|
|
189
|
+
try {
|
|
190
|
+
return A_Context_class_1.A_Context.issuer(this);
|
|
191
|
+
}
|
|
192
|
+
catch (error) {
|
|
193
|
+
return undefined;
|
|
194
|
+
}
|
|
190
195
|
}
|
|
191
196
|
/**
|
|
192
197
|
* This method is used to inherit from a parent scope
|
|
@@ -211,6 +216,7 @@ class A_Scope {
|
|
|
211
216
|
return this;
|
|
212
217
|
}
|
|
213
218
|
has(ctor) {
|
|
219
|
+
var _a;
|
|
214
220
|
let found = false;
|
|
215
221
|
switch (true) {
|
|
216
222
|
// 1) Check if it's a Scope. It's always true since it returns itself
|
|
@@ -257,7 +263,7 @@ class A_Scope {
|
|
|
257
263
|
break;
|
|
258
264
|
}
|
|
259
265
|
// 6) Check scope issuer
|
|
260
|
-
case this.issuer().constructor === ctor: {
|
|
266
|
+
case ((_a = this.issuer()) === null || _a === void 0 ? void 0 : _a.constructor) === ctor: {
|
|
261
267
|
found = true;
|
|
262
268
|
break;
|
|
263
269
|
}
|
|
@@ -422,7 +428,8 @@ class A_Scope {
|
|
|
422
428
|
}
|
|
423
429
|
}
|
|
424
430
|
resolveIssuer(ctor) {
|
|
425
|
-
|
|
431
|
+
var _a;
|
|
432
|
+
const isCurrent = ctor === ((_a = this.issuer()) === null || _a === void 0 ? void 0 : _a.constructor);
|
|
426
433
|
if (isCurrent) {
|
|
427
434
|
return this.issuer();
|
|
428
435
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-Scope.class.js","sourceRoot":"","sources":["../../../../src/global/A-Scope/A-Scope.class.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"A-Scope.class.js","sourceRoot":"","sources":["../../../../src/global/A-Scope/A-Scope.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.18",
|
|
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",
|
|
@@ -79,19 +79,27 @@ export function A_Abstraction_Extend(
|
|
|
79
79
|
// Set the metadata of the method to define a custom Stage with name
|
|
80
80
|
const existedMetaValue = existedMeta.get(setName) || [];
|
|
81
81
|
|
|
82
|
-
|
|
83
|
-
|
|
82
|
+
const existedIndex = existedMetaValue.findIndex(item => item.handler === propertyKey);
|
|
83
|
+
|
|
84
|
+
const abstraction = {
|
|
84
85
|
name: setName,
|
|
85
86
|
handler: propertyKey,
|
|
86
87
|
before: config.before || [],
|
|
87
88
|
after: config.after || [],
|
|
88
89
|
behavior: config.behavior || 'sync'
|
|
89
|
-
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
if(existedIndex !== -1) {
|
|
93
|
+
// Update the existing method in the metadata
|
|
94
|
+
existedMetaValue[existedIndex] = abstraction;
|
|
95
|
+
}else{
|
|
96
|
+
// Add the new method to the metadata
|
|
97
|
+
existedMetaValue.push(abstraction);
|
|
98
|
+
}
|
|
90
99
|
|
|
91
100
|
// Set the metadata of the method to define a custom Feature with name
|
|
92
101
|
existedMeta.set(setName, existedMetaValue);
|
|
93
102
|
|
|
94
|
-
|
|
95
103
|
// Update the metadata of the container with the new Stage definition
|
|
96
104
|
A_Context
|
|
97
105
|
.meta(target)
|
|
@@ -662,8 +662,46 @@ export class A_Context {
|
|
|
662
662
|
}
|
|
663
663
|
}
|
|
664
664
|
|
|
665
|
-
return steps;
|
|
665
|
+
return instance.filterToMostDerived(scope, steps);
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
|
|
669
|
+
/**
|
|
670
|
+
* method helps to filter steps in a way that only the most derived classes are kept.
|
|
671
|
+
*
|
|
672
|
+
* @param scope
|
|
673
|
+
* @param items
|
|
674
|
+
* @returns
|
|
675
|
+
*/
|
|
676
|
+
private filterToMostDerived(
|
|
677
|
+
scope: A_Scope,
|
|
678
|
+
items: A_TYPES__A_StageStep[]): Array<A_TYPES__A_StageStep> {
|
|
679
|
+
return items.filter(item => {
|
|
680
|
+
const currentClass = typeof item.component === 'string'
|
|
681
|
+
? scope.resolveConstructor(item.component)
|
|
682
|
+
: A_TypeGuards.isContainerInstance(item.component)
|
|
683
|
+
? item.component.constructor : item.component;
|
|
684
|
+
|
|
685
|
+
// Check if this class is parent of any other in the list
|
|
686
|
+
const isParentOfAnother = items.some(other => {
|
|
687
|
+
if (other === item) return false;
|
|
688
|
+
|
|
689
|
+
const otherClass = typeof other.component === 'string'
|
|
690
|
+
? scope.resolveConstructor(other.component)
|
|
691
|
+
: A_TypeGuards.isContainerInstance(other.component)
|
|
692
|
+
? other.component.constructor
|
|
693
|
+
: other.component;
|
|
694
|
+
|
|
695
|
+
|
|
696
|
+
return currentClass.prototype.isPrototypeOf(otherClass.prototype);
|
|
697
|
+
});
|
|
698
|
+
|
|
699
|
+
// Keep only classes that are not parent of any other
|
|
700
|
+
return !isParentOfAnother;
|
|
701
|
+
});
|
|
666
702
|
}
|
|
703
|
+
|
|
704
|
+
|
|
667
705
|
/**
|
|
668
706
|
* This method returns the feature template definition without any extensions.
|
|
669
707
|
* It can be used to retrieve the base template for a feature before any modifications are applied.
|
|
@@ -825,11 +863,10 @@ export class A_Context {
|
|
|
825
863
|
}
|
|
826
864
|
}
|
|
827
865
|
|
|
828
|
-
return steps;
|
|
866
|
+
return instance.filterToMostDerived(scope, steps);
|
|
829
867
|
}
|
|
830
868
|
|
|
831
869
|
|
|
832
|
-
|
|
833
870
|
/**
|
|
834
871
|
* Resets the Context to its initial state.
|
|
835
872
|
*/
|
|
@@ -136,14 +136,26 @@ export function A_Feature_Extend(
|
|
|
136
136
|
|
|
137
137
|
const existedMetaValue = existedMeta.get(targetRegexp.source) || [];
|
|
138
138
|
|
|
139
|
-
|
|
140
|
-
|
|
139
|
+
const existedIndex = existedMetaValue.findIndex(item => item.handler === propertyKey);
|
|
140
|
+
|
|
141
|
+
const extension = {
|
|
141
142
|
name: targetRegexp.source,
|
|
142
143
|
handler: propertyKey,
|
|
143
144
|
behavior,
|
|
144
145
|
before,
|
|
145
146
|
after
|
|
146
|
-
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
if (existedIndex !== -1){
|
|
150
|
+
// Update the existing method in the metadata
|
|
151
|
+
existedMetaValue[existedIndex] = extension;
|
|
152
|
+
}else{
|
|
153
|
+
// Add the new method to the metadata
|
|
154
|
+
existedMetaValue.push(extension);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
// Add the new method to the metadata
|
|
158
|
+
existedMetaValue.push();
|
|
147
159
|
|
|
148
160
|
// Set the metadata of the method to define a custom Feature with name
|
|
149
161
|
existedMeta.set(targetRegexp.source, existedMetaValue);
|
|
@@ -278,8 +278,12 @@ export class A_Scope<
|
|
|
278
278
|
*
|
|
279
279
|
* @returns
|
|
280
280
|
*/
|
|
281
|
-
issuer<T extends A_TYPES__ScopeLinkedComponents>(): T {
|
|
282
|
-
|
|
281
|
+
issuer<T extends A_TYPES__ScopeLinkedComponents>(): T | undefined {
|
|
282
|
+
try {
|
|
283
|
+
return A_Context.issuer(this) as T;
|
|
284
|
+
} catch (error) {
|
|
285
|
+
return undefined;
|
|
286
|
+
}
|
|
283
287
|
}
|
|
284
288
|
|
|
285
289
|
|
|
@@ -413,7 +417,7 @@ export class A_Scope<
|
|
|
413
417
|
break;
|
|
414
418
|
}
|
|
415
419
|
// 6) Check scope issuer
|
|
416
|
-
case this.issuer()
|
|
420
|
+
case this.issuer()?.constructor === ctor: {
|
|
417
421
|
found = true;
|
|
418
422
|
break;
|
|
419
423
|
}
|
|
@@ -743,10 +747,10 @@ export class A_Scope<
|
|
|
743
747
|
private resolveIssuer(
|
|
744
748
|
ctor: A_TYPES__ScopeLinkedConstructors
|
|
745
749
|
): A_TYPES__ScopeLinkedComponents {
|
|
746
|
-
const isCurrent = ctor === this.issuer()
|
|
750
|
+
const isCurrent = ctor === this.issuer()?.constructor;
|
|
747
751
|
|
|
748
752
|
if (isCurrent) {
|
|
749
|
-
return this.issuer()
|
|
753
|
+
return this.issuer()!;
|
|
750
754
|
}
|
|
751
755
|
if (!!this._parent) {
|
|
752
756
|
return this._parent.resolveIssuer(ctor);
|
|
@@ -3,6 +3,7 @@ import './test.setup'
|
|
|
3
3
|
import { A_Concept } from '@adaas/a-concept/global/A-Concept/A-Concept.class';
|
|
4
4
|
import { A_Container } from '@adaas/a-concept/global/A-Container/A-Container.class';
|
|
5
5
|
import { A_Context } from '@adaas/a-concept/global/A-Context/A-Context.class';
|
|
6
|
+
import { A_Scope } from '@adaas/a-concept/global/A-Scope/A-Scope.class';
|
|
6
7
|
|
|
7
8
|
jest.retryTimes(0);
|
|
8
9
|
|
|
@@ -255,4 +256,69 @@ describe('A-Abstraction Tests', () => {
|
|
|
255
256
|
|
|
256
257
|
expect(order).toEqual(['step1', 'step3', 'step2', 'step5', 'step4']);
|
|
257
258
|
})
|
|
259
|
+
it('Should inherit abstraction extensions', async () => {
|
|
260
|
+
const executionOrder: string[] = [];
|
|
261
|
+
|
|
262
|
+
// 1) create a base component with some abstraction
|
|
263
|
+
class My_Component extends A_Component {
|
|
264
|
+
|
|
265
|
+
@A_Concept.Load()
|
|
266
|
+
async feature1() {
|
|
267
|
+
executionOrder.push('stepOne');
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
class My_Child_Component extends My_Component { }
|
|
273
|
+
|
|
274
|
+
const concept = new A_Concept({
|
|
275
|
+
name: 'TestConcept',
|
|
276
|
+
containers: [
|
|
277
|
+
new A_Container({
|
|
278
|
+
name: 'TestContainer',
|
|
279
|
+
components: [My_Child_Component],
|
|
280
|
+
})
|
|
281
|
+
]
|
|
282
|
+
});
|
|
283
|
+
|
|
284
|
+
await concept.load();
|
|
285
|
+
|
|
286
|
+
expect(executionOrder).toEqual(['stepOne']);
|
|
287
|
+
});
|
|
288
|
+
it('Should allow to override abstraction extensions', async () => {
|
|
289
|
+
const executionOrder: string[] = [];
|
|
290
|
+
|
|
291
|
+
// 1) create a base component with some abstraction
|
|
292
|
+
class My_Component extends A_Component {
|
|
293
|
+
|
|
294
|
+
@A_Concept.Load()
|
|
295
|
+
async feature1() {
|
|
296
|
+
executionOrder.push('stepOne');
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
class My_Child_Component extends My_Component {
|
|
302
|
+
@A_Concept.Load()
|
|
303
|
+
async feature1() {
|
|
304
|
+
// do nothing
|
|
305
|
+
executionOrder.push('stepTwo');
|
|
306
|
+
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
const concept = new A_Concept({
|
|
311
|
+
name: 'TestConcept',
|
|
312
|
+
containers: [
|
|
313
|
+
new A_Container({
|
|
314
|
+
name: 'TestContainer',
|
|
315
|
+
components: [My_Child_Component],
|
|
316
|
+
})
|
|
317
|
+
]
|
|
318
|
+
});
|
|
319
|
+
|
|
320
|
+
await concept.load();
|
|
321
|
+
|
|
322
|
+
expect(executionOrder).toEqual(['stepTwo']);
|
|
323
|
+
});
|
|
258
324
|
});
|
package/tests/A-Feature.test.ts
CHANGED
|
@@ -6,279 +6,363 @@ import { A_Feature } from "@adaas/a-concept/global/A-Feature/A-Feature.class";
|
|
|
6
6
|
import { A_Scope } from "@adaas/a-concept/global/A-Scope/A-Scope.class";
|
|
7
7
|
import { A_Caller } from '@adaas/a-concept/global/A-Caller/A_Caller.class';
|
|
8
8
|
import { A_Context } from '@adaas/a-concept/global/A-Context/A-Context.class';
|
|
9
|
+
import { A_TYPES__ComponentMetaKey } from '@adaas/a-concept/global/A-Component/A-Component.constants';
|
|
9
10
|
|
|
10
11
|
jest.retryTimes(0);
|
|
11
12
|
|
|
12
13
|
describe('A-Feature tests', () => {
|
|
13
|
-
it('Should Allow to create a feature from component', async () => {
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
// it('Should Allow to create a feature from component', async () => {
|
|
15
|
+
// const testComponent = new A_Component()
|
|
16
|
+
// A_Context.root.register(testComponent);
|
|
17
|
+
|
|
18
|
+
// const feature = new A_Feature({
|
|
19
|
+
// name: 'testFeature',
|
|
20
|
+
// component: testComponent,
|
|
21
|
+
// });
|
|
22
|
+
|
|
23
|
+
// expect(feature).toBeInstanceOf(A_Feature);
|
|
24
|
+
// expect(feature.scope.parent).toBe(A_Context.root);
|
|
25
|
+
|
|
26
|
+
// });
|
|
27
|
+
// it('Should Allow to create a feature with steps', async () => {
|
|
28
|
+
// const template = [
|
|
29
|
+
// {
|
|
30
|
+
// name: 'A_Component.testHandler',
|
|
31
|
+
// component: A_Component,
|
|
32
|
+
// handler: 'testHandler',
|
|
33
|
+
// }
|
|
34
|
+
// ]
|
|
35
|
+
|
|
36
|
+
// const feature = new A_Feature({
|
|
37
|
+
// name: 'testFeature',
|
|
38
|
+
// scope: new A_Scope(),
|
|
39
|
+
// template
|
|
40
|
+
// });
|
|
41
|
+
|
|
42
|
+
// expect(feature).toBeInstanceOf(A_Feature);
|
|
43
|
+
// });
|
|
44
|
+
// it('Should be possible to execute a feature with steps as a template on the component', async () => {
|
|
45
|
+
// // 1) create a base component with some feature
|
|
46
|
+
// class MyExtendedComponent extends A_Component {
|
|
47
|
+
|
|
48
|
+
// async testHandler(
|
|
49
|
+
// @A_Inject(A_Caller) caller: MyComponent
|
|
50
|
+
// ) {
|
|
51
|
+
// caller.sum = 2;
|
|
52
|
+
// }
|
|
53
|
+
// }
|
|
54
|
+
|
|
55
|
+
// // 2) create a custom component with a defined template feature
|
|
56
|
+
// class MyComponent extends A_Component {
|
|
57
|
+
// sum: number = 0;
|
|
58
|
+
|
|
59
|
+
// @A_Feature.Define({
|
|
60
|
+
// invoke: true,
|
|
61
|
+
// template: [{
|
|
62
|
+
// name: 'MyExtendedComponent.testHandler',
|
|
63
|
+
// component: MyExtendedComponent,
|
|
64
|
+
// handler: 'testHandler',
|
|
65
|
+
// behavior: 'sync',
|
|
66
|
+
// before: [],
|
|
67
|
+
// after: []
|
|
68
|
+
// },
|
|
69
|
+
// {
|
|
70
|
+
// name: 'MyExtendedComponent.testHandler',
|
|
71
|
+
// component: MyExtendedComponent,
|
|
72
|
+
// handler: 'testHandler'
|
|
73
|
+
// }]
|
|
74
|
+
// })
|
|
75
|
+
// async testHandler() { }
|
|
76
|
+
// }
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
// // 3) create a running scope
|
|
80
|
+
// const scope = new A_Scope({ name: 'TestScope' });
|
|
81
|
+
// scope.register(MyExtendedComponent);
|
|
82
|
+
// scope.register(MyComponent);
|
|
83
|
+
|
|
84
|
+
// // 4) create an instance of the component from the scope
|
|
85
|
+
// const myComponent = scope.resolve(MyComponent);
|
|
86
|
+
// expect(myComponent).toBeInstanceOf(MyComponent);
|
|
87
|
+
// expect(myComponent.sum).toBe(0);
|
|
88
|
+
|
|
89
|
+
// // 5) call the feature caller to execute the feature
|
|
90
|
+
// await myComponent.testHandler();
|
|
91
|
+
|
|
92
|
+
// // 6) check the results
|
|
93
|
+
// expect(myComponent.sum).toBe(2);
|
|
94
|
+
|
|
95
|
+
// });
|
|
96
|
+
// it('Should be possible to execute a feature with steps as a template on the component with string component declaration', async () => {
|
|
97
|
+
// // 1) create a base component with some feature
|
|
98
|
+
// class MyExtendedComponent2 extends A_Component {
|
|
99
|
+
|
|
100
|
+
// async testHandler(
|
|
101
|
+
// @A_Inject(A_Caller) caller: MyComponent2
|
|
102
|
+
// ) {
|
|
103
|
+
// caller.sum = 2;
|
|
104
|
+
// }
|
|
105
|
+
// }
|
|
106
|
+
|
|
107
|
+
// // 2) create a custom component with a defined template feature
|
|
108
|
+
// class MyComponent2 extends A_Component {
|
|
109
|
+
// sum: number = 0;
|
|
110
|
+
|
|
111
|
+
// @A_Feature.Define({
|
|
112
|
+
// invoke: true,
|
|
113
|
+
// template: [{
|
|
114
|
+
// name: 'MyExtendedComponent2.testHandler',
|
|
115
|
+
// component: 'MyExtendedComponent2',
|
|
116
|
+
// handler: 'testHandler',
|
|
117
|
+
// behavior: 'sync',
|
|
118
|
+
// before: [],
|
|
119
|
+
// after: []
|
|
120
|
+
// }]
|
|
121
|
+
// })
|
|
122
|
+
// async testHandler() { }
|
|
123
|
+
// }
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
// // 3) create a running scope
|
|
127
|
+
// const scope = new A_Scope({ name: 'TestScope' });
|
|
128
|
+
// scope.register(MyExtendedComponent2);
|
|
129
|
+
// scope.register(MyComponent2);
|
|
130
|
+
|
|
131
|
+
// // 4) create an instance of the component from the scope
|
|
132
|
+
// const myComponent = scope.resolve(MyComponent2);
|
|
133
|
+
// expect(myComponent).toBeInstanceOf(MyComponent2);
|
|
134
|
+
// expect(myComponent.sum).toBe(0);
|
|
135
|
+
|
|
136
|
+
// // 5) call the feature caller to execute the feature
|
|
137
|
+
// await myComponent.testHandler();
|
|
138
|
+
|
|
139
|
+
// // 6) check the results
|
|
140
|
+
// expect(myComponent.sum).toBe(2);
|
|
141
|
+
|
|
142
|
+
// });
|
|
143
|
+
// it('Should execute feature steps in base order', async () => {
|
|
144
|
+
// const executionOrder: string[] = [];
|
|
145
|
+
|
|
146
|
+
// // 1) create a base component with some feature
|
|
147
|
+
// class My_Component extends A_Component {
|
|
148
|
+
// async methodA() {
|
|
149
|
+
// await this.call('myFeature')
|
|
150
|
+
// }
|
|
151
|
+
|
|
152
|
+
// @A_Feature.Extend({
|
|
153
|
+
// name: 'myFeature',
|
|
154
|
+
// })
|
|
155
|
+
// async stepOne(
|
|
156
|
+
// ) {
|
|
157
|
+
// executionOrder.push('stepOne');
|
|
158
|
+
// }
|
|
159
|
+
|
|
160
|
+
// @A_Feature.Extend({
|
|
161
|
+
// name: 'myFeature',
|
|
162
|
+
// })
|
|
163
|
+
// async stepTwo(
|
|
164
|
+
// ) {
|
|
165
|
+
// executionOrder.push('stepTwo');
|
|
166
|
+
// }
|
|
167
|
+
|
|
168
|
+
// @A_Feature.Extend({
|
|
169
|
+
// name: 'myFeature',
|
|
170
|
+
// })
|
|
171
|
+
// async stepThree(
|
|
172
|
+
// ) {
|
|
173
|
+
// executionOrder.push('stepThree');
|
|
174
|
+
// }
|
|
175
|
+
// }
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
// // 2) create a running scope
|
|
179
|
+
// const scope = new A_Scope({ name: 'TestScope', components: [My_Component] });
|
|
180
|
+
|
|
181
|
+
// // 3) create an instance of the component from the scope
|
|
182
|
+
// const myComponent = scope.resolve(My_Component);
|
|
183
|
+
// expect(myComponent).toBeInstanceOf(My_Component);
|
|
184
|
+
|
|
185
|
+
// // 4) call the feature caller to execute the feature
|
|
186
|
+
// await myComponent.methodA();
|
|
187
|
+
|
|
188
|
+
// // 5) check the results
|
|
189
|
+
// expect(executionOrder).toEqual(['stepOne', 'stepTwo', 'stepThree']);
|
|
190
|
+
// });
|
|
191
|
+
// it('Should execute feature steps in proper order', async () => {
|
|
192
|
+
// const executionOrder: string[] = [];
|
|
193
|
+
|
|
194
|
+
// // 1) create a base component with some feature
|
|
195
|
+
// class My_Component extends A_Component {
|
|
196
|
+
// async methodA() {
|
|
197
|
+
// await this.call('myFeature')
|
|
198
|
+
// }
|
|
199
|
+
|
|
200
|
+
// @A_Feature.Extend({
|
|
201
|
+
// name: 'myFeature',
|
|
202
|
+
// after: ['My_Component.stepTwo'],
|
|
203
|
+
// })
|
|
204
|
+
// async stepOne(
|
|
205
|
+
// ) {
|
|
206
|
+
// executionOrder.push('stepOne');
|
|
207
|
+
// }
|
|
208
|
+
|
|
209
|
+
// @A_Feature.Extend({
|
|
210
|
+
// name: 'myFeature',
|
|
211
|
+
// })
|
|
212
|
+
// async stepTwo(
|
|
213
|
+
// ) {
|
|
214
|
+
// executionOrder.push('stepTwo');
|
|
215
|
+
// }
|
|
216
|
+
// }
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
// // 2) create a running scope
|
|
220
|
+
// const scope = new A_Scope({ name: 'TestScope', components: [My_Component] });
|
|
221
|
+
|
|
222
|
+
// // 3) create an instance of the component from the scope
|
|
223
|
+
// const myComponent = scope.resolve(My_Component);
|
|
224
|
+
// expect(myComponent).toBeInstanceOf(My_Component);
|
|
225
|
+
|
|
226
|
+
// // 4) call the feature caller to execute the feature
|
|
227
|
+
// await myComponent.methodA();
|
|
228
|
+
|
|
229
|
+
// // 5) check the results
|
|
230
|
+
// expect(executionOrder).toEqual(['stepTwo', 'stepOne']);
|
|
231
|
+
// });
|
|
232
|
+
|
|
233
|
+
// it('Should allow to define a feature', async () => {
|
|
234
|
+
// const executionOrder: string[] = [];
|
|
235
|
+
|
|
236
|
+
// // 1) create a base component with some feature
|
|
237
|
+
// class My_Component extends A_Component {
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
// @A_Feature.Define({ invoke: true })
|
|
241
|
+
// @A_Feature.Extend({
|
|
242
|
+
// name: 'myFeature',
|
|
243
|
+
// })
|
|
244
|
+
// async feature1(
|
|
245
|
+
// @A_Inject(A_Component) component: A_Component
|
|
246
|
+
// ) { }
|
|
247
|
+
|
|
248
|
+
// @A_Feature.Extend({
|
|
249
|
+
// name: 'feature1',
|
|
250
|
+
// })
|
|
251
|
+
// async feature1Extension() {
|
|
252
|
+
// executionOrder.push('stepOne');
|
|
253
|
+
// }
|
|
254
|
+
|
|
255
|
+
// @A_Feature.Define()
|
|
256
|
+
// async feature2() {
|
|
257
|
+
// await this.call('feature2');
|
|
258
|
+
// }
|
|
259
|
+
|
|
260
|
+
// @A_Feature.Extend({
|
|
261
|
+
// name: 'feature2',
|
|
262
|
+
// })
|
|
263
|
+
// async feature2Extension() {
|
|
264
|
+
// executionOrder.push('stepTwo');
|
|
265
|
+
// }
|
|
266
|
+
|
|
267
|
+
// }
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
// // 2) create a running scope
|
|
271
|
+
// const scope = new A_Scope({ name: 'TestScope', components: [My_Component] });
|
|
272
|
+
|
|
273
|
+
// // 3) create an instance of the component from the scope
|
|
274
|
+
// const myComponent = scope.resolve(My_Component);
|
|
275
|
+
// expect(myComponent).toBeInstanceOf(My_Component);
|
|
16
276
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
it('Should Allow to create a feature with steps', async () => {
|
|
27
|
-
const template = [
|
|
28
|
-
{
|
|
29
|
-
name: 'A_Component.testHandler',
|
|
30
|
-
component: A_Component,
|
|
31
|
-
handler: 'testHandler',
|
|
32
|
-
}
|
|
33
|
-
]
|
|
34
|
-
|
|
35
|
-
const feature = new A_Feature({
|
|
36
|
-
name: 'testFeature',
|
|
37
|
-
scope: new A_Scope(),
|
|
38
|
-
template
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
expect(feature).toBeInstanceOf(A_Feature);
|
|
42
|
-
});
|
|
43
|
-
it('Should be possible to execute a feature with steps as a template on the component', async () => {
|
|
44
|
-
// 1) create a base component with some feature
|
|
45
|
-
class MyExtendedComponent extends A_Component {
|
|
46
|
-
|
|
47
|
-
async testHandler(
|
|
48
|
-
@A_Inject(A_Caller) caller: MyComponent
|
|
49
|
-
) {
|
|
50
|
-
caller.sum = 2;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
// 2) create a custom component with a defined template feature
|
|
55
|
-
class MyComponent extends A_Component {
|
|
56
|
-
sum: number = 0;
|
|
57
|
-
|
|
58
|
-
@A_Feature.Define({
|
|
59
|
-
invoke: true,
|
|
60
|
-
template: [{
|
|
61
|
-
name: 'MyExtendedComponent.testHandler',
|
|
62
|
-
component: MyExtendedComponent,
|
|
63
|
-
handler: 'testHandler',
|
|
64
|
-
behavior: 'sync',
|
|
65
|
-
before: [],
|
|
66
|
-
after: []
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
name: 'MyExtendedComponent.testHandler',
|
|
70
|
-
component: MyExtendedComponent,
|
|
71
|
-
handler: 'testHandler'
|
|
72
|
-
}]
|
|
73
|
-
})
|
|
74
|
-
async testHandler() { }
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
// 3) create a running scope
|
|
79
|
-
const scope = new A_Scope({ name: 'TestScope' });
|
|
80
|
-
scope.register(MyExtendedComponent);
|
|
81
|
-
scope.register(MyComponent);
|
|
82
|
-
|
|
83
|
-
// 4) create an instance of the component from the scope
|
|
84
|
-
const myComponent = scope.resolve(MyComponent);
|
|
85
|
-
expect(myComponent).toBeInstanceOf(MyComponent);
|
|
86
|
-
expect(myComponent.sum).toBe(0);
|
|
87
|
-
|
|
88
|
-
// 5) call the feature caller to execute the feature
|
|
89
|
-
await myComponent.testHandler();
|
|
90
|
-
|
|
91
|
-
// 6) check the results
|
|
92
|
-
expect(myComponent.sum).toBe(2);
|
|
93
|
-
|
|
94
|
-
});
|
|
95
|
-
it('Should be possible to execute a feature with steps as a template on the component with string component declaration', async () => {
|
|
96
|
-
// 1) create a base component with some feature
|
|
97
|
-
class MyExtendedComponent2 extends A_Component {
|
|
98
|
-
|
|
99
|
-
async testHandler(
|
|
100
|
-
@A_Inject(A_Caller) caller: MyComponent2
|
|
101
|
-
) {
|
|
102
|
-
caller.sum = 2;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
// 2) create a custom component with a defined template feature
|
|
107
|
-
class MyComponent2 extends A_Component {
|
|
108
|
-
sum: number = 0;
|
|
109
|
-
|
|
110
|
-
@A_Feature.Define({
|
|
111
|
-
invoke: true,
|
|
112
|
-
template: [{
|
|
113
|
-
name: 'MyExtendedComponent2.testHandler',
|
|
114
|
-
component: 'MyExtendedComponent2',
|
|
115
|
-
handler: 'testHandler',
|
|
116
|
-
behavior: 'sync',
|
|
117
|
-
before: [],
|
|
118
|
-
after: []
|
|
119
|
-
}]
|
|
120
|
-
})
|
|
121
|
-
async testHandler() { }
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
// 3) create a running scope
|
|
126
|
-
const scope = new A_Scope({ name: 'TestScope' });
|
|
127
|
-
scope.register(MyExtendedComponent2);
|
|
128
|
-
scope.register(MyComponent2);
|
|
129
|
-
|
|
130
|
-
// 4) create an instance of the component from the scope
|
|
131
|
-
const myComponent = scope.resolve(MyComponent2);
|
|
132
|
-
expect(myComponent).toBeInstanceOf(MyComponent2);
|
|
133
|
-
expect(myComponent.sum).toBe(0);
|
|
134
|
-
|
|
135
|
-
// 5) call the feature caller to execute the feature
|
|
136
|
-
await myComponent.testHandler();
|
|
137
|
-
|
|
138
|
-
// 6) check the results
|
|
139
|
-
expect(myComponent.sum).toBe(2);
|
|
140
|
-
|
|
141
|
-
});
|
|
142
|
-
it('Should execute feature steps in base order', async () => {
|
|
277
|
+
// // 4) call the feature caller to execute the feature
|
|
278
|
+
// await myComponent.feature1(new A_Component());
|
|
279
|
+
|
|
280
|
+
// await myComponent.feature2();
|
|
281
|
+
|
|
282
|
+
// // 5) check the results
|
|
283
|
+
// expect(executionOrder).toEqual(['stepOne', 'stepTwo']);
|
|
284
|
+
// });
|
|
285
|
+
it('Should inherit feature definitions & extensions', async () => {
|
|
143
286
|
const executionOrder: string[] = [];
|
|
144
287
|
|
|
145
288
|
// 1) create a base component with some feature
|
|
146
289
|
class My_Component extends A_Component {
|
|
147
|
-
async methodA() {
|
|
148
|
-
await this.call('myFeature')
|
|
149
|
-
}
|
|
150
290
|
|
|
151
|
-
@A_Feature.
|
|
152
|
-
|
|
153
|
-
})
|
|
154
|
-
async stepOne(
|
|
155
|
-
) {
|
|
291
|
+
@A_Feature.Define({ invoke: false })
|
|
292
|
+
async feature1() {
|
|
156
293
|
executionOrder.push('stepOne');
|
|
157
|
-
}
|
|
158
294
|
|
|
159
|
-
|
|
160
|
-
name: 'myFeature',
|
|
161
|
-
})
|
|
162
|
-
async stepTwo(
|
|
163
|
-
) {
|
|
164
|
-
executionOrder.push('stepTwo');
|
|
295
|
+
await this.call('feature1');
|
|
165
296
|
}
|
|
166
297
|
|
|
167
298
|
@A_Feature.Extend({
|
|
168
|
-
name: '
|
|
299
|
+
name: 'feature1',
|
|
169
300
|
})
|
|
170
|
-
async
|
|
301
|
+
async feature1Extension(
|
|
302
|
+
@A_Inject(A_Scope) scope: A_Scope
|
|
171
303
|
) {
|
|
172
|
-
executionOrder.push('
|
|
304
|
+
executionOrder.push('stepTwo');
|
|
173
305
|
}
|
|
174
306
|
}
|
|
175
307
|
|
|
176
308
|
|
|
309
|
+
class My_Child_Component extends My_Component { }
|
|
310
|
+
|
|
311
|
+
|
|
177
312
|
// 2) create a running scope
|
|
178
|
-
const scope = new A_Scope({ name: 'TestScope', components: [
|
|
313
|
+
const scope = new A_Scope({ name: 'TestScope', components: [My_Child_Component] });
|
|
179
314
|
|
|
180
315
|
// 3) create an instance of the component from the scope
|
|
181
|
-
const myComponent = scope.resolve(
|
|
182
|
-
expect(myComponent).toBeInstanceOf(
|
|
316
|
+
const myComponent = scope.resolve(My_Child_Component);
|
|
317
|
+
expect(myComponent).toBeInstanceOf(My_Child_Component);
|
|
183
318
|
|
|
184
|
-
|
|
185
|
-
await myComponent.methodA();
|
|
319
|
+
await myComponent.feature1();
|
|
186
320
|
|
|
187
|
-
|
|
188
|
-
expect(executionOrder).toEqual(['stepOne', 'stepTwo', 'stepThree']);
|
|
321
|
+
expect(executionOrder).toEqual(['stepOne', 'stepTwo']);
|
|
189
322
|
});
|
|
190
|
-
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
it('Should allow override feature extension', async () => {
|
|
191
326
|
const executionOrder: string[] = [];
|
|
192
327
|
|
|
193
328
|
// 1) create a base component with some feature
|
|
194
329
|
class My_Component extends A_Component {
|
|
195
|
-
async methodA() {
|
|
196
|
-
await this.call('myFeature')
|
|
197
|
-
}
|
|
198
330
|
|
|
199
|
-
@A_Feature.
|
|
200
|
-
|
|
201
|
-
after: ['My_Component.stepTwo'],
|
|
202
|
-
})
|
|
203
|
-
async stepOne(
|
|
204
|
-
) {
|
|
331
|
+
@A_Feature.Define({ invoke: true })
|
|
332
|
+
async feature1() {
|
|
205
333
|
executionOrder.push('stepOne');
|
|
206
334
|
}
|
|
207
335
|
|
|
208
336
|
@A_Feature.Extend({
|
|
209
|
-
name: '
|
|
337
|
+
name: 'feature1',
|
|
210
338
|
})
|
|
211
|
-
async
|
|
339
|
+
async feature1Extension(
|
|
340
|
+
@A_Inject(A_Scope) scope: A_Scope
|
|
212
341
|
) {
|
|
213
342
|
executionOrder.push('stepTwo');
|
|
214
343
|
}
|
|
215
344
|
}
|
|
216
345
|
|
|
217
346
|
|
|
218
|
-
|
|
219
|
-
const scope = new A_Scope({ name: 'TestScope', components: [My_Component] });
|
|
220
|
-
|
|
221
|
-
// 3) create an instance of the component from the scope
|
|
222
|
-
const myComponent = scope.resolve(My_Component);
|
|
223
|
-
expect(myComponent).toBeInstanceOf(My_Component);
|
|
224
|
-
|
|
225
|
-
// 4) call the feature caller to execute the feature
|
|
226
|
-
await myComponent.methodA();
|
|
227
|
-
|
|
228
|
-
// 5) check the results
|
|
229
|
-
expect(executionOrder).toEqual(['stepTwo', 'stepOne']);
|
|
230
|
-
});
|
|
231
|
-
|
|
232
|
-
it('Should allow to define a feature', async () => {
|
|
233
|
-
const executionOrder: string[] = [];
|
|
234
|
-
|
|
235
|
-
// 1) create a base component with some feature
|
|
236
|
-
class My_Component extends A_Component {
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
@A_Feature.Define({ invoke: true })
|
|
240
|
-
@A_Feature.Extend({
|
|
241
|
-
name: 'myFeature',
|
|
242
|
-
})
|
|
243
|
-
async feature1(
|
|
244
|
-
@A_Inject(A_Component) component: A_Component
|
|
245
|
-
) { }
|
|
347
|
+
class My_Child_Component extends My_Component {
|
|
246
348
|
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
executionOrder.push('stepOne');
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
@A_Feature.Define()
|
|
255
|
-
async feature2() {
|
|
256
|
-
await this.call('feature2');
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
@A_Feature.Extend({
|
|
260
|
-
name: 'feature2',
|
|
261
|
-
})
|
|
262
|
-
async feature2Extension() {
|
|
263
|
-
executionOrder.push('stepTwo');
|
|
349
|
+
async feature1Extension(
|
|
350
|
+
@A_Inject(A_Scope) scope: A_Scope
|
|
351
|
+
) {
|
|
352
|
+
executionOrder.push('stepThree');
|
|
264
353
|
}
|
|
265
|
-
|
|
266
354
|
}
|
|
267
355
|
|
|
268
356
|
|
|
269
357
|
// 2) create a running scope
|
|
270
|
-
const scope = new A_Scope({ name: 'TestScope', components: [
|
|
358
|
+
const scope = new A_Scope({ name: 'TestScope', components: [My_Child_Component] });
|
|
271
359
|
|
|
272
360
|
// 3) create an instance of the component from the scope
|
|
273
|
-
const myComponent = scope.resolve(
|
|
274
|
-
expect(myComponent).toBeInstanceOf(
|
|
361
|
+
const myComponent = scope.resolve(My_Child_Component);
|
|
362
|
+
expect(myComponent).toBeInstanceOf(My_Child_Component);
|
|
275
363
|
|
|
276
|
-
|
|
277
|
-
await myComponent.feature1(new A_Component());
|
|
364
|
+
await myComponent.feature1();
|
|
278
365
|
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
// 5) check the results
|
|
282
|
-
expect(executionOrder).toEqual(['stepOne', 'stepTwo']);
|
|
366
|
+
expect(executionOrder).toEqual(['stepOne', 'stepThree']);
|
|
283
367
|
});
|
|
284
368
|
});
|