@adaas/a-concept 0.0.32 → 0.0.34

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 (368) hide show
  1. package/README.md +156 -8
  2. package/dist/index.d.ts +3 -1
  3. package/dist/index.js +6 -3
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/base/A-Config/A-Config.container.d.ts +5 -2
  6. package/dist/src/base/A-Config/A-Config.container.js +7 -2
  7. package/dist/src/base/A-Config/A-Config.container.js.map +1 -1
  8. package/dist/src/base/A-Config/components/ConfigReader.component.js +1 -1
  9. package/dist/src/base/A-Config/components/ConfigReader.component.js.map +1 -1
  10. package/dist/src/base/A-Config/components/FileConfigReader.component.js.map +1 -1
  11. package/dist/src/base/A-Errors/A-Errors.component.js +3 -3
  12. package/dist/src/base/A-Errors/A-Errors.component.js.map +1 -1
  13. package/dist/src/base/A-Errors/A-Errors.context.js.map +1 -1
  14. package/dist/src/base/A-Logger/A-Logger.component.js.map +1 -1
  15. package/dist/src/decorators/A-Abstraction/{A-Abstraction.decorator.d.ts → A-Abstraction-Extend.decorator.d.ts} +1 -1
  16. package/dist/src/decorators/A-Abstraction/{A-Abstraction.decorator.js → A-Abstraction-Extend.decorator.js} +6 -6
  17. package/dist/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.js.map +1 -0
  18. package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.d.ts +1 -1
  19. package/dist/src/decorators/A-Connect/A-Connect.decorator.js.map +1 -1
  20. package/dist/src/decorators/A-Entity/A-Entity.decorator.types.d.ts +1 -1
  21. package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.d.ts +3 -3
  22. package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.js +20 -4
  23. package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.js.map +1 -1
  24. package/dist/src/decorators/A-Feature/A-Feature.decorator.types.d.ts +3 -2
  25. package/dist/src/decorators/A-Inject/A-Inject.decorator.d.ts +1 -1
  26. package/dist/src/decorators/A-Inject/A-Inject.decorator.js +23 -2
  27. package/dist/src/decorators/A-Inject/A-Inject.decorator.js.map +1 -1
  28. package/dist/src/decorators/A-Inject/A-Inject.decorator.types.d.ts +3 -3
  29. package/dist/src/global/A-Abstraction/A-Abstraction.class.d.ts +40 -0
  30. package/dist/src/global/A-Abstraction/A-Abstraction.class.js +113 -0
  31. package/dist/src/global/A-Abstraction/A-Abstraction.class.js.map +1 -0
  32. package/dist/src/global/A-Abstraction/A-Abstraction.types.d.ts +13 -0
  33. package/dist/src/global/A-Abstraction/A-Abstraction.types.js +11 -0
  34. package/dist/src/global/A-Abstraction/A-Abstraction.types.js.map +1 -0
  35. package/dist/src/global/A-Channel/A-Channel.class.js +0 -1
  36. package/dist/src/global/A-Channel/A-Channel.class.js.map +1 -1
  37. package/dist/src/global/A-Channel/A-Channel.types.d.ts +2 -1
  38. package/dist/src/global/A-Component/A-Component.class.d.ts +5 -30
  39. package/dist/src/global/A-Component/A-Component.class.js +6 -10
  40. package/dist/src/global/A-Component/A-Component.class.js.map +1 -1
  41. package/dist/src/global/A-Component/A-Component.meta.d.ts +9 -2
  42. package/dist/src/global/A-Component/A-Component.meta.js +10 -1
  43. package/dist/src/global/A-Component/A-Component.meta.js.map +1 -1
  44. package/dist/src/global/A-Concept/A_Concept.class.d.ts +43 -20
  45. package/dist/src/global/A-Concept/A_Concept.class.js +77 -65
  46. package/dist/src/global/A-Concept/A_Concept.class.js.map +1 -1
  47. package/dist/src/global/A-Concept/A_Concept.meta.d.ts +10 -0
  48. package/dist/src/global/A-Concept/A_Concept.meta.js +20 -0
  49. package/dist/src/global/A-Concept/A_Concept.meta.js.map +1 -1
  50. package/dist/src/global/A-Concept/A_Concept.types.d.ts +9 -6
  51. package/dist/src/global/A-Container/A-Container.class.d.ts +7 -50
  52. package/dist/src/global/A-Container/A-Container.class.js +9 -19
  53. package/dist/src/global/A-Container/A-Container.class.js.map +1 -1
  54. package/dist/src/global/A-Container/A-Container.meta.d.ts +15 -0
  55. package/dist/src/global/A-Container/A-Container.meta.js +20 -0
  56. package/dist/src/global/A-Container/A-Container.meta.js.map +1 -1
  57. package/dist/src/global/A-Context/A-Context.class.d.ts +21 -21
  58. package/dist/src/global/A-Context/A-Context.class.js +60 -15
  59. package/dist/src/global/A-Context/A-Context.class.js.map +1 -1
  60. package/dist/src/global/A-Entity/A-Entity.class.d.ts +10 -18
  61. package/dist/src/global/A-Entity/A-Entity.class.js +21 -31
  62. package/dist/src/global/A-Entity/A-Entity.class.js.map +1 -1
  63. package/dist/src/global/A-Entity/A-Entity.meta.js.map +1 -1
  64. package/dist/src/global/A-Entity/A-Entity.types.d.ts +3 -2
  65. package/dist/src/global/A-Entity/A-Entity.types.js +1 -0
  66. package/dist/src/global/A-Entity/A-Entity.types.js.map +1 -1
  67. package/dist/src/global/A-Feature/A-Feature.class.d.ts +2 -1
  68. package/dist/src/global/A-Feature/A-Feature.class.js +14 -4
  69. package/dist/src/global/A-Feature/A-Feature.class.js.map +1 -1
  70. package/dist/src/global/A-Feature/A-Feature.types.d.ts +9 -0
  71. package/dist/src/global/A-Feature/A-Feature.types.js.map +1 -1
  72. package/dist/src/global/A-Meta/A-Meta.class.d.ts +1 -0
  73. package/dist/src/global/A-Meta/A-Meta.class.js +3 -6
  74. package/dist/src/global/A-Meta/A-Meta.class.js.map +1 -1
  75. package/dist/src/global/A-Scope/A-Scope.class.d.ts +4 -2
  76. package/dist/src/global/A-Scope/A-Scope.class.js +25 -16
  77. package/dist/src/global/A-Scope/A-Scope.class.js.map +1 -1
  78. package/dist/src/global/A-Scope/A-Scope.types.d.ts +4 -6
  79. package/dist/src/global/A-Stage/A-Stage.class.d.ts +3 -3
  80. package/dist/src/global/A-Stage/A-Stage.class.js +11 -10
  81. package/dist/src/global/A-Stage/A-Stage.class.js.map +1 -1
  82. package/dist/src/global/A-Stage/A-Stage.types.d.ts +1 -1
  83. package/dist/src/global/A-Stage/A-Stage.types.js.map +1 -1
  84. package/dist/src/helpers/StepsManager.class.d.ts +1 -0
  85. package/dist/src/helpers/StepsManager.class.js +10 -7
  86. package/dist/src/helpers/StepsManager.class.js.map +1 -1
  87. package/docs/a-concept-logo.png +0 -0
  88. package/docs/a-logo-docs.png +0 -0
  89. package/examples/fe-be/channels/Test.channel.ts +6 -3
  90. package/examples/simple/components/A.component.ts +7 -0
  91. package/examples/simple/components/B.component.ts +9 -0
  92. package/examples/simple/concept.ts +38 -60
  93. package/examples/simple/containers/Main.container.ts +25 -12
  94. package/examples/simple/entities/EntityA.entity.ts +3 -5
  95. package/examples/simple-http-server/components/http-request-handler.component.ts +6 -4
  96. package/examples/simple-http-server/concept.ts +24 -21
  97. package/examples/simple-http-server/containers/http-server.container.ts +4 -3
  98. package/index.ts +4 -1
  99. package/package.json +6 -2
  100. package/src/base/A-Config/A-Config.container.ts +12 -4
  101. package/src/base/A-Config/components/ConfigReader.component.ts +4 -5
  102. package/src/base/A-Config/components/FileConfigReader.component.ts +0 -2
  103. package/src/base/A-Errors/A-Error.entity.ts +1 -1
  104. package/src/base/A-Errors/A-Errors.component.ts +3 -3
  105. package/src/base/A-Errors/A-Errors.context.ts +2 -1
  106. package/src/base/A-Logger/A-Logger.component.ts +0 -1
  107. package/src/decorators/A-Abstraction/{A-Abstraction.decorator.ts → A-Abstraction-Extend.decorator.ts} +5 -6
  108. package/src/decorators/A-Abstraction/A-Abstraction.decorator.types.ts +1 -1
  109. package/src/decorators/A-Connect/A-Connect.decorator.ts +1 -1
  110. package/src/decorators/A-Entity/A-Entity.decorator.types.ts +1 -1
  111. package/src/decorators/A-Feature/A-Feature-Define.decorator.ts +37 -10
  112. package/src/decorators/A-Feature/A-Feature.decorator.types.ts +12 -12
  113. package/src/decorators/A-Inject/A-Inject.decorator.ts +31 -4
  114. package/src/decorators/A-Inject/A-Inject.decorator.types.ts +4 -3
  115. package/src/global/A-Abstraction/A-Abstraction.class.ts +130 -0
  116. package/src/global/A-Abstraction/A-Abstraction.types.ts +22 -0
  117. package/src/global/A-Channel/A-Channel.class.ts +0 -2
  118. package/src/global/A-Channel/A-Channel.types.ts +2 -1
  119. package/src/global/A-Component/A-Component.class.ts +12 -52
  120. package/src/global/A-Component/A-Component.meta.ts +19 -2
  121. package/src/global/A-Concept/A_Concept.class.ts +109 -111
  122. package/src/global/A-Concept/A_Concept.meta.ts +68 -0
  123. package/src/global/A-Concept/A_Concept.types.ts +11 -4
  124. package/src/global/A-Container/A-Container.class.ts +11 -90
  125. package/src/global/A-Container/A-Container.meta.ts +33 -0
  126. package/src/global/A-Context/A-Context.class.ts +139 -56
  127. package/src/global/A-Entity/A-Entity.class.ts +22 -69
  128. package/src/global/A-Entity/A-Entity.meta.ts +3 -2
  129. package/src/global/A-Entity/A-Entity.types.ts +2 -1
  130. package/src/global/A-Feature/A-Feature.class.ts +18 -7
  131. package/src/global/A-Feature/A-Feature.types.ts +10 -2
  132. package/src/global/A-Meta/A-Meta.class.ts +5 -8
  133. package/src/global/A-Scope/A-Scope.class.ts +40 -21
  134. package/src/global/A-Scope/A-Scope.types.ts +8 -2
  135. package/src/global/A-Stage/A-Stage.class.ts +20 -20
  136. package/src/global/A-Stage/A-Stage.types.ts +2 -3
  137. package/src/helpers/StepsManager.class.ts +11 -7
  138. package/trace-require.js +46 -0
  139. package/tsconfig.build.json +57 -0
  140. package/dist/examples/fe-be/channels/Test.channel.d.ts +0 -6
  141. package/dist/examples/fe-be/channels/Test.channel.js +0 -14
  142. package/dist/examples/fe-be/channels/Test.channel.js.map +0 -1
  143. package/dist/examples/fe-be/components/BE-Controller.component.d.ts +0 -4
  144. package/dist/examples/fe-be/components/BE-Controller.component.js +0 -24
  145. package/dist/examples/fe-be/components/BE-Controller.component.js.map +0 -1
  146. package/dist/examples/fe-be/components/FE.component.d.ts +0 -4
  147. package/dist/examples/fe-be/components/FE.component.js +0 -31
  148. package/dist/examples/fe-be/components/FE.component.js.map +0 -1
  149. package/dist/examples/fe-be/components/UserActions.component.d.ts +0 -5
  150. package/dist/examples/fe-be/components/UserActions.component.js +0 -25
  151. package/dist/examples/fe-be/components/UserActions.component.js.map +0 -1
  152. package/dist/examples/fe-be/concept.d.ts +0 -0
  153. package/dist/examples/fe-be/concept.js +0 -2
  154. package/dist/examples/fe-be/concept.js.map +0 -1
  155. package/dist/examples/fe-be/containers/ServerApp.container.d.ts +0 -3
  156. package/dist/examples/fe-be/containers/ServerApp.container.js +0 -8
  157. package/dist/examples/fe-be/containers/ServerApp.container.js.map +0 -1
  158. package/dist/examples/fe-be/containers/WebApp.container.d.ts +0 -3
  159. package/dist/examples/fe-be/containers/WebApp.container.js +0 -8
  160. package/dist/examples/fe-be/containers/WebApp.container.js.map +0 -1
  161. package/dist/examples/multi-container/channels/Direct.channel.d.ts +0 -9
  162. package/dist/examples/multi-container/channels/Direct.channel.js +0 -32
  163. package/dist/examples/multi-container/channels/Direct.channel.js.map +0 -1
  164. package/dist/examples/multi-container/concept.d.ts +0 -0
  165. package/dist/examples/multi-container/concept.js +0 -2
  166. package/dist/examples/multi-container/concept.js.map +0 -1
  167. package/dist/examples/multi-container/containers/Command.container.d.ts +0 -11
  168. package/dist/examples/multi-container/containers/Command.container.js +0 -51
  169. package/dist/examples/multi-container/containers/Command.container.js.map +0 -1
  170. package/dist/examples/multi-container/containers/Schedule.container.d.ts +0 -15
  171. package/dist/examples/multi-container/containers/Schedule.container.js +0 -67
  172. package/dist/examples/multi-container/containers/Schedule.container.js.map +0 -1
  173. package/dist/examples/sdk/concept.d.ts +0 -0
  174. package/dist/examples/sdk/concept.js +0 -21
  175. package/dist/examples/sdk/concept.js.map +0 -1
  176. package/dist/examples/sdk/orders.api.d.ts +0 -0
  177. package/dist/examples/sdk/orders.api.js +0 -16
  178. package/dist/examples/sdk/orders.api.js.map +0 -1
  179. package/dist/examples/sdk/users.api.d.ts +0 -0
  180. package/dist/examples/sdk/users.api.js +0 -16
  181. package/dist/examples/sdk/users.api.js.map +0 -1
  182. package/dist/examples/simple/components/A.component.d.ts +0 -9
  183. package/dist/examples/simple/components/A.component.js +0 -60
  184. package/dist/examples/simple/components/A.component.js.map +0 -1
  185. package/dist/examples/simple/components/B.component.d.ts +0 -13
  186. package/dist/examples/simple/components/B.component.js +0 -88
  187. package/dist/examples/simple/components/B.component.js.map +0 -1
  188. package/dist/examples/simple/concept.d.ts +0 -1
  189. package/dist/examples/simple/concept.js +0 -82
  190. package/dist/examples/simple/concept.js.map +0 -1
  191. package/dist/examples/simple/containers/Main.container.d.ts +0 -11
  192. package/dist/examples/simple/containers/Main.container.js +0 -86
  193. package/dist/examples/simple/containers/Main.container.js.map +0 -1
  194. package/dist/examples/simple/context/Fragment_A.context.d.ts +0 -6
  195. package/dist/examples/simple/context/Fragment_A.context.js +0 -16
  196. package/dist/examples/simple/context/Fragment_A.context.js.map +0 -1
  197. package/dist/examples/simple/context/Fragment_B.context.d.ts +0 -6
  198. package/dist/examples/simple/context/Fragment_B.context.js +0 -16
  199. package/dist/examples/simple/context/Fragment_B.context.js.map +0 -1
  200. package/dist/examples/simple/entities/EntityA.entity.d.ts +0 -8
  201. package/dist/examples/simple/entities/EntityA.entity.js +0 -22
  202. package/dist/examples/simple/entities/EntityA.entity.js.map +0 -1
  203. package/dist/examples/simple-http-server/components/http-error-handler.component.d.ts +0 -10
  204. package/dist/examples/simple-http-server/components/http-error-handler.component.js +0 -65
  205. package/dist/examples/simple-http-server/components/http-error-handler.component.js.map +0 -1
  206. package/dist/examples/simple-http-server/components/http-request-handler.component.d.ts +0 -3
  207. package/dist/examples/simple-http-server/components/http-request-handler.component.js +0 -8
  208. package/dist/examples/simple-http-server/components/http-request-handler.component.js.map +0 -1
  209. package/dist/examples/simple-http-server/concept.d.ts +0 -1
  210. package/dist/examples/simple-http-server/concept.js +0 -35
  211. package/dist/examples/simple-http-server/concept.js.map +0 -1
  212. package/dist/examples/simple-http-server/containers/http-server.container.d.ts +0 -11
  213. package/dist/examples/simple-http-server/containers/http-server.container.js +0 -73
  214. package/dist/examples/simple-http-server/containers/http-server.container.js.map +0 -1
  215. package/dist/examples/simple-http-server/containers/http-server.controller.d.ts +0 -7
  216. package/dist/examples/simple-http-server/containers/http-server.controller.js +0 -37
  217. package/dist/examples/simple-http-server/containers/http-server.controller.js.map +0 -1
  218. package/dist/examples/simple-http-server/containers/http-server.router.d.ts +0 -6
  219. package/dist/examples/simple-http-server/containers/http-server.router.js +0 -39
  220. package/dist/examples/simple-http-server/containers/http-server.router.js.map +0 -1
  221. package/dist/examples/simple-http-server/contexts/http-request.context.d.ts +0 -12
  222. package/dist/examples/simple-http-server/contexts/http-request.context.js +0 -49
  223. package/dist/examples/simple-http-server/contexts/http-request.context.js.map +0 -1
  224. package/dist/examples/simple-http-server/contexts/http-server.context.types.d.ts +0 -0
  225. package/dist/examples/simple-http-server/contexts/http-server.context.types.js +0 -2
  226. package/dist/examples/simple-http-server/contexts/http-server.context.types.js.map +0 -1
  227. package/dist/examples/simple-http-server/contexts/http-server.namespace.d.ts +0 -10
  228. package/dist/examples/simple-http-server/contexts/http-server.namespace.js +0 -26
  229. package/dist/examples/simple-http-server/contexts/http-server.namespace.js.map +0 -1
  230. package/dist/examples/simple-http-server/controllers/orders.controller.d.ts +0 -5
  231. package/dist/examples/simple-http-server/controllers/orders.controller.js +0 -32
  232. package/dist/examples/simple-http-server/controllers/orders.controller.js.map +0 -1
  233. package/dist/examples/simple-http-server/controllers/users.controller.d.ts +0 -0
  234. package/dist/examples/simple-http-server/controllers/users.controller.js +0 -87
  235. package/dist/examples/simple-http-server/controllers/users.controller.js.map +0 -1
  236. package/dist/examples/simple-http-server/modules/simple-http-server.context.d.ts +0 -5
  237. package/dist/examples/simple-http-server/modules/simple-http-server.context.js +0 -25
  238. package/dist/examples/simple-http-server/modules/simple-http-server.context.js.map +0 -1
  239. package/dist/examples/simple-http-server/modules/simple-http-server.module.d.ts +0 -16
  240. package/dist/examples/simple-http-server/modules/simple-http-server.module.js +0 -8
  241. package/dist/examples/simple-http-server/modules/simple-http-server.module.js.map +0 -1
  242. package/dist/examples/simple-http-server/modules/simple-http-server.types.d.ts +0 -2
  243. package/dist/examples/simple-http-server/modules/simple-http-server.types.js +0 -3
  244. package/dist/examples/simple-http-server/modules/simple-http-server.types.js.map +0 -1
  245. package/dist/examples/simple-http-server/test.d.ts +0 -68
  246. package/dist/examples/simple-http-server/test.js +0 -162
  247. package/dist/examples/simple-http-server/test.js.map +0 -1
  248. package/dist/src/containers/A-Config/A-Config.container.d.ts +0 -7
  249. package/dist/src/containers/A-Config/A-Config.container.js +0 -65
  250. package/dist/src/containers/A-Config/A-Config.container.js.map +0 -1
  251. package/dist/src/containers/A-Config/A-Config.namespace.d.ts +0 -28
  252. package/dist/src/containers/A-Config/A-Config.namespace.js +0 -54
  253. package/dist/src/containers/A-Config/A-Config.namespace.js.map +0 -1
  254. package/dist/src/containers/A-Config/A-Config.types.d.ts +0 -12
  255. package/dist/src/containers/A-Config/A-Config.types.js +0 -3
  256. package/dist/src/containers/A-Config/A-Config.types.js.map +0 -1
  257. package/dist/src/containers/A-Config/components/ConfigReader.component.d.ts +0 -18
  258. package/dist/src/containers/A-Config/components/ConfigReader.component.js +0 -37
  259. package/dist/src/containers/A-Config/components/ConfigReader.component.js.map +0 -1
  260. package/dist/src/containers/A-Config/components/ENVConfigReader.component.d.ts +0 -10
  261. package/dist/src/containers/A-Config/components/ENVConfigReader.component.js +0 -37
  262. package/dist/src/containers/A-Config/components/ENVConfigReader.component.js.map +0 -1
  263. package/dist/src/containers/A-Config/components/FileConfigReader.component.d.ts +0 -11
  264. package/dist/src/containers/A-Config/components/FileConfigReader.component.js +0 -47
  265. package/dist/src/containers/A-Config/components/FileConfigReader.component.js.map +0 -1
  266. package/dist/src/containers/A-Errors/A-Errors.container.d.ts +0 -5
  267. package/dist/src/containers/A-Errors/A-Errors.container.js +0 -32
  268. package/dist/src/containers/A-Errors/A-Errors.container.js.map +0 -1
  269. package/dist/src/containers/A-Errors/A-Errors.namespace.d.ts +0 -40
  270. package/dist/src/containers/A-Errors/A-Errors.namespace.js +0 -76
  271. package/dist/src/containers/A-Errors/A-Errors.namespace.js.map +0 -1
  272. package/dist/src/containers/A-Errors/A-Errors.types.d.ts +0 -5
  273. package/dist/src/containers/A-Errors/A-Errors.types.js +0 -3
  274. package/dist/src/containers/A-Errors/A-Errors.types.js.map +0 -1
  275. package/dist/src/containers/A-Logger/A-Logger.container.d.ts +0 -6
  276. package/dist/src/containers/A-Logger/A-Logger.container.js +0 -41
  277. package/dist/src/containers/A-Logger/A-Logger.container.js.map +0 -1
  278. package/dist/src/containers/A-Logger/A-Logger.namespace.d.ts +0 -17
  279. package/dist/src/containers/A-Logger/A-Logger.namespace.js +0 -22
  280. package/dist/src/containers/A-Logger/A-Logger.namespace.js.map +0 -1
  281. package/dist/src/containers/A-Logger/A-Logger.types.d.ts +0 -0
  282. package/dist/src/containers/A-Logger/A-Logger.types.js +0 -2
  283. package/dist/src/containers/A-Logger/A-Logger.types.js.map +0 -1
  284. package/dist/src/containers/A-Logger/components/Logger.component.d.ts +0 -29
  285. package/dist/src/containers/A-Logger/components/Logger.component.js +0 -128
  286. package/dist/src/containers/A-Logger/components/Logger.component.js.map +0 -1
  287. package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.js.map +0 -1
  288. package/dist/src/decorators/A-ConceptLifecycle/A-ConceptLifecycle.decorator.types.d.ts +0 -34
  289. package/dist/src/decorators/A-ConceptLifecycle/A-ConceptLifecycle.decorator.types.js +0 -3
  290. package/dist/src/decorators/A-ConceptLifecycle/A-ConceptLifecycle.decorator.types.js.map +0 -1
  291. package/dist/src/decorators/A-ConceptLifecycle/A-Load/A-Load.decorator.d.ts +0 -11
  292. package/dist/src/decorators/A-ConceptLifecycle/A-Load/A-Load.decorator.js +0 -36
  293. package/dist/src/decorators/A-ConceptLifecycle/A-Load/A-Load.decorator.js.map +0 -1
  294. package/dist/src/decorators/A-ConceptLifecycle/A-Load/A-Load.decorator.types.d.ts +0 -7
  295. package/dist/src/decorators/A-ConceptLifecycle/A-Load/A-Load.decorator.types.js +0 -3
  296. package/dist/src/decorators/A-ConceptLifecycle/A-Load/A-Load.decorator.types.js.map +0 -1
  297. package/dist/src/decorators/A-ConceptLifecycle/A-Run/A-Run.decorator.d.ts +0 -17
  298. package/dist/src/decorators/A-ConceptLifecycle/A-Run/A-Run.decorator.js +0 -42
  299. package/dist/src/decorators/A-ConceptLifecycle/A-Run/A-Run.decorator.js.map +0 -1
  300. package/dist/src/decorators/A-ConceptLifecycle/A-Run/A-Run.decorator.types.d.ts +0 -8
  301. package/dist/src/decorators/A-ConceptLifecycle/A-Run/A-Run.decorator.types.js +0 -3
  302. package/dist/src/decorators/A-ConceptLifecycle/A-Run/A-Run.decorator.types.js.map +0 -1
  303. package/dist/src/decorators/A-ConceptLifecycle/index.d.ts +0 -7
  304. package/dist/src/decorators/A-ConceptLifecycle/index.js +0 -11
  305. package/dist/src/decorators/A-ConceptLifecycle/index.js.map +0 -1
  306. package/dist/src/decorators/A-Define/Feature/Feature.decorator.d.ts +0 -16
  307. package/dist/src/decorators/A-Define/Feature/Feature.decorator.js +0 -36
  308. package/dist/src/decorators/A-Define/Feature/Feature.decorator.js.map +0 -1
  309. package/dist/src/decorators/A-Define/Feature/Feature.decorator.types.d.ts +0 -8
  310. package/dist/src/decorators/A-Define/Feature/Feature.decorator.types.js +0 -3
  311. package/dist/src/decorators/A-Define/Feature/Feature.decorator.types.js.map +0 -1
  312. package/dist/src/decorators/A-Define/Lifecycle/Lifecycle.decorator.d.ts +0 -14
  313. package/dist/src/decorators/A-Define/Lifecycle/Lifecycle.decorator.js +0 -24
  314. package/dist/src/decorators/A-Define/Lifecycle/Lifecycle.decorator.js.map +0 -1
  315. package/dist/src/decorators/A-Define/Lifecycle/Lifecycle.decorator.types.d.ts +0 -8
  316. package/dist/src/decorators/A-Define/Lifecycle/Lifecycle.decorator.types.js +0 -3
  317. package/dist/src/decorators/A-Define/Lifecycle/Lifecycle.decorator.types.js.map +0 -1
  318. package/dist/src/decorators/A-Define/index.d.ts +0 -7
  319. package/dist/src/decorators/A-Define/index.js +0 -10
  320. package/dist/src/decorators/A-Define/index.js.map +0 -1
  321. package/dist/src/decorators/A-Extend/A-Extend.decorator.d.ts +0 -18
  322. package/dist/src/decorators/A-Extend/A-Extend.decorator.js +0 -37
  323. package/dist/src/decorators/A-Extend/A-Extend.decorator.js.map +0 -1
  324. package/dist/src/decorators/A-Extend/A-Extend.decorator.types.d.ts +0 -21
  325. package/dist/src/decorators/A-Extend/A-Extend.decorator.types.js +0 -3
  326. package/dist/src/decorators/A-Extend/A-Extend.decorator.types.js.map +0 -1
  327. package/dist/src/decorators/A-Feature/A-Feature.decorator.d.ts +0 -0
  328. package/dist/src/decorators/A-Feature/A-Feature.decorator.js +0 -11
  329. package/dist/src/decorators/A-Feature/A-Feature.decorator.js.map +0 -1
  330. package/dist/src/decorators/A-Stage/A-Stage.decorator.d.ts +0 -13
  331. package/dist/src/decorators/A-Stage/A-Stage.decorator.js +0 -52
  332. package/dist/src/decorators/A-Stage/A-Stage.decorator.js.map +0 -1
  333. package/dist/src/decorators/A-Stage/A-Stage.decorator.types.d.ts +0 -2
  334. package/dist/src/decorators/A-Stage/A-Stage.decorator.types.js +0 -3
  335. package/dist/src/decorators/A-Stage/A-Stage.decorator.types.js.map +0 -1
  336. package/dist/src/decorators/A_ConceptMethods.decorator.d.ts +0 -0
  337. package/dist/src/decorators/A_ConceptMethods.decorator.js +0 -2
  338. package/dist/src/decorators/A_ConceptMethods.decorator.js.map +0 -1
  339. package/dist/src/decorators/A_Lazy.decorator.d.ts +0 -5
  340. package/dist/src/decorators/A_Lazy.decorator.js +0 -20
  341. package/dist/src/decorators/A_Lazy.decorator.js.map +0 -1
  342. package/dist/src/global/A-Context/A-ContextFragment.class.d.ts +0 -12
  343. package/dist/src/global/A-Context/A-ContextFragment.class.js +0 -19
  344. package/dist/src/global/A-Context/A-ContextFragment.class.js.map +0 -1
  345. package/dist/src/global/A-Namespace/A_Namespace.class.d.ts +0 -47
  346. package/dist/src/global/A-Namespace/A_Namespace.class.js +0 -112
  347. package/dist/src/global/A-Namespace/A_Namespace.class.js.map +0 -1
  348. package/dist/src/global/A-Namespace/A_Namespace.types.d.ts +0 -19
  349. package/dist/src/global/A-Namespace/A_Namespace.types.js +0 -3
  350. package/dist/src/global/A-Namespace/A_Namespace.types.js.map +0 -1
  351. package/dist/src/managers/A_DependencyManager.class.d.ts +0 -24
  352. package/dist/src/managers/A_DependencyManager.class.js +0 -129
  353. package/dist/src/managers/A_DependencyManager.class.js.map +0 -1
  354. package/dist/src/storage/A_Component.storage.d.ts +0 -10
  355. package/dist/src/storage/A_Component.storage.js +0 -17
  356. package/dist/src/storage/A_Component.storage.js.map +0 -1
  357. package/dist/src/storage/A_Concept.storage.d.ts +0 -19
  358. package/dist/src/storage/A_Concept.storage.js +0 -29
  359. package/dist/src/storage/A_Concept.storage.js.map +0 -1
  360. package/dist/src/storage/A_Container.storage.d.ts +0 -8
  361. package/dist/src/storage/A_Container.storage.js +0 -17
  362. package/dist/src/storage/A_Container.storage.js.map +0 -1
  363. package/dist/src/storage/A_Inject.storage.d.ts +0 -9
  364. package/dist/src/storage/A_Inject.storage.js +0 -13
  365. package/dist/src/storage/A_Inject.storage.js.map +0 -1
  366. package/dist/src/types/A_DependencyManager.types.d.ts +0 -15
  367. package/dist/src/types/A_DependencyManager.types.js +0 -3
  368. package/dist/src/types/A_DependencyManager.types.js.map +0 -1
