@adaas/a-concept 0.0.5 → 0.0.6

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 (121) hide show
  1. package/dist/examples/simple/components/A.component.d.ts +4 -2
  2. package/dist/examples/simple/components/A.component.js +7 -4
  3. package/dist/examples/simple/components/A.component.js.map +1 -1
  4. package/dist/examples/simple/components/B.component.d.ts +6 -2
  5. package/dist/examples/simple/components/B.component.js +18 -7
  6. package/dist/examples/simple/components/B.component.js.map +1 -1
  7. package/dist/examples/simple/concept.js +59 -32
  8. package/dist/examples/simple/concept.js.map +1 -1
  9. package/dist/examples/simple/containers/Main.container.d.ts +1 -2
  10. package/dist/examples/simple/containers/Main.container.js +18 -5
  11. package/dist/examples/simple/containers/Main.container.js.map +1 -1
  12. package/dist/examples/simple-http-server/components/http-error-handler.component.d.ts +2 -1
  13. package/dist/examples/simple-http-server/components/http-error-handler.component.js +3 -1
  14. package/dist/examples/simple-http-server/components/http-error-handler.component.js.map +1 -1
  15. package/dist/examples/simple-http-server/components/http-request-handler.component.d.ts +2 -1
  16. package/dist/examples/simple-http-server/components/http-request-handler.component.js +2 -1
  17. package/dist/examples/simple-http-server/components/http-request-handler.component.js.map +1 -1
  18. package/dist/examples/simple-http-server/containers/http-server.container.d.ts +1 -2
  19. package/dist/index.d.ts +5 -1
  20. package/dist/index.js +10 -2
  21. package/dist/index.js.map +1 -1
  22. package/dist/src/base/A-Config/A-Config.container.d.ts +1 -3
  23. package/dist/src/base/A-Config/A-Config.container.js +6 -22
  24. package/dist/src/base/A-Config/A-Config.container.js.map +1 -1
  25. package/dist/src/base/A-Config/A-Config.context.d.ts +1 -0
  26. package/dist/src/base/A-Config/A-Config.context.js +20 -2
  27. package/dist/src/base/A-Config/A-Config.context.js.map +1 -1
  28. package/dist/src/base/A-Config/A-Config.types.d.ts +2 -2
  29. package/dist/src/base/A-Config/components/ConfigReader.component.d.ts +2 -1
  30. package/dist/src/base/A-Config/components/ConfigReader.component.js +3 -1
  31. package/dist/src/base/A-Config/components/ConfigReader.component.js.map +1 -1
  32. package/dist/src/base/A-Errors/A-Errors.component.d.ts +2 -1
  33. package/dist/src/base/A-Errors/A-Errors.component.js +3 -1
  34. package/dist/src/base/A-Errors/A-Errors.component.js.map +1 -1
  35. package/dist/src/base/A-Logger/A-Logger.component.d.ts +4 -2
  36. package/dist/src/base/A-Logger/A-Logger.component.js +11 -3
  37. package/dist/src/base/A-Logger/A-Logger.component.js.map +1 -1
  38. package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.js.map +1 -1
  39. package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js +9 -9
  40. package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js.map +1 -1
  41. package/dist/src/decorators/A-Inject/A-Inject.decorator.d.ts +0 -2
  42. package/dist/src/decorators/A-Inject/A-Inject.decorator.js +4 -2
  43. package/dist/src/decorators/A-Inject/A-Inject.decorator.js.map +1 -1
  44. package/dist/src/global/A-Component/A-Component.class.d.ts +28 -1
  45. package/dist/src/global/A-Component/A-Component.class.js +22 -0
  46. package/dist/src/global/A-Component/A-Component.class.js.map +1 -1
  47. package/dist/src/global/A-Component/A-Component.meta.d.ts +8 -1
  48. package/dist/src/global/A-Component/A-Component.meta.js +26 -0
  49. package/dist/src/global/A-Component/A-Component.meta.js.map +1 -1
  50. package/dist/src/global/A-Component/A-Component.types.d.ts +43 -6
  51. package/dist/src/global/A-Component/A-Component.types.js +5 -0
  52. package/dist/src/global/A-Component/A-Component.types.js.map +1 -1
  53. package/dist/src/global/A-Concept/A_Concept.class.d.ts +7 -7
  54. package/dist/src/global/A-Concept/A_Concept.class.js +1 -2
  55. package/dist/src/global/A-Concept/A_Concept.class.js.map +1 -1
  56. package/dist/src/global/A-Container/A-Container.class.d.ts +5 -4
  57. package/dist/src/global/A-Container/A-Container.class.js +13 -24
  58. package/dist/src/global/A-Container/A-Container.class.js.map +1 -1
  59. package/dist/src/global/A-Container/A-Container.meta.d.ts +0 -3
  60. package/dist/src/global/A-Container/A-Container.meta.js +0 -46
  61. package/dist/src/global/A-Container/A-Container.meta.js.map +1 -1
  62. package/dist/src/global/A-Context/A-Context.class.d.ts +34 -5
  63. package/dist/src/global/A-Context/A-Context.class.js +135 -53
  64. package/dist/src/global/A-Context/A-Context.class.js.map +1 -1
  65. package/dist/src/global/A-Context/A-Context.types.d.ts +0 -12
  66. package/dist/src/global/A-Context/A-Context.types.js +0 -1
  67. package/dist/src/global/A-Entity/A-Entity.class.d.ts +28 -4
  68. package/dist/src/global/A-Entity/A-Entity.class.js +23 -3
  69. package/dist/src/global/A-Entity/A-Entity.class.js.map +1 -1
  70. package/dist/src/global/A-Entity/A-Entity.meta.d.ts +4 -0
  71. package/dist/src/global/A-Entity/A-Entity.meta.js +8 -0
  72. package/dist/src/global/A-Entity/A-Entity.meta.js.map +1 -0
  73. package/dist/src/global/A-Entity/A-Entity.types.d.ts +43 -0
  74. package/dist/src/global/A-Entity/A-Entity.types.js +13 -0
  75. package/dist/src/global/A-Entity/A-Entity.types.js.map +1 -1
  76. package/dist/src/global/A-Feature/A-Feature.class.d.ts +11 -1
  77. package/dist/src/global/A-Feature/A-Feature.class.js +48 -12
  78. package/dist/src/global/A-Feature/A-Feature.class.js.map +1 -1
  79. package/dist/src/global/A-Feature/A-Feature.types.d.ts +5 -4
  80. package/dist/src/global/A-Feature/A-Feature.types.js.map +1 -1
  81. package/dist/src/global/A-Fragment/A-Fragment.class.js +1 -2
  82. package/dist/src/global/A-Fragment/A-Fragment.class.js.map +1 -1
  83. package/dist/src/global/A-Meta/A-Meta.class.d.ts +75 -1
  84. package/dist/src/global/A-Meta/A-Meta.class.js +100 -10
  85. package/dist/src/global/A-Meta/A-Meta.class.js.map +1 -1
  86. package/dist/src/global/A-Scope/A-Scope.class.d.ts +15 -6
  87. package/dist/src/global/A-Scope/A-Scope.class.js +59 -17
  88. package/dist/src/global/A-Scope/A-Scope.class.js.map +1 -1
  89. package/examples/simple/components/A.component.ts +6 -3
  90. package/examples/simple/components/B.component.ts +19 -6
  91. package/examples/simple/concept.ts +65 -33
  92. package/examples/simple/containers/Main.container.ts +28 -7
  93. package/examples/simple-http-server/components/http-error-handler.component.ts +5 -2
  94. package/examples/simple-http-server/components/http-request-handler.component.ts +3 -1
  95. package/index.ts +6 -1
  96. package/package.json +1 -1
  97. package/src/base/A-Config/A-Config.container.ts +5 -8
  98. package/src/base/A-Config/A-Config.context.ts +10 -2
  99. package/src/base/A-Config/A-Config.types.ts +2 -2
  100. package/src/base/A-Config/components/ConfigReader.component.ts +5 -2
  101. package/src/base/A-Errors/A-Errors.component.ts +3 -2
  102. package/src/base/A-Logger/A-Logger.component.ts +21 -3
  103. package/src/decorators/A-Feature/A-Feature-Define.decorator.ts +0 -1
  104. package/src/decorators/A-Feature/A-Feature-Extend.decorator.ts +15 -10
  105. package/src/decorators/A-Inject/A-Inject.decorator.ts +13 -11
  106. package/src/global/A-Component/A-Component.class.ts +56 -1
  107. package/src/global/A-Component/A-Component.meta.ts +40 -1
  108. package/src/global/A-Component/A-Component.types.ts +51 -19
  109. package/src/global/A-Concept/A_Concept.class.ts +2 -2
  110. package/src/global/A-Container/A-Container.class.ts +22 -34
  111. package/src/global/A-Container/A-Container.meta.ts +0 -64
  112. package/src/global/A-Context/A-Context.class.ts +237 -79
  113. package/src/global/A-Context/A-Context.types.ts +0 -15
  114. package/src/global/A-Entity/A-Entity.class.ts +65 -8
  115. package/src/global/A-Entity/A-Entity.meta.ts +9 -0
  116. package/src/global/A-Entity/A-Entity.types.ts +58 -0
  117. package/src/global/A-Feature/A-Feature.class.ts +62 -20
  118. package/src/global/A-Feature/A-Feature.types.ts +8 -2
  119. package/src/global/A-Fragment/A-Fragment.class.ts +1 -5
  120. package/src/global/A-Meta/A-Meta.class.ts +114 -22
  121. package/src/global/A-Scope/A-Scope.class.ts +100 -33
