@adaas/a-concept 0.0.28 → 0.0.30

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 (179) hide show
  1. package/dist/examples/fe-be/channels/Test.channel.d.ts +6 -0
  2. package/dist/examples/fe-be/channels/Test.channel.js +14 -0
  3. package/dist/examples/fe-be/channels/Test.channel.js.map +1 -0
  4. package/dist/examples/fe-be/components/BE-Controller.component.d.ts +4 -0
  5. package/dist/examples/fe-be/components/BE-Controller.component.js +24 -0
  6. package/dist/examples/fe-be/components/BE-Controller.component.js.map +1 -0
  7. package/dist/examples/fe-be/components/FE.component.d.ts +4 -0
  8. package/dist/examples/fe-be/components/FE.component.js +31 -0
  9. package/dist/examples/fe-be/components/FE.component.js.map +1 -0
  10. package/dist/examples/fe-be/components/UserActions.component.d.ts +5 -0
  11. package/dist/examples/fe-be/components/UserActions.component.js +25 -0
  12. package/dist/examples/fe-be/components/UserActions.component.js.map +1 -0
  13. package/dist/examples/fe-be/concept.d.ts +0 -0
  14. package/dist/examples/fe-be/concept.js +2 -0
  15. package/dist/examples/fe-be/concept.js.map +1 -0
  16. package/dist/examples/fe-be/containers/ServerApp.container.d.ts +3 -0
  17. package/dist/examples/fe-be/containers/ServerApp.container.js +8 -0
  18. package/dist/examples/fe-be/containers/ServerApp.container.js.map +1 -0
  19. package/dist/examples/fe-be/containers/WebApp.container.d.ts +3 -0
  20. package/dist/examples/fe-be/containers/WebApp.container.js +8 -0
  21. package/dist/examples/fe-be/containers/WebApp.container.js.map +1 -0
  22. package/dist/examples/multi-container/channels/Direct.channel.d.ts +9 -0
  23. package/dist/examples/multi-container/channels/Direct.channel.js +32 -0
  24. package/dist/examples/multi-container/channels/Direct.channel.js.map +1 -0
  25. package/dist/examples/multi-container/concept.d.ts +0 -0
  26. package/dist/examples/multi-container/concept.js +2 -0
  27. package/dist/examples/multi-container/concept.js.map +1 -0
  28. package/dist/examples/multi-container/containers/Command.container.d.ts +11 -0
  29. package/dist/examples/multi-container/containers/Command.container.js +51 -0
  30. package/dist/examples/multi-container/containers/Command.container.js.map +1 -0
  31. package/dist/examples/multi-container/containers/Schedule.container.d.ts +15 -0
  32. package/dist/examples/multi-container/containers/Schedule.container.js +67 -0
  33. package/dist/examples/multi-container/containers/Schedule.container.js.map +1 -0
  34. package/dist/examples/simple/components/A.component.js.map +1 -1
  35. package/dist/examples/simple/containers/Main.container.js +7 -3
  36. package/dist/examples/simple/containers/Main.container.js.map +1 -1
  37. package/dist/examples/simple/entities/EntityA.entity.d.ts +8 -0
  38. package/dist/examples/simple/entities/EntityA.entity.js +22 -0
  39. package/dist/examples/simple/entities/EntityA.entity.js.map +1 -0
  40. package/dist/examples/simple-http-server/contexts/http-request.context.d.ts +0 -1
  41. package/dist/examples/simple-http-server/contexts/http-request.context.js +6 -8
  42. package/dist/examples/simple-http-server/contexts/http-request.context.js.map +1 -1
  43. package/dist/index.d.ts +8 -2
  44. package/dist/index.js +16 -7
  45. package/dist/index.js.map +1 -1
  46. package/dist/src/base/A-Config/components/ConfigReader.component.d.ts +2 -1
  47. package/dist/src/base/A-Config/components/ConfigReader.component.js +12 -12
  48. package/dist/src/base/A-Config/components/ConfigReader.component.js.map +1 -1
  49. package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.d.ts +14 -0
  50. package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.js +53 -0
  51. package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.js.map +1 -0
  52. package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.d.ts +2 -0
  53. package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.js +3 -0
  54. package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.js.map +1 -0
  55. package/dist/src/decorators/A-Connect/A-Connect.decorator.d.ts +19 -0
  56. package/dist/src/decorators/A-Connect/A-Connect.decorator.js +31 -0
  57. package/dist/src/decorators/A-Connect/A-Connect.decorator.js.map +1 -0
  58. package/dist/src/decorators/A-Connect/A-Connect.decorator.types.d.ts +1 -0
  59. package/dist/src/decorators/A-Connect/A-Connect.decorator.types.js +3 -0
  60. package/dist/src/decorators/A-Connect/A-Connect.decorator.types.js.map +1 -0
  61. package/dist/src/decorators/A-Entity/A-Entity-List.decorator.d.ts +1 -0
  62. package/dist/src/decorators/A-Entity/A-Entity-List.decorator.js +8 -0
  63. package/dist/src/decorators/A-Entity/A-Entity-List.decorator.js.map +1 -0
  64. package/dist/src/decorators/A-Entity/A-Entity.decorator.types.d.ts +14 -0
  65. package/dist/src/decorators/A-Entity/A-Entity.decorator.types.js +3 -0
  66. package/dist/src/decorators/A-Entity/A-Entity.decorator.types.js.map +1 -0
  67. package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js +9 -0
  68. package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js.map +1 -1
  69. package/dist/src/decorators/A-Feature/A-Feature.decorator.types.d.ts +28 -0
  70. package/dist/src/decorators/A-Inject/A-Inject.decorator.d.ts +2 -3
  71. package/dist/src/decorators/A-Inject/A-Inject.decorator.js.map +1 -1
  72. package/dist/src/decorators/A-Inject/A-Inject.decorator.types.d.ts +44 -0
  73. package/dist/src/global/A-Channel/A-Channel.class.d.ts +8 -10
  74. package/dist/src/global/A-Channel/A-Channel.class.js +12 -26
  75. package/dist/src/global/A-Channel/A-Channel.class.js.map +1 -1
  76. package/dist/src/global/A-Channel/A-Channel.types.d.ts +32 -0
  77. package/dist/src/global/A-Component/A-Component.class.d.ts +2 -1
  78. package/dist/src/global/A-Component/A-Component.class.js +1 -0
  79. package/dist/src/global/A-Component/A-Component.class.js.map +1 -1
  80. package/dist/src/global/A-Component/A-Component.meta.d.ts +8 -0
  81. package/dist/src/global/A-Component/A-Component.meta.js +27 -1
  82. package/dist/src/global/A-Component/A-Component.meta.js.map +1 -1
  83. package/dist/src/global/A-Component/A-Component.types.d.ts +19 -34
  84. package/dist/src/global/A-Component/A-Component.types.js +1 -7
  85. package/dist/src/global/A-Component/A-Component.types.js.map +1 -1
  86. package/dist/src/global/A-Concept/A_Concept.class.d.ts +7 -7
  87. package/dist/src/global/A-Concept/A_Concept.class.js +30 -30
  88. package/dist/src/global/A-Concept/A_Concept.class.js.map +1 -1
  89. package/dist/src/global/A-Concept/A_Concept.types.d.ts +42 -2
  90. package/dist/src/global/A-Concept/A_Concept.types.js.map +1 -1
  91. package/dist/src/global/A-Container/A-Container.class.d.ts +1 -8
  92. package/dist/src/global/A-Container/A-Container.class.js +1 -31
  93. package/dist/src/global/A-Container/A-Container.class.js.map +1 -1
  94. package/dist/src/global/A-Container/A-Container.meta.d.ts +8 -0
  95. package/dist/src/global/A-Container/A-Container.meta.js +29 -0
  96. package/dist/src/global/A-Container/A-Container.meta.js.map +1 -1
  97. package/dist/src/global/A-Container/A-Container.types.d.ts +23 -7
  98. package/dist/src/global/A-Container/A-Container.types.js +2 -1
  99. package/dist/src/global/A-Container/A-Container.types.js.map +1 -1
  100. package/dist/src/global/A-Context/A-Context.class.js +6 -35
  101. package/dist/src/global/A-Context/A-Context.class.js.map +1 -1
  102. package/dist/src/global/A-Entity/A-Entity.class.d.ts +1 -2
  103. package/dist/src/global/A-Entity/A-Entity.class.js +6 -7
  104. package/dist/src/global/A-Entity/A-Entity.class.js.map +1 -1
  105. package/dist/src/global/A-Entity/A-Entity.types.d.ts +4 -5
  106. package/dist/src/global/A-Entity/A-Entity.types.js.map +1 -1
  107. package/dist/src/global/A-Feature/A-Feature.class.d.ts +30 -6
  108. package/dist/src/global/A-Feature/A-Feature.class.js +49 -40
  109. package/dist/src/global/A-Feature/A-Feature.class.js.map +1 -1
  110. package/dist/src/global/A-Feature/A-Feature.types.d.ts +2 -24
  111. package/dist/src/global/A-Feature/A-Feature.types.js +21 -0
  112. package/dist/src/global/A-Feature/A-Feature.types.js.map +1 -1
  113. package/dist/src/global/A-Fragment/A-Fragment.class.d.ts +8 -0
  114. package/dist/src/global/A-Fragment/A-Fragment.class.js +10 -0
  115. package/dist/src/global/A-Fragment/A-Fragment.class.js.map +1 -1
  116. package/dist/src/global/A-Scope/A-Scope.class.d.ts +7 -5
  117. package/dist/src/global/A-Scope/A-Scope.class.js +33 -10
  118. package/dist/src/global/A-Scope/A-Scope.class.js.map +1 -1
  119. package/dist/src/global/A-Scope/A-Scope.types.d.ts +2 -1
  120. package/dist/src/global/A-Stage/A-Stage.class.d.ts +69 -0
  121. package/dist/src/global/A-Stage/A-Stage.class.js +176 -0
  122. package/dist/src/global/A-Stage/A-Stage.class.js.map +1 -0
  123. package/dist/src/global/A-Stage/A-Stage.types.d.ts +83 -0
  124. package/dist/src/global/A-Stage/A-Stage.types.js +59 -0
  125. package/dist/src/global/A-Stage/A-Stage.types.js.map +1 -0
  126. package/dist/src/helpers/StepsManager.class.d.ts +15 -0
  127. package/dist/src/helpers/StepsManager.class.js +85 -0
  128. package/dist/src/helpers/StepsManager.class.js.map +1 -0
  129. package/examples/fe-be/channels/Test.channel.ts +24 -0
  130. package/examples/fe-be/components/BE-Controller.component.ts +20 -0
  131. package/examples/fe-be/components/FE.component.ts +13 -0
  132. package/examples/fe-be/concept.ts +0 -0
  133. package/examples/fe-be/containers/ServerApp.container.ts +8 -0
  134. package/examples/fe-be/containers/WebApp.container.ts +13 -0
  135. package/examples/multi-container/channels/Direct.channel.ts +39 -0
  136. package/examples/multi-container/concept.ts +0 -0
  137. package/examples/multi-container/containers/Command.container.ts +41 -0
  138. package/examples/multi-container/containers/Schedule.container.ts +57 -0
  139. package/examples/simple/components/A.component.ts +2 -1
  140. package/examples/simple/containers/Main.container.ts +11 -3
  141. package/examples/simple/entities/EntityA.entity.ts +16 -0
  142. package/examples/simple-http-server/contexts/http-request.context.ts +6 -6
  143. package/index.ts +12 -3
  144. package/package.json +1 -1
  145. package/src/base/A-Config/components/ConfigReader.component.ts +12 -11
  146. package/src/decorators/A-Abstraction/A-Abstraction.decorator.ts +82 -0
  147. package/src/decorators/{A-Stage/A-Stage.decorator.types.ts → A-Abstraction/A-Abstraction.decorator.types.ts} +1 -3
  148. package/src/decorators/A-Connect/A-Connect.decorator.ts +71 -0
  149. package/src/decorators/A-Connect/A-Connect.decorator.types.ts +6 -0
  150. package/src/decorators/A-Entity/A-Entity-List.decorator.ts +12 -0
  151. package/src/decorators/A-Entity/A-Entity.decorator.types.ts +18 -0
  152. package/src/decorators/A-Feature/A-Feature-Extend.decorator.ts +10 -0
  153. package/src/decorators/A-Feature/A-Feature.decorator.types.ts +36 -0
  154. package/src/decorators/A-Inject/A-Inject.decorator.ts +7 -7
  155. package/src/decorators/A-Inject/A-Inject.decorator.types.ts +47 -1
  156. package/src/global/A-Channel/A-Channel.class.ts +25 -28
  157. package/src/global/A-Channel/A-Channel.types.ts +53 -0
  158. package/src/global/A-Component/A-Component.class.ts +10 -2
  159. package/src/global/A-Component/A-Component.meta.ts +42 -1
  160. package/src/global/A-Component/A-Component.types.ts +20 -40
  161. package/src/global/A-Concept/A_Concept.class.ts +52 -31
  162. package/src/global/A-Concept/A_Concept.types.ts +48 -3
  163. package/src/global/A-Container/A-Container.class.ts +3 -39
  164. package/src/global/A-Container/A-Container.meta.ts +41 -4
  165. package/src/global/A-Container/A-Container.types.ts +28 -7
  166. package/src/global/A-Context/A-Context.class.ts +9 -49
  167. package/src/global/A-Entity/A-Entity.class.ts +8 -6
  168. package/src/global/A-Entity/A-Entity.types.ts +4 -5
  169. package/src/global/A-Feature/A-Feature.class.ts +73 -61
  170. package/src/global/A-Feature/A-Feature.types.ts +24 -23
  171. package/src/global/A-Fragment/A-Fragment.class.ts +15 -0
  172. package/src/global/A-Scope/A-Scope.class.ts +58 -25
  173. package/src/global/A-Scope/A-Scope.types.ts +2 -1
  174. package/src/global/A-Stage/A-Stage.class.ts +225 -0
  175. package/src/global/A-Stage/A-Stage.types.ts +106 -0
  176. package/src/helpers/StepsManager.class.ts +104 -0
  177. package/tests/channel.ts +213 -0
  178. package/tests/log.ts +88 -40
  179. package/src/decorators/A-Stage/A-Stage.decorator.ts +0 -84