@@ -11,9 +11,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.A_Concept = void 0;
13
13
  const A_Concept_types_1 = require("./A_Concept.types");
14
- const A_Context_class_1 = require("../A-Context/A-Context.class");
15
- const A_Container_types_1 = require("../A-Container/A-Container.types");
16
- const A_Abstraction_decorator_1 = require("../../decorators/A-Abstraction/A-Abstraction.decorator");
14
+ const A_Container_class_1 = require("../A-Container/A-Container.class");
15
+ const A_Abstraction_class_1 = require("../A-Abstraction/A-Abstraction.class");
16
+ const A_Concept_meta_1 = require("./A_Concept.meta");
17
17
  // export type RunParams<T> = T extends A_Container<any, infer Params> ? Params : never;
18
18
  /**
19
19
  * A_Concept is a placeholder for the concept of the ani program.
@@ -35,7 +35,7 @@ class A_Concept {
35
35
  * Load the concept. This step runs before any other steps to ensure that all components are loaded.
36
36
  */
37
37
  static Load() {
38
- return (0, A_Abstraction_decorator_1.A_Abstraction)(A_Concept_types_1.A_TYPES__ConceptStage.Load);
38
+ return A_Abstraction_class_1.A_Abstraction.Extend(A_Concept_types_1.A_TYPES__ConceptStage.Load);
39
39
  }
