@adaas/a-concept 0.0.40 → 0.0.42

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.
Files changed (41) hide show
  1. package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.js +1 -0
  2. package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.js.map +1 -1
  3. package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js +10 -0
  4. package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js.map +1 -1
  5. package/dist/src/decorators/A-Feature/A-Feature.decorator.types.d.ts +1 -0
  6. package/dist/src/global/A-Component/A-Component.class.js +0 -1
  7. package/dist/src/global/A-Component/A-Component.class.js.map +1 -1
  8. package/dist/src/global/A-Context/A-Context.class.d.ts +1 -4
  9. package/dist/src/global/A-Context/A-Context.class.js +12 -12
  10. package/dist/src/global/A-Context/A-Context.class.js.map +1 -1
  11. package/dist/src/global/A-Feature/A-Feature.class.js +8 -17
  12. package/dist/src/global/A-Feature/A-Feature.class.js.map +1 -1
  13. package/dist/src/global/A-Meta/A-Meta.class.d.ts +6 -0
  14. package/dist/src/global/A-Meta/A-Meta.class.js +8 -0
  15. package/dist/src/global/A-Meta/A-Meta.class.js.map +1 -1
  16. package/dist/src/global/A-Scope/A-Scope.class.d.ts +1 -0
  17. package/dist/src/global/A-Scope/A-Scope.class.js +17 -1
  18. package/dist/src/global/A-Scope/A-Scope.class.js.map +1 -1
  19. package/dist/src/global/A-Stage/A-Stage.class.d.ts +3 -2
  20. package/dist/src/global/A-Stage/A-Stage.class.js +16 -3
  21. package/dist/src/global/A-Stage/A-Stage.class.js.map +1 -1
  22. package/dist/src/global/A-Stage/A-Stage.error.d.ts +3 -0
  23. package/dist/src/global/A-Stage/A-Stage.error.js +8 -0
  24. package/dist/src/global/A-Stage/A-Stage.error.js.map +1 -0
  25. package/dist/src/helpers/StepsManager.class.d.ts +17 -0
  26. package/dist/src/helpers/StepsManager.class.js +41 -3
  27. package/dist/src/helpers/StepsManager.class.js.map +1 -1
  28. package/examples/simple/components/A.component.ts +12 -4
  29. package/examples/simple/concept.ts +10 -5
  30. package/package.json +1 -1
  31. package/src/decorators/A-Feature/A-Feature-Define.decorator.ts +1 -0
  32. package/src/decorators/A-Feature/A-Feature-Extend.decorator.ts +17 -0
  33. package/src/decorators/A-Feature/A-Feature.decorator.types.ts +1 -0
  34. package/src/global/A-Component/A-Component.class.ts +0 -2
  35. package/src/global/A-Context/A-Context.class.ts +9 -35
  36. package/src/global/A-Feature/A-Feature.class.ts +15 -22
  37. package/src/global/A-Meta/A-Meta.class.ts +10 -0
  38. package/src/global/A-Scope/A-Scope.class.ts +28 -2
  39. package/src/global/A-Stage/A-Stage.class.ts +30 -9
  40. package/src/global/A-Stage/A-Stage.error.ts +9 -0
  41. 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,4CA2FC;AApHD,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,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"}
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,4CA6DC;AAvGD,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,+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,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"}
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
  };
@@ -17,7 +17,6 @@ const A_Context_class_1 = require("../A-Context/A-Context.class");
17
17
  */