package/dist/index.js CHANGED
@@ -1,4 +1,7 @@
1
1
  "use strict";
2
+ // =================================================================================================
3
+ // ============================= Export Framework Components =======================================
4
+ // =================================================================================================
2
5
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
6
  if (k2 === undefined) k2 = k;
4
7
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -14,10 +17,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
17
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
18
  };
16
19
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.A_Errors = exports.A_ErrorsManager = exports.FileConfigReader = exports.ENVConfigReader = exports.ConfigReader = exports.A_Config = exports.A_ConfigLoader = exports.A_Stage = exports.A_Feature_Extend = exports.A_Feature_Define = exports.A_Inject = exports.A_Fragment = exports.A_Meta = exports.A_Scope = exports.A_Feature = exports.A_Entity = exports.A_ComponentMeta = exports.A_Component = exports.A_ContainerMeta = exports.A_Container = exports.A_ConceptMeta = exports.A_Concept = exports.A_Context = void 0;
18
- // =================================================================================================
19
- // ============================= Export Framework Components =======================================
20
- // =================================================================================================
20
+ exports.A_Errors = exports.A_ErrorsManager = exports.FileConfigReader = exports.ENVConfigReader = exports.ConfigReader = exports.A_Config = exports.A_ConfigLoader = exports.A_Connect = exports.A_Abstraction = exports.A_Feature_Extend = exports.A_Feature_Define = exports.A_Inject = exports.A_Fragment = exports.A_Meta = exports.A_Scope = exports.A_Stage = exports.A_Feature = exports.A_Channel = exports.A_Entity = exports.A_ComponentMeta = exports.A_Component = exports.A_ContainerMeta = exports.A_Container = exports.A_ConceptMeta = exports.A_Concept = exports.A_Context = void 0;
21
21
  // ---------------------- Major Components ----------------------