40
40
  /**
41
41
  * Publish the concept to ADAAS platform. (Or any other place defined in the concept)
@@ -43,13 +43,13 @@ class A_Concept {
43
43
  * [!] To extend the logic just create a custom containers and override the default behavior.
44
44
  */
45
45
  static Publish() {
46
- return (0, A_Abstraction_decorator_1.A_Abstraction)(A_Concept_types_1.A_TYPES__ConceptStage.Publish);
46
+ return A_Abstraction_class_1.A_Abstraction.Extend(A_Concept_types_1.A_TYPES__ConceptStage.Publish);
47
47
  }
48
48
  /**
49
49
  * Deploy the concept to the environment.
50
50
  */
51
51
  static Deploy() {
52
- return (0, A_Abstraction_decorator_1.A_Abstraction)(A_Concept_types_1.A_TYPES__ConceptStage.Deploy);
52
+ return A_Abstraction_class_1.A_Abstraction.Extend(A_Concept_types_1.A_TYPES__ConceptStage.Deploy);
53
53
  }
54
54
  /**
55
55
  * Compiles the Concept in case there are some containers that require that.
@@ -58,123 +58,135 @@ class A_Concept {
58
58
  *
59
59
  */
60
60
  static Build() {
61
- return (0, A_Abstraction_decorator_1.A_Abstraction)(A_Concept_types_1.A_TYPES__ConceptStage.Build);
61
+ return A_Abstraction_class_1.A_Abstraction.Extend(A_Concept_types_1.A_TYPES__ConceptStage.Build);
62
62
  }