@@ -10,7 +10,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.A_Container = void 0;
13
- const A_Feature_class_1 = require("../A-Feature/A-Feature.class");
14
13
  const A_Context_class_1 = require("../A-Context/A-Context.class");
15
14
  /**
16
15
  * This class should combine Components to achieve the goal withing Concept
@@ -30,6 +29,9 @@ class A_Container {
30
29
  get name() {
31
30
  return this.config.name || this.constructor.name;
32
31
  }
32
+ get Scope() {
33
+ return A_Context_class_1.A_Context.scope(this);
34
+ }
33
35
  constructor(
34
36
  /**
35
37
  * Configuration of the container that will be used to run it.
@@ -38,10 +40,7 @@ class A_Container {
38
40
  this.config = config;
39
41
  const components = config.components || [];
40
42
  const fragments = config.fragments || [];
41
- A_Context_class_1.A_Context.allocate(this, {
42
- components,
43
- fragments
44
- });
43
+ A_Context_class_1.A_Context.allocate(this, config);
45
44
  /**
46
45
  * Run Async Initialization
47
46
  */
@@ -74,26 +73,16 @@ class A_Container {
74
73
  });
75
74
  }
76
75
  call(param1, param2) {
77
- let feature;
78
- let params;
79
- if (typeof param1 === 'string') {
80
- feature = param1;
81
- params = param2 || {};
82
- }
83
- else {
84
- feature = param1.name;
85
- params = param1;
86
- }
87
- const meta = A_Context_class_1.A_Context.meta(this);
88
- const steps = meta.feature(this, feature);
89
- const newFeature = new A_Feature_class_1.A_Feature({
90
- name: `${this.constructor.name}.${feature}`,
91
- fragments: (param2 === null || param2 === void 0 ? void 0 : param2.fragments) || [],
92
- components: (param2 === null || param2 === void 0 ? void 0 : param2.components) || [],
93
- steps,
94
- parent: A_Context_class_1.A_Context.scope(this)
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ const feature = typeof param1 === 'string'
78
+ ? param1
79
+ : param1.name;
80
+ const params = typeof param1 === 'string'
81
+ ? param2 || {}
82
+ : param1;
83
+ const newFeature = A_Context_class_1.A_Context.feature(this, feature, params);
84
+ return yield newFeature.process();
95
85
  });
96
- return newFeature;
97
86
  }