22
22
  var A_Context_class_1 = require("./src/global/A-Context/A-Context.class");
23
23
  Object.defineProperty(exports, "A_Context", { enumerable: true, get: function () { return A_Context_class_1.A_Context; } });
@@ -41,9 +41,15 @@ var A_Entity_class_1 = require("./src/global/A-Entity/A-Entity.class");
41
41
  Object.defineProperty(exports, "A_Entity", { enumerable: true, get: function () { return A_Entity_class_1.A_Entity; } });
42
42
  __exportStar(require("./src/global/A-Entity/A-Entity.types"), exports);
43
43
  // ---------------------- Common Components ----------------------
44
+ var A_Channel_class_1 = require("./src/global/A-Channel/A-Channel.class");
45
+ Object.defineProperty(exports, "A_Channel", { enumerable: true, get: function () { return A_Channel_class_1.A_Channel; } });
46
+ __exportStar(require("./src/global/A-Channel/A-Channel.types"), exports);
44
47
  var A_Feature_class_1 = require("./src/global/A-Feature/A-Feature.class");
45
48
  Object.defineProperty(exports, "A_Feature", { enumerable: true, get: function () { return A_Feature_class_1.A_Feature; } });
46
49
  __exportStar(require("./src/global/A-Feature/A-Feature.types"), exports);
50
+ var A_Stage_class_1 = require("./src/global/A-Stage/A-Stage.class");
51
+ Object.defineProperty(exports, "A_Stage", { enumerable: true, get: function () { return A_Stage_class_1.A_Stage; } });
52
+ __exportStar(require("./src/global/A-Stage/A-Stage.types"), exports);
47
53
  var A_Scope_class_1 = require("./src/global/A-Scope/A-Scope.class");
48
54
  Object.defineProperty(exports, "A_Scope", { enumerable: true, get: function () { return A_Scope_class_1.A_Scope; } });
49
55
  __exportStar(require("./src/global/A-Scope/A-Scope.types"), exports);