63
63
  /**
64
64
  * Main execution of the concept.
65
65
  */
66
66
  static Run() {
67
- return (0, A_Abstraction_decorator_1.A_Abstraction)(A_Concept_types_1.A_TYPES__ConceptStage.Run);
67
+ return A_Abstraction_class_1.A_Abstraction.Extend(A_Concept_types_1.A_TYPES__ConceptStage.Run);
68
68
  }
69
69
  /**
70
70
  * Start the concept. Uses for servers or any other background services.
71
71
  */
72
72
  static Start() {
73
- return (0, A_Abstraction_decorator_1.A_Abstraction)(A_Concept_types_1.A_TYPES__ConceptStage.Start);
73
+ return A_Abstraction_class_1.A_Abstraction.Extend(A_Concept_types_1.A_TYPES__ConceptStage.Start);
74
74
  }
75
75
  /**
76
76
  * Stop the concept. Uses for servers or any other background services.
77
77
  */
78
78
  static Stop() {
79
- return (0, A_Abstraction_decorator_1.A_Abstraction)(A_Concept_types_1.A_TYPES__ConceptStage.Stop);
79
+ return A_Abstraction_class_1.A_Abstraction.Extend(A_Concept_types_1.A_TYPES__ConceptStage.Stop);
80
80
  }
