@adaas/a-concept 0.0.30 → 0.0.32

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 (37) hide show
  1. package/dist/src/base/A-Errors/A-Error.entity.d.ts +3 -0
  2. package/dist/src/base/A-Errors/A-Error.entity.js +8 -0
  3. package/dist/src/base/A-Errors/A-Error.entity.js.map +1 -0
  4. package/dist/src/base/A-Errors/A-Errors.context.js +1 -1
  5. package/dist/src/base/A-Errors/A-Errors.context.js.map +1 -1
  6. package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.js +7 -5
  7. package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.js.map +1 -1
  8. package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js.map +1 -1
  9. package/dist/src/decorators/A-Feature/A-Feature.decorator.types.d.ts +12 -0
  10. package/dist/src/global/A-Component/A-Component.meta.d.ts +8 -0
  11. package/dist/src/global/A-Component/A-Component.meta.js +11 -3
  12. package/dist/src/global/A-Component/A-Component.meta.js.map +1 -1
  13. package/dist/src/global/A-Component/A-Component.types.d.ts +10 -7
  14. package/dist/src/global/A-Component/A-Component.types.js.map +1 -1
  15. package/dist/src/global/A-Container/A-Container.types.d.ts +9 -1
  16. package/dist/src/global/A-Container/A-Container.types.js.map +1 -1
  17. package/dist/src/global/A-Context/A-Context.class.js +23 -1
  18. package/dist/src/global/A-Context/A-Context.class.js.map +1 -1
  19. package/dist/src/global/A-Entity/A-Entity.types.d.ts +9 -2
  20. package/dist/src/global/A-Entity/A-Entity.types.js.map +1 -1
  21. package/dist/src/global/A-Stage/A-Stage.class.d.ts +2 -2
  22. package/dist/src/global/A-Stage/A-Stage.class.js +6 -1
  23. package/dist/src/global/A-Stage/A-Stage.class.js.map +1 -1
  24. package/dist/src/global/A-Stage/A-Stage.types.d.ts +1 -6
  25. package/package.json +1 -1
  26. package/src/base/A-Errors/A-Error.entity.ts +10 -0
  27. package/src/base/A-Errors/A-Errors.context.ts +2 -2
  28. package/src/decorators/A-Feature/A-Feature-Define.decorator.ts +23 -9
  29. package/src/decorators/A-Feature/A-Feature-Extend.decorator.ts +0 -2
  30. package/src/decorators/A-Feature/A-Feature.decorator.types.ts +14 -0
  31. package/src/global/A-Component/A-Component.meta.ts +18 -6
  32. package/src/global/A-Component/A-Component.types.ts +11 -8
  33. package/src/global/A-Container/A-Container.types.ts +9 -2
  34. package/src/global/A-Context/A-Context.class.ts +29 -2
  35. package/src/global/A-Entity/A-Entity.types.ts +10 -2
  36. package/src/global/A-Stage/A-Stage.class.ts +15 -6
  37. package/src/global/A-Stage/A-Stage.types.ts +1 -6