@@ -64,9 +70,12 @@ Object.defineProperty(exports, "A_Feature_Define", { enumerable: true, get: func
64
70
  var A_Feature_Extend_decorator_1 = require("./src/decorators/A-Feature/A-Feature-Extend.decorator");
65
71
  Object.defineProperty(exports, "A_Feature_Extend", { enumerable: true, get: function () { return A_Feature_Extend_decorator_1.A_Feature_Extend; } });
66
72
  __exportStar(require("./src/decorators/A-Feature/A-Feature.decorator.types"), exports);
67
- var A_Stage_decorator_1 = require("./src/decorators/A-Stage/A-Stage.decorator");
68
- Object.defineProperty(exports, "A_Stage", { enumerable: true, get: function () { return A_Stage_decorator_1.A_Stage; } });
69
- __exportStar(require("./src/decorators/A-Stage/A-Stage.decorator.types"), exports);
73
+ var A_Abstraction_decorator_1 = require("./src/decorators/A-Abstraction/A-Abstraction.decorator");
74
+ Object.defineProperty(exports, "A_Abstraction", { enumerable: true, get: function () { return A_Abstraction_decorator_1.A_Abstraction; } });
75
+ __exportStar(require("./src/decorators/A-Abstraction/A-Abstraction.decorator.types"), exports);
76
+ var A_Connect_decorator_1 = require("./src/decorators/A-Connect/A-Connect.decorator");
77
+ Object.defineProperty(exports, "A_Connect", { enumerable: true, get: function () { return A_Connect_decorator_1.A_Connect; } });
78
+ __exportStar(require("./src/decorators/A-Connect/A-Connect.decorator.types"), exports);
70
79
  // =================================================================================================
71
80
  // =============================== Export Base Entities ============================================
72
81
  // =================================================================================================
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,oGAAoG;AACpG,oGAAoG;AACpG,oGAAoG;AACpG,iEAAiE;AACjE,0EAAmE;AAA1D,4GAAA,SAAS,OAAA;AAClB,0DAA0D;AAE1D,0EAAmE;AAA1D,4GAAA,SAAS,OAAA;AAClB,wEAAsE;AAA7D,+GAAA,aAAa,OAAA;AACtB,yEAAuD;AAEvD,gFAAyE;AAAhE,gHAAA,WAAW,OAAA;AACpB,8EAA4E;AAAnE,mHAAA,eAAe,OAAA;AACxB,6EAA2D;AAE3D,gFAAyE;AAAhE,gHAAA,WAAW,OAAA;AACpB,8EAA4E;AAAnE,mHAAA,eAAe,OAAA;AACxB,6EAA2D;AAE3D,uEAAgE;AAAvD,0GAAA,QAAQ,OAAA;AACjB,uEAAqD;AAGrD,kEAAkE;AAClE,0EAAmE;AAA1D,4GAAA,SAAS,OAAA;AAClB,yEAAuD;AAEvD,oEAA6D;AAApD,wGAAA,OAAO,OAAA;AAChB,qEAAmD;AAEnD,iEAA0D;AAAjD,sGAAA,MAAM,OAAA;AACf,oDAAoD;AAEpD,6EAAsE;AAA7D,8GAAA,UAAU,OAAA;AACnB,2EAAyD;AAGzD,oGAAoG;AACpG,iGAAiG;AACjG,oGAAoG;AAEpG,mFAAwE;AAA/D,8GAAA,QAAQ,OAAA;AACjB,qFAAmE;AAEnE,oGAAyF;AAAhF,8HAAA,gBAAgB,OAAA;AACzB,oGAAyF;AAAhF,8HAAA,gBAAgB,OAAA;AACzB,uFAAqE;AAErE,gFAAqE;AAA5D,4GAAA,OAAO,OAAA;AAChB,mFAAiE;AAGjE,oGAAoG;AACpG,oGAAoG;AACpG,oGAAoG;AACpG,6EAAwE;AAA/D,oHAAA,cAAc,OAAA;AACvB,yEAAgE;AAAvD,4GAAA,QAAQ,OAAA;AACjB,gGAAqF;AAA5E,sHAAA,YAAY,OAAA;AACrB,sGAA2F;AAAlF,4HAAA,eAAe,OAAA;AACxB,wGAA6F;AAApF,8HAAA,gBAAgB,OAAA;AACzB,qEAAmD;AAEnD,yEAAuD;AACvD,sDAAsD;AAEtD,6EAAyE;AAAhE,qHAAA,eAAe,OAAA;AACxB,yEAAgE;AAAvD,4GAAA,QAAQ,OAAA;AACjB,qEAAmD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAAA,oGAAoG;AACpG,oGAAoG;AACpG,oGAAoG;;;;;;;;;;;;;;;;;AAEpG,iEAAiE;AACjE,0EAAmE;AAA1D,4GAAA,SAAS,OAAA;AAClB,0DAA0D;AAE1D,0EAAmE;AAA1D,4GAAA,SAAS,OAAA;AAClB,wEAAsE;AAA7D,+GAAA,aAAa,OAAA;AACtB,yEAAuD;AAEvD,gFAAyE;AAAhE,gHAAA,WAAW,OAAA;AACpB,8EAA4E;AAAnE,mHAAA,eAAe,OAAA;AACxB,6EAA2D;AAE3D,gFAAyE;AAAhE,gHAAA,WAAW,OAAA;AACpB,8EAA4E;AAAnE,mHAAA,eAAe,OAAA;AACxB,6EAA2D;AAE3D,uEAAgE;AAAvD,0GAAA,QAAQ,OAAA;AACjB,uEAAqD;AAGrD,kEAAkE;AAClE,0EAAmE;AAA1D,4GAAA,SAAS,OAAA;AAClB,yEAAuD;AAEvD,0EAAmE;AAA1D,4GAAA,SAAS,OAAA;AAClB,yEAAuD;AAEvD,oEAA6D;AAApD,wGAAA,OAAO,OAAA;AAChB,qEAAmD;AAEnD,oEAA6D;AAApD,wGAAA,OAAO,OAAA;AAChB,qEAAmD;AAEnD,iEAA0D;AAAjD,sGAAA,MAAM,OAAA;AACf,oDAAoD;AAEpD,6EAAsE;AAA7D,8GAAA,UAAU,OAAA;AACnB,2EAAyD;AAGzD,oGAAoG;AACpG,iGAAiG;AACjG,oGAAoG;AAEpG,mFAAwE;AAA/D,8GAAA,QAAQ,OAAA;AACjB,qFAAmE;AAEnE,oGAAyF;AAAhF,8HAAA,gBAAgB,OAAA;AACzB,oGAAyF;AAAhF,8HAAA,gBAAgB,OAAA;AACzB,uFAAqE;AAErE,kGAAuF;AAA9E,wHAAA,aAAa,OAAA;AACtB,+FAA6E;AAE7E,sFAA2E;AAAlE,gHAAA,SAAS,OAAA;AAClB,uFAAqE;AAGrE,oGAAoG;AACpG,oGAAoG;AACpG,oGAAoG;AACpG,6EAAwE;AAA/D,oHAAA,cAAc,OAAA;AACvB,yEAAgE;AAAvD,4GAAA,QAAQ,OAAA;AACjB,gGAAqF;AAA5E,sHAAA,YAAY,OAAA;AACrB,sGAA2F;AAAlF,4HAAA,eAAe,OAAA;AACxB,wGAA6F;AAApF,8HAAA,gBAAgB,OAAA;AACzB,qEAAmD;AAEnD,yEAAuD;AACvD,sDAAsD;AAEtD,6EAAyE;AAAhE,qHAAA,eAAe,OAAA;AACxB,yEAAgE;AAAvD,4GAAA,QAAQ,OAAA;AACjB,qEAAmD"}
@@ -21,8 +21,9 @@ export declare class ConfigReader extends A_Component {
21
21
  read<T extends string>(variables?: Array<T>): Promise<Record<T, any>>;
22
22
  /**
23
23
  * Finds the root directory of the project by locating the folder containing package.json
24
+ *
24
25
  * @param {string} startPath - The initial directory to start searching from (default is __dirname)
25
26
  * @returns {string|null} - The path to the root directory or null if package.json is not found
26
27
  */
27
- protected getProjectRoot(startPath?: string): Promise<string | null>;
28
+ protected getProjectRoot(startPath?: string): Promise<string>;
28
29
  }
@@ -22,7 +22,6 @@ exports.ConfigReader = void 0;
22
22
  const A_Scope_class_1 = require("../../../global/A-Scope/A-Scope.class");
23
23
  const A_Inject_decorator_1 = require("../../../decorators/A-Inject/A-Inject.decorator");
24
24
  const A_Component_class_1 = require("../../../global/A-Component/A-Component.class");
25
- const a_utils_1 = require("@adaas/a-utils");
26
25
  const A_Concept_class_1 = require("../../../global/A-Concept/A_Concept.class");
27
26
  const A_Config_context_1 = require("../A-Config.context");
28
27
  /**
@@ -60,22 +59,23 @@ let ConfigReader = class ConfigReader extends A_Component_class_1.A_Component {
60
59
  }
61
60
  /**
62
61
  * Finds the root directory of the project by locating the folder containing package.json
62
+ *
63
63
  * @param {string} startPath - The initial directory to start searching from (default is __dirname)
64
64
  * @returns {string|null} - The path to the root directory or null if package.json is not found
65
65
  */
66
66
  getProjectRoot() {
67
67
  return __awaiter(this, arguments, void 0, function* (startPath = __dirname) {
68
- let currentPath = startPath;
69
- const fs = yield a_utils_1.A_Polyfills.fs();
70
- while (!fs.existsSync(`${currentPath}/package.json`)) {
71
- const parentPath = currentPath.substring(0, currentPath.lastIndexOf('/'));
72
- if (parentPath === currentPath || parentPath === '') {
73
- // Reached the root of the filesystem without finding package.json
74
- return null;
75
- }
76
- currentPath = parentPath;
77
- }
78
- return currentPath;
68
+ // let currentPath = startPath;
69
+ // const fs = await A_Polyfills.fs();
70
+ // while (!fs.existsSync(`${currentPath}/package.json`)) {
71
+ // const parentPath = currentPath.substring(0, currentPath.lastIndexOf('/'));
72
+ // if (parentPath === currentPath || parentPath === '') {
73
+ // // Reached the root of the filesystem without finding package.json
74
+ // return null;
75
+ // }
76
+ // currentPath = parentPath;
77
+ // }
78
+ return process.cwd();
79
79
  });
80
80
  }
81
81
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigReader.component.js","sourceRoot":"","sources":["../../../../../src/base/A-Config/components/ConfigReader.component.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,iFAAwE;AACxE,gGAAmF;AACnF,6FAAoF;AACpF,4CAA6C;AAC7C,uFAA8E;AAC9E,0DAA+C;AAI/C;;GAEG;AACI,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,+BAAW;IAEzC,YACiC,KAAc;QAE3C,KAAK,EAAE,CAAC;QAFqB,UAAK,GAAL,KAAK,CAAS;IAG/C,CAAC;IAIK,MAAM,CACY,MAAgB;;YAEpC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAEjD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAE5C,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;KAAA;IAGD;;;OAGG;IACH,OAAO,CAAoB,QAAgB;QACvC,OAAO,QAAuB,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACG,IAAI;6DACN,YAAsB,EAAE;YAExB,OAAO,EAAoB,CAAC;QAChC,CAAC;KAAA;IAGD;;;;OAIG;IACa,cAAc;6DAAC,SAAS,GAAG,SAAS;YAChD,IAAI,WAAW,GAAG,SAAS,CAAC;YAE5B,MAAM,EAAE,GAAG,MAAM,qBAAW,CAAC,EAAE,EAAE,CAAC;YAElC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,WAAW,eAAe,CAAC,EAAE,CAAC;gBACnD,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1E,IAAI,UAAU,KAAK,WAAW,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;oBAClD,kEAAkE;oBAClE,OAAO,IAAI,CAAC;gBAChB,CAAC;gBACD,WAAW,GAAG,UAAU,CAAC;YAC7B,CAAC;YAED,OAAO,WAAW,CAAC;QACvB,CAAC;KAAA;CACJ,CAAA;AAhEY,oCAAY;AAUf;IADL,2BAAS,CAAC,IAAI,EAAE;IAEZ,WAAA,IAAA,6BAAQ,EAAC,2BAAQ,CAAC,CAAA;0CAStB;uBApBQ,YAAY;IAGhB,WAAA,IAAA,6BAAQ,EAAC,uBAAO,CAAC,CAAA;GAHb,YAAY,CAgExB"}
1
+ {"version":3,"file":"ConfigReader.component.js","sourceRoot":"","sources":["../../../../../src/base/A-Config/components/ConfigReader.component.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,iFAAwE;AACxE,gGAAmF;AACnF,6FAAoF;AAEpF,uFAA8E;AAC9E,0DAA+C;AAI/C;;GAEG;AACI,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,+BAAW;IAEzC,YACiC,KAAc;QAE3C,KAAK,EAAE,CAAC;QAFqB,UAAK,GAAL,KAAK,CAAS;IAG/C,CAAC;IAIK,MAAM,CACY,MAAgB;;YAEpC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAEjD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAE5C,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;KAAA;IAGD;;;OAGG;IACH,OAAO,CAAoB,QAAgB;QACvC,OAAO,QAAuB,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACG,IAAI;6DACN,YAAsB,EAAE;YAExB,OAAO,EAAoB,CAAC;QAChC,CAAC;KAAA;IAGD;;;;;OAKG;IACa,cAAc;6DAAC,SAAS,GAAG,SAAS;YAChD,+BAA+B;YAE/B,qCAAqC;YAErC,0DAA0D;YAC1D,iFAAiF;YACjF,6DAA6D;YAC7D,6EAA6E;YAC7E,uBAAuB;YACvB,QAAQ;YACR,gCAAgC;YAChC,IAAI;YAEJ,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;QACzB,CAAC;KAAA;CACJ,CAAA;AAjEY,oCAAY;AAUf;IADL,2BAAS,CAAC,IAAI,EAAE;IAEZ,WAAA,IAAA,6BAAQ,EAAC,2BAAQ,CAAC,CAAA;0CAStB;uBApBQ,YAAY;IAGhB,WAAA,IAAA,6BAAQ,EAAC,uBAAO,CAAC,CAAA;GAHb,YAAY,CAiExB"}
@@ -0,0 +1,14 @@
1
+ import { A_Component } from "../../global/A-Component/A-Component.class";
2
+ import { A_TYPES__A_AbstractionDecoratorDescriptor } from "./A-Abstraction.decorator.types";
3
+ import { A_Container } from "../../global/A-Container/A-Container.class";
4
+ import { A_TYPES__ConceptStage } from "../../global/A-Concept/A_Concept.types";
5
+ import { A_TYPES__A_ExtendDecoratorConfig } from "../A-Feature/A-Feature.decorator.types";
6
+ /**
7
+ * A_Stage Decorator uses to extend basic A-Concept Stage methods inside Containers.
8
+ *
9
+ * Using this decorator you can define extend a logic and sequence of the Container Stage methods execution.
10
+ *
11
+ * @param params
12
+ * @returns
13
+ */
14
+ export declare function A_Abstraction(method: A_TYPES__ConceptStage, config?: Partial<A_TYPES__A_ExtendDecoratorConfig>): (target: A_Container<any> | A_Component, propertyKey: string, descriptor: A_TYPES__A_AbstractionDecoratorDescriptor) => void;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.A_Abstraction = A_Abstraction;
4
+ const A_Component_class_1 = require("../../global/A-Component/A-Component.class");
5
+ const A_Component_types_1 = require("../../global/A-Component/A-Component.types");
6
+ const A_Context_class_1 = require("../../global/A-Context/A-Context.class");
7
+ const A_Container_class_1 = require("../../global/A-Container/A-Container.class");
8
+ const A_Container_types_1 = require("../../global/A-Container/A-Container.types");
9
+ const A_Meta_class_1 = require("../../global/A-Meta/A-Meta.class");
10
+ /**
11
+ * A_Stage Decorator uses to extend basic A-Concept Stage methods inside Containers.
12
+ *
13
+ * Using this decorator you can define extend a logic and sequence of the Container Stage methods execution.
14
+ *
15
+ * @param params
16
+ * @returns
17
+ */
18
+ function A_Abstraction(method, config = {}) {
19
+ return function (target, propertyKey, descriptor) {
20
+ const meta = A_Context_class_1.A_Context.meta(target);
21
+ let metaKey;
22
+ const StageKey = `CONCEPT_ABSTRACTION::${method}`;
23
+ switch (true) {
24
+ case target instanceof A_Container_class_1.A_Container:
25
+ metaKey = A_Container_types_1.A_TYPES__ContainerMetaKey.ABSTRACTIONS;
26
+ break;
27
+ case target instanceof A_Component_class_1.A_Component:
28
+ metaKey = A_Component_types_1.A_TYPES__ComponentMetaKey.ABSTRACTIONS;
29
+ break;
30
+ default:
31
+ throw new Error(`Concept Stage cannot be defined on the ${target} level`);
32
+ }
33
+ // Get the existed metadata or create a new one
34
+ const existedMeta = meta.get(metaKey) || new A_Meta_class_1.A_Meta();
35
+ // Set the metadata of the method to define a custom Stage with name
36
+ const existedMetaValue = existedMeta.get(StageKey) || [];
37
+ // Add the new method to the metadata
38
+ existedMetaValue.push({
39
+ name: method,
40
+ handler: propertyKey,
41
+ before: config.before || [],
42
+ after: config.after || [],
43
+ behavior: config.behavior || 'sync'
44
+ });
45
+ // Set the metadata of the method to define a custom Feature with name
46
+ existedMeta.set(StageKey, existedMetaValue);
47
+ // Update the metadata of the container with the new Stage definition
48
+ A_Context_class_1.A_Context
49
+ .meta(target)
50
+ .set(metaKey, existedMeta);
51
+ };
52
+ }
53
+ //# sourceMappingURL=A-Abstraction.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A-Abstraction.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/A-Abstraction/A-Abstraction.decorator.ts"],"names":[],"mappings":";;AAuBA,sCA0DC;AAjFD,6FAAoF;AAIpF,6FAAkG;AAClG,uFAA8E;AAC9E,6FAAoF;AACpF,6FAAkG;AAIlG,8EAAqE;AAIrE;;;;;;;GAOG;AACH,SAAgB,aAAa,CACzB,MAA6B,EAC7B,SAAoD,EAAE;IAEtD,OAAO,UACH,MAAsC,EACtC,WAAmB,EACnB,UAAqD;QAGrD,MAAM,IAAI,GAAsC,2BAAS,CAAC,IAAI,CAAC,MAAa,CAAC,CAAC;QAE9E,IAAI,OAAO,CAAC;QAEZ,MAAM,QAAQ,GAAG,wBAAwB,MAAM,EAAE,CAAC;QAElD,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,MAAM,YAAY,+BAAW;gBAC9B,OAAO,GAAG,6CAAyB,CAAC,YAAY,CAAA;gBAChD,MAAM;YACV,KAAK,MAAM,YAAY,+BAAW;gBAC9B,OAAO,GAAG,6CAAyB,CAAC,YAAY,CAAA;gBAChD,MAAM;YACV;gBACI,MAAM,IAAI,KAAK,CAAC,0CAA0C,MAAM,QAAQ,CAAC,CAAC;QAClF,CAAC;QAED,+CAA+C;QAC/C,MAAM,WAAW,GAEZ,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,qBAAM,EAAE,CAAC;QAEvC,oEAAoE;QACpE,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAGzD,qCAAqC;QACrC,gBAAgB,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,WAAW;YACpB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;YAC3B,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM;SACtC,CAAC,CAAC;QAEH,sEAAsE;QACtE,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAG5C,sEAAsE;QACtE,2BAAS;aACJ,IAAI,CAAC,MAAa,CAAC;aACnB,GAAG,CACA,OAAO,EACP,WAAW,CACd,CAAC;IAEV,CAAC,CAAC;AACN,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type A_TYPES__A_AbstractionDecoratorDescriptor = TypedPropertyDescriptor<() => any> | TypedPropertyDescriptor<(...args: any[]) => any> | TypedPropertyDescriptor<(...args: any[]) => Promise<any>> | TypedPropertyDescriptor<() => Promise<any>>;
2
+ export type A_TYPES__A_StageDecoratorConfig = {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=A-Abstraction.decorator.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A-Abstraction.decorator.types.js","sourceRoot":"","sources":["../../../../src/decorators/A-Abstraction/A-Abstraction.decorator.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ import { A_Channel } from "../../global/A-Channel/A-Channel.class";
2
+ /**
3
+ * A_Connect decorators allows to establish a connection between the Containers.
4
+ *
5
+ * Depending on the A-Channel implementation the connection could be established in different ways like:
6
+ * - Direct connection (Async Module import)
7
+ * - Remote connection (HTTP, WebSockets)
8
+ * - Local connection (Shared Memory, IPC)
9
+ * - Event-based connection (EventEmitter, PubSub)
10
+ *
11
+ *
12
+ * @param params
13
+ * @returns
14
+ */
15
+ export declare function A_Connect(channel: typeof A_Channel,
16
+ /**
17
+ * Connection name
18
+ */
19
+ id: string): any;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.A_Connect = A_Connect;
4
+ const A_Context_class_1 = require("../../global/A-Context/A-Context.class");
5
+ function A_Connect(channel, config) {
6
+ return function (target, methodName, parameterIndex) {
7
+ const meta = A_Context_class_1.A_Context.meta(target);
8
+ let metaKey;
9
+ // // Get the existed metadata or create a new one
10
+ // const existedMeta: A_Meta<{
11
+ // [Key: string]: A_TYPES__ContainerMeta_StageExtension[];
12
+ // }> = meta.get(metaKey) || new A_Meta();
13
+ // // Set the metadata of the method to define a custom Stage with name
14
+ // const existedMetaValue = existedMeta.get(StageKey) || [];
15
+ // // Add the new method to the metadata
16
+ // existedMetaValue.push({
17
+ // name: method,
18
+ // handler: propertyKey,
19
+ // });
20
+ // // Set the metadata of the method to define a custom Feature with name
21
+ // existedMeta.set(StageKey, existedMetaValue);
22
+ // // Update the metadata of the container with the new Stage definition
23
+ // A_Context
24
+ // .meta(target as any)
25
+ // .set(
26
+ // metaKey,
27
+ // existedMeta
28
+ // );
29
+ };
30
+ }
31
+ //# sourceMappingURL=A-Connect.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A-Connect.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/A-Connect/A-Connect.decorator.ts"],"names":[],"mappings":";;AA4BA,8BA0CC;AArED,uFAA8E;AA2B9E,SAAgB,SAAS,CACrB,OAAyB,EACzB,MAAqB;IAErB,OAAO,UACH,MAAsC,EACtC,UAAuC,EACvC,cAAsB;QAGtB,MAAM,IAAI,GAAsC,2BAAS,CAAC,IAAI,CAAC,MAAa,CAAC,CAAC;QAE9E,IAAI,OAAO,CAAC;QAGZ,kDAAkD;QAClD,8BAA8B;QAC9B,8DAA8D;QAC9D,0CAA0C;QAE1C,uEAAuE;QACvE,4DAA4D;QAE5D,wCAAwC;QACxC,0BAA0B;QAC1B,oBAAoB;QACpB,4BAA4B;QAC5B,MAAM;QAEN,yEAAyE;QACzE,+CAA+C;QAG/C,yEAAyE;QACzE,YAAY;QACZ,2BAA2B;QAC3B,YAAY;QACZ,mBAAmB;QACnB,sBAAsB;QACtB,SAAS;IAEb,CAAC,CAAC;AACN,CAAC"}
@@ -0,0 +1 @@
1
+ export type A_TYPES__A_ConnectDecoratorConfig = {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=A-Connect.decorator.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A-Connect.decorator.types.js","sourceRoot":"","sources":["../../../../src/decorators/A-Connect/A-Connect.decorator.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export declare function A_EntityListDecorator(...args: any[]): any;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.A_EntityListDecorator = A_EntityListDecorator;
4
+ function A_EntityListDecorator(...args) {
5
+ return function (target, propertyKey, descriptor) {
6
+ };
7
+ }
8
+ //# sourceMappingURL=A-Entity-List.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A-Entity-List.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/A-Entity/A-Entity-List.decorator.ts"],"names":[],"mappings":";;AAEA,sDASC;AATD,SAAgB,qBAAqB,CAAC,GAAG,IAAW;IAEhD,OAAO,UACH,MAAW,EACX,WAAmB,EACnB,UAA8B;IAGlC,CAAC,CAAA;AACL,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { A_Entity } from "../../global/A-Entity/A-Entity.class";
2
+ import { ASEID } from "@adaas/a-utils";
3
+ export type A_TYPES__EntityListDecoratorQuery = {
4
+ aseid: string | ASEID;
5
+ id: string;
6
+ type: {
7
+ new (...args: any[]): A_Entity<any, any, any>;
8
+ };
9
+ entity: string;
10
+ };
11
+ export type A_TYPES__EntityListDecoratorPagination = {
12
+ limit: number;
13
+ offset: number;
14
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=A-Entity.decorator.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A-Entity.decorator.types.js","sourceRoot":"","sources":["../../../../src/decorators/A-Entity/A-Entity.decorator.types.ts"],"names":[],"mappings":""}
@@ -7,6 +7,9 @@ const A_Meta_class_1 = require("../../global/A-Meta/A-Meta.class");
7
7
  function A_Feature_Extend(param1) {
8
8
  return function (target, propertyKey, descriptor) {
9
9
  let targetRegexp;
10
+ let behavior = 'sync';
11
+ let before = [];
12
+ let after = [];
10
13
  // Check if the config is a RegExp
11
14
  if (param1 instanceof RegExp) {
12
15
  targetRegexp = param1;
@@ -17,6 +20,9 @@ function A_Feature_Extend(param1) {
17
20
  .map(el => el.name)
18
21
  .join('|')})`
19
22
  : '.*'}\\.${param1.name || propertyKey}$`);
23
+ behavior = param1.behavior || behavior;
24
+ before = param1.before || before;
25
+ after = param1.after || after;
20
26
  }
21
27
  else {
22
28
  targetRegexp = new RegExp(`^.*\\.${propertyKey}$`);
@@ -31,6 +37,9 @@ function A_Feature_Extend(param1) {
31
37
  existedMetaValue.push({
32
38
  name: targetRegexp.source,
33
39
  handler: propertyKey,
40
+ behavior,
41
+ before,
42
+ after
34
43
  });
35
44
  // Set the metadata of the method to define a custom Feature with name
36
45
  existedMeta.set(targetRegexp.source, existedMetaValue);
@@ -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,4CAmDC;AA/FD,6FAAkG;AAClG,uFAA8E;AAG9E,8EAAqE;AAwCrE,SAAgB,gBAAgB,CAC5B,MAA2D;IAE3D,OAAO,UACH,MAAmB,EACnB,WAAmB,EACnB,UAAgD;QAGhD,IAAI,YAAoB,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;QAC7C,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;SACvB,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":";;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"}
@@ -32,4 +32,32 @@ export type A_TYPES__A_ExtendDecoratorConfig = {
32
32
  } | {
33
33
  new (...args: any[]): A_Component;
34
34
  }>;
35
+ } & A_TYPES__A_ExtendDecorator_BehaviorConfig;
36
+ export type A_TYPES__A_ExtendDecorator_BehaviorConfig = {
37
+ /**
38
+ * The behavior of the method.
39
+ * In case its async it will be executed independently from the main thread.
40
+ *
41
+ * [!] However, in case of sync, it will be executed in the main thread.in the order of the declaration.
42
+ *
43
+ */
44
+ behavior: 'async' | 'sync';
45
+ /**
46
+ * Allows to define the order of the execution of the method.
47
+ *
48
+ * [!] In case the method has circular dependencies it will Throw an error.
49
+ *
50
+ */
51
+ before: string[];
52
+ /**
53
+ * Allows to define the order of the execution of the method.
54
+ *
55
+ * [!] In case the method has circular dependencies it will Throw an error.
56
+ *
57
+ */
58
+ after: string[];
35
59
  };
60
+ export type A_TYPES__A_ExtendDecorator_Meta = {
61
+ name: string;
62
+ handler: string;
63
+ } & A_TYPES__A_ExtendDecorator_BehaviorConfig;
@@ -1,8 +1,7 @@
1
1
  import { A_Component } from "../../global/A-Component/A-Component.class";
2
- import { A_TYPES__A_InjectDecoratorReturn } from "./A-Inject.decorator.types";
2
+ import { A_TYPES__A_InjectDecorator_EntityInjectionInstructions, A_TYPES__A_InjectDecoratorReturn } from "./A-Inject.decorator.types";
3
3
  import { A_Fragment } from "../../global/A-Fragment/A-Fragment.class";
4
4
  import { A_Scope } from "../../global/A-Scope/A-Scope.class";
5
- import { A_TYPES__ComponentMeta_EntityInjectionInstructions } from "../../global/A-Component/A-Component.types";
6
5
  import { A_Feature } from "../../global/A-Feature/A-Feature.class";
7
6
  import { A_Entity } from "../../global/A-Entity/A-Entity.class";
8
7
  /**
@@ -26,4 +25,4 @@ export declare function A_Inject(fragment: {
26
25
  }): A_TYPES__A_InjectDecoratorReturn;
27
26
  export declare function A_Inject(entity: {
28
27
  new (...args: any[]): A_Entity;
29
- }, config: Partial<A_TYPES__ComponentMeta_EntityInjectionInstructions>): A_TYPES__A_InjectDecoratorReturn;
28
+ }, config: Partial<A_TYPES__A_InjectDecorator_EntityInjectionInstructions>): A_TYPES__A_InjectDecoratorReturn;
@@ -1 +1 @@
1
- {"version":3,"file":"A-Inject.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/A-Inject/A-Inject.decorator.ts"],"names":[],"mappings":";;AAgDA,4BAyCC;AArFD,uFAA8E;AAC9E,6FAAsJ;AACtJ,8EAAqE;AAyCrE,8DAA8D;AAC9D,SAAgB,QAAQ,CACpB,MAIuC,EACvC,MAGC;IAED,OAAO,UACH,MAAmB,EACnB,UAAuC,EACvC,cAAsB;QAGtB,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAE/D,MAAM,WAAW,GAAG,2BAAS;aACxB,IAAI,CAAC,MAAM,CAAC;aACZ,GAAG,CAAC,6CAAyB,CAAC,UAAU,CAAC;eACvC,IAAI,qBAAM,EAAE,CAAC;QAGpB,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAElD,WAAW,CAAC,cAAc,CAAC,GAAG;YAC1B,MAAM,EAAE,MAAM;YACd,YAAY,EAAE,MAAM;SACvB,CAAA;QAED,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAErC,2BAAS;aACJ,IAAI,CAAC,MAAM,CAAC;aACZ,GAAG,CACA,6CAAyB,CAAC,UAAU,EACpC,WAAW,CACd,CAAC;IACV,CAAC,CAAA;AACL,CAAC"}
1
+ {"version":3,"file":"A-Inject.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/A-Inject/A-Inject.decorator.ts"],"names":[],"mappings":";;AAmDA,4BAsCC;AAlFD,uFAA8E;AAC9E,6FAAkG;AAClG,8EAAqE;AAyCrE,8DAA8D;AAC9D,SAAgB,QAAQ,CACpB,MAIuC,EACvC,MAAwE;IAExE,OAAO,UACH,MAAmB,EACnB,UAAuC,EACvC,cAAsB;QAGtB,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAE/D,MAAM,WAAW,GAAG,2BAAS;aACxB,IAAI,CAAC,MAAM,CAAC;aACZ,GAAG,CAAC,6CAAyB,CAAC,UAAU,CAAC;eACvC,IAAI,qBAAM,EAAE,CAAC;QAGpB,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAElD,WAAW,CAAC,cAAc,CAAC,GAAG;YAC1B,MAAM,EAAE,MAAM;YACd,YAAY,EAAE,MAAM;SACvB,CAAA;QAED,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAErC,2BAAS;aACJ,IAAI,CAAC,MAAM,CAAC;aACZ,GAAG,CACA,6CAAyB,CAAC,UAAU,EACpC,WAAW,CACd,CAAC;IACV,CAAC,CAAA;AACL,CAAC"}
@@ -1,5 +1,49 @@
1
+ import { A_Component } from "../../global/A-Component/A-Component.class";
2
+ import { A_Container } from "../../global/A-Container/A-Container.class";
3
+ import { A_Entity } from "../../global/A-Entity/A-Entity.class";
4
+ import { A_Feature } from "../../global/A-Feature/A-Feature.class";
5
+ import { A_Fragment } from "../../global/A-Fragment/A-Fragment.class";
6
+ import { A_Scope } from "../../global/A-Scope/A-Scope.class";
7
+ import { ASEID } from "@adaas/a-utils";
1
8
  export type A_TYPES__A_InjectDecoratorDescriptor = TypedPropertyDescriptor<(...args: any[]) => Promise<void>>;
2
9
  export type A_TYPES__A_InjectDecoratorReturn<T = any> = (target: T, propertyKey: string | symbol | undefined, parameterIndex: number) => void;
3
10
  export type A_TYPES__A_InjectDecoratorStorageInstruction = Array<{
4
11
  new (...args: any[]): any;
5
12
  }>;
13
+ export type A_TYPES__A_InjectDecorator_Meta = Array<{
14
+ target: A_TYPES__A_InjectDecorator_Injectable;
15
+ } | {
16
+ target: {
17
+ new (...args: any[]): A_Entity;
18
+ };
19
+ instructions: Partial<A_TYPES__A_InjectDecorator_EntityInjectionInstructions>;
20
+ }>;
21
+ export type A_TYPES__A_InjectDecorator_Injectable = {
22
+ new (...args: any[]): A_Fragment;
23
+ } | {
24
+ new (...args: any[]): A_Component;
25
+ } | {
26
+ new (...args: any[]): A_Container<any>;
27
+ } | {
28
+ new (...args: any[]): A_Scope;
29
+ } | {
30
+ new (...args: any[]): A_Feature;
31
+ } | {
32
+ new (...args: any[]): A_Entity<any, any, any>;
33
+ };
34
+ export type A_TYPES__A_InjectDecorator_EntityInjectionInstructions = {
35
+ query: Partial<A_TYPES__A_InjectDecorator_EntityInjectionQuery>;
36
+ pagination: Partial<A_TYPES__A_InjectDecorator_EntityInjectionPagination>;
37
+ };
38
+ export type A_TYPES__A_InjectDecorator_EntityInjectionQuery = {
39
+ aseid: string | ASEID;
40
+ id: string;
41
+ type: {
42
+ new (...args: any[]): A_Entity<any, any, any>;
43
+ };
44
+ entity: string;
45
+ };
46
+ export type A_TYPES__A_InjectDecorator_EntityInjectionPagination = {
47
+ count: number;
48
+ from: 'start' | 'end';
49
+ };
@@ -1,3 +1,6 @@
1
+ import { A_Component } from "../A-Component/A-Component.class";
2
+ import { A_Container } from "../A-Container/A-Container.class";
3
+ import { A_TYPES__A_ChannelAggregated, A_TYPES__A_ChannelAggregateMethods, A_TYPES__A_ChannelCallParams, A_TYPES__A_ChannelConstructor } from "./A-Channel.types";
1
4
  /**
2
5
  * A_Channel is an abstraction over any Communication Type from event emitters to message queues, HTTP requests, etc.
3
6
  *
@@ -5,14 +8,9 @@
5
8
  * When One container needs to communicate with another container, it uses A_Channel.
6
9
  *
7
10
  */
8
- export declare class A_Channel<T> {
9
- private realClass;
10
- private args;
11
- private proxyInstance;
12
- private realInstance;
13
- constructor(realClass: {
14
- new (...args: any[]): T;
15
- }, args: any[]);
16
- protected loadInstance(): Promise<T>;
17
- resolve(): Promise<T>;
11
+ export declare class A_Channel<T extends Array<A_Component | A_Container> = any[], _Constructor extends A_TYPES__A_ChannelConstructor = A_TYPES__A_ChannelConstructor> {
12
+ id: string;
13
+ protected channel: A_TYPES__A_ChannelAggregated<T>;
14
+ constructor(params: A_TYPES__A_ChannelConstructor);
15
+ call<_Resp extends any>(prop: A_TYPES__A_ChannelAggregateMethods<T>, params?: Partial<A_TYPES__A_ChannelCallParams>): Promise<_Resp>;
18
16
  }
@@ -18,35 +18,21 @@ exports.A_Channel = void 0;
18
18
  *
19
19
  */
20
20
  class A_Channel {
21
- constructor(realClass, args) {
22
- this.realClass = realClass;
23
- this.args = args;
24
- this.proxyInstance = null;
25
- this.realInstance = null;
26
- }
27
- loadInstance() {
28
- return __awaiter(this, void 0, void 0, function* () {
29
- if (!this.realInstance)
30
- this.realInstance = new this.realClass(...this.args);
31
- return this.realInstance;
21
+ constructor(params) {
22
+ this.id = params.id;
23
+ this.channel = new Proxy({}, {
24
+ get: (target, prop) => {
25
+ return (...args) => __awaiter(this, void 0, void 0, function* () {
26
+ this.call(prop);
27
+ });
28
+ }
32
29
  });
33
30
  }
34
- resolve() {
31
+ call(prop, params) {
35
32
  return __awaiter(this, void 0, void 0, function* () {
36
- if (!this.proxyInstance) {
37
- const realInstance = yield this.loadInstance();
38
- this.proxyInstance = new Proxy({}, {
39
- get: (target, prop) => {
40
- const value = realInstance[prop];
41
- // If the property is a method, return a bound function
42
- if (typeof value === 'function') {
43
- return value.bind(realInstance);
44
- }
45
- return value;
46
- }
47
- });
48
- }
49
- return this.proxyInstance;
33
+ // do HTTP Call or just inject class or whatever you want
34
+ console.log('Calling method', prop);
35
+ return {};
50
36
  });
51
37
  }
52
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"A-Channel.class.js","sourceRoot":"","sources":["../../../../src/global/A-Channel/A-Channel.class.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA;;;;;;GAMG;AACH,MAAa,SAAS;IAIlB,YACY,SAAqC,EACrC,IAAW;QADX,cAAS,GAAT,SAAS,CAA4B;QACrC,SAAI,GAAJ,IAAI,CAAO;QALf,kBAAa,GAAa,IAAI,CAAC;QAC/B,iBAAY,GAAa,IAAI,CAAC;IAOtC,CAAC;IAEe,YAAY;;YACxB,IAAI,CAAC,IAAI,CAAC,YAAY;gBAClB,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YAEzD,OAAO,IAAI,CAAC,YAAY,CAAC;QAC7B,CAAC;KAAA;IAGY,OAAO;;YAChB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACtB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBAE/C,IAAI,CAAC,aAAa,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE;oBAC/B,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;wBAClB,MAAM,KAAK,GAAI,YAAoB,CAAC,IAAI,CAAC,CAAC;wBAE1C,uDAAuD;wBACvD,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;4BAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACpC,CAAC;wBACD,OAAO,KAAK,CAAC;oBACjB,CAAC;iBACJ,CAAM,CAAC;YACZ,CAAC;YAED,OAAO,IAAI,CAAC,aAAa,CAAC;QAC9B,CAAC;KAAA;CACJ;AAtCD,8BAsCC"}
1
+ {"version":3,"file":"A-Channel.class.js","sourceRoot":"","sources":["../../../../src/global/A-Channel/A-Channel.class.ts"],"names":[],"mappings":";;;;;;;;;;;;AAKA;;;;;;GAMG;AACH,MAAa,SAAS;IAUlB,YAAY,MAAqC;QAC7C,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QAEpB,IAAI,CAAC,OAAO,GAAG,IAAI,KAAK,CACpB,EAAqC,EACrC;YACI,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;gBAClB,OAAO,CAAO,GAAG,IAAW,EAAE,EAAE;oBAC5B,IAAI,CAAC,IAAI,CAAC,IAA6C,CAAC,CAAC;gBAC7D,CAAC,CAAA,CAAC;YACN,CAAC;SACJ,CAAC,CAAC;IACX,CAAC;IAGK,IAAI,CAAoB,IAA2C,EAAE,MAA8C;;YACrH,yDAAyD;YAEzD,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;YAEpC,OAAO,EAAW,CAAC;QACvB,CAAC;KAAA;CACJ;AAhCD,8BAgCC"}
@@ -1,3 +1,5 @@
1
+ import { A_Component } from "../A-Component/A-Component.class";
2
+ import { A_Fragment } from "../A-Fragment/A-Fragment.class";
1
3
  export type A_TYPES__A_DependencyReferenceConstructor = {
2
4
  /**
3
5
  * The name of the dependency
@@ -33,3 +35,33 @@ export type A_TYPES__A_DependencyReferenceConstructorConfig = {
33
35
  timeout: number;
34
36
  };
35
37
  };
38
+ export type A_TYPES__A_ChannelCallParams = {
39
+ fragments: Array<A_Fragment>;
40
+ components: Array<typeof A_Component>;
41
+ };
42
+ /**
43
+ * Returns a string set of possible methods that could be called on a provided A-Component
44
+ */
45
+ export type A_TYPES__A_ExecutableMethods<T> = {
46
+ [K in keyof T]: T[K] extends (...arg: Partial<A_TYPES__A_ChannelCallParams>[]) => Promise<any> ? K : never;
47
+ }[keyof T];
48
+ /**
49
+ * Returns a string set of possible methods that could be called on a set of provided set of A-Components
50
+ */
51
+ export type A_TYPES__A_ChannelAggregateMethods<TClasses extends A_Component[]> = {
52
+ [K in keyof TClasses]: TClasses[K] extends infer Instance ? A_TYPES__A_ExecutableMethods<Instance> : never;
53
+ }[number];
54
+ /**
55
+ * Describes a type of proxy object and consists of all callable methods from a set opf provided components
56
+ */
57
+ export type A_TYPES__A_ChannelAggregated<TClasses extends any[]> = {
58
+ [Method in A_TYPES__A_ChannelAggregateMethods<TClasses>]: {
59
+ [Class in keyof TClasses]: TClasses[Class] extends infer Instance ? Method extends keyof Instance ? (params: Partial<A_TYPES__A_ChannelCallParams>) => Promise<any> : never : never;
60
+ }[number];
61
+ };
62
+ /**
63
+ * A set of parameters are required to construct a new A-Channel
64
+ */
65
+ export type A_TYPES__A_ChannelConstructor = {
66
+ id: string;
67
+ };
@@ -1,11 +1,12 @@
1
1
  import { A_TYPES__Required } from "@adaas/a-utils";
2
- import { A_TYPES__ComponentCallParams } from "./A-Component.types";
2
+ import { A_TYPES__ComponentCallParams, A_TYPES__ComponentConstructor } from "./A-Component.types";
3
3
  import { A_Scope } from "../A-Scope/A-Scope.class";
4
4
  /**
5
5
  * This element only contains the specific code
6
6
  *
7
7
  */
8
8
  export declare class A_Component<_FeatureNames extends Array<string> = any> {
9
+ constructor(params?: Partial<A_TYPES__ComponentConstructor<_FeatureNames>>);
9
10
  /**
10
11
  * Call a feature of the component
11
12
  *