81
81
  constructor(props) {
82
82
  this.props = props;
83
- // ==============================================================================
84
- // ========================== MAIN Class ======================================
85
- // ==============================================================================
86
- this.containers = [];
87
- A_Context_class_1.A_Context.allocate(this, {
83
+ this.sharedBase = new A_Container_class_1.A_Container({
88
84
  name: props.name,
89
85
  fragments: props.fragments || [],
86
+ entities: props.entities || [],
90
87
  // containers: props.containers
91
88
  components: [
92
89
  // A_Logger,
93
90
  ]
94
91
  });
95
- this.containers = props.containers || [];
92
+ this.containers = (props.containers || []).map(container => {
93
+ container.Scope.parent(this.Scope);
94
+ return container;
95
+ });
96
+ this.meta = new A_Concept_meta_1.A_ConceptMeta(this.containers, this.sharedBase);
96
97
  }
97
98
  get namespace() {
98
- return A_Context_class_1.A_Context.scope(this).name;
99
+ return this.sharedBase.name;
100
+ }
101
+ get Scope() {
102
+ return this.sharedBase.Scope;
99
103
  }
100
104
  // =======================================================================
101
105
  // ========================== LIFECYCLE ================================
102
106
  // =======================================================================
107
+ /**
108
+ * Load the concept.
109
+ */
110
+ load(params) {
111
+ return __awaiter(this, void 0, void 0, function* () {
112
+ const abstraction = this.meta.abstraction(A_Concept_types_1.A_TYPES__ConceptStage.Load, params);
113
+ yield abstraction.process();
114
+ });
115
+ }
103
116
  /**
104
117
  * Run the concept.
105
118
  */
106
119
  run(params) {
107
120
  return __awaiter(this, void 0, void 0, function* () {
121
+ yield this.load(params);
122
+ const abstraction = this.meta.abstraction(A_Concept_types_1.A_TYPES__ConceptStage.Run, params);
123
+ yield abstraction.process();
108
124
  });
109
125
  }
110
126
  /**
111
- * Build the concept.
127
+ * Start the concept.
128
+ *
129
+ * @param params
112
130
  */
113
- build(params) {
131
+ start(params) {
114
132
  return __awaiter(this, void 0, void 0, function* () {
133
+ yield this.load(params);
134
+ const abstraction = this.meta.abstraction(A_Concept_types_1.A_TYPES__ConceptStage.Start, params);
135
+ yield abstraction.process();
115
136
  });
116
137
  }
117
- // /**
118
- // * Deploy the concept.
119
- // */
120
- deploy(params) {
138
+ /**
139
+ * Stop the concept.
140
+ *
141
+ * @param params
142
+ */
143
+ stop(params) {
121
144
  return __awaiter(this, void 0, void 0, function* () {
145
+ const abstraction = this.meta.abstraction(A_Concept_types_1.A_TYPES__ConceptStage.Stop, params);
146
+ yield abstraction.process();
122
147
  });
123
148
  }
124
- // /**
125
- // * Publish the concept.
126
- // */
127
- publish(params) {
149
+ /**
150
+ * Build the concept.
151
+ */
152
+ build(params) {
128
153
  return __awaiter(this, void 0, void 0, function* () {
154
+ const abstraction = this.meta.abstraction(A_Concept_types_1.A_TYPES__ConceptStage.Build, params);
155
+ yield abstraction.process();
129
156
  });
130
157
  }
131
158
  /**
132
- * Call the specific method of the concept or included modules.
159
+ * Deploy the concept.
133
160
  */
134
- call(container, params) {
161
+ deploy(params) {
135
162
  return __awaiter(this, void 0, void 0, function* () {
136
- // for (const feature of this.features) {
137
- // if (methodName in feature) {
138
- // (feature as any)[methodName](...args);
139
- // }
140
- // }
163
+ const abstraction = this.meta.abstraction(A_Concept_types_1.A_TYPES__ConceptStage.Deploy, params);
164
+ yield abstraction.process();
141
165
  });
142
166
  }
143
- runStage(method, params) {
167
+ /**
168
+ * Publish the concept.
169
+ */
170
+ publish(params) {
144
171
  return __awaiter(this, void 0, void 0, function* () {
145
- const abstractions = [];
146
- this.containers.map(container => {
147
- const meta = A_Context_class_1.A_Context.meta(container);
148
- const containerAbstractions = meta
149
- .abstractions(method)
150
- .map(step => (Object.assign({ component: container }, step)));
151
- const containerScope = A_Context_class_1.A_Context.scope(container);
152
- const componentsAbstractions = containerScope.components
153
- .map(component => A_Context_class_1.A_Context.meta(component).abstractions(method).map(step => (Object.assign({ component }, step))))
154
- .flat();
155
- abstractions.push({
156
- container,
157
- runners: [
158
- ...containerAbstractions.map(step => (Object.assign(Object.assign({}, step), { component: container }))),
159
- ...componentsAbstractions
160
- ]
161
- });
162
- });
163
- const scope = A_Context_class_1.A_Context.allocate(this, {
164
- components: params.components,
165
- fragments: params.fragments,
166
- parent: A_Context_class_1.A_Context.scope(this)
167
- });
172
+ const abstraction = this.meta.abstraction(A_Concept_types_1.A_TYPES__ConceptStage.Publish, params);
173
+ yield abstraction.process();
168
174
  });
169
175
  }
170
- execute(params) {
176
+ // =======================================================================
177
+ // ========================== CALL =====================================
178
+ // =======================================================================
179
+ /**
180
+ * Call the specific method of the concept or included modules.
181
+ */
182
+ call(container, params) {
171
183
  return __awaiter(this, void 0, void 0, function* () {
172
- const fragments = params.fragments || [];
173
- const component = params.components || [];
174
- this.containers.map(container => {
175
- const meta = A_Context_class_1.A_Context.meta(container);
176
- meta.get(A_Container_types_1.A_TYPES__ContainerMetaKey.FEATURES);
177
- });
184
+ // const definition = this.meta.abstractionDefinition(A_TYPES__ConceptStage.Run, {
185
+ // components: params?.components,
186
+ // fragments: params?.fragments,
187
+ // });
188
+ // const feature = new A_Feature(definition);
189
+ // await feature.process();
178
190
  });
179
191
  }
180
192
  }
@@ -1 +1 @@
1
- {"version":3,"file":"A_Concept.class.js","sourceRoot":"","sources":["../../../../src/global/A-Concept/A_Concept.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"A_Concept.class.js","sourceRoot":"","sources":["../../../../src/global/A-Concept/A_Concept.class.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,13 @@
1
+ import { A_Container } from "../A-Container/A-Container.class";
1
2
  import { A_Meta } from "../A-Meta/A-Meta.class";
3
+ import { A_TYPES__Required } from "@adaas/a-utils";
4
+ import { A_TYPES__ConceptAbstractionCallParams, A_TYPES__ConceptStage } from "./A_Concept.types";
5
+ import { A_TYPES__A_AbstractionConstructor } from "../A-Abstraction/A-Abstraction.types";
6
+ import { A_Abstraction } from "../A-Abstraction/A-Abstraction.class";
2
7
  export declare class A_ConceptMeta extends A_Meta<any> {
8
+ private containers;
9
+ private base;
10
+ constructor(containers: Array<A_Container>, base: A_Container);
11
+ abstractionDefinition(method: A_TYPES__ConceptStage, params?: Partial<A_TYPES__ConceptAbstractionCallParams>): A_TYPES__Required<Partial<A_TYPES__A_AbstractionConstructor>, ['features']>;
12
+ abstraction(method: A_TYPES__ConceptStage, params?: Partial<A_TYPES__ConceptAbstractionCallParams>): A_Abstraction;
3
13
  }
@@ -2,8 +2,28 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.A_ConceptMeta = void 0;
4
4
  const A_Meta_class_1 = require("../A-Meta/A-Meta.class");
5
+ const A_Context_class_1 = require("../A-Context/A-Context.class");
6
+ const A_Abstraction_class_1 = require("../A-Abstraction/A-Abstraction.class");
5
7
  // import { A_TYPES__ComponentMeta } from "./A-Component.types";
6
8
  class A_ConceptMeta extends A_Meta_class_1.A_Meta {
9
+ constructor(containers, base) {
10
+ super();
11
+ this.containers = containers;
12
+ this.base = base;
13
+ }
14
+ abstractionDefinition(method, params) {
15
+ const featureDefinitions = this.containers.map(container => A_Context_class_1.A_Context.abstractionDefinition(container.Scope, container, method, params));
16
+ const definition = Object.assign(Object.assign({}, params), { name: `${this.base.name}.${method}`, features: featureDefinitions, parent: this.base.Scope, components: (params === null || params === void 0 ? void 0 : params.components) || [], fragments: (params === null || params === void 0 ? void 0 : params.fragments) || [] });
17
+ return definition;
18
+ }
19
+ abstraction(method, params) {
20
+ const featureDefinitions = this.containers.map(container => {
21
+ const definition = A_Context_class_1.A_Context.abstractionDefinition(container.Scope, container, method, params);
22
+ return Object.assign(Object.assign({}, definition), { steps: definition.steps.map(step => (Object.assign(Object.assign({}, step), { component: step.component ? step.component : container }))) });
23
+ });
24
+ const definition = Object.assign(Object.assign({}, params), { name: `${this.base.name}.${method}`, features: featureDefinitions, parent: this.base.Scope, components: (params === null || params === void 0 ? void 0 : params.components) || [], fragments: (params === null || params === void 0 ? void 0 : params.fragments) || [] });
25
+ return new A_Abstraction_class_1.A_Abstraction(definition);
26
+ }
7
27
  }
8
28
  exports.A_ConceptMeta = A_ConceptMeta;
9
29
  //# sourceMappingURL=A_Concept.meta.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"A_Concept.meta.js","sourceRoot":"","sources":["../../../../src/global/A-Concept/A_Concept.meta.ts"],"names":[],"mappings":";;;AAAA,yDAAgD;AAChD,gEAAgE;AAGhE,MAAa,aAAc,SAAQ,qBAAW;CAI7C;AAJD,sCAIC"}
1
+ {"version":3,"file":"A_Concept.meta.js","sourceRoot":"","sources":["../../../../src/global/A-Concept/A_Concept.meta.ts"],"names":[],"mappings":";;;AAEA,yDAAgD;AAKhD,uFAA8E;AAG9E,8EAAqE;AACrE,gEAAgE;AAGhE,MAAa,aAAc,SAAQ,qBAAW;IAG1C,YACY,UAA8B,EAC9B,IAAiB;QAEzB,KAAK,EAAE,CAAC;QAHA,eAAU,GAAV,UAAU,CAAoB;QAC9B,SAAI,GAAJ,IAAI,CAAa;IAG7B,CAAC;IAED,qBAAqB,CACjB,MAA6B,EAC7B,MAAuD;QAGvD,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CACvD,2BAAS,CAAC,qBAAqB,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAC9E,CAAC;QAGF,MAAM,UAAU,mCACT,MAAM,KACT,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE,EACnC,QAAQ,EAAE,kBAAkB,EAC5B,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EACvB,UAAU,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,KAAI,EAAE,EACpC,SAAS,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,KAAI,EAAE,GACrC,CAAC;QAEF,OAAO,UAAU,CAAC;IACtB,CAAC;IAID,WAAW,CACP,MAA6B,EAC7B,MAAuD;QAIvD,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACvD,MAAM,UAAU,GAAG,2BAAS,CAAC,qBAAqB,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAE/F,uCACO,UAAU,KACb,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,iCAAM,IAAI,KAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,IAAG,CAAC,IAC7G;QACL,CAAC,CAAC,CAAC;QAGH,MAAM,UAAU,mCACT,MAAM,KACT,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE,EACnC,QAAQ,EAAE,kBAAkB,EAC5B,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EACvB,UAAU,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,KAAI,EAAE,EACpC,SAAS,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,KAAI,EAAE,GACrC,CAAC;QAEF,OAAO,IAAI,mCAAa,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;CAEJ;AA9DD,sCA8DC"}
@@ -16,7 +16,7 @@ export declare enum A_TYPES__ConceptStage {
16
16
  export declare enum A_TYPES__ConceptMetaKey {
17
17
  LIFECYCLE = "a-component-extensions"
18
18
  }
19
- export interface A_TYPES__IConceptConstructor<T extends Array<A_Container<any>>> {
19
+ export interface A_TYPES__IConceptConstructor<T extends Array<A_Container>> {
20
20
  name: string;
21
21
  /**
22
22
  * A set of Context Fragments to register globally for the concept.
@@ -29,6 +29,11 @@ export interface A_TYPES__IConceptConstructor<T extends Array<A_Container<any>>>
29
29
  * These containers will create a new Container for the concept.
30
30
  */
31
31
  containers?: T;
32
+ /**
33
+ * A set of Entities that the concept can use.
34
+ * These components will be used in the concept.
35
+ */
36
+ entities?: Array<A_Entity>;
32
37
  }
33
38
  /**
34
39
  * Uses as a transfer object to pass configurations to Feature constructor
@@ -60,14 +65,12 @@ export type A_TYPES__ConceptAbstraction = {
60
65
  */
61
66
  handler: string;
62
67
  } & A_TYPES__A_ExtendDecorator_BehaviorConfig;
63
- export type A_TYPES__ConceptStageParams = {
68
+ export type A_TYPES__ConceptAbstractionCallParams = {
64
69
  fragments: Array<A_Fragment>;
65
70
  components: Array<{
66
71
  new (...args: any[]): A_Component;
67
72
  }>;
68
- entities: Array<{
69
- new (...args: any[]): A_Entity;
70
- }>;
73
+ entities: Array<A_Entity>;
71
74
  };
72
75
  export type A_TYPES__ConceptCallParams<T extends string> = {
73
76
  name: T;
@@ -76,6 +79,6 @@ export type A_TYPES__ConceptCallParams<T extends string> = {
76
79
  new (...args: any[]): A_Component;
77
80
  }>;
78
81
  entities: Array<{
79
- new (...args: any[]): A_Entity<any, any, any>;
82
+ new (...args: any[]): A_Entity;
80
83
  }>;
81
84
  };
@@ -1,7 +1,7 @@
1
- import { A_TYPES__ContainerCallParams, A_TYPES__ContainerConstructor } from "./A-Container.types";
1
+ import { A_TYPES__ContainerConstructor } from "./A-Container.types";
2
2
  import { A_TYPES__Required } from "@adaas/a-utils";
3
3
  import { A_Scope } from "../A-Scope/A-Scope.class";
4
- import { A_TYPES__FeatureConstructor } from "../A-Feature/A-Feature.types";
4
+ import { A_TYPES__FeatureCallParams, A_TYPES__FeatureConstructor } from "../A-Feature/A-Feature.types";
5
5
  /**
6
6
  * This class should combine Components to achieve the goal withing Concept
7
7
  *
@@ -13,69 +13,26 @@ import { A_TYPES__FeatureConstructor } from "../A-Feature/A-Feature.types";
13
13
  * - Microservice
14
14
  * - etc.
15
15
  */
16
- export declare class A_Container<_FeatureNames extends Array<string> = any> {
17
- protected readonly config: Partial<A_TYPES__ContainerConstructor<_FeatureNames>>;
16
+ export declare class A_Container {
17
+ protected readonly config: Partial<A_TYPES__ContainerConstructor<any>>;
18
18
  /**
19
19
  * Promise that will be resolved when the container is ready to be used.
20
20
  */
21
21
  ready: Promise<void>;
22
- get exports(): _FeatureNames;
23
22
  get name(): string;
24
23
  get Scope(): A_Scope;
25
24
  constructor(
26
25
  /**
27
26
  * Configuration of the container that will be used to run it.
28
27
  */
29
- config: Partial<A_TYPES__ContainerConstructor<_FeatureNames>>);
30
- /**
31
- * This method allows to call the lifecycle method of the container as well as any other Feature defined for it
32
- *
33
- * @param lifecycleMethod
34
- * @param args
35
- */
36
- call(
37
- /**
38
- * A-Feature method name to be called
39
- */
40
- feature: _FeatureNames[number]): Promise<any>;
41
- call(
42
- /**
43
- * A-Feature name to be called
44
- */
45
- params: A_TYPES__Required<Partial<A_TYPES__ContainerCallParams<_FeatureNames[number]>>, ['name']>): Promise<any>;
46
- call(
47
- /**
48
- * A-Feature method name to be called
49
- */
50
- feature: _FeatureNames[number],
51
- /**
52
- * Parameters to provide additional data to the feature
53
- */
54
- params: Partial<A_TYPES__ContainerCallParams<_FeatureNames[number]>>): Promise<any>;
28
+ config: Partial<A_TYPES__ContainerConstructor<any>>);
29
+ call(feature: string, params?: Partial<A_TYPES__FeatureCallParams>): Promise<any>;
55
30
  /**
56
31
  * This method allows to get a feature Definition for the future reuse with custom Feature classes
57
32
  *
58
33
  * @param feature
59
34
  */
60
- feature(
61
- /**
62
- * A-Feature method name to be called
63
- */
64
- feature: _FeatureNames[number]): A_TYPES__Required<Partial<A_TYPES__FeatureConstructor>, ['steps', 'fragments', 'name', 'components']>;
65
- feature(
66
- /**
67
- * A-Feature name to be called
68
- */
69
- params: A_TYPES__Required<Partial<A_TYPES__ContainerCallParams<_FeatureNames[number]>>, ['name']>): A_TYPES__Required<Partial<A_TYPES__FeatureConstructor>, ['steps', 'fragments', 'name', 'components']>;
70
- feature(
71
- /**
72
- * A-Feature method name to be called
73
- */
74
- feature: _FeatureNames[number],
75
- /**
76
- * Parameters to provide additional data to the feature
77
- */
78
- params: Partial<A_TYPES__ContainerCallParams<_FeatureNames[number]>>): A_TYPES__Required<Partial<A_TYPES__FeatureConstructor>, ['steps', 'fragments', 'name', 'components']>;
35
+ feature(feature: string, params?: Partial<A_TYPES__FeatureCallParams>): A_TYPES__Required<Partial<A_TYPES__FeatureConstructor>, ['steps', 'fragments', 'name', 'components']>;
79
36
  /**
80
37
  * Before init hook to be used in inherited classes
81
38
  *
@@ -23,9 +23,6 @@ const A_Context_class_1 = require("../A-Context/A-Context.class");
23
23
  * - etc.
24
24
  */
25
25
  class A_Container {
26
- get exports() {
27
- return this.config.exports || [];
28
- }
29
26
  get name() {
30
27
  return this.config.name || this.constructor.name;
31
28
  }
@@ -42,25 +39,18 @@ class A_Container {
42
39
  const fragments = config.fragments || [];
43
40
  A_Context_class_1.A_Context.allocate(this, config);
44
41
  }
45
- call(param1, param2) {
46
- return __awaiter(this, void 0, void 0, function* () {
47
- const feature = typeof param1 === 'string'
48
- ? param1
49
- : param1.name;
50
- const params = typeof param1 === 'string'
51
- ? param2 || {}
52
- : param1;
53
- const newFeature = A_Context_class_1.A_Context.feature(A_Context_class_1.A_Context.scope(this), this, feature, params);
42
+ call(feature_1) {
43
+ return __awaiter(this, arguments, void 0, function* (feature, params = {}) {
44
+ const newFeature = A_Context_class_1.A_Context.feature(this.Scope, this, feature, params);
54
45
  return yield newFeature.process();
55
46
  });
56
47
  }
57
- feature(param1, param2) {
58
- const feature = typeof param1 === 'string'
59
- ? param1
60
- : param1.name;
61
- const params = typeof param1 === 'string'
62
- ? param2 || {}
63
- : param1;
48
+ /**
49
+ * This method allows to get a feature Definition for the future reuse with custom Feature classes
50
+ *
51
+ * @param feature
52
+ */
53
+ feature(feature, params = {}) {
64
54
  return A_Context_class_1.A_Context.featureDefinition(this.Scope, this, feature, params);
65
55
  }
66
56
  // ==============================================================
@@ -1 +1 @@
1
- {"version":3,"file":"A-Container.class.js","sourceRoot":"","sources":["../../../../src/global/A-Container/A-Container.class.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,kEAAyD;AAMzD;;;;;;;;;;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;IAGrC,CAAC;IAkCK,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,2BAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAEnF,OAAO,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;QACtC,CAAC;KAAA;IAkCD,OAAO,CACH,MAAyH,EACzH,MAAqE;QAGrE,MAAM,OAAO,GAAW,OAAO,MAAM,KAAK,QAAQ;YAC9C,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QAClB,MAAM,MAAM,GAAiE,OAAO,MAAM,KAAK,QAAQ;YACnG,CAAC,CAAC,MAAM,IAAI,EAAE;YACd,CAAC,CAAC,MAAM,CAAC;QAEb,OAAO,2BAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1E,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;AAxKD,kCAwKC"}
1
+ {"version":3,"file":"A-Container.class.js","sourceRoot":"","sources":["../../../../src/global/A-Container/A-Container.class.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,kEAAyD;AAMzD;;;;;;;;;;GAUG;AACH,MAAa,WAAW;IAUpB,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,MAAmD;QAEnD,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;IAGrC,CAAC;IAGK,IAAI;6DACN,OAAe,EACf,SAA8C,EAAE;YAEhD,MAAM,UAAU,GAAG,2BAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAExE,OAAO,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;QACtC,CAAC;KAAA;IAGD;;;;OAIG;IACH,OAAO,CACH,OAAe,EACf,SAA8C,EAAE;QAGhD,OAAO,2BAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1E,CAAC;IAGD,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;AAzFD,kCAyFC"}
@@ -1,7 +1,22 @@
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__ContainerMeta } from "./A-Container.types";
5
+ import { A_TYPES__A_DefineDecorator_Meta } from "../../decorators/A-Feature/A-Feature.decorator.types";
4
6
  export declare class A_ContainerMeta extends A_Meta<A_TYPES__ContainerMeta> {
7
+ /**
8
+ * Allows to get all the injections for a given handler
9
+ *
10
+ * @param handler
11
+ * @returns
12
+ */
13
+ injections(handler: string): A_TYPES__A_InjectDecorator_Meta;
14
+ /**
15
+ * Returns all features defined in the Container
16
+ *
17
+ * @returns
18
+ */
19
+ features(): Array<A_TYPES__A_DefineDecorator_Meta>;
5
20
  /**
6
21
  * Returns a set of instructions to run proper methods in Container during A-Concept Stage
7
22
  *
@@ -4,6 +4,26 @@ exports.A_ContainerMeta = void 0;
4
4
  const A_Meta_class_1 = require("../A-Meta/A-Meta.class");
5
5
  const A_Container_types_1 = require("./A-Container.types");
6
6
  class A_ContainerMeta 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_Container_types_1.A_TYPES__ContainerMetaKey.INJECTIONS);
15
+ const args = (injections === null || injections === void 0 ? void 0 : injections.get(handler)) || [];
16
+ return args;
17
+ }
18
+ /**
19
+ * Returns all features defined in the Container
20
+ *
21
+ * @returns
22
+ */
23
+ features() {
24
+ const features = this.get(A_Container_types_1.A_TYPES__ContainerMetaKey.FEATURES);
25
+ return (features === null || features === void 0 ? void 0 : features.toArray().map(([, feature]) => feature)) || [];
26
+ }
7
27
  /**
8
28
  * Returns a set of instructions to run proper methods in Container during A-Concept Stage
9
29
  *
@@ -1 +1 @@
1
- {"version":3,"file":"A-Container.meta.js","sourceRoot":"","sources":["../../../../src/global/A-Container/A-Container.meta.ts"],"names":[],"mappings":";;;AACA,yDAAgD;AAChD,2DAG6B;AAI7B,MAAa,eAAgB,SAAQ,qBAA8B;IAG/D;;;;;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,CAAC;oBACP,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,IAAI;oBACJ,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,KAAK,EAAE,SAAS,CAAC,KAAK;iBACzB,CAAC,CAAC;YAEP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAGP,OAAO,KAAK,CAAC;IACjB,CAAC;CAEJ;AA3CD,0CA2CC"}
1
+ {"version":3,"file":"A-Container.meta.js","sourceRoot":"","sources":["../../../../src/global/A-Container/A-Container.meta.ts"],"names":[],"mappings":";;;AAEA,yDAAgD;AAChD,2DAG6B;AAK7B,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;IAED;;;;OAIG;IACH,QAAQ;QAEJ,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,6CAAyB,CAAC,QAAQ,CAAC,CAAC;QAE9D,OAAO,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,GAEnB,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAI,EAAE,CAAC;IAC7C,CAAC;IAED;;;;;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,CAAC;oBACP,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,IAAI;oBACJ,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,KAAK,EAAE,SAAS,CAAC,KAAK;iBACzB,CAAC,CAAC;YAEP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAGP,OAAO,KAAK,CAAC;IACjB,CAAC;CAEJ;AA1ED,0CA0EC"}