@@ -0,0 +1,3 @@
1
+ import { A_Entity } from "../../global/A-Entity/A-Entity.class";
2
+ export declare class A_Error extends A_Entity {
3
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.A_Error = void 0;
4
+ const A_Entity_class_1 = require("../../global/A-Entity/A-Entity.class");
5
+ class A_Error extends A_Entity_class_1.A_Entity {
6
+ }
7
+ exports.A_Error = A_Error;
8
+ //# sourceMappingURL=A-Error.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A-Error.entity.js","sourceRoot":"","sources":["../../../../src/base/A-Errors/A-Error.entity.ts"],"names":[],"mappings":";;;AAAA,oFAA2E;AAI3E,MAAa,OAAQ,SAAQ,yBAAQ;CAKpC;AALD,0BAKC"}
@@ -8,10 +8,10 @@ class A_Errors extends A_Fragment_class_1.A_Fragment {
8
8
  constructor(params) {
9
9
  super(Object.assign(Object.assign({}, params), { name: params.name || 'a-errors' }));
10
10
  this.registeredErrors = new Map();
11
+ this.addRegistry(errors_constants_1.A_CONSTANTS__DEFAULT_ERRORS);
11
12
  if (params.errors) {
12
13
  this.addRegistry(params.errors);
13
14
  }
14
- this.addRegistry(errors_constants_1.A_CONSTANTS__DEFAULT_ERRORS);
15
15
  }
16
16
  /**
17
17
  * This method adds a dictionary of errors to the registry.
@@ -1 +1 @@
1
- {"version":3,"file":"A-Errors.context.js","sourceRoot":"","sources":["../../../../src/base/A-Errors/A-Errors.context.ts"],"names":[],"mappings":";;;AAAA,4CAA6I;AAE7I,yFAAiG;AACjG,0FAAiF;AAGjF,MAAa,QAAS,SAAQ,6BAAU;IAIpC,YACI,MAA6C;QAG7C,KAAK,iCACE,MAAM,KACT,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,UAAU,IACjC,CAAC;QATG,qBAAgB,GAAuD,IAAI,GAAG,EAAE,CAAC;QAWvF,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,8CAA2B,CAAC,CAAC;IAClD,CAAC;IAGD;;;;OAIG;IACH,WAAW,CACP,QAAgE;QAEhE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE5E,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;QAE/C,OAAO,IAAI,CAAC;IAChB,CAAC;IAGD;;;;;OAKG;IACH,aAAa,CAAC,KAAqB;QAC/B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAE7C,OAAO,IAAI,CAAC;IAChB,CAAC;IAGD;;;;;OAKG;IACH,GAAG,CAAC,IAAuC;QACvC,IAAI,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE/C,IAAI,CAAC,QAAQ;YACT,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,kCAAwB,CAAC,gBAAgB,CAAE,CAAC;QAErF,OAAO,QAAQ,CAAC;IACpB,CAAC;CAmBJ;AAlFD,4BAkFC"}
1
+ {"version":3,"file":"A-Errors.context.js","sourceRoot":"","sources":["../../../../src/base/A-Errors/A-Errors.context.ts"],"names":[],"mappings":";;;AAAA,4CAA6I;AAE7I,yFAAiG;AACjG,0FAAiF;AAGjF,MAAa,QAAS,SAAQ,6BAAU;IAIpC,YACI,MAA6C;QAG7C,KAAK,iCACE,MAAM,KACT,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,UAAU,IACjC,CAAC;QATG,qBAAgB,GAAuD,IAAI,GAAG,EAAE,CAAC;QAWvF,IAAI,CAAC,WAAW,CAAC,8CAA2B,CAAC,CAAC;QAE9C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;IAGD;;;;OAIG;IACH,WAAW,CACP,QAAgE;QAEhE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE5E,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;QAE/C,OAAO,IAAI,CAAC;IAChB,CAAC;IAGD;;;;;OAKG;IACH,aAAa,CAAC,KAAqB;QAC/B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAE7C,OAAO,IAAI,CAAC;IAChB,CAAC;IAGD;;;;;OAKG;IACH,GAAG,CAAC,IAAuC;QACvC,IAAI,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE/C,IAAI,CAAC,QAAQ;YACT,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,kCAAwB,CAAC,gBAAgB,CAAE,CAAC;QAErF,OAAO,QAAQ,CAAC;IACpB,CAAC;CAmBJ;AAlFD,4BAkFC"}
@@ -8,6 +8,7 @@ const A_Context_class_1 = require("../../global/A-Context/A-Context.class");
8
8
  const A_Entity_types_1 = require("../../global/A-Entity/A-Entity.types");
9
9
  const A_Component_types_1 = require("../../global/A-Component/A-Component.types");
10
10
  const A_Entity_class_1 = require("../../global/A-Entity/A-Entity.class");
11
+ const A_Meta_class_1 = require("../../global/A-Meta/A-Meta.class");
11
12
  /**
12
13
  * A-Feature decorator
13
14
  *
@@ -23,7 +24,7 @@ const A_Entity_class_1 = require("../../global/A-Entity/A-Entity.class");
23
24
  */
24
25
  function A_Feature_Define(config = {}) {
25
26
  return function (target, propertyKey, descriptor) {
26
- const meta = A_Context_class_1.A_Context.meta(target);
27
+ const meta = A_Context_class_1.A_Context.meta(target.constructor);
27
28
  let metaKey;
28
29
  switch (true) {
29
30
  case target instanceof A_Entity_class_1.A_Entity:
@@ -39,16 +40,17 @@ function A_Feature_Define(config = {}) {
39
40
  throw new Error(`A-Feature cannot be defined on the ${target} level`);
40
41
  }
41
42
  // Get the existed metadata or create a new one
42
- const existedMeta = meta.get(metaKey)
43
- || new Map();
43
+ const existedMeta = meta.get(metaKey) || new A_Meta_class_1.A_Meta();
44
44
  // Set the metadata of the method to define a custom Feature with name
45
45
  existedMeta.set(propertyKey, {
46
+ name: `${target.constructor.name}.${propertyKey || config.name}`,
46
47
  handler: propertyKey,
47
- config: Object.assign(Object.assign({}, config), { name: `${target.constructor.name}.${propertyKey || config.name}` })
48
+ 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' }))) : [],
49
+ channel: config.channel || []
48
50
  });
49
51
  // Update the metadata of the container with the new Feature definition
50
52
  A_Context_class_1.A_Context
51
- .meta(target)
53
+ .meta(target.constructor)
52
54
  .set(metaKey, existedMeta);
53
55
  };
54
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"A-Feature-Define.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/A-Feature/A-Feature-Define.decorator.ts"],"names":[],"mappings":";;AA6BA,4CAmDC;AAhFD,6FAAoF;AAKpF,6FAAoF;AACpF,6FAAkG;AAClG,uFAA8E;AAI9E,oFAAyF;AACzF,6FAAkG;AAClG,oFAA2E;AAG3E;;;;;;;;;;;;GAYG;AACH,SAAgB,gBAAgB,CAC5B,SAAqD,EAAE;IAEvD,OAAO,UACH,MAAiD,EACjD,WAAmB,EACnB,UAAiD;QAGjD,MAAM,IAAI,GAAqD,2BAAS,CAAC,IAAI,CAAC,MAAa,CAAC,CAAC;QAE7F,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,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;eAC9B,IAAI,GAAG,EAAE,CAAC;QAGjB,uEAAuE;QACvE,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE;YACzB,OAAO,EAAE,WAAW;YACpB,MAAM,kCACC,MAAM,KACT,IAAI,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,WAAW,IAAI,MAAM,CAAC,IAAI,EAAE,GACnE;SACJ,CAAC,CAAC;QAEH,wEAAwE;QACxE,2BAAS;aACJ,IAAI,CAAC,MAAa,CAAC;aACnB,GAAG,CACA,OAAO,EACP,WAAW,CACd,CAAC;IACV,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":";;AA+BA,4CA+DC;AA9FD,6FAAoF;AAMpF,6FAAoF;AACpF,6FAAsI;AACtI,uFAA8E;AAI9E,oFAAyF;AACzF,6FAAkG;AAClG,oFAA2E;AAC3E,8EAAqE;AAGrE;;;;;;;;;;;;GAYG;AACH,SAAgB,gBAAgB,CAC5B,SAAqD,EAAE;IAEvD,OAAO,UACH,MAAiD,EACjD,WAAmB,EACnB,UAAiD;QAGjD,MAAM,IAAI,GAAqD,2BAAS,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAElG,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;QAGvC,uEAAuE;QACvE,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE;YACzB,IAAI,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,WAAW,IAAI,MAAM,CAAC,IAAI,EAAE;YAChE,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,WAAW,CAAC;aACxB,GAAG,CACA,OAAO,EACP,WAAW,CACd,CAAC;IACV,CAAC,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"A-Feature-Extend.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/A-Feature/A-Feature-Extend.decorator.ts"],"names":[],"mappings":";;AAiDA,4CA6DC;AAzGD,6FAAkG;AAClG,uFAA8E;AAG9E,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,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,6 +1,9 @@
1
+ import { A_Channel } from "../../global/A-Channel/A-Channel.class";
1
2
  import { A_Component } from "../../global/A-Component/A-Component.class";
2
3
  import { A_Container } from "../../global/A-Container/A-Container.class";
3
4
  import { A_Entity } from "../../global/A-Entity/A-Entity.class";
5
+ import { A_TYPES__A_StageStep } from "../../global/A-Stage/A-Stage.types";
6
+ import { A_TYPES__Required } from "@adaas/a-utils";
4
7
  export type A_TYPES__A_Feature_Extend = {
5
8
  (regexp: RegExp): MethodDecorator;
6
9
  (config: Partial<A_TYPES__A_ExtendDecoratorConfig>): MethodDecorator;
@@ -9,6 +12,15 @@ export type A_TYPES__A_Feature_Extend = {
9
12
  export type A_TYPES__A_FeatureDecoratorDescriptor = TypedPropertyDescriptor<() => any> | TypedPropertyDescriptor<(...args: any[]) => any> | TypedPropertyDescriptor<(...args: any[]) => Promise<any>> | TypedPropertyDescriptor<() => Promise<any>>;
10
13
  export type A_TYPES__A_FeatureDecoratorConfig = {
11
14
  name: string;
15
+ channel: Array<typeof A_Channel>;
16
+ template: Array<A_TYPES__A_FeatureTemplateItem>;
17
+ };
18
+ export type A_TYPES__A_FeatureTemplateItem = A_TYPES__Required<Partial<A_TYPES__A_StageStep>, ['name', 'handler', 'component']>;
19
+ export type A_TYPES__A_DefineDecorator_Meta = {
20
+ name: string;
21
+ handler: string;
22
+ channel: Array<typeof A_Channel>;
23
+ template: Array<A_TYPES__A_StageStep>;
12
24
  };
13
25
  export type A_TYPES__A_ExtendDecoratorDescriptor = TypedPropertyDescriptor<() => any> | TypedPropertyDescriptor<(...args: any[]) => any> | TypedPropertyDescriptor<(...args: any[]) => Promise<any>> | TypedPropertyDescriptor<() => Promise<any>>;
14
26
  export type A_TYPES__A_ExtendDecoratorConfig = {
@@ -1,7 +1,15 @@
1
+ import { A_TYPES__A_InjectDecorator_Meta } from "../../decorators/A-Inject/A-Inject.decorator.types";
1
2
  import { A_TYPES__ConceptAbstractionMeta, A_TYPES__ConceptStage } from "../A-Concept/A_Concept.types";
2
3
  import { A_Meta } from "../A-Meta/A-Meta.class";
3
4
  import { A_TYPES__ComponentMeta, A_TYPES__ComponentMetaExtension } from "./A-Component.types";
4
5
  export declare class A_ComponentMeta extends A_Meta<A_TYPES__ComponentMeta> {
6
+ /**
7
+ * Allows to get all the injections for a given handler
8
+ *
9
+ * @param handler
10
+ * @returns
11
+ */
12
+ injections(handler: string): A_TYPES__A_InjectDecorator_Meta;
5
13
  /**
6
14
  * Allows to get all the extensions for a given feature
7
15
  *
@@ -4,6 +4,17 @@ exports.A_ComponentMeta = void 0;
4
4
  const A_Meta_class_1 = require("../A-Meta/A-Meta.class");
5
5
  const A_Component_types_1 = require("./A-Component.types");
6
6
  class A_ComponentMeta extends A_Meta_class_1.A_Meta {
7
+ /**
8
+ * Allows to get all the injections for a given handler
9
+ *
10
+ * @param handler
11
+ * @returns
12
+ */
13
+ injections(handler) {
14
+ const injections = this.get(A_Component_types_1.A_TYPES__ComponentMetaKey.INJECTIONS);
15
+ const args = (injections === null || injections === void 0 ? void 0 : injections.get(handler)) || [];
16
+ return args;
17
+ }
7
18
  /**
8
19
  * Allows to get all the extensions for a given feature
9
20
  *
@@ -14,17 +25,14 @@ class A_ComponentMeta extends A_Meta_class_1.A_Meta {
14
25
  const steps = [];
15
26
  const extensions = this.get(A_Component_types_1.A_TYPES__ComponentMetaKey.EXTENSIONS);
16
27
  const injections = this.get(A_Component_types_1.A_TYPES__ComponentMetaKey.INJECTIONS);
17
- // const constructor = A_Context.component(this);
18
28
  extensions === null || extensions === void 0 ? void 0 : extensions
19
29
  // returns all extensions that match the feature
20
30
  .find(feature).forEach(([handler, extensions]) => {
21
31
  extensions.forEach(extension => {
22
- const args = (injections === null || injections === void 0 ? void 0 : injections.get(extension.handler)) || [];
23
32
  steps.push({
24
33
  // component: constructor,
25
34
  name: extension.name,
26
35
  handler: extension.handler,
27
- args,
28
36
  behavior: extension.behavior,
29
37
  before: extension.before || [],
30
38
  after: extension.after || []
@@ -1 +1 @@
1
- {"version":3,"file":"A-Component.meta.js","sourceRoot":"","sources":["../../../../src/global/A-Component/A-Component.meta.ts"],"names":[],"mappings":";;;AACA,yDAAgD;AAChD,2DAAyH;AAGzH,MAAa,eAAgB,SAAQ,qBAA8B;IAK/D;;;;;OAKG;IACH,UAAU,CACN,OAAe;QAEf,MAAM,KAAK,GAAsC,EAAE,CAAC;QAEpD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,6CAAyB,CAAC,UAAU,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,6CAAyB,CAAC,UAAU,CAAC,CAAC;QAElE,iDAAiD;QAGjD,UAAU,aAAV,UAAU,uBAAV,UAAU;QACN,gDAAgD;SAC9C,IAAI,CAAC,OAAO,EACb,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE;YAC/B,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC3B,MAAM,IAAI,GAAG,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,KAAI,EAAE,CAAC;gBAEtD,KAAK,CAAC,IAAI,CAAC;oBACP,0BAA0B;oBAC1B,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,IAAI;oBACJ,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,EAAE;oBAC9B,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,EAAE;iBAC/B,CAAC,CAAC;YAEP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAGP,OAAO,KAAK,CAAC;IACjB,CAAC;IAGD;;;;;OAKG;IACH,YAAY,CACR,WAAkC;QAElC,MAAM,KAAK,GAAsC,EAAE,CAAC;QAEpD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,6CAAyB,CAAC,YAAY,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,6CAAyB,CAAC,UAAU,CAAC,CAAC;QAElE,iDAAiD;QAGjD,YAAY,aAAZ,YAAY,uBAAZ,YAAY;QACR,gDAAgD;SAC9C,IAAI,CAAC,wBAAwB,WAAW,EAAE,EAC3C,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE;YAC/B,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC3B,MAAM,IAAI,GAAG,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,KAAI,EAAE,CAAC;gBAEtD,KAAK,CAAC,IAAI,iCACH,SAAS;oBACZ,0BAA0B;oBAC1B,IAAI,IACN,CAAC;YAEP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAGP,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAnFD,0CAmFC"}
1
+ {"version":3,"file":"A-Component.meta.js","sourceRoot":"","sources":["../../../../src/global/A-Component/A-Component.meta.ts"],"names":[],"mappings":";;;AAEA,yDAAgD;AAChD,2DAAyH;AAGzH,MAAa,eAAgB,SAAQ,qBAA8B;IAI/D;;;;;OAKG;IACH,UAAU,CACN,OAAe;QAEf,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,6CAAyB,CAAC,UAAU,CAAC,CAAC;QAElE,MAAM,IAAI,GAAG,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,GAAG,CAAC,OAAO,CAAC,KAAI,EAAE,CAAC;QAE5C,OAAO,IAAI,CAAC;IAChB,CAAC;IAID;;;;;OAKG;IACH,UAAU,CACN,OAAe;QAEf,MAAM,KAAK,GAAsC,EAAE,CAAC;QAEpD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,6CAAyB,CAAC,UAAU,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,6CAAyB,CAAC,UAAU,CAAC,CAAC;QAElE,UAAU,aAAV,UAAU,uBAAV,UAAU;QACN,gDAAgD;SAC9C,IAAI,CAAC,OAAO,EACb,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE;YAC/B,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC3B,KAAK,CAAC,IAAI,CAAC;oBACP,0BAA0B;oBAC1B,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,EAAE;oBAC9B,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,EAAE;iBAC/B,CAAC,CAAC;YAEP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAGP,OAAO,KAAK,CAAC;IACjB,CAAC;IAGD;;;;;OAKG;IACH,YAAY,CACR,WAAkC;QAElC,MAAM,KAAK,GAAsC,EAAE,CAAC;QAEpD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,6CAAyB,CAAC,YAAY,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,6CAAyB,CAAC,UAAU,CAAC,CAAC;QAElE,iDAAiD;QAGjD,YAAY,aAAZ,YAAY,uBAAZ,YAAY;QACR,gDAAgD;SAC9C,IAAI,CAAC,wBAAwB,WAAW,EAAE,EAC3C,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE;YAC/B,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC3B,MAAM,IAAI,GAAG,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,KAAI,EAAE,CAAC;gBAEtD,KAAK,CAAC,IAAI,iCACH,SAAS;oBACZ,0BAA0B;oBAC1B,IAAI,IACN,CAAC;YAEP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAGP,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AA9FD,0CA8FC"}
@@ -1,9 +1,9 @@
1
1
  import { A_TYPES__A_InjectDecorator_Meta } from "../../decorators/A-Inject/A-Inject.decorator.types";
2
2
  import { A_Fragment } from "../A-Fragment/A-Fragment.class";
3
3
  import { A_Meta } from "../A-Meta/A-Meta.class";
4
- import { A_TYPES__A_ExtendDecorator_BehaviorConfig, A_TYPES__A_ExtendDecorator_Meta } from "../../decorators/A-Feature/A-Feature.decorator.types";
4
+ import { A_TYPES__A_DefineDecorator_Meta, A_TYPES__A_ExtendDecorator_BehaviorConfig, A_TYPES__A_ExtendDecorator_Meta } from "../../decorators/A-Feature/A-Feature.decorator.types";
5
5
  import { A_TYPES__ConceptAbstraction } from "../A-Concept/A_Concept.types";
6
- export type A_TYPES__ComponentConstructor<_Exports extends Array<String>> = {
6
+ export type A_TYPES__ComponentConstructor<_Exports extends Array<String> = any> = {
7
7
  exports: _Exports;
8
8
  };
9
9
  export type A_TYPES__ComponentCallParams<T extends string> = {
@@ -24,7 +24,14 @@ export type A_TYPES__ComponentMeta = {
24
24
  */
25
25
  [Key: string]: A_TYPES__A_ExtendDecorator_Meta[];
26
26
  }>;
27
- [A_TYPES__ComponentMetaKey.FEATURES]: any[];
27
+ [A_TYPES__ComponentMetaKey.FEATURES]: A_Meta<{
28
+ /**
29
+ * Where Key is the name of the feature
30
+ *
31
+ * Where value is the list of features
32
+ */
33
+ [Key: string]: A_TYPES__A_DefineDecorator_Meta;
34
+ }>;
28
35
  [A_TYPES__ComponentMetaKey.INJECTIONS]: A_Meta<{
29
36
  /**
30
37
  * Where Key is the name of the injection
@@ -57,8 +64,4 @@ export type A_TYPES__ComponentMetaExtension = {
57
64
  * The name of the handler that will be used to apply the extension
58
65
  */
59
66
  handler: string;
60
- /**
61
- * The arguments that will be passed to the handler
62
- */
63
- args: A_TYPES__A_InjectDecorator_Meta;
64
67
  } & A_TYPES__A_ExtendDecorator_BehaviorConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"A-Component.types.js","sourceRoot":"","sources":["../../../../src/global/A-Component/A-Component.types.ts"],"names":[],"mappings":";;;AAqDA,IAAY,yBAKX;AALD,WAAY,yBAAyB;IACjC,kEAAqC,CAAA;IACrC,8DAAiC,CAAA;IACjC,kEAAqC,CAAA;IACrC,sEAAyC,CAAA;AAC7C,CAAC,EALW,yBAAyB,yCAAzB,yBAAyB,QAKpC"}
1
+ {"version":3,"file":"A-Component.types.js","sourceRoot":"","sources":["../../../../src/global/A-Component/A-Component.types.ts"],"names":[],"mappings":";;;AA6DA,IAAY,yBAKX;AALD,WAAY,yBAAyB;IACjC,kEAAqC,CAAA;IACrC,8DAAiC,CAAA;IACjC,kEAAqC,CAAA;IACrC,sEAAyC,CAAA;AAC7C,CAAC,EALW,yBAAyB,yCAAzB,yBAAyB,QAKpC"}
@@ -3,6 +3,7 @@ import { A_TYPES__ConceptAbstraction } from "../A-Concept/A_Concept.types";
3
3
  import { A_Fragment } from "../A-Fragment/A-Fragment.class";
4
4
  import { A_Meta } from "../A-Meta/A-Meta.class";
5
5
  import { A_TYPES__ScopeConstructor } from "../A-Scope/A-Scope.types";
6
+ import { A_TYPES__A_DefineDecorator_Meta } from "../../decorators/A-Feature/A-Feature.decorator.types";
6
7
  export type A_TYPES__ContainerConstructor<_Exports extends Array<String>> = {
7
8
  name?: string;
8
9
  exports: _Exports;
@@ -15,7 +16,14 @@ export type A_TYPES__ContainerCallParams<T extends string> = {
15
16
  }>;
16
17
  };
17
18
  export type A_TYPES__ContainerMeta = {
18
- [A_TYPES__ContainerMetaKey.FEATURES]: Map<string, A_TYPES__ContainerMeta_FeatureItem>;
19
+ [A_TYPES__ContainerMetaKey.FEATURES]: A_Meta<{
20
+ /**
21
+ * Where Key is the name of the feature
22
+ *
23
+ * Where value is the list of features
24
+ */
25
+ [Key: string]: A_TYPES__A_DefineDecorator_Meta;
26
+ }>;
19
27
  [A_TYPES__ContainerMetaKey.ABSTRACTIONS]: A_Meta<{
20
28
  /**
21
29
  * Where Key the regexp for what to apply the extension
@@ -1 +1 @@
1
- {"version":3,"file":"A-Container.types.js","sourceRoot":"","sources":["../../../../src/global/A-Container/A-Container.types.ts"],"names":[],"mappings":";;;AA8CA,IAAY,yBAIX;AAJD,WAAY,yBAAyB;IACjC,8DAAiC,CAAA;IACjC,kEAAqC,CAAA;IACrC,sEAAyC,CAAA;AAC7C,CAAC,EAJW,yBAAyB,yCAAzB,yBAAyB,QAIpC"}
1
+ {"version":3,"file":"A-Container.types.js","sourceRoot":"","sources":["../../../../src/global/A-Container/A-Container.types.ts"],"names":[],"mappings":";;;AAqDA,IAAY,yBAIX;AAJD,WAAY,yBAAyB;IACjC,8DAAiC,CAAA;IACjC,kEAAqC,CAAA;IACrC,sEAAyC,CAAA;AAC7C,CAAC,EAJW,yBAAyB,yCAAzB,yBAAyB,QAIpC"}
@@ -11,8 +11,11 @@ const A_Meta_class_1 = require("../A-Meta/A-Meta.class");
11
11
  const A_Component_meta_1 = require("../A-Component/A-Component.meta");
12
12
  const A_Container_meta_1 = require("../A-Container/A-Container.meta");
13
13
  const A_Concept_class_1 = require("../A-Concept/A_Concept.class");
14
+ const A_Entity_types_1 = require("../A-Entity/A-Entity.types");
14
15
  const A_Entity_class_1 = require("../A-Entity/A-Entity.class");
15
16
  const A_Entity_meta_1 = require("../A-Entity/A-Entity.meta");
17
+ const A_Container_types_1 = require("../A-Container/A-Container.types");
18
+ const A_Component_types_1 = require("../A-Component/A-Component.types");
16
19
  /**
17
20
  * Namespace Provider is responsible for providing the Namespace to the Containers and other Namespaces.
18
21
  * This class stores all Namespaces across the Program.
@@ -214,7 +217,26 @@ class A_Context {
214
217
  * While Scope we use just to store the scope where the component registered.
215
218
  *
216
219
  */
217
- const steps = [];
220
+ let metaKey;
221
+ switch (true) {
222
+ case component instanceof A_Entity_class_1.A_Entity:
223
+ metaKey = A_Entity_types_1.A_TYPES__EntityMetaKey.FEATURES;
224
+ break;
225
+ case component instanceof A_Container_class_1.A_Container:
226
+ metaKey = A_Container_types_1.A_TYPES__ContainerMetaKey.FEATURES;
227
+ break;
228
+ case component instanceof A_Component_class_1.A_Component:
229
+ metaKey = A_Component_types_1.A_TYPES__ComponentMetaKey.FEATURES;
230
+ break;
231
+ default:
232
+ throw new Error(`A-Feature cannot be defined on the ${component} level`);
233
+ }
234
+ const featureDefinition = this.meta(component).get(metaKey);
235
+ if (!featureDefinition)
236
+ throw new Error(`[!] A-Concept Context: Feature not found.`);
237
+ const steps = [
238
+ ...featureDefinition.template
239
+ ];
218
240
  // const feature: string = new ASEID({
219
241
  // id: `${param2}-${Math.random()}`,
220
242
  // entity: 'a-feature',
@@ -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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"}
@@ -1,7 +1,7 @@
1
1
  import { ASEID } from "@adaas/a-utils";
2
2
  import { A_Meta } from "../A-Meta/A-Meta.class";
3
3
  import { A_Fragment } from "../A-Fragment/A-Fragment.class";
4
- import { A_TYPES__A_ExtendDecorator_Meta } from "../../decorators/A-Feature/A-Feature.decorator.types";
4
+ import { A_TYPES__A_DefineDecorator_Meta, A_TYPES__A_ExtendDecorator_Meta } from "../../decorators/A-Feature/A-Feature.decorator.types";
5
5
  import { A_Entity } from "./A-Entity.class";
6
6
  export type A_TYPES__EntityCallParams<T extends string> = {
7
7
  name: T;
@@ -45,7 +45,14 @@ export type A_TYPES__EntityMeta = {
45
45
  [Key: string]: A_TYPES__A_ExtendDecorator_Meta[];
46
46
  }>;
47
47
  case: any;
48
- [A_TYPES__EntityMetaKey.FEATURES]: any[];
48
+ [A_TYPES__EntityMetaKey.FEATURES]: A_Meta<{
49
+ /**
50
+ * Where Key is the name of the feature
51
+ *
52
+ * Where value is the list of features
53
+ */
54
+ [Key: string]: A_TYPES__A_DefineDecorator_Meta;
55
+ }>;
49
56
  };
50
57
  export declare enum A_TYPES__EntityMetaKey {
51
58
  EXTENSIONS = "a-component-extensions",
@@ -1 +1 @@
1
- {"version":3,"file":"A-Entity.types.js","sourceRoot":"","sources":["../../../../src/global/A-Entity/A-Entity.types.ts"],"names":[],"mappings":";;;AAqBA,IAAY,yBAIX;AAJD,WAAY,yBAAyB;IACjC,0CAAa,CAAA;IACb,gDAAmB,CAAA;IACnB,0CAAa,CAAA;AACjB,CAAC,EAJW,yBAAyB,yCAAzB,yBAAyB,QAIpC;AAOA,CAAC;AAgCF,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAC9B,+DAAqC,CAAA;IACrC,2DAAiC,CAAA;AACrC,CAAC,EAHW,sBAAsB,sCAAtB,sBAAsB,QAGjC"}
1
+ {"version":3,"file":"A-Entity.types.js","sourceRoot":"","sources":["../../../../src/global/A-Entity/A-Entity.types.ts"],"names":[],"mappings":";;;AAsBA,IAAY,yBAIX;AAJD,WAAY,yBAAyB;IACjC,0CAAa,CAAA;IACb,gDAAmB,CAAA;IACnB,0CAAa,CAAA;AACjB,CAAC,EAJW,yBAAyB,yCAAzB,yBAAyB,QAIpC;AAOA,CAAC;AAuCF,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAC9B,+DAAqC,CAAA;IACrC,2DAAiC,CAAA;AACrC,CAAC,EAHW,sBAAsB,sCAAtB,sBAAsB,QAGjC"}
@@ -26,7 +26,7 @@ export declare class A_Stage {
26
26
  * @param step
27
27
  * @returns
28
28
  */
29
- protected getStepArgs(step: A_TYPES__A_StageStep): Promise<Promise<import("../A-Fragment/A-Fragment.class").A_Fragment | import("../A-Entity/A-Entity.class").A_Entity<any, any, any> | import("../A-Component/A-Component.class").A_Component<any> | import("../A-Scope/A-Scope.class").A_Scope | A_Container<any> | A_Feature | this>[]>;
29
+ protected getStepArgs(step: A_TYPES__A_StageStep): Promise<Promise<import("../A-Fragment/A-Fragment.class").A_Fragment | import("../A-Component/A-Component.class").A_Component<any> | import("../A-Scope/A-Scope.class").A_Scope | A_Container<any> | import("../A-Entity/A-Entity.class").A_Entity<any, any, any> | A_Feature | this>[]>;
30
30
  /**
31
31
  * Adds a step to the stage
32
32
  *
@@ -40,7 +40,7 @@ export declare class A_Stage {
40
40
  * @param step
41
41
  * @returns
42
42
  */
43
- protected getStepInstance(step: A_TYPES__A_StageStep): A_Container<any> | import("../A-Component/A-Component.class").A_Component<string[]>;
43
+ protected getStepInstance(step: A_TYPES__A_StageStep): import("../A-Component/A-Component.class").A_Component<any> | A_Container<any>;
44
44
  /**
45
45
  * Calls the handler of the step
46
46
  *
@@ -48,7 +48,12 @@ class A_Stage {
48
48
  */
49
49
  getStepArgs(step) {
50
50
  return __awaiter(this, void 0, void 0, function* () {
51
- return step.args.map((arg) => __awaiter(this, void 0, void 0, function* () {
51
+ const target = step.component instanceof A_Container_class_1.A_Container ?
52
+ step.component.constructor : step.component;
53
+ return A_Context_class_1.A_Context
54
+ .meta(target)
55
+ .injections(step.handler)
56
+ .map((arg) => __awaiter(this, void 0, void 0, function* () {
52
57
  // In case if the target is a feature step then pass the current feature
53
58
  return a_utils_1.A_CommonHelper.isInheritedFrom(arg.target, A_Feature_class_1.A_Feature)
54
59
  ? this
@@ -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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"}
@@ -1,4 +1,3 @@
1
- import { A_TYPES__A_InjectDecorator_Meta } from "../../decorators/A-Inject/A-Inject.decorator.types";
2
1
  import { A_Component } from "../A-Component/A-Component.class";
3
2
  import { A_Container } from "../A-Container/A-Container.class";
4
3
  import { A_TYPES__A_ExtendDecorator_BehaviorConfig } from "../../decorators/A-Feature/A-Feature.decorator.types";
@@ -53,7 +52,7 @@ export type A_TYPES__A_StageStep = {
53
52
  /**
54
53
  * The component to be called
55
54
  */
56
- component: typeof A_Component | typeof A_Container | A_Container<any>;
55
+ component: typeof A_Component<any> | typeof A_Container<any> | A_Container<any>;
57
56
  /**
58
57
  * The method to be called on the component
59
58
  */
@@ -65,10 +64,6 @@ export type A_TYPES__A_StageStep = {
65
64
  *
66
65
  */
67
66
  name: string;
68
- /**
69
- * Arguments to be passed to the method
70
- */
71
- args: A_TYPES__A_InjectDecorator_Meta;
72
67
  } & A_TYPES__A_ExtendDecorator_BehaviorConfig;
73
68
  export type A_TYPES__A_Stage_JSON = {
74
69
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adaas/a-concept",
3
- "version": "0.0.30",
3
+ "version": "0.0.32",
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",
@@ -0,0 +1,10 @@
1
+ import { A_Entity } from "@adaas/a-concept/global/A-Entity/A-Entity.class";
2
+
3
+
4
+
5
+ export class A_Error extends A_Entity {
6
+
7
+
8
+
9
+
10
+ }
@@ -17,11 +17,11 @@ export class A_Errors extends A_Fragment {
17
17
  name: params.name || 'a-errors'
18
18
  });
19
19
 
20
+ this.addRegistry(A_CONSTANTS__DEFAULT_ERRORS);
21
+
20
22
  if (params.errors) {
21
23
  this.addRegistry(params.errors);
22
24
  }
23
-
24
- this.addRegistry(A_CONSTANTS__DEFAULT_ERRORS);
25
25
  }
26
26
 
27
27
 
@@ -1,10 +1,11 @@
1
1
  import { A_Component } from "@adaas/a-concept/global/A-Component/A-Component.class";
2
2
  import {
3
+ A_TYPES__A_DefineDecorator_Meta,
3
4
  A_TYPES__A_FeatureDecoratorConfig,
4
5
  A_TYPES__A_FeatureDecoratorDescriptor,
5
6
  } from "./A-Feature.decorator.types";
6
7
  import { A_Container } from "@adaas/a-concept/global/A-Container/A-Container.class";
7
- import { A_TYPES__ContainerMetaKey } from "@adaas/a-concept/global/A-Container/A-Container.types";
8
+ import { A_TYPES__ContainerMeta_FeatureItem, A_TYPES__ContainerMetaKey } from "@adaas/a-concept/global/A-Container/A-Container.types";
8
9
  import { A_Context } from "@adaas/a-concept/global/A-Context/A-Context.class";
9
10
  import { A_EntityMeta } from "@adaas/a-concept/global/A-Entity/A-Entity.meta";
10
11
  import { A_ContainerMeta } from "@adaas/a-concept/global/A-Container/A-Container.meta";
@@ -12,6 +13,7 @@ import { A_ComponentMeta } from "@adaas/a-concept/global/A-Component/A-Component
12
13
  import { A_TYPES__EntityMetaKey } from "@adaas/a-concept/global/A-Entity/A-Entity.types";
13
14
  import { A_TYPES__ComponentMetaKey } from "@adaas/a-concept/global/A-Component/A-Component.types";
14
15
  import { A_Entity } from "@adaas/a-concept/global/A-Entity/A-Entity.class";
16
+ import { A_Meta } from "@adaas/a-concept/global/A-Meta/A-Meta.class";
15
17
 
16
18
 
17
19
  /**
@@ -36,7 +38,7 @@ export function A_Feature_Define(
36
38
  descriptor: A_TYPES__A_FeatureDecoratorDescriptor
37
39
  ) {
38
40
 
39
- const meta: A_EntityMeta | A_ContainerMeta | A_ComponentMeta = A_Context.meta(target as any);
41
+ const meta: A_EntityMeta | A_ContainerMeta | A_ComponentMeta = A_Context.meta(target.constructor);
40
42
 
41
43
  let metaKey;
42
44
 
@@ -57,22 +59,34 @@ export function A_Feature_Define(
57
59
 
58
60
 
59
61
  // Get the existed metadata or create a new one
60
- const existedMeta = meta.get(metaKey)
61
- || new Map();
62
+ const existedMeta: A_Meta<{
63
+ /**
64
+ * Where Key is the name of the feature
65
+ *
66
+ * Where value is the list of features
67
+ */
68
+ [Key: string]: A_TYPES__A_DefineDecorator_Meta
69
+ }> = meta.get(metaKey) || new A_Meta();
62
70
 
63
71
 
64
72
  // Set the metadata of the method to define a custom Feature with name
65
73
  existedMeta.set(propertyKey, {
74
+ name: `${target.constructor.name}.${propertyKey || config.name}`,
66
75
  handler: propertyKey,
67
- config: {
68
- ...config,
69
- name: `${target.constructor.name}.${propertyKey || config.name}`,
70
- }
76
+ template: config.template && config.template.length ? config.template.map(
77
+ item => ({
78
+ ...item,
79
+ before: item.before || [],
80
+ after: item.after || [],
81
+ behavior: item.behavior || 'sync',
82
+ })
83
+ ) : [],
84
+ channel: config.channel || []
71
85
  });
72
86
 
73
87
  // Update the metadata of the container with the new Feature definition
74
88
  A_Context
75
- .meta(target as any)
89
+ .meta(target.constructor)
76
90
  .set(
77
91
  metaKey,
78
92
  existedMeta
@@ -5,8 +5,6 @@ import {
5
5
  } from "./A-Feature.decorator.types";
6
6
  import { A_TYPES__ComponentMetaKey } from "@adaas/a-concept/global/A-Component/A-Component.types";
7
7
  import { A_Context } from "@adaas/a-concept/global/A-Context/A-Context.class";
8
- import { A_Container } from "@adaas/a-concept/global/A-Container/A-Container.class";
9
- import { A_Entity } from "@adaas/a-concept/global/A-Entity/A-Entity.class";
10
8
  import { A_Meta } from "@adaas/a-concept/global/A-Meta/A-Meta.class";
11
9
 
12
10
 
@@ -1,6 +1,9 @@
1
+ import { A_Channel } from "@adaas/a-concept/global/A-Channel/A-Channel.class";
1
2
  import { A_Component } from "@adaas/a-concept/global/A-Component/A-Component.class"
2
3
  import { A_Container } from "@adaas/a-concept/global/A-Container/A-Container.class"
3
4
  import { A_Entity } from "@adaas/a-concept/global/A-Entity/A-Entity.class"
5
+ import { A_TYPES__A_StageStep } from "@adaas/a-concept/global/A-Stage/A-Stage.types";
6
+ import { A_TYPES__Required } from "@adaas/a-utils";
4
7
 
5
8
 
6
9
  export type A_TYPES__A_Feature_Extend = {
@@ -26,8 +29,19 @@ export type A_TYPES__A_FeatureDecoratorDescriptor =
26
29
 
27
30
  export type A_TYPES__A_FeatureDecoratorConfig = {
28
31
  name: string,
32
+ channel: Array<typeof A_Channel>
33
+ template: Array<A_TYPES__A_FeatureTemplateItem>
29
34
  }
30
35
 
36
+ export type A_TYPES__A_FeatureTemplateItem = A_TYPES__Required<Partial<A_TYPES__A_StageStep>, ['name', 'handler', 'component']>
37
+
38
+
39
+ export type A_TYPES__A_DefineDecorator_Meta = {
40
+ name: string,
41
+ handler: string,
42
+ channel: Array<typeof A_Channel>
43
+ template: Array<A_TYPES__A_StageStep>
44
+ }
31
45
 
32
46
 
33
47
  export type A_TYPES__A_ExtendDecoratorDescriptor =
@@ -1,3 +1,4 @@
1
+ import { A_TYPES__A_InjectDecorator_Meta } from "@adaas/a-concept/decorators/A-Inject/A-Inject.decorator.types";
1
2
  import { A_TYPES__ConceptAbstractionMeta, A_TYPES__ConceptStage } from "../A-Concept/A_Concept.types";
2
3
  import { A_Meta } from "../A-Meta/A-Meta.class";
3
4
  import { A_TYPES__ComponentMeta, A_TYPES__ComponentMetaExtension, A_TYPES__ComponentMetaKey } from "./A-Component.types";
@@ -7,6 +8,23 @@ export class A_ComponentMeta extends A_Meta<A_TYPES__ComponentMeta> {
7
8
 
8
9
 
9
10
 
11
+ /**
12
+ * Allows to get all the injections for a given handler
13
+ *
14
+ * @param handler
15
+ * @returns
16
+ */
17
+ injections(
18
+ handler: string
19
+ ): A_TYPES__A_InjectDecorator_Meta {
20
+ const injections = this.get(A_TYPES__ComponentMetaKey.INJECTIONS);
21
+
22
+ const args = injections?.get(handler) || [];
23
+
24
+ return args;
25
+ }
26
+
27
+
10
28
 
11
29
  /**
12
30
  * Allows to get all the extensions for a given feature
@@ -22,21 +40,15 @@ export class A_ComponentMeta extends A_Meta<A_TYPES__ComponentMeta> {
22
40
  const extensions = this.get(A_TYPES__ComponentMetaKey.EXTENSIONS);
23
41
  const injections = this.get(A_TYPES__ComponentMetaKey.INJECTIONS);
24
42
 
25
- // const constructor = A_Context.component(this);
26
-
27
-
28
43
  extensions
29
44
  // returns all extensions that match the feature
30
45
  ?.find(feature)
31
46
  .forEach(([handler, extensions]) => {
32
47
  extensions.forEach(extension => {
33
- const args = injections?.get(extension.handler) || [];
34
-
35
48
  steps.push({
36
49
  // component: constructor,
37
50
  name: extension.name,
38
51
  handler: extension.handler,
39
- args,
40
52
  behavior: extension.behavior,
41
53
  before: extension.before || [],
42
54
  after: extension.after || []
@@ -1,10 +1,11 @@
1
1
  import { A_TYPES__A_InjectDecorator_Meta } from "@adaas/a-concept/decorators/A-Inject/A-Inject.decorator.types"
2
2
  import { A_Fragment } from "../A-Fragment/A-Fragment.class"
3
3
  import { A_Meta } from "../A-Meta/A-Meta.class"
4
- import { A_TYPES__A_ExtendDecorator_BehaviorConfig, A_TYPES__A_ExtendDecorator_Meta } from "@adaas/a-concept/decorators/A-Feature/A-Feature.decorator.types"
4
+ import { A_TYPES__A_DefineDecorator_Meta, A_TYPES__A_ExtendDecorator_BehaviorConfig, A_TYPES__A_ExtendDecorator_Meta } from "@adaas/a-concept/decorators/A-Feature/A-Feature.decorator.types"
5
5
  import { A_TYPES__ConceptAbstraction, A_TYPES__ConceptAbstractionMeta } from "../A-Concept/A_Concept.types"
6
+ import { A_TYPES__ContainerMeta_FeatureItem } from "../A-Container/A-Container.types"
6
7
 
7
- export type A_TYPES__ComponentConstructor<_Exports extends Array<String>> = {
8
+ export type A_TYPES__ComponentConstructor<_Exports extends Array<String> = any> = {
8
9
  exports: _Exports,
9
10
  }
10
11
 
@@ -29,7 +30,14 @@ export type A_TYPES__ComponentMeta = {
29
30
  }>,
30
31
 
31
32
 
32
- [A_TYPES__ComponentMetaKey.FEATURES]: any[],
33
+ [A_TYPES__ComponentMetaKey.FEATURES]: A_Meta<{
34
+ /**
35
+ * Where Key is the name of the feature
36
+ *
37
+ * Where value is the list of features
38
+ */
39
+ [Key: string]: A_TYPES__A_DefineDecorator_Meta
40
+ }>
33
41
 
34
42
 
35
43
  [A_TYPES__ComponentMetaKey.INJECTIONS]: A_Meta<{
@@ -67,11 +75,6 @@ export type A_TYPES__ComponentMetaExtension = {
67
75
  * The name of the handler that will be used to apply the extension
68
76
  */
69
77
  handler: string,
70
- /**
71
- * The arguments that will be passed to the handler
72
- */
73
- args: A_TYPES__A_InjectDecorator_Meta
74
-
75
78
  } & A_TYPES__A_ExtendDecorator_BehaviorConfig
76
79
 
77
80
 
@@ -3,7 +3,7 @@ import { A_TYPES__ConceptAbstraction, A_TYPES__ConceptAbstractionMeta, A_TYPES__
3
3
  import { A_Fragment } from "../A-Fragment/A-Fragment.class";
4
4
  import { A_Meta } from "../A-Meta/A-Meta.class";
5
5
  import { A_TYPES__ScopeConstructor } from "../A-Scope/A-Scope.types";
6
- import { A_TYPES__A_ExtendDecorator_BehaviorConfig } from "@adaas/a-concept/decorators/A-Feature/A-Feature.decorator.types";
6
+ import { A_TYPES__A_DefineDecorator_Meta, A_TYPES__A_ExtendDecorator_BehaviorConfig } from "@adaas/a-concept/decorators/A-Feature/A-Feature.decorator.types";
7
7
 
8
8
 
9
9
 
@@ -20,7 +20,14 @@ export type A_TYPES__ContainerCallParams<T extends string> = {
20
20
  }
21
21
 
22
22
  export type A_TYPES__ContainerMeta = {
23
- [A_TYPES__ContainerMetaKey.FEATURES]: Map<string, A_TYPES__ContainerMeta_FeatureItem>
23
+ [A_TYPES__ContainerMetaKey.FEATURES]: A_Meta<{
24
+ /**
25
+ * Where Key is the name of the feature
26
+ *
27
+ * Where value is the list of features
28
+ */
29
+ [Key: string]: A_TYPES__A_DefineDecorator_Meta
30
+ }>
24
31
  [A_TYPES__ContainerMetaKey.ABSTRACTIONS]: A_Meta<{
25
32
 
26
33
  /**
@@ -9,11 +9,14 @@ import { A_Meta } from "../A-Meta/A-Meta.class";
9
9
  import { A_ComponentMeta } from "../A-Component/A-Component.meta";
10
10
  import { A_ContainerMeta } from "../A-Container/A-Container.meta";
11
11
  import { A_Concept } from "../A-Concept/A_Concept.class";
12
- import { A_TYPES__EntityBaseMethod } from "../A-Entity/A-Entity.types";
12
+ import { A_TYPES__EntityBaseMethod, A_TYPES__EntityMetaKey } from "../A-Entity/A-Entity.types";
13
13
  import { A_Entity } from "../A-Entity/A-Entity.class";
14
14
  import { A_EntityMeta } from "../A-Entity/A-Entity.meta";
15
15
  import { A_TYPES__FeatureConstructor } from "../A-Feature/A-Feature.types";
16
16
  import { A_TYPES__A_StageStep } from "../A-Stage/A-Stage.types";
17
+ import { A_TYPES__A_DefineDecorator_Meta, A_TYPES__A_FeatureDecoratorConfig } from "@adaas/a-concept/decorators/A-Feature/A-Feature.decorator.types";
18
+ import { A_TYPES__ContainerMetaKey } from "../A-Container/A-Container.types";
19
+ import { A_TYPES__ComponentMetaKey } from "../A-Component/A-Component.types";
17
20
 
18
21
 
19
22
  /**
@@ -404,7 +407,31 @@ export class A_Context {
404
407
  * While Scope we use just to store the scope where the component registered.
405
408
  *
406
409
  */
407
- const steps: A_TYPES__A_StageStep[] = [];
410
+ let metaKey;
411
+
412
+ switch (true) {
413
+ case component instanceof A_Entity:
414
+ metaKey = A_TYPES__EntityMetaKey.FEATURES;
415
+ break;
416
+ case component instanceof A_Container:
417
+ metaKey = A_TYPES__ContainerMetaKey.FEATURES
418
+ break;
419
+ case component instanceof A_Component:
420
+ metaKey = A_TYPES__ComponentMetaKey.FEATURES
421
+ break;
422
+ default:
423
+ throw new Error(`A-Feature cannot be defined on the ${component} level`);
424
+ }
425
+
426
+ const featureDefinition: A_TYPES__A_DefineDecorator_Meta = this.meta(component).get(metaKey);
427
+
428
+ if (!featureDefinition)
429
+ throw new Error(`[!] A-Concept Context: Feature not found.`);
430
+
431
+
432
+ const steps: A_TYPES__A_StageStep[] = [
433
+ ...featureDefinition.template
434
+ ];
408
435
  // const feature: string = new ASEID({
409
436
  // id: `${param2}-${Math.random()}`,
410
437
  // entity: 'a-feature',
@@ -1,8 +1,9 @@
1
1
  import { ASEID } from "@adaas/a-utils";
2
2
  import { A_Meta } from "../A-Meta/A-Meta.class";
3
3
  import { A_Fragment } from "../A-Fragment/A-Fragment.class";
4
- import { A_TYPES__A_ExtendDecorator_Meta } from "@adaas/a-concept/decorators/A-Feature/A-Feature.decorator.types";
4
+ import { A_TYPES__A_DefineDecorator_Meta, A_TYPES__A_ExtendDecorator_Meta } from "@adaas/a-concept/decorators/A-Feature/A-Feature.decorator.types";
5
5
  import { A_Entity } from "./A-Entity.class";
6
+ import { A_TYPES__ContainerMeta_FeatureItem } from "../A-Container/A-Container.types";
6
7
 
7
8
 
8
9
  export type A_TYPES__EntityCallParams<T extends string> = {
@@ -59,7 +60,14 @@ export type A_TYPES__EntityMeta = {
59
60
  }>, case
60
61
 
61
62
 
62
- [A_TYPES__EntityMetaKey.FEATURES]: any[],
63
+ [A_TYPES__EntityMetaKey.FEATURES]: A_Meta<{
64
+ /**
65
+ * Where Key is the name of the feature
66
+ *
67
+ * Where value is the list of features
68
+ */
69
+ [Key: string]: A_TYPES__A_DefineDecorator_Meta
70
+ }>
63
71
  }
64
72
 
65
73
  export enum A_TYPES__EntityMetaKey {
@@ -53,12 +53,21 @@ export class A_Stage {
53
53
  * @returns
54
54
  */
55
55
  protected async getStepArgs(step: A_TYPES__A_StageStep) {
56
- return step.args.map(async arg =>
57
- // In case if the target is a feature step then pass the current feature
58
- A_CommonHelper.isInheritedFrom(arg.target, A_Feature)
59
- ? this
60
- : A_Context.scope(this.feature).resolve(arg.target)
61
- );
56
+
57
+ const target = step.component instanceof A_Container ?
58
+ step.component.constructor : step.component;
59
+
60
+ return A_Context
61
+ .meta(target)
62
+ .injections(
63
+ step.handler
64
+ )
65
+ .map(async arg =>
66
+ // In case if the target is a feature step then pass the current feature
67
+ A_CommonHelper.isInheritedFrom(arg.target, A_Feature)
68
+ ? this
69
+ : A_Context.scope(this.feature).resolve(arg.target)
70
+ );
62
71
  }
63
72
 
64
73
 
@@ -66,7 +66,7 @@ export type A_TYPES__A_StageStep = {
66
66
  /**
67
67
  * The component to be called
68
68
  */
69
- component: typeof A_Component | typeof A_Container | A_Container<any>
69
+ component: typeof A_Component<any> | typeof A_Container<any> | A_Container<any>
70
70
 
71
71
  /**
72
72
  * The method to be called on the component
@@ -81,11 +81,6 @@ export type A_TYPES__A_StageStep = {
81
81
  */
82
82
  name: string,
83
83
 
84
- /**
85
- * Arguments to be passed to the method
86
- */
87
- args: A_TYPES__A_InjectDecorator_Meta
88
-
89
84
  } & A_TYPES__A_ExtendDecorator_BehaviorConfig
90
85
 
91
86