18
18
  class A_Component {
19
19
  constructor() {
20
- console.log('A-Component instance created', this);
21
20
  }
22
21
  call(
23
22
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"A-Component.class.js","sourceRoot":"","sources":["../../../../src/global/A-Component/A-Component.class.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kEAAyD;AAOzD;;;GAGG;AACH,MAAa,WAAW;IACpB;QACI,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,IAAI,CAAC,CAAC;IAEtD,CAAC;IAGK,IAAI;IACN;;OAEG;IACH,OAAe;IACf;;OAEG;IACH,KAAe;;YAEf,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,2BAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,2BAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAE7E,MAAM,UAAU,GAAG,2BAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAE3D,OAAO,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;QACtC,CAAC;KAAA;CACJ;AAvBD,kCAuBC"}
1
+ {"version":3,"file":"A-Component.class.js","sourceRoot":"","sources":["../../../../src/global/A-Component/A-Component.class.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kEAAyD;AAOzD;;;GAGG;AACH,MAAa,WAAW;IACpB;IACA,CAAC;IAGK,IAAI;IACN;;OAEG;IACH,OAAe;IACf;;OAEG;IACH,KAAe;;YAEf,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,2BAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,2BAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAE7E,MAAM,UAAU,GAAG,2BAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAE3D,OAAO,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;QACtC,CAAC;KAAA;CACJ;AArBD,kCAqBC"}
@@ -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>>(entity: A_Entity<any, any>, feature: A_TYPES__EntityBaseMethod | string | T[number] | RegExp, scope: A_Scope): A_Feature;
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
@@ -181,6 +181,7 @@ class A_Context {
181
181
  * @returns
182
182
  */
183
183
  static featureDefinition(component, feature, scope) {
184
+ var _a, _b;
184
185
  const instance = this.getInstance();
185
186
  const name = `${component.constructor.name}.${feature}`;
186
187
  /**
@@ -230,17 +231,10 @@ class A_Context {
230
231
  default:
231
232
  throw new Error(`A-Feature cannot be defined on the ${component} level`);
232
233
  }
233
- const meta = this.meta(component);
234
- if (!meta)
235
- throw new Error(`[!] A-Concept Context: Meta not found. for Component ${component.constructor.name}`);
236
- const allFeatures = meta.get(metaKey);
237
- if (!allFeatures)
238
- throw new Error(`[!] A-Concept Context: Features not found. for Component ${component.constructor.name}`);
239
- const featureDefinition = allFeatures.get(feature);
240
- if (!featureDefinition)
241
- throw new Error(`[!] A-Concept Context: Feature ${feature} not found. for Component ${component.constructor.name}`);
234
+ const featureDefinition = (_b = (_a = this
235
+ .meta(component)) === null || _a === void 0 ? void 0 : _a.get(metaKey)) === null || _b === void 0 ? void 0 : _b.get(feature);
242
236
  const steps = [
243
- ...featureDefinition.template
237
+ ...((featureDefinition === null || featureDefinition === void 0 ? void 0 : featureDefinition.template) || [])
244
238
  ];
245
239
  // const feature: string = new ASEID({
246
240
  // id: `${param2}-${Math.random()}`,
@@ -308,8 +302,14 @@ class A_Context {
308
302
  });
309
303
  return { name, steps, scope };
310
304
  }
311
- static feature(param1, param2, param3) {
312
- const featureConstructor = this.featureDefinition(param1, param2, param3);
305
+ /**
306
+ * This method returns a step-by-step instructions of feature implementation depending on the feature name and the class.
307
+ *
308
+ * @param scope
309
+ * @returns
310
+ */
311
+ static feature(component, feature, scope) {
312
+ const featureConstructor = this.featureDefinition(component, feature, scope);
313
313
  const newFeature = new A_Feature_class_1.A_Feature(featureConstructor);
314
314
  return newFeature;
315
315
  }
@@ -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,31 @@ 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* () {
159
163
  switch (true) {
164
+ case error instanceof A_Stage_error_1.A_StageError:
165
+ return; // Do nothing, already handled in the stage
160
166
  case error instanceof a_utils_1.A_Error:
161
167
  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
168
  default:
178
169
  throw error;
179
170
  }
@@ -1 +1 @@
1
- {"version":3,"file":"A-Feature.class.js","sourceRoot":"","sources":["../../../../src/global/A-Feature/A-Feature.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"A-Feature.class.js","sourceRoot":"","sources":["../../../../src/global/A-Feature/A-Feature.class.ts"],"names":[],"mappings":"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"}
@@ -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":"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"}
1
+ {"version":3,"file":"A-Meta.class.js","sourceRoot":"","sources":["../../../../src/global/A-Meta/A-Meta.class.ts"],"names":[],"mappings":"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"}
@@ -50,6 +50,7 @@ export declare class A_Scope {
50
50
  has(component: typeof A_Component): boolean;
51
51
  has(entity: typeof A_Entity): boolean;
52
52
  has(fragment: typeof A_Fragment): boolean;
53
+ has(constructor: string): boolean;
53
54
  /**
54
55
  * Merges two scopes into a new one
55
56
  *
@@ -100,10 +100,26 @@ class A_Scope {
100
100
  chain.push(current.name);
101
101
  current = current._parent;
102
102
  }
103
- console.log(chain.join(' -> '));
103
+ // console.log(chain.join(' -> '));
104
104
  }
105
105
  has(entity) {
106
106
  switch (true) {
107
+ case typeof entity === 'string': {
108
+ const possibleComponent = this.params.components.find(c => c.name === entity);
109
+ if (possibleComponent) {
110
+ return true;
111
+ }
112
+ const possibleFragment = this.params.fragments.find(f => f.name === entity);
113
+ if (possibleFragment) {
114
+ return true;
115
+ }
116
+ if (this.params.entities.some(e => e.constructor.name === entity)) {
117
+ return true;
118
+ }
119
+ if (!!this._parent)
120
+ return this._parent.has(entity);
121
+ return false;
122
+ }
107
123
  case a_utils_1.A_CommonHelper.isInheritedFrom(entity, A_Component_class_1.A_Component): {
108
124
  const found = this.params.components.includes(entity);
109
125
  if (!found && !!this._parent)
@@ -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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"}
@@ -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
- private feature;
15
- private _steps;
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.status = A_Stage_types_1.A_TYPES__A_Stage_Status.INITIALIZED;
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":"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"}
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,3 @@
1
+ import { A_Error } from "@adaas/a-utils";
2
+ export declare class A_StageError extends A_Error {
3
+ }
@@ -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 A_Stage_class_1.A_Stage(feature);
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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"}
@@ -13,11 +13,10 @@ export class ComponentA extends A_Component {
13
13
 
14
14
 
15
15
 
16
- @A_Feature.Extend()
16
+ @A_Feature.Define()
17
17
  async method_A(
18
18
  @A_Inject(ContextFragmentA) fragmentA: ContextFragmentA,
19
19
  @A_Inject(A_Logger) logger: A_Logger,
20
-
21
20
  ) {
22
21
  logger.log('red', 'Component A -> method_A()');
23
22
  fragmentA.decrement();
@@ -31,9 +30,18 @@ export class ComponentA extends A_Component {
31
30
  async someMethod(
32
31
  @A_Inject(ContextFragmentB) fragmentB: ContextFragmentB
33
32
  ) {
34
- console.log('Component A -> method_A() -> someMethod()');
33
+ // throw new Error('Some error occurred');
34
+
35
+ return new Promise<void>((resolve, reject) => {
36
+ setTimeout(() => {
37
+ console.log('Component A -> method_A() -> someMethod()');
38
+
39
+ fragmentB.increment();
40
+ console.log('awaited after 5 sec');
41
+ resolve();
35
42
 
36
- fragmentB.increment();
43
+ }, 5000);
44
+ });
37
45
  }
38
46
 
39
47
 
@@ -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.40",
3
+ "version": "0.0.42",
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
  }
@@ -11,8 +11,6 @@ import { A_Scope } from "../A-Scope/A-Scope.class";
11
11
  */
12
12
  export class A_Component {
13
13
  constructor() {
14
- console.log('A-Component instance created', this);
15
-
16
14
  }
17
15
 
18
16
 
@@ -20,6 +20,7 @@ import { A_TYPES__A_StageStep } from "../A-Stage/A-Stage.types";
20
20
  import { A_TYPES__ContainerMetaKey } from "../A-Container/A-Container.types";
21
21
  import { A_TYPES__ComponentMetaKey } from "../A-Component/A-Component.types";
22
22
  import { A_TYPES__ConceptStage } from "../A-Concept/A_Concept.types";
23
+ import { A_TYPES__A_DefineDecorator_Meta } from "@adaas/a-concept/decorators/A-Feature/A-Feature.decorator.types";
23
24
 
24
25
 
25
26
 
@@ -414,26 +415,14 @@ export class A_Context {
414
415
  throw new Error(`A-Feature cannot be defined on the ${component} level`);
415
416
  }
416
417
 
417
- const meta = this.meta(component);
418
-
419
- if (!meta)
420
- throw new Error(`[!] A-Concept Context: Meta not found. for Component ${component.constructor.name}`);
421
-
422
-
423
- const allFeatures = meta.get(metaKey)
424
-
425
- if (!allFeatures)
426
- throw new Error(`[!] A-Concept Context: Features not found. for Component ${component.constructor.name}`);
427
-
428
-
429
- const featureDefinition = allFeatures.get(feature);
430
-
431
- if (!featureDefinition)
432
- throw new Error(`[!] A-Concept Context: Feature ${feature} not found. for Component ${component.constructor.name}`);
418
+ const featureDefinition: A_TYPES__A_DefineDecorator_Meta | undefined = this
419
+ .meta(component)
420
+ ?.get(metaKey)
421
+ ?.get(feature);
433
422
 
434
423
 
435
424
  const steps: A_TYPES__A_StageStep[] = [
436
- ...featureDefinition.template
425
+ ...(featureDefinition?.template || [])
437
426
  ];
438
427
  // const feature: string = new ASEID({
439
428
  // id: `${param2}-${Math.random()}`,
@@ -535,26 +524,11 @@ export class A_Context {
535
524
  * @returns
536
525
  */
537
526
  static feature<T extends Array<string>>(
538
- entity: A_Entity<any, any>,
539
- feature: A_TYPES__EntityBaseMethod | string | T[number] | RegExp,
527
+ component: A_Component | A_Container | A_Entity<any, any>,
528
+ feature: string | T[number] | RegExp,
540
529
  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
530
  ): A_Feature {
557
- const featureConstructor = this.featureDefinition(param1, param2, param3);
531
+ const featureConstructor = this.featureDefinition(component, feature, scope);
558
532
 
559
533
  const newFeature = new A_Feature(featureConstructor);
560
534
 
@@ -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
@@ -182,6 +183,7 @@ export class A_Feature {
182
183
  async process(
183
184
  scope?: A_Scope
184
185
  ) {
186
+ // console.log('Processing feature:', this.name);
185
187
 
186
188
  if (this.isDone()) {
187
189
  return this.result;
@@ -191,43 +193,34 @@ export class A_Feature {
191
193
  this.state = A_TYPES__FeatureState.PROCESSING;
192
194
 
193
195
  for (const stage of this.stages) {
196
+ // console.log('Processing stage:', stage.name);
197
+
194
198
  await stage.process();
199
+
200
+ // console.log('Stage processed:', stage.name, 'Status:', stage.status);
195
201
  }
196
202
 
197
- await this.completed();
203
+
204
+ return await this.completed();
205
+
198
206
 
199
207
  } catch (error) {
200
- await this.failed(error);
208
+
209
+ return await this.failed(error);
201
210
  }
202
211
 
203
212
  }
204
213
 
205
214
 
206
215
  protected async errorHandler(error: Error | A_Error | unknown) {
216
+
207
217
  switch (true) {
218
+ case error instanceof A_StageError:
219
+ return; // Do nothing, already handled in the stage
220
+
208
221
  case error instanceof A_Error:
209
222
  throw error;
210
223
 
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
224
  default:
232
225
  throw error;
233
226
  }
@@ -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
  *
@@ -153,7 +153,7 @@ export class A_Scope {
153
153
  current = current._parent;
154
154
  }
155
155
 
156
- console.log(chain.join(' -> '));
156
+ // console.log(chain.join(' -> '));
157
157
  }
158
158
 
159
159
 
@@ -173,12 +173,38 @@ export class A_Scope {
173
173
  fragment: typeof A_Fragment
174
174
  ): boolean
175
175
  has(
176
- entity: typeof A_Fragment | typeof A_Component | typeof A_Entity
176
+ constructor: string
177
+ ): boolean
178
+ has(
179
+ entity: typeof A_Fragment | typeof A_Component | typeof A_Entity | string
177
180
  ): boolean {
178
181
 
179
182
 
180
183
  switch (true) {
181
184
 
185
+ case typeof entity === 'string': {
186
+ const possibleComponent = this.params.components.find(c => c.name === entity);
187
+
188
+ if (possibleComponent) {
189
+ return true;
190
+ }
191
+
192
+ const possibleFragment = this.params.fragments.find(f => f.name === entity);
193
+
194
+ if (possibleFragment) {
195
+ return true;
196
+ }
197
+
198
+ if (this.params.entities.some(e => e.constructor.name === entity)) {
199
+ return true;
200
+ }
201
+
202
+ if (!!this._parent)
203
+ return this._parent.has(entity);
204
+
205
+ return false;
206
+ }
207
+
182
208
  case A_CommonHelper.isInheritedFrom(entity, A_Component): {
183
209
  const found = this.params.components.includes(entity as { new(...args: any[]): A_Component });
184
210
 
@@ -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
- private feature: A_Feature,
23
- private _steps: A_TYPES__A_StageStep[] = []
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
 
@@ -0,0 +1,9 @@
1
+ import { A_Error } from "@adaas/a-utils";
2
+
3
+
4
+ export class A_StageError extends A_Error {
5
+
6
+
7
+
8
+
9
+ }
@@ -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: A_Stage[] = [];
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 A_Stage(feature);
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
  }