98
87
  // ==============================================================
99
88
  // ======================= HOOKS ================================
@@ -1 +1 @@
1
- {"version":3,"file":"A-Container.class.js","sourceRoot":"","sources":["../../../../src/global/A-Container/A-Container.class.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,kEAAyD;AACzD,kEAAyD;AAIzD;;;;;;;;;;GAUG;AACH,MAAa,WAAW;IAYpB,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAS,CAAC;IAC5C,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACrD,CAAC;IAGD;IACI;;OAEG;IACH,MAA6D;QAE7D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;QAEzC,2BAAS,CAAC,QAAQ,CAAC,IAAI,EAAE;YACrB,UAAU;YACV,SAAS;SACZ,CAAC,CAAC;QAEH;;WAEG;QACH,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAGS,YAAY,CAAC,EAA2B;QAC9C,OAAO,IAAI,CAAC,WAAW,KAAK,EAAE;YAC1B,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,IAAI,CAAA;IACd,CAAC;IAGD;;OAEG;IACW,IAAI;;YACd,IAAI,CAAC,IAAI,CAAC,KAAK;gBACX,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC/C,IAAI,CAAC;wBACD,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;wBAE1B,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;wBAEpB,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;wBAGzB,OAAO,OAAO,EAAE,CAAC;oBACrB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACb,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;oBACzB,CAAC;gBACL,CAAC,CAAA,CAAC,CAAC;;gBAEH,MAAM,IAAI,CAAC,KAAK,CAAC;QACzB,CAAC;KAAA;IAoCD,IAAI,CACA,MAAyH,EACzH,MAAqE;QAGrE,IAAI,OAAe,CAAC;QACpB,IAAI,MAAoE,CAAC;QAEzE,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,GAAG,MAAM,CAAC;YACjB,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;QAC1B,CAAC;aAAM,CAAC;YACJ,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;YACtB,MAAM,GAAG,MAAM,CAAC;QACpB,CAAC;QAED,MAAM,IAAI,GAAG,2BAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAElC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE1C,MAAM,UAAU,GAAG,IAAI,2BAAS,CAAC;YAC7B,IAAI,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,OAAO,EAAE;YAC3C,SAAS,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,KAAI,EAAE;YAClC,UAAU,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,KAAI,EAAE;YACpC,KAAK;YACL,MAAM,EAAE,2BAAS,CAAC,KAAK,CAAC,IAAI,CAAC;SAChC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACtB,CAAC;IAID,iEAAiE;IACjE,iEAAiE;IACjE,iEAAiE;IAEjE;;;;OAIG;IACa,YAAY;;YACxB,OAAO;QACX,CAAC;KAAA;IAED;;OAEG;IACa,MAAM;;YAClB,OAAO;QACX,CAAC;KAAA;IAED;;;;OAIG;IACa,WAAW;;YACvB,OAAO;QACX,CAAC;KAAA;CAEJ;AA1KD,kCA0KC"}
1
+ {"version":3,"file":"A-Container.class.js","sourceRoot":"","sources":["../../../../src/global/A-Container/A-Container.class.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,kEAAyD;AAKzD;;;;;;;;;;GAUG;AACH,MAAa,WAAW;IAYpB,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAS,CAAC;IAC5C,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACrD,CAAC;IAED,IAAI,KAAK;QACL,OAAO,2BAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAGD;IACI;;OAEG;IACH,MAA6D;QAE7D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;QAEzC,2BAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAEjC;;WAEG;QACH,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAGS,YAAY,CAAC,EAA2B;QAC9C,OAAO,IAAI,CAAC,WAAW,KAAK,EAAE;YAC1B,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,IAAI,CAAA;IACd,CAAC;IAGD;;OAEG;IACW,IAAI;;YACd,IAAI,CAAC,IAAI,CAAC,KAAK;gBACX,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC/C,IAAI,CAAC;wBACD,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;wBAE1B,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;wBAEpB,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;wBAGzB,OAAO,OAAO,EAAE,CAAC;oBACrB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACb,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;oBACzB,CAAC;gBACL,CAAC,CAAA,CAAC,CAAC;;gBAEH,MAAM,IAAI,CAAC,KAAK,CAAC;QACzB,CAAC;KAAA;IAoCK,IAAI,CACN,MAAyH,EACzH,MAAqE;;YAGrE,MAAM,OAAO,GAAW,OAAO,MAAM,KAAK,QAAQ;gBAC9C,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;YAClB,MAAM,MAAM,GAAiE,OAAO,MAAM,KAAK,QAAQ;gBACnG,CAAC,CAAC,MAAM,IAAI,EAAE;gBACd,CAAC,CAAC,MAAM,CAAC;YAEb,MAAM,UAAU,GAAG,2BAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAE5D,OAAO,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;QACtC,CAAC;KAAA;IAID,iEAAiE;IACjE,iEAAiE;IACjE,iEAAiE;IAEjE;;;;OAIG;IACa,YAAY;;YACxB,OAAO;QACX,CAAC;KAAA;IAED;;OAEG;IACa,MAAM;;YAClB,OAAO;QACX,CAAC;KAAA;IAED;;;;OAIG;IACa,WAAW;;YACvB,OAAO;QACX,CAAC;KAAA;CAEJ;AA7JD,kCA6JC"}
@@ -1,7 +1,4 @@
1
- import { A_TYPES__FeatureStep } from "../A-Feature/A-Feature.types";
2
1
  import { A_Meta } from "../A-Meta/A-Meta.class";
3
- import { A_Container } from "./A-Container.class";
4
2
  import { A_TYPES__ContainerMeta } from "./A-Container.types";
5
3
  export declare class A_ContainerMeta extends A_Meta<A_TYPES__ContainerMeta> {
6
- feature<T extends string>(container: A_Container<any>, name: T): A_TYPES__FeatureStep[];
7
4
  }
@@ -1,54 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.A_ContainerMeta = void 0;
4
- const A_Component_types_1 = require("../A-Component/A-Component.types");
5
- const A_Context_class_1 = require("../A-Context/A-Context.class");
6
4
  const A_Meta_class_1 = require("../A-Meta/A-Meta.class");
7
- const A_Container_types_1 = require("./A-Container.types");
8
5
  class A_ContainerMeta extends A_Meta_class_1.A_Meta {
9
- feature(container, name) {
10
- const scope = A_Context_class_1.A_Context.scope(container);
11
- // First lets validate that there'are registered method with the same name
12
- const featureMeta = this.get(A_Container_types_1.A_TYPES__ContainerMetaKey.FEATURES);
13
- if (!featureMeta) {
14
- throw new Error(`Container ${container.constructor.name} has no metadata defined`);
15
- }
16
- const instruction = featureMeta.get(name);
17
- if (!instruction)
18
- throw new Error(`Method ${name} is not defined in ${this.constructor.name}`);
19
- // const scope = new A_Scope({
20
- // name: `${this.constructor.name}.${feature}`,
21
- // fragments: param2?.fragments || [],
22
- // components: param2?.components || []
23
- // }, {
24
- // parent: this.scope
25
- // });
26
- // Now we need to resolve the method from all registered components
27
- return scope
28
- .components
29
- .reduce((acc, component) => {
30
- const componentMeta = A_Context_class_1.A_Context.meta(component);
31
- const extensions = componentMeta.get(A_Component_types_1.A_TYPES__ComponentMetaKey.EXTENSIONS) || [];
32
- const injections = componentMeta.get(A_Component_types_1.A_TYPES__ComponentMetaKey.INJECTIONS);
33
- const out = [];
34
- extensions.forEach((extension, handler) => {
35
- if (extension.name === name
36
- &&
37
- (extension.container === container.constructor.name || extension.container === '*')) {
38
- const args = (injections === null || injections === void 0 ? void 0 : injections.get(handler)) || [];
39
- out.push({
40
- component,
41
- handler,
42
- args
43
- });
44
- }
45
- });
46
- return [
47
- ...acc,
48
- ...out
49
- ];
50
- }, []);
51
- }
52
6
  }
53
7
  exports.A_ContainerMeta = A_ContainerMeta;
54
8
  //# sourceMappingURL=A-Container.meta.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"A-Container.meta.js","sourceRoot":"","sources":["../../../../src/global/A-Container/A-Container.meta.ts"],"names":[],"mappings":";;;AAAA,wEAA6E;AAC7E,kEAAyD;AAEzD,yDAAgD;AAEhD,2DAG6B;AAI7B,MAAa,eAAgB,SAAQ,qBAA8B;IAG/D,OAAO,CACH,SAA2B,EAC3B,IAAO;QAGP,MAAM,KAAK,GAAG,2BAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAEzC,0EAA0E;QAC1E,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,6CAAyB,CAAC,QAAQ,CAAC,CAAC;QAEjE,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,aAAa,SAAS,CAAC,WAAW,CAAC,IAAI,0BAA0B,CAAC,CAAC;QACvF,CAAC;QAED,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE1C,IAAI,CAAC,WAAW;YACZ,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,sBAAsB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QAEjF,8BAA8B;QAC9B,mDAAmD;QACnD,0CAA0C;QAC1C,2CAA2C;QAC3C,OAAO;QACP,yBAAyB;QACzB,MAAM;QAGN,oEAAoE;QACpE,OAAO,KAAK;aACP,UAAU;aACV,MAAM,CAAC,CACJ,GAAG,EAAE,SAAS,EAChB,EAAE;YACA,MAAM,aAAa,GAAG,2BAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAEhD,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,6CAAyB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACjF,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,6CAAyB,CAAC,UAAU,CAAC,CAAC;YAE3E,MAAM,GAAG,GAA2B,EAAE,CAAC;YAEvC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE;gBACtC,IACI,SAAS,CAAC,IAAI,KAAK,IAAI;;wBAEvB,CAAC,SAAS,CAAC,SAAS,KAAK,SAAS,CAAC,WAAW,CAAC,IAAI,IAAI,SAAS,CAAC,SAAS,KAAK,GAAG,CAAC,EACrF,CAAC;oBACC,MAAM,IAAI,GAAG,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,GAAG,CAAC,OAAO,CAAC,KAAI,EAAE,CAAC;oBAE5C,GAAG,CAAC,IAAI,CAAC;wBACL,SAAS;wBACT,OAAO;wBACP,IAAI;qBACP,CAAC,CAAC;gBACP,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,OAAO;gBACH,GAAG,GAAG;gBACN,GAAG,GAAG;aACT,CAAC;QAEN,CAAC,EAAE,EAA4B,CAAC,CAAA;IACxC,CAAC;CACJ;AAnED,0CAmEC"}
1
+ {"version":3,"file":"A-Container.meta.js","sourceRoot":"","sources":["../../../../src/global/A-Container/A-Container.meta.ts"],"names":[],"mappings":";;;AAGA,yDAAgD;AAShD,MAAa,eAAgB,SAAQ,qBAA8B;CAGlE;AAHD,0CAGC"}
@@ -8,6 +8,9 @@ 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
10
  import { A_Concept } from "../A-Concept/A_Concept.class";
11
+ import { A_TYPES__EntityBaseMethod } from "../A-Entity/A-Entity.types";
12
+ import { A_Entity } from "../A-Entity/A-Entity.class";
13
+ import { A_EntityMeta } from "../A-Entity/A-Entity.meta";
11
14
  /**
12
15
  * Namespace Provider is responsible for providing the Namespace to the Containers and other Namespaces.
13
16
  * This class stores all Namespaces across the Program.
@@ -29,12 +32,17 @@ export declare class A_Context {
29
32
  * A set of globally registered concepts.
30
33
  */
31
34
  protected concepts: WeakMap<A_Concept<any>, A_Scope>;
35
+ /**
36
+ * Uses to store the scope of every element in the program.
37
+ */
38
+ protected registry: WeakMap<A_Concept<any> | A_Container<any> | A_Feature | A_Component | A_Fragment | A_Entity, A_Scope>;
32
39
  /**
33
40
  * A set of allocated scopes per every element in the program.
34
41
  */
35
42
  protected conceptsMeta: Map<typeof A_Concept.constructor, A_Meta<any>>;
36
43
  protected containersMeta: Map<typeof A_Container.constructor, A_ContainerMeta>;
37
- protected componentsMeta: Map<typeof A_Container.constructor, A_ComponentMeta>;
44
+ protected componentsMeta: Map<typeof A_Component, A_ComponentMeta>;
45
+ protected entitiesMeta: Map<typeof A_Entity.constructor, A_EntityMeta>;
38
46
  protected customMeta: Map<typeof A_Container.constructor, A_Meta<any>>;
39
47
  /**
40
48
  * Root Namespace is a Namespace that is used to run the program.
@@ -54,18 +62,39 @@ export declare class A_Context {
54
62
  static allocate(container: A_Container<any>, importing: Partial<A_TYPES__ScopeConstructor & A_TYPES__ScopeConfig>): A_Scope;
55
63
  static meta(container: typeof A_Container): A_ContainerMeta;
56
64
  static meta(container: A_Container<any>): A_ContainerMeta;
65
+ static meta(entity: A_Entity): A_ContainerMeta;
57
66
  static meta(component: typeof A_Component): A_ComponentMeta;
58
67
  static meta(component: A_Component): A_ComponentMeta;
59
68
  static meta<T extends Record<string, any>>(component: {
60
69
  new (...args: any[]): any;
61
70
  }): A_Meta<T>;
71
+ static scope(entity: A_Entity): A_Scope;
72
+ static scope(component: A_Component): A_Scope;
62
73
  static scope(concept: A_Concept): A_Scope;
63
- static scope(component: A_Container<any>): A_Scope;
64
- static scope(component: A_Feature): A_Scope;
74
+ static scope(container: A_Container<any>): A_Scope;
75
+ static scope(feature: A_Feature): A_Scope;
76
+ /**
77
+ * This method returns a component by its meta.
78
+ *
79
+ * @param meta
80
+ * @returns
81
+ */
82
+ static component(meta: A_ComponentMeta): typeof A_Component;
83
+ /**
84
+ * This method returns a step-by-step instructions of feature implementation depending on the feature name and the class.
85
+ *
86
+ * @param scope
87
+ * @returns
88
+ */
89
+ static feature<T extends Array<string>>(entity: A_Entity<any, any, T>, feature: A_TYPES__EntityBaseMethod | string | T[number] | RegExp, params?: Partial<A_TYPES__ScopeConstructor>): A_Feature;
90
+ static feature<T extends Array<string>>(container: A_Container<T>, feature: T[number], params?: Partial<A_TYPES__ScopeConstructor>): A_Feature;
91
+ static feature(component: A_Component, feature: string, params?: Partial<A_TYPES__ScopeConstructor>): A_Feature;
65
92
  /**
66
93
  * Register a Namespace in the provider.
67
94
  * @param Namespace
68
95
  */
69
- static register(Namespace: A_Fragment): string;
70
- static register(Namespace: A_Fragment, namespace?: string): string;
96
+ static register(scope: A_Scope, container: A_Container<any>): any;
97
+ static register(scope: A_Scope, entity: A_Entity): any;
98
+ static register(scope: A_Scope, component: A_Component): any;
99
+ static register(scope: A_Scope, fragment: A_Fragment): any;
71
100
  }
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.A_Context = void 0;
4
4
  const a_utils_1 = require("@adaas/a-utils");
5
5
  const A_Component_class_1 = require("../A-Component/A-Component.class");
6
+ const A_Fragment_class_1 = require("../A-Fragment/A-Fragment.class");
6
7
  const A_Feature_class_1 = require("../A-Feature/A-Feature.class");
7
8
  const A_Container_class_1 = require("../A-Container/A-Container.class");
8
9
  const A_Scope_class_1 = require("../A-Scope/A-Scope.class");
@@ -10,6 +11,8 @@ const A_Meta_class_1 = require("../A-Meta/A-Meta.class");
10
11
  const A_Component_meta_1 = require("../A-Component/A-Component.meta");
11
12
  const A_Container_meta_1 = require("../A-Container/A-Container.meta");
12
13
  const A_Concept_class_1 = require("../A-Concept/A_Concept.class");
14
+ const A_Entity_class_1 = require("../A-Entity/A-Entity.class");
15
+ const A_Entity_meta_1 = require("../A-Entity/A-Entity.meta");
13
16
  /**
14
17
  * Namespace Provider is responsible for providing the Namespace to the Containers and other Namespaces.
15
18
  * This class stores all Namespaces across the Program.
@@ -31,6 +34,10 @@ class A_Context {
31
34
  * A set of globally registered concepts.
32
35
  */
33
36
  this.concepts = new WeakMap();
37
+ /**
38
+ * Uses to store the scope of every element in the program.
39
+ */
40
+ this.registry = new WeakMap();
34
41
  /**
35
42
  * A set of allocated scopes per every element in the program.
36
43
  */
@@ -38,6 +45,7 @@ class A_Context {
38
45
  this.conceptsMeta = new Map();
39
46
  this.containersMeta = new Map();
40
47
  this.componentsMeta = new Map();
48
+ this.entitiesMeta = new Map();
41
49
  // uses to allow to store custom meta data
42
50
  this.customMeta = new Map();
43
51
  }
@@ -83,63 +91,56 @@ class A_Context {
83
91
  const instance = this.getInstance();
84
92
  let metaStorage;
85
93
  let property;
86
- let meta;
94
+ let metaType;
87
95
  switch (true) {
88
96
  case param1 instanceof A_Container_class_1.A_Container: {
89
97
  metaStorage = instance.containersMeta;
90
98
  property = param1.constructor;
91
- if (!metaStorage.has(property)) {
92
- const inheritMeta = metaStorage.get(Object.getPrototypeOf(property)) || new A_Container_meta_1.A_ContainerMeta();
93
- metaStorage.set(property, new A_Container_meta_1.A_ContainerMeta().from(inheritMeta));
94
- }
95
- meta = metaStorage.get(property);
99
+ metaType = A_Container_meta_1.A_ContainerMeta;
96
100
  break;
97
101
  }
98
102
  case a_utils_1.A_CommonHelper.isInheritedFrom(param1, A_Container_class_1.A_Container): {
99
103
  metaStorage = instance.containersMeta;
100
104
  property = param1;
101
- if (!metaStorage.has(property)) {
102
- const inheritMeta = metaStorage.get(Object.getPrototypeOf(property)) || new A_Container_meta_1.A_ContainerMeta();
103
- metaStorage.set(property, new A_Container_meta_1.A_ContainerMeta().from(inheritMeta));
104
- }
105
- meta = metaStorage.get(property);
105
+ metaType = A_Container_meta_1.A_ContainerMeta;
106
106
  break;
107
107
  }
108
108
  case param1 instanceof A_Component_class_1.A_Component: {
109
109
  metaStorage = instance.componentsMeta;
110
110
  property = param1.constructor;
111
- if (!metaStorage.has(property)) {
112
- const inheritMeta = metaStorage.get(Object.getPrototypeOf(property)) || new A_Component_meta_1.A_ComponentMeta();
113
- metaStorage.set(property, new A_Component_meta_1.A_ComponentMeta().from(inheritMeta));
114
- }
115
- meta = metaStorage.get(property);
111
+ metaType = A_Component_meta_1.A_ComponentMeta;
116
112
  break;
117
113
  }
118
114
  case a_utils_1.A_CommonHelper.isInheritedFrom(param1, A_Component_class_1.A_Component): {
119
115
  metaStorage = instance.componentsMeta;
120
116
  property = param1;
121
- if (!metaStorage.has(property)) {
122
- const inheritMeta = metaStorage.get(Object.getPrototypeOf(property)) || new A_Component_meta_1.A_ComponentMeta();
123
- metaStorage.set(property, new A_Component_meta_1.A_ComponentMeta().from(inheritMeta));
124
- }
125
- meta = metaStorage.get(property);
117
+ metaType = A_Component_meta_1.A_ComponentMeta;
118
+ break;
119
+ }
120
+ case param1 instanceof A_Entity_class_1.A_Entity: {
121
+ metaStorage = instance.entitiesMeta;
122
+ property = param1.constructor;
123
+ metaType = A_Component_meta_1.A_ComponentMeta;
124
+ break;
125
+ }
126
+ case a_utils_1.A_CommonHelper.isInheritedFrom(param1, A_Entity_class_1.A_Entity): {
127
+ metaStorage = instance.entitiesMeta;
128
+ property = param1;
129
+ metaType = A_Entity_meta_1.A_EntityMeta;
126
130
  break;
127
131
  }
128
132
  default: {
129
133
  metaStorage = instance.customMeta;
130
134
  property = typeof param1 === 'function' ? param1 : param1.constructor;
131
- if (!metaStorage.has(property)) {
132
- const inheritMeta = metaStorage.get(Object.getPrototypeOf(property)) || new A_Meta_class_1.A_Meta();
133
- metaStorage.set(property, new A_Meta_class_1.A_Meta().from(inheritMeta));
134
- }
135
- meta = metaStorage.get(property);
135
+ metaType = A_Meta_class_1.A_Meta;
136
136
  break;
137
137
  }
138
138
  }
139
- // const inheritMeta: T = metaStorage.get(Object.getPrototypeOf(property)) || new A_Meta() as T;
140
- // // we just know that the type of parent meta is the same as the type of the current meta
141
- // const meta = metaStorage.get(property);
142
- return meta;
139
+ if (!metaStorage.has(property)) {
140
+ const inheritMeta = metaStorage.get(Object.getPrototypeOf(property)) || new metaType();
141
+ metaStorage.set(property, new metaType().from(inheritMeta));
142
+ }
143
+ return metaStorage.get(property);
143
144
  }
144
145
  static scope(param1) {
145
146
  const instance = this.getInstance();
@@ -150,36 +151,117 @@ class A_Context {
150
151
  return instance.features.get(param1);
151
152
  case param1 instanceof A_Concept_class_1.A_Concept:
152
153
  return instance.concepts.get(param1);
154
+ case param1 instanceof A_Entity_class_1.A_Entity:
155
+ return instance.registry.get(param1);
156
+ case param1 instanceof A_Component_class_1.A_Component:
157
+ return instance.registry.get(param1);
158
+ case param1 instanceof A_Fragment_class_1.A_Fragment:
159
+ return instance.registry.get(param1);
153
160
  default:
154
161
  throw new Error(`[!] A-Concept Context: Unknown type of the parameter.`);
155
162
  }
156
163
  }
157
- static register(param1, param2) {
164
+ /**
165
+ * This method returns a component by its meta.
166
+ *
167
+ * @param meta
168
+ * @returns
169
+ */
170
+ static component(meta) {
158
171
  const instance = this.getInstance();
159
- let fragment;
160
- let name;
161
- if (typeof param2 === 'string') {
162
- name = param2;
163
- fragment = param1;
172
+ let component;
173
+ instance.componentsMeta.forEach((meta, constructor) => {
174
+ if (meta === meta) {
175
+ component = constructor;
176
+ }
177
+ });
178
+ if (!component) {
179
+ throw new Error(`[!] A-Concept Context: Component not found.`);
164
180
  }
165
- else {
166
- fragment = param1;
167
- name = fragment.name;
181
+ return component;
182
+ }
183
+ static feature(param1, param2, param3) {
184
+ const instance = this.getInstance();
185
+ const component = param1;
186
+ const feature = param2;
187
+ const config = param3 || {};
188
+ // TODO: have no idea why it's not working because of that "any"
189
+ const scope = this.scope(component);
190
+ const steps = [];
191
+ // Now we need to resolve the method from all registered components
192
+ // We need to get all components that has extensions for the feature in component
193
+ instance.componentsMeta
194
+ .forEach((meta, constructor) => {
195
+ try {
196
+ // Just try to make sure that component not only Indexed but also presented in scope
197
+ scope.resolve(constructor);
198
+ // Get all extensions for the feature
199
+ meta
200
+ .extensions(feature)
201
+ .forEach(({ handler, args }) => {
202
+ steps.push({
203
+ component: constructor,
204
+ handler,
205
+ args
206
+ });
207
+ });
208
+ }
209
+ catch (error) {
210
+ // do nothing
211
+ }
212
+ });
213
+ const newFeature = new A_Feature_class_1.A_Feature({
214
+ name: `${component.constructor.name}.${feature}`,
215
+ fragments: config.fragments,
216
+ components: config.components,
217
+ steps,
218
+ parent: component instanceof A_Container_class_1.A_Container ? this.scope(component) : undefined
219
+ });
220
+ return newFeature;
221
+ }
222
+ static register(scope, param1) {
223
+ const instance = this.getInstance();
224
+ switch (true) {
225
+ case param1 instanceof A_Component_class_1.A_Component:
226
+ instance.registry.set(param1, scope);
227
+ break;
228
+ case param1 instanceof A_Container_class_1.A_Container:
229
+ instance.registry.set(param1, scope);
230
+ break;
231
+ case param1 instanceof A_Entity_class_1.A_Entity:
232
+ instance.registry.set(param1, scope);
233
+ break;
234
+ case param1 instanceof A_Fragment_class_1.A_Fragment:
235
+ instance.registry.set(param1, scope);
236
+ break;
237
+ default:
238
+ instance.registry.set(param1, scope);
168
239
  }
169
- /**
170
- * If the namespace is not provided, then use the root namespace.
171
- * If the root namespace is not provided, then use the default namespace.
172
- */
173
- if (!name)
174
- name = this.root
175
- || process.env.ADAAS_NAMESPACE
176
- || process.env.A_NAMESPACE
177
- || process.env.ADAAS_APP_NAMESPACE
178
- || 'a-concept';
179
- if (!this.root)
180
- instance._root = name;
181
- // instance.namedFragments.set(namespace, Namespace);
182
- return name;
240
+ // if (param1 instanceof A_Fragment) {
241
+ // const instance = this.getInstance();
242
+ // let fragment: A_Fragment;
243
+ // let name: string;
244
+ // if (typeof param2 === 'string') {
245
+ // name = param2;
246
+ // fragment = param1;
247
+ // } else {
248
+ // fragment = param1 as A_Fragment;
249
+ // name = fragment.name;
250
+ // }
251
+ // /**
252
+ // * If the namespace is not provided, then use the root namespace.
253
+ // * If the root namespace is not provided, then use the default namespace.
254
+ // */
255
+ // if (!name)
256
+ // name = this.root
257
+ // || process.env.ADAAS_NAMESPACE
258
+ // || process.env.A_NAMESPACE
259
+ // || process.env.ADAAS_APP_NAMESPACE
260
+ // || 'a-concept'
261
+ // if (!this.root)
262
+ // instance._root = name;
263
+ // // instance.namedFragments.set(namespace, Namespace);
264
+ // return name;
183
265
  }
184
266
  }
185
267
  exports.A_Context = A_Context;
@@ -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,12 +0,0 @@
1
- import { A_Scope } from "../A-Scope/A-Scope.class";
2
- export type A_TYPES__ContextExecutionPipeline = {
3
- scope: A_Scope;
4
- steps: A_TYPES__ContextExecutionPipelineStep[];
5
- };
6
- export type A_TYPES__ContextExecutionPipelineStep = {
7
- component: {
8
- new (...args: any[]): any;
9
- };
10
- handler: string;
11
- args: any[];
12
- };
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
2
  //# sourceMappingURL=A-Context.types.js.map
@@ -1,6 +1,5 @@
1
- import { ASEID } from "@adaas/a-utils";
2
- import { A_TYPES__Entity_JSON, A_TYPES__IEntity } from "./A-Entity.types";
3
- import { A_Fragment } from "../A-Fragment/A-Fragment.class";
1
+ import { A_TYPES__Required, ASEID } from "@adaas/a-utils";
2
+ import { A_TYPES__Entity_JSON, A_TYPES__EntityBaseMethods, A_TYPES__EntityCallParams, A_TYPES__IEntity } from "./A-Entity.types";
4
3
  /**
5
4
  * A_Entity is another abstraction that describes all major participants in the system business logic.
6
5
  * Each Entity should have a clear definition and a clear set of responsibilities.
@@ -8,7 +7,7 @@ import { A_Fragment } from "../A-Fragment/A-Fragment.class";
8
7
  *
9
8
  * Each entity should be connected to the ContextFragment (Scope) and should be able to communicate with other entities.
10
9
  */
11
- export declare class A_Entity<_ConstructorType = any, _SerializedType extends A_TYPES__Entity_JSON = A_TYPES__Entity_JSON> extends A_Fragment implements A_TYPES__IEntity {
10
+ export declare class A_Entity<_ConstructorType = any, _SerializedType extends A_TYPES__Entity_JSON = A_TYPES__Entity_JSON, _FeatureNames extends Array<string> = A_TYPES__EntityBaseMethods> implements A_TYPES__IEntity {
12
11
  aseid: ASEID;
13
12
  constructor(aseid: string);
14
13
  constructor(aseid: ASEID);
@@ -44,6 +43,31 @@ export declare class A_Entity<_ConstructorType = any, _SerializedType extends A_
44
43
  * shard is the shard of the entity
45
44
  */
46
45
  get shard(): string | undefined;
46
+ /**
47
+ * Call a feature of the component
48
+ *
49
+ * @param lifecycleMethod
50
+ * @param args
51
+ */
52
+ call(
53
+ /**
54
+ * A-Feature method name to be called
55
+ */
56
+ feature: _FeatureNames[number]): Promise<any>;
57
+ call(
58
+ /**
59
+ * A-Feature name to be called
60
+ */
61
+ params: A_TYPES__Required<Partial<A_TYPES__EntityCallParams<_FeatureNames[number]>>, ['name']>): Promise<any>;
62
+ call(
63
+ /**
64
+ * A-Feature method name to be called
65
+ */
66
+ feature: string,
67
+ /**
68
+ * Parameters to provide additional data to the feature
69
+ */
70
+ params: Partial<A_TYPES__EntityCallParams<_FeatureNames[number]>>): Promise<any>;
47
71
  protected fromNewEntity(newEntity: _ConstructorType): void;
48
72
  protected fromSerialized(serialized: _SerializedType): void;
49
73
  /**