@adaas/a-concept 0.0.40 → 0.0.41
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/decorators/A-Feature/A-Feature-Define.decorator.js +1 -0
- package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.js.map +1 -1
- package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js +10 -0
- package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js.map +1 -1
- package/dist/src/decorators/A-Feature/A-Feature.decorator.types.d.ts +1 -0
- package/dist/src/global/A-Context/A-Context.class.d.ts +1 -4
- package/dist/src/global/A-Context/A-Context.class.js +8 -2
- package/dist/src/global/A-Context/A-Context.class.js.map +1 -1
- package/dist/src/global/A-Feature/A-Feature.class.js +9 -17
- package/dist/src/global/A-Feature/A-Feature.class.js.map +1 -1
- package/dist/src/global/A-Meta/A-Meta.class.d.ts +6 -0
- package/dist/src/global/A-Meta/A-Meta.class.js +8 -0
- package/dist/src/global/A-Meta/A-Meta.class.js.map +1 -1
- package/dist/src/global/A-Stage/A-Stage.class.d.ts +3 -2
- package/dist/src/global/A-Stage/A-Stage.class.js +16 -3
- package/dist/src/global/A-Stage/A-Stage.class.js.map +1 -1
- package/dist/src/global/A-Stage/A-Stage.error.d.ts +3 -0
- package/dist/src/global/A-Stage/A-Stage.error.js +8 -0
- package/dist/src/global/A-Stage/A-Stage.error.js.map +1 -0
- package/dist/src/helpers/StepsManager.class.d.ts +17 -0
- package/dist/src/helpers/StepsManager.class.js +41 -3
- package/dist/src/helpers/StepsManager.class.js.map +1 -1
- package/examples/simple/components/A.component.ts +12 -3
- package/examples/simple/concept.ts +10 -5
- package/package.json +1 -1
- package/src/decorators/A-Feature/A-Feature-Define.decorator.ts +1 -0
- package/src/decorators/A-Feature/A-Feature-Extend.decorator.ts +17 -0
- package/src/decorators/A-Feature/A-Feature.decorator.types.ts +1 -0
- package/src/global/A-Context/A-Context.class.ts +3 -18
- package/src/global/A-Feature/A-Feature.class.ts +18 -23
- package/src/global/A-Meta/A-Meta.class.ts +10 -0
- package/src/global/A-Stage/A-Stage.class.ts +30 -9
- package/src/global/A-Stage/A-Stage.error.ts +9 -0
- package/src/helpers/StepsManager.class.ts +63 -3
|
@@ -47,6 +47,7 @@ function A_Feature_Define(config = {}) {
|
|
|
47
47
|
existedMeta.set(propertyKey, {
|
|
48
48
|
name: `${target.constructor.name}.${handlerName}`,
|
|
49
49
|
handler: handlerName,
|
|
50
|
+
invoke: invoke,
|
|
50
51
|
template: config.template && config.template.length ? config.template.map(item => (Object.assign(Object.assign({}, item), { before: item.before || [], after: item.after || [], behavior: item.behavior || 'sync' }))) : [],
|
|
51
52
|
channel: config.channel || []
|
|
52
53
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-Feature-Define.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/A-Feature/A-Feature-Define.decorator.ts"],"names":[],"mappings":";;AA8BA,
|
|
1
|
+
{"version":3,"file":"A-Feature-Define.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/A-Feature/A-Feature-Define.decorator.ts"],"names":[],"mappings":";;AA8BA,4CA4FC;AArHD,oFAA2E;AAC3E,uFAA8E;AAC9E,6FAAoF;AACpF,6FAAoF;AACpF,6FAAkG;AAIlG,oFAAyF;AACzF,6FAAkG;AAClG,8EAAqE;AAErE;;;;;;;;;;;;GAYG;AACH,SAAgB,gBAAgB,CAC5B,SAAqD,EAAE;IAEvD,OAAO,UACH,MAA4C,EAC5C,WAAmB,EACnB,UAAiD;QAGjD,MAAM,IAAI,GAAqD,2BAAS,CAAC,IAAI,CAAC,MAAM,CAAC,WAAkB,CAAC,CAAC;QAEzG,IAAI,OAAO,CAAC;QAGZ,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,MAAM,YAAY,yBAAQ;gBAC3B,OAAO,GAAG,uCAAsB,CAAC,QAAQ,CAAC;gBAC1C,MAAM;YACV,KAAK,MAAM,YAAY,+BAAW;gBAC9B,OAAO,GAAG,6CAAyB,CAAC,QAAQ,CAAA;gBAC5C,MAAM;YACV,KAAK,MAAM,YAAY,+BAAW;gBAC9B,OAAO,GAAG,6CAAyB,CAAC,QAAQ,CAAA;gBAC5C,MAAM;YACV;gBACI,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,QAAQ,CAAC,CAAC;QAC9E,CAAC;QAGD,+CAA+C;QAC/C,MAAM,WAAW,GAOZ,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,qBAAM,EAAE,CAAC;QAIvC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC;QAGvC,uEAAuE;QACvE,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE;YACzB,IAAI,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,WAAW,EAAE;YACjD,OAAO,EAAE,WAAW;YACpB,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CACrE,IAAI,CAAC,EAAE,CAAC,iCACD,IAAI,KACP,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE,EACzB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,MAAM,IACnC,CACL,CAAC,CAAC,CAAC,EAAE;YACN,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;SAChC,CAAC,CAAC;QAEH,wEAAwE;QACxE,2BAAS;aACJ,IAAI,CAAC,MAAM,CAAC,WAAkB,CAAC;aAC/B,GAAG,CACA,OAAO,EACP,WAAW,CACd,CAAC;QAGN,MAAM,cAAc,GAAG,UAAU,CAAC,KAAM,CAAC;QAIzC,qDAAqD;QACrD,0FAA0F;QAC1F,UAAU,CAAC,KAAK,GAAG,UAAU,GAAG,IAAW;YAEvC,2BAA2B;YAC3B,IAAI,CAAC,MAAM;gBACP,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;;gBAExC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAErC,0CAA0C;YAC1C,IAAI,OAAQ,IAAY,CAAC,IAAI,KAAK,UAAU,IAAI,MAAM;gBAClD,OAAQ,IAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE/C,CAAC,CAAC;QAEF,OAAO,UAAU,CAAC;IACtB,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -27,11 +27,21 @@ function A_Feature_Extend(param1) {
|
|
|
27
27
|
else {
|
|
28
28
|
targetRegexp = new RegExp(`^.*\\.${propertyKey}$`);
|
|
29
29
|
}
|
|
30
|
+
const existedDefinitions = A_Context_class_1.A_Context
|
|
31
|
+
.meta(target)
|
|
32
|
+
.get(A_Component_types_1.A_TYPES__ComponentMetaKey.FEATURES);
|
|
30
33
|
// Get the existed metadata or create a new one
|
|
31
34
|
const existedMeta = A_Context_class_1.A_Context
|
|
32
35
|
.meta(target)
|
|
33
36
|
.get(A_Component_types_1.A_TYPES__ComponentMetaKey.EXTENSIONS)
|
|
34
37
|
|| new A_Meta_class_1.A_Meta();
|
|
38
|
+
if (existedDefinitions
|
|
39
|
+
&& existedDefinitions.size()
|
|
40
|
+
&& existedDefinitions.has(propertyKey)
|
|
41
|
+
&& existedDefinitions.get(propertyKey).invoke) {
|
|
42
|
+
throw new Error(`A-Feature-Extend cannot be used on the method "${propertyKey}" because it is already defined as a Feature with "invoke" set to true.
|
|
43
|
+
Please remove the A-Feature-Extend decorator or set "invoke" to false in the A-Feature decorator.`);
|
|
44
|
+
}
|
|
35
45
|
const existedMetaValue = existedMeta.get(targetRegexp.source) || [];
|
|
36
46
|
// Add the new method to the metadata
|
|
37
47
|
existedMetaValue.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-Feature-Extend.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/A-Feature/A-Feature-Extend.decorator.ts"],"names":[],"mappings":";;AA+CA,
|
|
1
|
+
{"version":3,"file":"A-Feature-Extend.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/A-Feature/A-Feature-Extend.decorator.ts"],"names":[],"mappings":";;AA+CA,4CA8EC;AAxHD,6FAAkG;AAClG,uFAA8E;AAC9E,8EAAqE;AAwCrE,SAAgB,gBAAgB,CAC5B,MAA2D;IAE3D,OAAO,UACH,MAAmB,EACnB,WAAmB,EACnB,UAAgD;QAGhD,IAAI,YAAoB,CAAC;QACzB,IAAI,QAAQ,GAAqB,MAAM,CAAC;QACxC,IAAI,MAAM,GAAa,EAAE,CAAC;QAC1B,IAAI,KAAK,GAAa,EAAE,CAAC;QAGzB,kCAAkC;QAClC,IAAI,MAAM,YAAY,MAAM,EAAE,CAAC;YAC3B,YAAY,GAAG,MAAM,CAAC;QAC1B,CAAC;aACI,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YAChB,YAAY,GAAG,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK;gBACtC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK;qBACb,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;qBAClB,IAAI,CAAC,GAAG,CAAC,GAAG;gBACjB,CAAC,CAAC,IACF,MAAM,MAAM,CAAC,IAAI,IAAI,WAAW,GAAG,CAAC,CAAC;YAEzC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAC;YACvC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC;YACjC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;QAClC,CAAC;aACI,CAAC;YACF,YAAY,GAAG,IAAI,MAAM,CAAC,SAAS,WAAW,GAAG,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,kBAAkB,GAAG,2BAAS;aAC/B,IAAI,CAAC,MAAM,CAAC;aACZ,GAAG,CAAC,6CAAyB,CAAC,QAAQ,CAAC,CAAC;QAI7C,+CAA+C;QAC/C,MAAM,WAAW,GAAG,2BAAS;aACxB,IAAI,CAAC,MAAM,CAAC;aACZ,GAAG,CAAC,6CAAyB,CAAC,UAAU,CAAC;eACvC,IAAI,qBAAM,EAAE,CAAC;QAGpB,IAAI,kBAAkB;eACf,kBAAkB,CAAC,IAAI,EAAE;eACzB,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC;eACnC,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC,MAAM,EAChD,CAAC;YAEC,MAAM,IAAI,KAAK,CAAC,kDAAkD,WAAW;8GACqB,CAAC,CAAC;QACxG,CAAC;QAGD,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAEpE,qCAAqC;QACrC,gBAAgB,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,YAAY,CAAC,MAAM;YACzB,OAAO,EAAE,WAAW;YACpB,QAAQ;YACR,MAAM;YACN,KAAK;SACR,CAAC,CAAC;QAEH,sEAAsE;QACtE,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAEvD,wEAAwE;QACxE,2BAAS;aACJ,IAAI,CAAC,MAAM,CAAC;aACZ,GAAG,CAAC,6CAAyB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAChE,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -20,6 +20,7 @@ export type A_TYPES__A_FeatureTemplateItem = A_TYPES__Required<Partial<A_TYPES__
|
|
|
20
20
|
export type A_TYPES__A_DefineDecorator_Meta = {
|
|
21
21
|
name: string;
|
|
22
22
|
handler: string;
|
|
23
|
+
invoke: boolean;
|
|
23
24
|
channel: Array<typeof A_Channel>;
|
|
24
25
|
template: Array<A_TYPES__A_StageStep>;
|
|
25
26
|
};
|
|
@@ -7,7 +7,6 @@ import { A_TYPES__ScopeConfig, A_TYPES__ScopeConstructor } from "../A-Scope/A-Sc
|
|
|
7
7
|
import { A_Meta } from "../A-Meta/A-Meta.class";
|
|
8
8
|
import { A_ComponentMeta } from "../A-Component/A-Component.meta";
|
|
9
9
|
import { A_ContainerMeta } from "../A-Container/A-Container.meta";
|
|
10
|
-
import { A_TYPES__EntityBaseMethod } from "../A-Entity/A-Entity.types";
|
|
11
10
|
import { A_Entity } from "../A-Entity/A-Entity.class";
|
|
12
11
|
import { A_EntityMeta } from "../A-Entity/A-Entity.meta";
|
|
13
12
|
import { A_TYPES__FeatureConstructor } from "../A-Feature/A-Feature.types";
|
|
@@ -100,9 +99,7 @@ export declare class A_Context {
|
|
|
100
99
|
* @param scope
|
|
101
100
|
* @returns
|
|
102
101
|
*/
|
|
103
|
-
static feature<T extends Array<string>>(
|
|
104
|
-
static feature<T extends Array<string>>(container: A_Container, feature: T[number], scope: A_Scope): A_Feature;
|
|
105
|
-
static feature(component: A_Component, feature: string, scope: A_Scope): A_Feature;
|
|
102
|
+
static feature<T extends Array<string>>(component: A_Component | A_Container | A_Entity<any, any>, feature: string | T[number] | RegExp, scope: A_Scope): A_Feature;
|
|
106
103
|
/**
|
|
107
104
|
* Register a Namespace in the provider.
|
|
108
105
|
* @param Namespace
|
|
@@ -308,8 +308,14 @@ class A_Context {
|
|
|
308
308
|
});
|
|
309
309
|
return { name, steps, scope };
|
|
310
310
|
}
|
|
311
|
-
|
|
312
|
-
|
|
311
|
+
/**
|
|
312
|
+
* This method returns a step-by-step instructions of feature implementation depending on the feature name and the class.
|
|
313
|
+
*
|
|
314
|
+
* @param scope
|
|
315
|
+
* @returns
|
|
316
|
+
*/
|
|
317
|
+
static feature(component, feature, scope) {
|
|
318
|
+
const featureConstructor = this.featureDefinition(component, feature, scope);
|
|
313
319
|
const newFeature = new A_Feature_class_1.A_Feature(featureConstructor);
|
|
314
320
|
return newFeature;
|
|
315
321
|
}
|
|
@@ -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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"}
|
|
@@ -15,6 +15,7 @@ const A_Feature_Extend_decorator_1 = require("../../decorators/A-Feature/A-Featu
|
|
|
15
15
|
const A_Feature_types_1 = require("./A-Feature.types");
|
|
16
16
|
const a_utils_1 = require("@adaas/a-utils");
|
|
17
17
|
const StepsManager_class_1 = require("../../helpers/StepsManager.class");
|
|
18
|
+
const A_Stage_error_1 = require("../A-Stage/A-Stage.error");
|
|
18
19
|
/**
|
|
19
20
|
* A_Feature is representing a feature that can be executed across multiple components
|
|
20
21
|
* This class stores the steps of the feature and executes them in order of appearance
|
|
@@ -139,41 +140,32 @@ class A_Feature {
|
|
|
139
140
|
*/
|
|
140
141
|
process(scope) {
|
|
141
142
|
return __awaiter(this, void 0, void 0, function* () {
|
|
143
|
+
console.log('Processing feature:', this.name);
|
|
142
144
|
if (this.isDone()) {
|
|
143
145
|
return this.result;
|
|
144
146
|
}
|
|
145
147
|
try {
|
|
146
148
|
this.state = A_Feature_types_1.A_TYPES__FeatureState.PROCESSING;
|
|
147
149
|
for (const stage of this.stages) {
|
|
150
|
+
console.log('Processing stage:', stage.name);
|
|
148
151
|
yield stage.process();
|
|
152
|
+
console.log('Stage processed:', stage.name, 'Status:', stage.status);
|
|
149
153
|
}
|
|
150
|
-
yield this.completed();
|
|
154
|
+
return yield this.completed();
|
|
151
155
|
}
|
|
152
156
|
catch (error) {
|
|
153
|
-
yield this.failed(error);
|
|
157
|
+
return yield this.failed(error);
|
|
154
158
|
}
|
|
155
159
|
});
|
|
156
160
|
}
|
|
157
161
|
errorHandler(error) {
|
|
158
162
|
return __awaiter(this, void 0, void 0, function* () {
|
|
163
|
+
console.log('Feature failed with error:', this.name);
|
|
159
164
|
switch (true) {
|
|
165
|
+
case error instanceof A_Stage_error_1.A_StageError:
|
|
166
|
+
return; // Do nothing, already handled in the stage
|
|
160
167
|
case error instanceof a_utils_1.A_Error:
|
|
161
168
|
throw error;
|
|
162
|
-
case error instanceof Error
|
|
163
|
-
&& error.message === 'FEATURE_PROCESSING_INTERRUPTED'
|
|
164
|
-
&& this.state === A_Feature_types_1.A_TYPES__FeatureState.FAILED:
|
|
165
|
-
throw new a_utils_1.A_Error({
|
|
166
|
-
message: 'FEATURE_PROCESSING_INTERRUPTED',
|
|
167
|
-
code: 'FEATURE_PROCESSING_INTERRUPTED',
|
|
168
|
-
data: {
|
|
169
|
-
feature: this
|
|
170
|
-
}
|
|
171
|
-
});
|
|
172
|
-
case error instanceof Error
|
|
173
|
-
&& error.message === 'FEATURE_PROCESSING_INTERRUPTED'
|
|
174
|
-
&& this.state === A_Feature_types_1.A_TYPES__FeatureState.COMPLETED:
|
|
175
|
-
// Do nothing
|
|
176
|
-
break;
|
|
177
169
|
default:
|
|
178
170
|
throw error;
|
|
179
171
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-Feature.class.js","sourceRoot":"","sources":["../../../../src/global/A-Feature/A-Feature.class.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,iHAAoG;AACpG,iHAAoG;AACpG,uDAAwF;AACxF,4CAA4D;AAG5D,oFAA2E;
|
|
1
|
+
{"version":3,"file":"A-Feature.class.js","sourceRoot":"","sources":["../../../../src/global/A-Feature/A-Feature.class.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,iHAAoG;AACpG,iHAAoG;AACpG,uDAAwF;AACxF,4CAA4D;AAG5D,oFAA2E;AAE3E,4DAAwD;AAExD;;;;;;;GAOG;AACH,MAAa,SAAS;IAGlB;;OAEG;IACH,MAAM,KAAK,MAAM;QACb,OAAO,6CAAgB,CAAC;IAC5B,CAAC;IAGD;;OAEG;IACH,MAAM,KAAK,MAAM;QACb,OAAO,6CAAgB,CAAC;IAC5B,CAAC;IAkBD,YACI,MAAmC;QAhBvC,2BAA2B;QACjB,WAAM,GAAmB,EAAE,CAAC;QAE5B,WAAM,GAAW,CAAC,CAAC;QAG7B,UAAK,GAA0B,uCAAqB,CAAC,WAAW,CAAC;QAY7D,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;QAEzB,IAAI,CAAC,EAAE,GAAG,IAAI,iCAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEzC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAG/B,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;IACvC,CAAC;IAGD;;;OAGG;IACH,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAGD;;;;OAIG;IACH,CAAC,MAAM,CAAC,QAAQ,CAAC;QACb,OAAO;YACH,qBAAqB;YACrB,IAAI,EAAE,GAAiC,EAAE;gBACrC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;oBAEjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAEzC,OAAO;wBACH,KAAK,EAAE,IAAI,CAAC,QAAQ;wBACpB,IAAI,EAAE,KAAK;qBACd,CAAC;gBACN,CAAC;qBAAM,CAAC;oBAEJ,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,uBAAuB;oBAElD,OAAO;wBACH,KAAK,EAAE,SAAS;wBAChB,IAAI,EAAE,IAAI;qBACb,CAAC;gBACN,CAAC;YACL,CAAC;SACJ,CAAC;IACN,CAAC;IAKD;;;;OAIG;IACH,MAAM;QACF,OAAO,CAAC,IAAI,CAAC,KAAK;eACX,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM;eACjC,IAAI,CAAC,KAAK,KAAK,uCAAqB,CAAC,SAAS;eAC9C,IAAI,CAAC,KAAK,KAAK,uCAAqB,CAAC,MAAM,CAAC;IACvD,CAAC;IAID;;;;OAIG;IACH,IAAI,CAAC,KAAK;QACN,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAE9C,IAAI,CAAC,MAAM,GAAG,UAAU,GAAG,CAAC,CAAC;QAE7B,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACpC,IAAI,CAAC,SAAS,EAAE,CAAC;QACrB,CAAC;IACL,CAAC;IAGD;;;;;;;;OAQG;IACG,SAAS;;YAEX,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAElC,IAAI,CAAC,KAAK,GAAG,uCAAqB,CAAC,SAAS,CAAC;YAE7C,OAAO,IAAI,CAAC,MAAM,CAAC;QACvB,CAAC;KAAA;IAGD;;;;;OAKG;IACG,MAAM,CACR,KAAgC;;YAEhC,IAAI,CAAC,KAAK,GAAG,KAAgB,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAG,uCAAqB,CAAC,MAAM,CAAC;YAG1C,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;KAAA;IAGD;;;OAGG;IACG,OAAO,CACT,KAAe;;YAGf,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAE9C,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC,MAAM,CAAC;YACvB,CAAC;YAED,IAAI,CAAC;gBACD,IAAI,CAAC,KAAK,GAAG,uCAAqB,CAAC,UAAU,CAAC;gBAE9C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC9B,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;oBAE7C,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;oBAEtB,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACzE,CAAC;gBAGD,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YAGlC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAEb,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;QAEL,CAAC;KAAA;IAGe,YAAY,CAAC,KAAgC;;YACzD,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAErD,QAAQ,IAAI,EAAE,CAAC;gBACX,KAAK,KAAK,YAAY,4BAAY;oBAC9B,OAAO,CAAC,2CAA2C;gBAEvD,KAAK,KAAK,YAAY,iBAAO;oBACzB,MAAM,KAAK,CAAC;gBAEhB;oBACI,MAAM,KAAK,CAAC;YACpB,CAAC;QACL,CAAC;KAAA;CACJ;AAlND,8BAkNC"}
|
|
@@ -39,6 +39,12 @@ export declare class A_Meta<_StorageItems extends Record<string, any>> implement
|
|
|
39
39
|
* @returns
|
|
40
40
|
*/
|
|
41
41
|
delete(key: keyof _StorageItems): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Method to get the size of the map
|
|
44
|
+
*
|
|
45
|
+
* @returns
|
|
46
|
+
*/
|
|
47
|
+
size(): number;
|
|
42
48
|
/**
|
|
43
49
|
* This method is needed to convert the key to a regular expression and cover cases like:
|
|
44
50
|
*
|
|
@@ -74,6 +74,14 @@ class A_Meta {
|
|
|
74
74
|
delete(key) {
|
|
75
75
|
return this.meta.delete(key);
|
|
76
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* Method to get the size of the map
|
|
79
|
+
*
|
|
80
|
+
* @returns
|
|
81
|
+
*/
|
|
82
|
+
size() {
|
|
83
|
+
return this.meta.size;
|
|
84
|
+
}
|
|
77
85
|
/**
|
|
78
86
|
* This method is needed to convert the key to a regular expression and cover cases like:
|
|
79
87
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-Meta.class.js","sourceRoot":"","sources":["../../../../src/global/A-Meta/A-Meta.class.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,MAAa,MAAM;IAAnB;QAKc,SAAI,GAAiE,IAAI,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"A-Meta.class.js","sourceRoot":"","sources":["../../../../src/global/A-Meta/A-Meta.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,8 +11,9 @@ import { A_Scope } from "../A-Scope/A-Scope.class";
|
|
|
11
11
|
* A-Stage is a common object that uses to simplify logic and re-use of A-Feature internals for better composition.
|
|
12
12
|
*/
|
|
13
13
|
export declare class A_Stage {
|
|
14
|
-
|
|
15
|
-
private
|
|
14
|
+
readonly name: string;
|
|
15
|
+
private readonly feature;
|
|
16
|
+
private readonly _steps;
|
|
16
17
|
constructor(feature: A_Feature, _steps?: A_TYPES__A_StageStep[]);
|
|
17
18
|
status: A_TYPES__A_Stage_Status;
|
|
18
19
|
/**
|
|
@@ -16,6 +16,7 @@ const A_Feature_class_1 = require("../A-Feature/A-Feature.class");
|
|
|
16
16
|
const A_Stage_types_1 = require("./A-Stage.types");
|
|
17
17
|
const A_Container_class_1 = require("../A-Container/A-Container.class");
|
|
18
18
|
const A_Scope_class_1 = require("../A-Scope/A-Scope.class");
|
|
19
|
+
const A_Stage_error_1 = require("./A-Stage.error");
|
|
19
20
|
/**
|
|
20
21
|
* A_Stage is a set of A_Functions within A_Feature that should be run in a specific order.
|
|
21
22
|
* Each stage may contain one or more functions.
|
|
@@ -25,9 +26,17 @@ const A_Scope_class_1 = require("../A-Scope/A-Scope.class");
|
|
|
25
26
|
*/
|
|
26
27
|
class A_Stage {
|
|
27
28
|
constructor(feature, _steps = []) {
|
|
29
|
+
this.name = 'A_Stage';
|
|
30
|
+
this.status = A_Stage_types_1.A_TYPES__A_Stage_Status.INITIALIZED;
|
|
28
31
|
this.feature = feature;
|
|
29
32
|
this._steps = _steps;
|
|
30
|
-
this.
|
|
33
|
+
this.name = `${this.feature.name}::a-stage:[sync:${this
|
|
34
|
+
.syncSteps
|
|
35
|
+
.map(s => s.component.name + '.' + s.handler)
|
|
36
|
+
.join(' -> ')}][async:${this
|
|
37
|
+
.asyncSteps
|
|
38
|
+
.map(s => s.component.name + '.' + s.handler)
|
|
39
|
+
.join(' -> ')}]`;
|
|
31
40
|
}
|
|
32
41
|
get before() {
|
|
33
42
|
return this._steps.reduce((acc, step) => ([
|
|
@@ -110,7 +119,7 @@ class A_Stage {
|
|
|
110
119
|
return __awaiter(this, void 0, void 0, function* () {
|
|
111
120
|
const instance = yield this.getStepInstance(step);
|
|
112
121
|
const callArgs = yield this.getStepArgs(step, scope);
|
|
113
|
-
return instance[step.handler](...callArgs);
|
|
122
|
+
return yield instance[step.handler](...callArgs);
|
|
114
123
|
});
|
|
115
124
|
}
|
|
116
125
|
/**
|
|
@@ -125,6 +134,7 @@ class A_Stage {
|
|
|
125
134
|
*/
|
|
126
135
|
scope = new A_Scope_class_1.A_Scope({}, {}), params) {
|
|
127
136
|
scope = scope.inherit(this.feature.Scope);
|
|
137
|
+
console.log(' -> Init stage processing:', this.name);
|
|
128
138
|
if (!this.processed)
|
|
129
139
|
this.processed = new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
130
140
|
try {
|
|
@@ -143,7 +153,9 @@ class A_Stage {
|
|
|
143
153
|
new Promise((r, j) => __awaiter(this, void 0, void 0, function* () {
|
|
144
154
|
try {
|
|
145
155
|
for (const step of syncSteps) {
|
|
156
|
+
console.log(' - -> Processing stage step:', step.handler, ' with Regexp: ', step.name);
|
|
146
157
|
yield this.callStepHandler(step, scope);
|
|
158
|
+
console.log(' - -> Finished processing stage step:', step.handler);
|
|
147
159
|
}
|
|
148
160
|
return r();
|
|
149
161
|
}
|
|
@@ -153,6 +165,7 @@ class A_Stage {
|
|
|
153
165
|
}))
|
|
154
166
|
]);
|
|
155
167
|
this.completed();
|
|
168
|
+
console.log(' -> Finished stage processing:', this.name);
|
|
156
169
|
return resolve();
|
|
157
170
|
}
|
|
158
171
|
catch (error) {
|
|
@@ -180,7 +193,7 @@ class A_Stage {
|
|
|
180
193
|
}
|
|
181
194
|
failed(error) {
|
|
182
195
|
this.status = A_Stage_types_1.A_TYPES__A_Stage_Status.FAILED;
|
|
183
|
-
this.feature.failed(error);
|
|
196
|
+
this.feature.failed(new A_Stage_error_1.A_StageError(error));
|
|
184
197
|
}
|
|
185
198
|
// ==========================================
|
|
186
199
|
// ============ Serialization ===============
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-Stage.class.js","sourceRoot":"","sources":["../../../../src/global/A-Stage/A-Stage.class.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAyD;AACzD,kEAAyD;AACzD,kEAAyD;AACzD,mDAAkJ;AAClJ,wEAA+D;
|
|
1
|
+
{"version":3,"file":"A-Stage.class.js","sourceRoot":"","sources":["../../../../src/global/A-Stage/A-Stage.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.A_StageError = void 0;
|
|
4
|
+
const a_utils_1 = require("@adaas/a-utils");
|
|
5
|
+
class A_StageError extends a_utils_1.A_Error {
|
|
6
|
+
}
|
|
7
|
+
exports.A_StageError = A_StageError;
|
|
8
|
+
//# sourceMappingURL=A-Stage.error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"A-Stage.error.js","sourceRoot":"","sources":["../../../../src/global/A-Stage/A-Stage.error.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AAGzC,MAAa,YAAa,SAAQ,iBAAO;CAKxC;AALD,oCAKC"}
|
|
@@ -14,3 +14,20 @@ export declare class StepsManager {
|
|
|
14
14
|
private visit;
|
|
15
15
|
toStages(feature: A_Feature): Array<A_Stage>;
|
|
16
16
|
}
|
|
17
|
+
export declare class A_TmpStage {
|
|
18
|
+
readonly name: string;
|
|
19
|
+
private readonly _steps;
|
|
20
|
+
constructor(_steps?: A_TYPES__A_StageStep[]);
|
|
21
|
+
get before(): string[];
|
|
22
|
+
get after(): string[];
|
|
23
|
+
get steps(): A_TYPES__A_StageStep[];
|
|
24
|
+
get asyncSteps(): A_TYPES__A_StageStep[];
|
|
25
|
+
get syncSteps(): A_TYPES__A_StageStep[];
|
|
26
|
+
/**
|
|
27
|
+
* Adds a step to the stage
|
|
28
|
+
*
|
|
29
|
+
* @param step
|
|
30
|
+
* @returns
|
|
31
|
+
*/
|
|
32
|
+
add(step: A_TYPES__A_StageStep): this;
|
|
33
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StepsManager = void 0;
|
|
3
|
+
exports.A_TmpStage = exports.StepsManager = void 0;
|
|
4
4
|
const A_Stage_class_1 = require("../global/A-Stage/A-Stage.class");
|
|
5
5
|
class StepsManager {
|
|
6
6
|
constructor(entities) {
|
|
@@ -76,13 +76,51 @@ class StepsManager {
|
|
|
76
76
|
&& step.before.every(before => stage.after.includes(before));
|
|
77
77
|
});
|
|
78
78
|
if (!stage) {
|
|
79
|
-
stage = new
|
|
79
|
+
stage = new A_TmpStage();
|
|
80
80
|
stages.push(stage);
|
|
81
81
|
}
|
|
82
82
|
stage.add(step);
|
|
83
83
|
});
|
|
84
|
-
return stages;
|
|
84
|
+
return stages.map(stage => new A_Stage_class_1.A_Stage(feature, stage.steps));
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
exports.StepsManager = StepsManager;
|
|
88
|
+
class A_TmpStage {
|
|
89
|
+
constructor(_steps = []) {
|
|
90
|
+
this.name = 'A_TmpStage';
|
|
91
|
+
this._steps = _steps;
|
|
92
|
+
}
|
|
93
|
+
get before() {
|
|
94
|
+
return this._steps.reduce((acc, step) => ([
|
|
95
|
+
...acc,
|
|
96
|
+
...step.before
|
|
97
|
+
]), []);
|
|
98
|
+
}
|
|
99
|
+
get after() {
|
|
100
|
+
return this._steps.reduce((acc, step) => ([
|
|
101
|
+
...acc,
|
|
102
|
+
...step.after
|
|
103
|
+
]), []);
|
|
104
|
+
}
|
|
105
|
+
get steps() {
|
|
106
|
+
return this._steps;
|
|
107
|
+
}
|
|
108
|
+
get asyncSteps() {
|
|
109
|
+
return this._steps.filter(step => step.behavior === 'async');
|
|
110
|
+
}
|
|
111
|
+
get syncSteps() {
|
|
112
|
+
return this._steps.filter(step => step.behavior === 'sync');
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Adds a step to the stage
|
|
116
|
+
*
|
|
117
|
+
* @param step
|
|
118
|
+
* @returns
|
|
119
|
+
*/
|
|
120
|
+
add(step) {
|
|
121
|
+
this._steps.push(step);
|
|
122
|
+
return this;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
exports.A_TmpStage = A_TmpStage;
|
|
88
126
|
//# sourceMappingURL=StepsManager.class.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepsManager.class.js","sourceRoot":"","sources":["../../../src/helpers/StepsManager.class.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"StepsManager.class.js","sourceRoot":"","sources":["../../../src/helpers/StepsManager.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,10 +14,10 @@ export class ComponentA extends A_Component {
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
@A_Feature.Extend()
|
|
17
|
+
@A_Feature.Define()
|
|
17
18
|
async method_A(
|
|
18
19
|
@A_Inject(ContextFragmentA) fragmentA: ContextFragmentA,
|
|
19
20
|
@A_Inject(A_Logger) logger: A_Logger,
|
|
20
|
-
|
|
21
21
|
) {
|
|
22
22
|
logger.log('red', 'Component A -> method_A()');
|
|
23
23
|
fragmentA.decrement();
|
|
@@ -31,9 +31,18 @@ export class ComponentA extends A_Component {
|
|
|
31
31
|
async someMethod(
|
|
32
32
|
@A_Inject(ContextFragmentB) fragmentB: ContextFragmentB
|
|
33
33
|
) {
|
|
34
|
-
|
|
34
|
+
// throw new Error('Some error occurred');
|
|
35
|
+
|
|
36
|
+
return new Promise<void>((resolve, reject) => {
|
|
37
|
+
setTimeout(() => {
|
|
38
|
+
console.log('Component A -> method_A() -> someMethod()');
|
|
39
|
+
|
|
40
|
+
fragmentB.increment();
|
|
41
|
+
console.log('awaited after 5 sec');
|
|
42
|
+
resolve();
|
|
35
43
|
|
|
36
|
-
|
|
44
|
+
}, 5000);
|
|
45
|
+
});
|
|
37
46
|
}
|
|
38
47
|
|
|
39
48
|
|
|
@@ -48,17 +48,22 @@ console.log('Simple concept loaded', A_Concept);
|
|
|
48
48
|
]
|
|
49
49
|
});
|
|
50
50
|
|
|
51
|
-
await concept.load();
|
|
52
|
-
await concept.start();
|
|
51
|
+
// await concept.load();
|
|
52
|
+
// await concept.start();
|
|
53
53
|
|
|
54
54
|
|
|
55
|
-
await main.method_B()
|
|
55
|
+
// await main.method_B()
|
|
56
56
|
|
|
57
57
|
|
|
58
|
-
await main.method_C();
|
|
58
|
+
// await main.method_C();
|
|
59
59
|
|
|
60
|
+
try {
|
|
61
|
+
await main.call('method_A')
|
|
62
|
+
|
|
63
|
+
} catch (error) {
|
|
64
|
+
console.error('Error occurred:', error);
|
|
65
|
+
}
|
|
60
66
|
|
|
61
|
-
await main.call('method_A')
|
|
62
67
|
|
|
63
68
|
|
|
64
69
|
})();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adaas/a-concept",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.41",
|
|
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",
|
|
@@ -77,6 +77,7 @@ export function A_Feature_Define(
|
|
|
77
77
|
existedMeta.set(propertyKey, {
|
|
78
78
|
name: `${target.constructor.name}.${handlerName}`,
|
|
79
79
|
handler: handlerName,
|
|
80
|
+
invoke: invoke,
|
|
80
81
|
template: config.template && config.template.length ? config.template.map(
|
|
81
82
|
item => ({
|
|
82
83
|
...item,
|
|
@@ -80,6 +80,12 @@ export function A_Feature_Extend(
|
|
|
80
80
|
targetRegexp = new RegExp(`^.*\\.${propertyKey}$`);
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
+
const existedDefinitions = A_Context
|
|
84
|
+
.meta(target)
|
|
85
|
+
.get(A_TYPES__ComponentMetaKey.FEATURES);
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
83
89
|
// Get the existed metadata or create a new one
|
|
84
90
|
const existedMeta = A_Context
|
|
85
91
|
.meta(target)
|
|
@@ -87,6 +93,17 @@ export function A_Feature_Extend(
|
|
|
87
93
|
|| new A_Meta();
|
|
88
94
|
|
|
89
95
|
|
|
96
|
+
if (existedDefinitions
|
|
97
|
+
&& existedDefinitions.size()
|
|
98
|
+
&& existedDefinitions.has(propertyKey)
|
|
99
|
+
&& existedDefinitions.get(propertyKey)!.invoke
|
|
100
|
+
) {
|
|
101
|
+
|
|
102
|
+
throw new Error(`A-Feature-Extend cannot be used on the method "${propertyKey}" because it is already defined as a Feature with "invoke" set to true.
|
|
103
|
+
Please remove the A-Feature-Extend decorator or set "invoke" to false in the A-Feature decorator.`);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
|
|
90
107
|
const existedMetaValue = existedMeta.get(targetRegexp.source) || [];
|
|
91
108
|
|
|
92
109
|
// Add the new method to the metadata
|
|
@@ -39,6 +39,7 @@ export type A_TYPES__A_FeatureTemplateItem = A_TYPES__Required<Partial<A_TYPES__
|
|
|
39
39
|
export type A_TYPES__A_DefineDecorator_Meta = {
|
|
40
40
|
name: string,
|
|
41
41
|
handler: string,
|
|
42
|
+
invoke: boolean,
|
|
42
43
|
channel: Array<typeof A_Channel>
|
|
43
44
|
template: Array<A_TYPES__A_StageStep>
|
|
44
45
|
}
|
|
@@ -535,26 +535,11 @@ export class A_Context {
|
|
|
535
535
|
* @returns
|
|
536
536
|
*/
|
|
537
537
|
static feature<T extends Array<string>>(
|
|
538
|
-
|
|
539
|
-
feature:
|
|
538
|
+
component: A_Component | A_Container | A_Entity<any, any>,
|
|
539
|
+
feature: string | T[number]| RegExp,
|
|
540
540
|
scope: A_Scope
|
|
541
|
-
): A_Feature
|
|
542
|
-
static feature<T extends Array<string>>(
|
|
543
|
-
container: A_Container,
|
|
544
|
-
feature: T[number],
|
|
545
|
-
scope: A_Scope
|
|
546
|
-
): A_Feature
|
|
547
|
-
static feature(
|
|
548
|
-
component: A_Component,
|
|
549
|
-
feature: string,
|
|
550
|
-
scope: A_Scope
|
|
551
|
-
): A_Feature
|
|
552
|
-
static feature<T extends Array<string>>(
|
|
553
|
-
param1: A_Component | A_Container | A_Entity<any, any>,
|
|
554
|
-
param2: string | T[number],
|
|
555
|
-
param3: A_Scope
|
|
556
541
|
): A_Feature {
|
|
557
|
-
const featureConstructor = this.featureDefinition(
|
|
542
|
+
const featureConstructor = this.featureDefinition(component, feature, scope);
|
|
558
543
|
|
|
559
544
|
const newFeature = new A_Feature(featureConstructor);
|
|
560
545
|
|
|
@@ -7,6 +7,7 @@ import { A_TYPES__A_Feature_Extend } from "@adaas/a-concept/decorators/A-Feature
|
|
|
7
7
|
import { A_Stage } from "../A-Stage/A-Stage.class";
|
|
8
8
|
import { StepsManager } from "@adaas/a-concept/helpers/StepsManager.class";
|
|
9
9
|
import { A_Scope } from "../A-Scope/A-Scope.class";
|
|
10
|
+
import { A_StageError } from "../A-Stage/A-Stage.error";
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* A_Feature is representing a feature that can be executed across multiple components
|
|
@@ -183,6 +184,8 @@ export class A_Feature {
|
|
|
183
184
|
scope?: A_Scope
|
|
184
185
|
) {
|
|
185
186
|
|
|
187
|
+
console.log('Processing feature:', this.name);
|
|
188
|
+
|
|
186
189
|
if (this.isDone()) {
|
|
187
190
|
return this.result;
|
|
188
191
|
}
|
|
@@ -191,43 +194,35 @@ export class A_Feature {
|
|
|
191
194
|
this.state = A_TYPES__FeatureState.PROCESSING;
|
|
192
195
|
|
|
193
196
|
for (const stage of this.stages) {
|
|
197
|
+
console.log('Processing stage:', stage.name);
|
|
198
|
+
|
|
194
199
|
await stage.process();
|
|
195
|
-
}
|
|
196
200
|
|
|
197
|
-
|
|
201
|
+
console.log('Stage processed:', stage.name, 'Status:', stage.status);
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
return await this.completed();
|
|
206
|
+
|
|
198
207
|
|
|
199
208
|
} catch (error) {
|
|
200
|
-
|
|
209
|
+
|
|
210
|
+
return await this.failed(error);
|
|
201
211
|
}
|
|
202
212
|
|
|
203
213
|
}
|
|
204
214
|
|
|
205
215
|
|
|
206
216
|
protected async errorHandler(error: Error | A_Error | unknown) {
|
|
217
|
+
console.log('Feature failed with error:', this.name);
|
|
218
|
+
|
|
207
219
|
switch (true) {
|
|
220
|
+
case error instanceof A_StageError:
|
|
221
|
+
return; // Do nothing, already handled in the stage
|
|
222
|
+
|
|
208
223
|
case error instanceof A_Error:
|
|
209
224
|
throw error;
|
|
210
225
|
|
|
211
|
-
|
|
212
|
-
case error instanceof Error
|
|
213
|
-
&& error.message === 'FEATURE_PROCESSING_INTERRUPTED'
|
|
214
|
-
&& this.state === A_TYPES__FeatureState.FAILED:
|
|
215
|
-
throw new A_Error({
|
|
216
|
-
message: 'FEATURE_PROCESSING_INTERRUPTED',
|
|
217
|
-
code: 'FEATURE_PROCESSING_INTERRUPTED',
|
|
218
|
-
data: {
|
|
219
|
-
feature: this
|
|
220
|
-
}
|
|
221
|
-
});
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
case error instanceof Error
|
|
225
|
-
&& error.message === 'FEATURE_PROCESSING_INTERRUPTED'
|
|
226
|
-
&& this.state === A_TYPES__FeatureState.COMPLETED:
|
|
227
|
-
|
|
228
|
-
// Do nothing
|
|
229
|
-
break;
|
|
230
|
-
|
|
231
226
|
default:
|
|
232
227
|
throw error;
|
|
233
228
|
}
|
|
@@ -93,6 +93,16 @@ export class A_Meta<
|
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
|
|
96
|
+
/**
|
|
97
|
+
* Method to get the size of the map
|
|
98
|
+
*
|
|
99
|
+
* @returns
|
|
100
|
+
*/
|
|
101
|
+
size(): number {
|
|
102
|
+
return this.meta.size;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
|
|
96
106
|
/**
|
|
97
107
|
* This method is needed to convert the key to a regular expression and cover cases like:
|
|
98
108
|
*
|
|
@@ -3,8 +3,8 @@ import { A_Context } from "../A-Context/A-Context.class";
|
|
|
3
3
|
import { A_Feature } from "../A-Feature/A-Feature.class";
|
|
4
4
|
import { A_TYPES__A_Stage_JSON, A_TYPES__A_Stage_Status, A_TYPES__A_StageStep, A_TYPES__A_StageStepProcessingExtraParams } from "./A-Stage.types";
|
|
5
5
|
import { A_Container } from "../A-Container/A-Container.class";
|
|
6
|
-
import { A_TYPES__ScopeConstructor } from "../A-Scope/A-Scope.types";
|
|
7
6
|
import { A_Scope } from "../A-Scope/A-Scope.class";
|
|
7
|
+
import { A_StageError } from "./A-Stage.error";
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -16,12 +16,24 @@ import { A_Scope } from "../A-Scope/A-Scope.class";
|
|
|
16
16
|
*/
|
|
17
17
|
export class A_Stage {
|
|
18
18
|
|
|
19
|
+
readonly name: string = 'A_Stage';
|
|
19
20
|
|
|
21
|
+
private readonly feature!: A_Feature;
|
|
22
|
+
private readonly _steps!: A_TYPES__A_StageStep[];
|
|
20
23
|
|
|
21
24
|
constructor(
|
|
22
|
-
|
|
23
|
-
|
|
25
|
+
feature: A_Feature,
|
|
26
|
+
_steps: A_TYPES__A_StageStep[] = []
|
|
24
27
|
) {
|
|
28
|
+
this.feature = feature;
|
|
29
|
+
this._steps = _steps;
|
|
30
|
+
this.name = `${this.feature.name}::a-stage:[sync:${this
|
|
31
|
+
.syncSteps
|
|
32
|
+
.map(s => s.component.name + '.' + s.handler)
|
|
33
|
+
.join(' -> ')}][async:${this
|
|
34
|
+
.asyncSteps
|
|
35
|
+
.map(s => s.component.name + '.' + s.handler)
|
|
36
|
+
.join(' -> ')}]`;
|
|
25
37
|
|
|
26
38
|
}
|
|
27
39
|
|
|
@@ -54,10 +66,10 @@ export class A_Stage {
|
|
|
54
66
|
get asyncSteps(): A_TYPES__A_StageStep[] {
|
|
55
67
|
return this._steps.filter(step => step.behavior === 'async');
|
|
56
68
|
}
|
|
57
|
-
|
|
69
|
+
|
|
58
70
|
get syncSteps(): A_TYPES__A_StageStep[] {
|
|
59
71
|
return this._steps.filter(step => step.behavior === 'sync');
|
|
60
|
-
}
|
|
72
|
+
}
|
|
61
73
|
|
|
62
74
|
|
|
63
75
|
/**
|
|
@@ -139,12 +151,12 @@ export class A_Stage {
|
|
|
139
151
|
*/
|
|
140
152
|
protected async callStepHandler(
|
|
141
153
|
step: A_TYPES__A_StageStep,
|
|
142
|
-
scope: A_Scope
|
|
154
|
+
scope: A_Scope
|
|
143
155
|
) {
|
|
144
156
|
const instance = await this.getStepInstance(step);
|
|
145
157
|
const callArgs = await this.getStepArgs(step, scope);
|
|
146
158
|
|
|
147
|
-
return instance[step.handler](...callArgs);
|
|
159
|
+
return await instance[step.handler](...callArgs);
|
|
148
160
|
}
|
|
149
161
|
|
|
150
162
|
|
|
@@ -163,6 +175,9 @@ export class A_Stage {
|
|
|
163
175
|
|
|
164
176
|
scope = scope.inherit(this.feature.Scope);
|
|
165
177
|
|
|
178
|
+
|
|
179
|
+
console.log(' -> Init stage processing:', this.name);
|
|
180
|
+
|
|
166
181
|
if (!this.processed)
|
|
167
182
|
this.processed = new Promise<void>(
|
|
168
183
|
async (resolve, reject) => {
|
|
@@ -177,7 +192,7 @@ export class A_Stage {
|
|
|
177
192
|
const asyncSteps = this.asyncSteps.filter(params?.filter || (() => true));
|
|
178
193
|
|
|
179
194
|
// Run sync _steps
|
|
180
|
-
await Promise
|
|
195
|
+
await Promise
|
|
181
196
|
.all([
|
|
182
197
|
|
|
183
198
|
// Run async _steps that are independent of each other
|
|
@@ -188,11 +203,16 @@ export class A_Stage {
|
|
|
188
203
|
async (r, j) => {
|
|
189
204
|
try {
|
|
190
205
|
for (const step of syncSteps) {
|
|
206
|
+
console.log(' - -> Processing stage step:', step.handler, ' with Regexp: ', step.name);
|
|
207
|
+
|
|
191
208
|
await this.callStepHandler(step, scope);
|
|
209
|
+
|
|
210
|
+
console.log(' - -> Finished processing stage step:', step.handler);
|
|
192
211
|
}
|
|
193
212
|
|
|
194
213
|
return r();
|
|
195
214
|
} catch (error) {
|
|
215
|
+
|
|
196
216
|
return j(error);
|
|
197
217
|
}
|
|
198
218
|
}
|
|
@@ -201,6 +221,7 @@ export class A_Stage {
|
|
|
201
221
|
|
|
202
222
|
this.completed();
|
|
203
223
|
|
|
224
|
+
console.log(' -> Finished stage processing:', this.name);
|
|
204
225
|
return resolve();
|
|
205
226
|
|
|
206
227
|
} catch (error) {
|
|
@@ -243,7 +264,7 @@ export class A_Stage {
|
|
|
243
264
|
) {
|
|
244
265
|
this.status = A_TYPES__A_Stage_Status.FAILED;
|
|
245
266
|
|
|
246
|
-
this.feature.failed(error);
|
|
267
|
+
this.feature.failed(new A_StageError(error));
|
|
247
268
|
}
|
|
248
269
|
|
|
249
270
|
|
|
@@ -82,7 +82,7 @@ export class StepsManager {
|
|
|
82
82
|
if (!this.visited.has(this.ID(entity))) this.visit(this.ID(entity));
|
|
83
83
|
});
|
|
84
84
|
|
|
85
|
-
const stages:
|
|
85
|
+
const stages: A_TmpStage[] = [];
|
|
86
86
|
|
|
87
87
|
// Map sorted names back to entity objects
|
|
88
88
|
this.sortedEntities
|
|
@@ -96,13 +96,73 @@ export class StepsManager {
|
|
|
96
96
|
|
|
97
97
|
|
|
98
98
|
if (!stage) {
|
|
99
|
-
stage = new
|
|
99
|
+
stage = new A_TmpStage();
|
|
100
100
|
stages.push(stage);
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
stage.add(step);
|
|
104
104
|
});
|
|
105
105
|
|
|
106
|
-
return stages;
|
|
106
|
+
return stages.map(stage => new A_Stage(feature, stage.steps) );
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
export class A_TmpStage {
|
|
115
|
+
|
|
116
|
+
readonly name: string = 'A_TmpStage';
|
|
117
|
+
|
|
118
|
+
private readonly _steps!: A_TYPES__A_StageStep[];
|
|
119
|
+
|
|
120
|
+
constructor(
|
|
121
|
+
_steps: A_TYPES__A_StageStep[] = []
|
|
122
|
+
) {
|
|
123
|
+
this._steps = _steps;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
get before(): string[] {
|
|
128
|
+
return this._steps.reduce((acc, step) => ([
|
|
129
|
+
...acc,
|
|
130
|
+
...step.before
|
|
131
|
+
]), [] as string[]);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
get after(): string[] {
|
|
135
|
+
return this._steps.reduce((acc, step) => ([
|
|
136
|
+
...acc,
|
|
137
|
+
...step.after
|
|
138
|
+
]), [] as string[]);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
get steps(): A_TYPES__A_StageStep[] {
|
|
142
|
+
return this._steps;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
get asyncSteps(): A_TYPES__A_StageStep[] {
|
|
147
|
+
return this._steps.filter(step => step.behavior === 'async');
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
get syncSteps(): A_TYPES__A_StageStep[] {
|
|
151
|
+
return this._steps.filter(step => step.behavior === 'sync');
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Adds a step to the stage
|
|
157
|
+
*
|
|
158
|
+
* @param step
|
|
159
|
+
* @returns
|
|
160
|
+
*/
|
|
161
|
+
add(
|
|
162
|
+
step: A_TYPES__A_StageStep
|
|
163
|
+
): this {
|
|
164
|
+
this._steps.push(step);
|
|
165
|
+
|
|
166
|
+
return this;
|
|
107
167
|
}
|
|
108
168
|
}
|