@adaas/a-concept 0.0.63 → 0.1.1

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 (412) hide show
  1. package/dist/index.d.ts +24 -32
  2. package/dist/index.js +35 -52
  3. package/dist/index.js.map +1 -1
  4. package/dist/src/constants/env.constants.d.ts +15 -8
  5. package/dist/src/constants/env.constants.js +17 -10
  6. package/dist/src/constants/env.constants.js.map +1 -1
  7. package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.d.ts +23 -0
  8. package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.js +69 -0
  9. package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.js.map +1 -0
  10. package/dist/src/global/A-Abstraction/A-Abstraction.class.d.ts +47 -20
  11. package/dist/src/global/A-Abstraction/A-Abstraction.class.js +55 -48
  12. package/dist/src/global/A-Abstraction/A-Abstraction.class.js.map +1 -1
  13. package/dist/src/global/A-Abstraction/A-Abstraction.error.d.ts +7 -0
  14. package/dist/src/global/A-Abstraction/A-Abstraction.error.js +12 -0
  15. package/dist/src/global/A-Abstraction/A-Abstraction.error.js.map +1 -0
  16. package/dist/src/global/A-Abstraction/A-Abstraction.types.d.ts +27 -12
  17. package/dist/src/global/A-Abstraction/A-Abstraction.types.js +0 -8
  18. package/dist/src/global/A-Abstraction/A-Abstraction.types.js.map +1 -1
  19. package/dist/src/global/A-Caller/A_Caller.class.d.ts +33 -0
  20. package/dist/src/global/A-Caller/A_Caller.class.js +44 -0
  21. package/dist/src/global/A-Caller/A_Caller.class.js.map +1 -0
  22. package/dist/src/global/A-Caller/A_Caller.error.d.ts +7 -0
  23. package/dist/src/global/A-Caller/A_Caller.error.js +12 -0
  24. package/dist/src/global/A-Caller/A_Caller.error.js.map +1 -0
  25. package/dist/src/global/A-Caller/A_Caller.types.d.ts +18 -0
  26. package/dist/src/{base/A-Errors/A-Errors.types.js → global/A-Caller/A_Caller.types.js} +1 -1
  27. package/dist/src/global/A-Caller/A_Caller.types.js.map +1 -0
  28. package/dist/src/global/A-Component/A-Component.class.d.ts +20 -3
  29. package/dist/src/global/A-Component/A-Component.class.js +35 -19
  30. package/dist/src/global/A-Component/A-Component.class.js.map +1 -1
  31. package/dist/src/global/A-Component/A-Component.constants.d.ts +6 -0
  32. package/dist/src/global/A-Component/A-Component.constants.js +11 -0
  33. package/dist/src/global/A-Component/A-Component.constants.js.map +1 -0
  34. package/dist/src/global/A-Component/A-Component.meta.d.ts +4 -4
  35. package/dist/src/global/A-Component/A-Component.meta.js +6 -8
  36. package/dist/src/global/A-Component/A-Component.meta.js.map +1 -1
  37. package/dist/src/global/A-Component/A-Component.types.d.ts +40 -22
  38. package/dist/src/global/A-Component/A-Component.types.js +1 -8
  39. package/dist/src/global/A-Component/A-Component.types.js.map +1 -1
  40. package/dist/src/global/A-Concept/A-Concept.class.d.ts +153 -0
  41. package/dist/src/global/A-Concept/A-Concept.class.js +260 -0
  42. package/dist/src/global/A-Concept/A-Concept.class.js.map +1 -0
  43. package/dist/src/global/A-Concept/A-Concept.constants.d.ts +33 -0
  44. package/dist/src/global/A-Concept/A-Concept.constants.js +39 -0
  45. package/dist/src/global/A-Concept/A-Concept.constants.js.map +1 -0
  46. package/dist/src/global/A-Concept/{A_Concept.meta.js → A-Concept.meta.js} +1 -2
  47. package/dist/src/global/A-Concept/A-Concept.meta.js.map +1 -0
  48. package/dist/src/global/A-Concept/A-Concept.types.d.ts +83 -0
  49. package/dist/src/global/{A-Channel/A-Channel.types.js → A-Concept/A-Concept.types.js} +1 -1
  50. package/dist/src/global/A-Concept/A-Concept.types.js.map +1 -0
  51. package/dist/src/global/A-Container/A-Container.class.d.ts +31 -35
  52. package/dist/src/global/A-Container/A-Container.class.js +34 -55
  53. package/dist/src/global/A-Container/A-Container.class.js.map +1 -1
  54. package/dist/src/global/A-Container/A-Container.constants.d.ts +5 -0
  55. package/dist/src/global/A-Container/A-Container.constants.js +10 -0
  56. package/dist/src/global/A-Container/A-Container.constants.js.map +1 -0
  57. package/dist/src/global/A-Container/A-Container.meta.d.ts +6 -6
  58. package/dist/src/global/A-Container/A-Container.meta.js +5 -6
  59. package/dist/src/global/A-Container/A-Container.meta.js.map +1 -1
  60. package/dist/src/global/A-Container/A-Container.types.d.ts +31 -25
  61. package/dist/src/global/A-Container/A-Container.types.js +1 -7
  62. package/dist/src/global/A-Container/A-Container.types.js.map +1 -1
  63. package/dist/src/global/A-Context/A-Context.class.d.ts +302 -76
  64. package/dist/src/global/A-Context/A-Context.class.js +436 -244
  65. package/dist/src/global/A-Context/A-Context.class.js.map +1 -1
  66. package/dist/src/global/A-Context/A-Context.error.d.ts +20 -0
  67. package/dist/src/global/A-Context/A-Context.error.js +25 -0
  68. package/dist/src/global/A-Context/A-Context.error.js.map +1 -0
  69. package/dist/src/global/A-Context/A-Context.types.d.ts +5 -0
  70. package/dist/src/global/A-Context/A-Context.types.js +1 -0
  71. package/dist/src/global/A-Entity/A-Entity.class.d.ts +18 -18
  72. package/dist/src/global/A-Entity/A-Entity.class.js +36 -43
  73. package/dist/src/global/A-Entity/A-Entity.class.js.map +1 -1
  74. package/dist/src/global/A-Entity/A-Entity.constants.d.ts +11 -0
  75. package/dist/src/global/A-Entity/A-Entity.constants.js +17 -0
  76. package/dist/src/global/A-Entity/A-Entity.constants.js.map +1 -0
  77. package/dist/src/global/A-Entity/A-Entity.error.d.ts +7 -0
  78. package/dist/src/global/A-Entity/A-Entity.error.js +12 -0
  79. package/dist/src/global/A-Entity/A-Entity.error.js.map +1 -0
  80. package/dist/src/global/A-Entity/A-Entity.meta.d.ts +2 -2
  81. package/dist/src/global/A-Entity/A-Entity.meta.js +2 -2
  82. package/dist/src/global/A-Entity/A-Entity.meta.js.map +1 -1
  83. package/dist/src/global/A-Entity/A-Entity.types.d.ts +24 -29
  84. package/dist/src/global/A-Entity/A-Entity.types.js +1 -13
  85. package/dist/src/global/A-Entity/A-Entity.types.js.map +1 -1
  86. package/dist/src/global/A-Error/A_Error.class.d.ts +219 -0
  87. package/dist/src/global/A-Error/A_Error.class.js +267 -0
  88. package/dist/src/global/A-Error/A_Error.class.js.map +1 -0
  89. package/dist/src/global/A-Error/A_Error.constants.d.ts +5 -0
  90. package/dist/src/global/A-Error/A_Error.constants.js +9 -0
  91. package/dist/src/global/A-Error/A_Error.constants.js.map +1 -0
  92. package/dist/src/global/A-Error/A_Error.types.d.ts +89 -0
  93. package/dist/src/{decorators/A-Inject/A-Inject.decorator.types.js → global/A-Error/A_Error.types.js} +1 -1
  94. package/dist/src/global/A-Error/A_Error.types.js.map +1 -0
  95. package/dist/src/global/A-Feature/A-Feature-Define.decorator.d.ts +15 -0
  96. package/dist/src/{decorators → global}/A-Feature/A-Feature-Define.decorator.js +21 -27
  97. package/dist/src/global/A-Feature/A-Feature-Define.decorator.js.map +1 -0
  98. package/dist/src/{decorators → global}/A-Feature/A-Feature-Extend.decorator.d.ts +26 -3
  99. package/dist/src/global/A-Feature/A-Feature-Extend.decorator.js +97 -0
  100. package/dist/src/global/A-Feature/A-Feature-Extend.decorator.js.map +1 -0
  101. package/dist/src/global/A-Feature/A-Feature.class.d.ts +120 -30
  102. package/dist/src/global/A-Feature/A-Feature.class.js +205 -73
  103. package/dist/src/global/A-Feature/A-Feature.class.js.map +1 -1
  104. package/dist/src/global/A-Feature/A-Feature.error.d.ts +25 -0
  105. package/dist/src/global/A-Feature/A-Feature.error.js +33 -0
  106. package/dist/src/global/A-Feature/A-Feature.error.js.map +1 -0
  107. package/dist/src/global/A-Feature/A-Feature.types.d.ts +241 -18
  108. package/dist/src/global/A-Feature/A-Feature.types.js +16 -22
  109. package/dist/src/global/A-Feature/A-Feature.types.js.map +1 -1
  110. package/dist/src/global/A-Fragment/A-Fragment.class.d.ts +19 -27
  111. package/dist/src/global/A-Fragment/A-Fragment.class.js +21 -91
  112. package/dist/src/global/A-Fragment/A-Fragment.class.js.map +1 -1
  113. package/dist/src/global/A-Fragment/A-Fragment.types.d.ts +19 -1
  114. package/dist/src/global/A-Fragment/A-Fragment.types.js +3 -0
  115. package/dist/src/global/A-Fragment/A-Fragment.types.js.map +1 -1
  116. package/dist/src/global/A-Inject/A-Inject.decorator.d.ts +80 -0
  117. package/dist/src/global/A-Inject/A-Inject.decorator.js +49 -0
  118. package/dist/src/global/A-Inject/A-Inject.decorator.js.map +1 -0
  119. package/dist/src/global/A-Inject/A-Inject.error.d.ts +5 -0
  120. package/dist/src/global/A-Inject/A-Inject.error.js +10 -0
  121. package/dist/src/global/A-Inject/A-Inject.error.js.map +1 -0
  122. package/dist/src/global/A-Inject/A-Inject.types.d.ts +42 -0
  123. package/dist/src/{decorators/A-Entity/A-Entity.decorator.types.js → global/A-Inject/A-Inject.types.js} +1 -1
  124. package/dist/src/global/A-Inject/A-Inject.types.js.map +1 -0
  125. package/dist/src/global/A-Meta/A-Meta.class.d.ts +1 -1
  126. package/dist/src/global/A-Meta/A-Meta.types.d.ts +14 -0
  127. package/dist/src/global/A-Meta/A-Meta.types.js +1 -0
  128. package/dist/src/global/A-Scope/A-Scope.class.d.ts +406 -63
  129. package/dist/src/global/A-Scope/A-Scope.class.js +533 -287
  130. package/dist/src/global/A-Scope/A-Scope.class.js.map +1 -1
  131. package/dist/src/global/A-Scope/A-Scope.error.d.ts +6 -0
  132. package/dist/src/global/A-Scope/A-Scope.error.js +11 -0
  133. package/dist/src/global/A-Scope/A-Scope.error.js.map +1 -0
  134. package/dist/src/global/A-Scope/A-Scope.types.d.ts +50 -13
  135. package/dist/src/global/A-Stage/A-Stage.class.d.ts +31 -23
  136. package/dist/src/global/A-Stage/A-Stage.class.js +100 -68
  137. package/dist/src/global/A-Stage/A-Stage.class.js.map +1 -1
  138. package/dist/src/global/A-Stage/A-Stage.error.d.ts +2 -1
  139. package/dist/src/global/A-Stage/A-Stage.error.js +5 -2
  140. package/dist/src/global/A-Stage/A-Stage.error.js.map +1 -1
  141. package/dist/src/global/A-Stage/A-Stage.types.d.ts +4 -16
  142. package/dist/src/global/A-Stage/A-Stage.types.js +0 -16
  143. package/dist/src/global/A-Stage/A-Stage.types.js.map +1 -1
  144. package/dist/src/global/ASEID/ASEID.class.d.ts +130 -0
  145. package/dist/src/global/ASEID/ASEID.class.js +167 -0
  146. package/dist/src/global/ASEID/ASEID.class.js.map +1 -0
  147. package/dist/src/global/ASEID/ASEID.constants.js +2 -0
  148. package/dist/src/global/ASEID/ASEID.constants.js.map +1 -0
  149. package/dist/src/global/ASEID/ASEID.error.d.ts +5 -0
  150. package/dist/src/global/ASEID/ASEID.error.js +10 -0
  151. package/dist/src/global/ASEID/ASEID.error.js.map +1 -0
  152. package/dist/src/global/ASEID/ASEID.types.d.ts +65 -0
  153. package/dist/src/global/ASEID/ASEID.types.js +5 -0
  154. package/dist/src/global/ASEID/ASEID.types.js.map +1 -0
  155. package/dist/src/helpers/A_Common.helper.d.ts +28 -0
  156. package/dist/src/helpers/A_Common.helper.js +170 -0
  157. package/dist/src/helpers/A_Common.helper.js.map +1 -0
  158. package/dist/src/helpers/A_Formatter.helper.d.ts +35 -0
  159. package/dist/src/helpers/A_Formatter.helper.js +62 -0
  160. package/dist/src/helpers/A_Formatter.helper.js.map +1 -0
  161. package/dist/src/helpers/A_Identity.helper.d.ts +29 -0
  162. package/dist/src/helpers/A_Identity.helper.js +43 -0
  163. package/dist/src/helpers/A_Identity.helper.js.map +1 -0
  164. package/dist/src/helpers/{StepsManager.class.d.ts → A_StepsManager.class.d.ts} +4 -2
  165. package/dist/src/helpers/{StepsManager.class.js → A_StepsManager.class.js} +10 -5
  166. package/dist/src/helpers/A_StepsManager.class.js.map +1 -0
  167. package/dist/src/helpers/A_TypeGuards.helper.d.ts +205 -0
  168. package/dist/src/helpers/A_TypeGuards.helper.js +288 -0
  169. package/dist/src/helpers/A_TypeGuards.helper.js.map +1 -0
  170. package/dist/src/types/A_Common.types.d.ts +36 -0
  171. package/dist/src/types/A_Common.types.js +3 -0
  172. package/dist/src/types/A_Common.types.js.map +1 -0
  173. package/index.ts +27 -51
  174. package/jest.config.ts +1 -0
  175. package/package.json +1 -2
  176. package/src/constants/env.constants.ts +18 -11
  177. package/src/global/A-Abstraction/A-Abstraction-Extend.decorator.ts +103 -0
  178. package/src/global/A-Abstraction/A-Abstraction.class.ts +71 -65
  179. package/src/global/A-Abstraction/A-Abstraction.error.ts +9 -0
  180. package/src/global/A-Abstraction/A-Abstraction.types.ts +52 -13
  181. package/src/global/A-Caller/A_Caller.class.ts +61 -0
  182. package/src/global/A-Caller/A_Caller.error.ts +10 -0
  183. package/src/global/A-Caller/A_Caller.types.ts +25 -0
  184. package/src/global/A-Component/A-Component.class.ts +26 -15
  185. package/src/global/A-Component/A-Component.constants.ts +9 -0
  186. package/src/global/A-Component/A-Component.meta.ts +6 -16
  187. package/src/global/A-Component/A-Component.types.ts +53 -28
  188. package/src/global/A-Concept/A-Concept.class.ts +316 -0
  189. package/src/global/A-Concept/A-Concept.constants.ts +36 -0
  190. package/src/global/A-Concept/A-Concept.meta.ts +17 -0
  191. package/src/global/A-Concept/A-Concept.types.ts +100 -0
  192. package/src/global/A-Container/A-Container.class.ts +42 -83
  193. package/src/global/A-Container/A-Container.constants.ts +5 -0
  194. package/src/global/A-Container/A-Container.meta.ts +7 -11
  195. package/src/global/A-Container/A-Container.types.ts +38 -34
  196. package/src/global/A-Context/A-Context.class.ts +648 -412
  197. package/src/global/A-Context/A-Context.error.ts +44 -0
  198. package/src/global/A-Context/A-Context.types.ts +14 -0
  199. package/src/global/A-Entity/A-Entity.class.ts +39 -52
  200. package/src/global/A-Entity/A-Entity.constants.ts +12 -0
  201. package/src/global/A-Entity/A-Entity.error.ts +12 -0
  202. package/src/global/A-Entity/A-Entity.meta.ts +4 -4
  203. package/src/global/A-Entity/A-Entity.types.ts +31 -36
  204. package/src/global/A-Error/A_Error.class.ts +408 -0
  205. package/src/global/A-Error/A_Error.constants.ts +11 -0
  206. package/src/global/A-Error/A_Error.types.ts +96 -0
  207. package/src/{decorators → global}/A-Feature/A-Feature-Define.decorator.ts +31 -37
  208. package/src/global/A-Feature/A-Feature-Extend.decorator.ts +187 -0
  209. package/src/global/A-Feature/A-Feature.class.ts +279 -122
  210. package/src/global/A-Feature/A-Feature.error.ts +33 -0
  211. package/src/global/A-Feature/A-Feature.types.ts +278 -40
  212. package/src/global/A-Fragment/A-Fragment.class.ts +29 -100
  213. package/src/global/A-Fragment/A-Fragment.types.ts +25 -3
  214. package/src/global/A-Inject/A-Inject.decorator.ts +167 -0
  215. package/src/global/A-Inject/A-Inject.error.ts +8 -0
  216. package/src/global/A-Inject/A-Inject.types.ts +75 -0
  217. package/src/global/A-Meta/A-Meta.class.ts +1 -1
  218. package/src/global/A-Meta/A-Meta.types.ts +21 -0
  219. package/src/global/A-Scope/A-Scope.class.ts +841 -443
  220. package/src/global/A-Scope/A-Scope.error.ts +13 -0
  221. package/src/global/A-Scope/A-Scope.types.ts +65 -26
  222. package/src/global/A-Stage/A-Stage.class.ts +142 -80
  223. package/src/global/A-Stage/A-Stage.error.ts +4 -2
  224. package/src/global/A-Stage/A-Stage.types.ts +4 -25
  225. package/src/global/ASEID/ASEID.class.ts +275 -0
  226. package/src/global/ASEID/ASEID.error.ts +12 -0
  227. package/src/global/ASEID/ASEID.types.ts +79 -0
  228. package/src/helpers/A_Common.helper.ts +204 -0
  229. package/src/helpers/A_Formatter.helper.ts +58 -0
  230. package/src/helpers/A_Identity.helper.ts +53 -0
  231. package/src/helpers/{StepsManager.class.ts → A_StepsManager.class.ts} +19 -3
  232. package/src/helpers/A_TypeGuards.helper.ts +318 -0
  233. package/src/types/A_Common.types.ts +79 -0
  234. package/tests/A-Common.test.ts +117 -0
  235. package/tests/A-Component.test.ts +11 -6
  236. package/tests/A-Concept.test.ts +19 -22
  237. package/tests/A-Entity.test.ts +24 -24
  238. package/tests/A-Error.test.ts +129 -0
  239. package/tests/A-Feature.test.ts +34 -25
  240. package/tests/A-Scope.test.ts +50 -22
  241. package/tests/ASEID.test.ts +74 -0
  242. package/tsconfig.build.json +2 -1
  243. package/tsconfig.json +3 -2
  244. package/dist/src/base/A-Config/A-Config.container.d.ts +0 -9
  245. package/dist/src/base/A-Config/A-Config.container.js +0 -69
  246. package/dist/src/base/A-Config/A-Config.container.js.map +0 -1
  247. package/dist/src/base/A-Config/A-Config.context.d.ts +0 -30
  248. package/dist/src/base/A-Config/A-Config.context.js +0 -60
  249. package/dist/src/base/A-Config/A-Config.context.js.map +0 -1
  250. package/dist/src/base/A-Config/A-Config.types.d.ts +0 -20
  251. package/dist/src/base/A-Config/A-Config.types.js +0 -7
  252. package/dist/src/base/A-Config/A-Config.types.js.map +0 -1
  253. package/dist/src/base/A-Config/components/ConfigReader.component.d.ts +0 -29
  254. package/dist/src/base/A-Config/components/ConfigReader.component.js +0 -84
  255. package/dist/src/base/A-Config/components/ConfigReader.component.js.map +0 -1
  256. package/dist/src/base/A-Config/components/ENVConfigReader.component.d.ts +0 -10
  257. package/dist/src/base/A-Config/components/ENVConfigReader.component.js +0 -37
  258. package/dist/src/base/A-Config/components/ENVConfigReader.component.js.map +0 -1
  259. package/dist/src/base/A-Config/components/FileConfigReader.component.d.ts +0 -11
  260. package/dist/src/base/A-Config/components/FileConfigReader.component.js +0 -48
  261. package/dist/src/base/A-Config/components/FileConfigReader.component.js.map +0 -1
  262. package/dist/src/base/A-Errors/A-Error.entity.d.ts +0 -3
  263. package/dist/src/base/A-Errors/A-Error.entity.js +0 -8
  264. package/dist/src/base/A-Errors/A-Error.entity.js.map +0 -1
  265. package/dist/src/base/A-Errors/A-Errors.component.d.ts +0 -19
  266. package/dist/src/base/A-Errors/A-Errors.component.js +0 -87
  267. package/dist/src/base/A-Errors/A-Errors.component.js.map +0 -1
  268. package/dist/src/base/A-Errors/A-Errors.context.d.ts +0 -27
  269. package/dist/src/base/A-Errors/A-Errors.context.js +0 -50
  270. package/dist/src/base/A-Errors/A-Errors.context.js.map +0 -1
  271. package/dist/src/base/A-Errors/A-Errors.types.d.ts +0 -5
  272. package/dist/src/base/A-Errors/A-Errors.types.js.map +0 -1
  273. package/dist/src/base/A-Logger/A-Logger.component.d.ts +0 -31
  274. package/dist/src/base/A-Logger/A-Logger.component.js +0 -155
  275. package/dist/src/base/A-Logger/A-Logger.component.js.map +0 -1
  276. package/dist/src/base/A-Logger/A-Logger.types.js +0 -2
  277. package/dist/src/base/A-Logger/A-Logger.types.js.map +0 -1
  278. package/dist/src/base/A-Polyfill/A-Polyfill.component.d.ts +0 -5
  279. package/dist/src/base/A-Polyfill/A-Polyfill.component.js +0 -34
  280. package/dist/src/base/A-Polyfill/A-Polyfill.component.js.map +0 -1
  281. package/dist/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.d.ts +0 -14
  282. package/dist/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.js +0 -53
  283. package/dist/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.js.map +0 -1
  284. package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.d.ts +0 -2
  285. package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.js +0 -3
  286. package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.js.map +0 -1
  287. package/dist/src/decorators/A-Connect/A-Connect.decorator.d.ts +0 -19
  288. package/dist/src/decorators/A-Connect/A-Connect.decorator.js +0 -31
  289. package/dist/src/decorators/A-Connect/A-Connect.decorator.js.map +0 -1
  290. package/dist/src/decorators/A-Connect/A-Connect.decorator.types.d.ts +0 -1
  291. package/dist/src/decorators/A-Connect/A-Connect.decorator.types.js +0 -3
  292. package/dist/src/decorators/A-Connect/A-Connect.decorator.types.js.map +0 -1
  293. package/dist/src/decorators/A-Entity/A-Entity-List.decorator.d.ts +0 -1
  294. package/dist/src/decorators/A-Entity/A-Entity-List.decorator.js +0 -8
  295. package/dist/src/decorators/A-Entity/A-Entity-List.decorator.js.map +0 -1
  296. package/dist/src/decorators/A-Entity/A-Entity.decorator.types.d.ts +0 -14
  297. package/dist/src/decorators/A-Entity/A-Entity.decorator.types.js.map +0 -1
  298. package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.d.ts +0 -19
  299. package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.js.map +0 -1
  300. package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js +0 -81
  301. package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js.map +0 -1
  302. package/dist/src/decorators/A-Feature/A-Feature.decorator.types.d.ts +0 -96
  303. package/dist/src/decorators/A-Feature/A-Feature.decorator.types.js +0 -3
  304. package/dist/src/decorators/A-Feature/A-Feature.decorator.types.js.map +0 -1
  305. package/dist/src/decorators/A-Inject/A-Inject.decorator.d.ts +0 -30
  306. package/dist/src/decorators/A-Inject/A-Inject.decorator.js +0 -47
  307. package/dist/src/decorators/A-Inject/A-Inject.decorator.js.map +0 -1
  308. package/dist/src/decorators/A-Inject/A-Inject.decorator.types.d.ts +0 -48
  309. package/dist/src/decorators/A-Inject/A-Inject.decorator.types.js.map +0 -1
  310. package/dist/src/global/A-Channel/A-Channel.class.d.ts +0 -16
  311. package/dist/src/global/A-Channel/A-Channel.class.js +0 -59
  312. package/dist/src/global/A-Channel/A-Channel.class.js.map +0 -1
  313. package/dist/src/global/A-Channel/A-Channel.types.d.ts +0 -68
  314. package/dist/src/global/A-Channel/A-Channel.types.js.map +0 -1
  315. package/dist/src/global/A-Command/A-Command.class.d.ts +0 -187
  316. package/dist/src/global/A-Command/A-Command.class.js +0 -349
  317. package/dist/src/global/A-Command/A-Command.class.js.map +0 -1
  318. package/dist/src/global/A-Command/A-Command.constants.d.ts +0 -17
  319. package/dist/src/global/A-Command/A-Command.constants.js +0 -22
  320. package/dist/src/global/A-Command/A-Command.constants.js.map +0 -1
  321. package/dist/src/global/A-Command/A-Command.meta.d.ts +0 -11
  322. package/dist/src/global/A-Command/A-Command.meta.js +0 -18
  323. package/dist/src/global/A-Command/A-Command.meta.js.map +0 -1
  324. package/dist/src/global/A-Command/A-Command.types.d.ts +0 -43
  325. package/dist/src/global/A-Command/A-Command.types.js +0 -10
  326. package/dist/src/global/A-Command/A-Command.types.js.map +0 -1
  327. package/dist/src/global/A-Command/context/A_Command.context.d.ts +0 -64
  328. package/dist/src/global/A-Command/context/A_Command.context.js +0 -85
  329. package/dist/src/global/A-Command/context/A_Command.context.js.map +0 -1
  330. package/dist/src/global/A-Concept/A_Concept.class.d.ts +0 -104
  331. package/dist/src/global/A-Concept/A_Concept.class.js +0 -217
  332. package/dist/src/global/A-Concept/A_Concept.class.js.map +0 -1
  333. package/dist/src/global/A-Concept/A_Concept.meta.js.map +0 -1
  334. package/dist/src/global/A-Concept/A_Concept.types.d.ts +0 -103
  335. package/dist/src/global/A-Concept/A_Concept.types.js +0 -28
  336. package/dist/src/global/A-Concept/A_Concept.types.js.map +0 -1
  337. package/dist/src/global/A-Feature/A-FeatureCaller.class.d.ts +0 -22
  338. package/dist/src/global/A-Feature/A-FeatureCaller.class.js +0 -26
  339. package/dist/src/global/A-Feature/A-FeatureCaller.class.js.map +0 -1
  340. package/dist/src/helpers/StepsManager.class.js.map +0 -1
  341. package/dist/src/types/A_Module.types.d.ts +0 -17
  342. package/dist/src/types/A_Module.types.js +0 -22
  343. package/dist/src/types/A_Module.types.js.map +0 -1
  344. package/examples/entity/concept.ts +0 -68
  345. package/examples/entity/entities/Task.entity.ts +0 -110
  346. package/examples/entity/entities/User.entity.ts +0 -62
  347. package/examples/fe-be/channels/Test.channel.ts +0 -27
  348. package/examples/fe-be/components/BE-Controller.component.ts +0 -20
  349. package/examples/fe-be/components/FE.component.ts +0 -13
  350. package/examples/fe-be/containers/ServerApp.container.ts +0 -8
  351. package/examples/fe-be/containers/WebApp.container.ts +0 -13
  352. package/examples/multi-container/channels/Direct.channel.ts +0 -39
  353. package/examples/multi-container/concept.ts +0 -0
  354. package/examples/multi-container/containers/Command.container.ts +0 -41
  355. package/examples/multi-container/containers/Schedule.container.ts +0 -52
  356. package/examples/simple/components/A.component.ts +0 -71
  357. package/examples/simple/components/B.component.ts +0 -68
  358. package/examples/simple/concept.ts +0 -87
  359. package/examples/simple/containers/Main.container.ts +0 -88
  360. package/examples/simple/containers/Secondary.container.ts +0 -26
  361. package/examples/simple/context/Fragment_A.context.ts +0 -25
  362. package/examples/simple/context/Fragment_B.context.ts +0 -19
  363. package/examples/simple/entities/EntityA.entity.ts +0 -32
  364. package/examples/simple-http-server/components/http-error-handler.component.ts +0 -47
  365. package/examples/simple-http-server/components/http-request-handler.component.ts +0 -13
  366. package/examples/simple-http-server/concept.ts +0 -35
  367. package/examples/simple-http-server/containers/http-server.container.ts +0 -57
  368. package/examples/simple-http-server/contexts/http-request.context.ts +0 -59
  369. package/examples/simple-http-server/contexts/http-server.context.types.ts +0 -0
  370. package/examples/simple-http-server/controllers/orders.controller.ts +0 -20
  371. package/examples/simple-http-server/controllers/users.controller.ts +0 -104
  372. package/examples/simple-http-server/test.ts +0 -290
  373. package/src/base/A-Config/A-Config.container.ts +0 -68
  374. package/src/base/A-Config/A-Config.context.ts +0 -114
  375. package/src/base/A-Config/A-Config.types.ts +0 -28
  376. package/src/base/A-Config/components/ConfigReader.component.ts +0 -68
  377. package/src/base/A-Config/components/ENVConfigReader.component.ts +0 -31
  378. package/src/base/A-Config/components/FileConfigReader.component.ts +0 -41
  379. package/src/base/A-Errors/A-Error.entity.ts +0 -10
  380. package/src/base/A-Errors/A-Errors.component.ts +0 -103
  381. package/src/base/A-Errors/A-Errors.context.ts +0 -90
  382. package/src/base/A-Errors/A-Errors.types.ts +0 -6
  383. package/src/base/A-Logger/A-Logger.component.ts +0 -192
  384. package/src/base/A-Logger/A-Logger.types.ts +0 -0
  385. package/src/base/A-Polyfill/A-Polyfill.component.ts +0 -18
  386. package/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.ts +0 -81
  387. package/src/decorators/A-Abstraction/A-Abstraction.decorator.types.ts +0 -21
  388. package/src/decorators/A-Connect/A-Connect.decorator.ts +0 -71
  389. package/src/decorators/A-Connect/A-Connect.decorator.types.ts +0 -6
  390. package/src/decorators/A-Entity/A-Entity-List.decorator.ts +0 -12
  391. package/src/decorators/A-Entity/A-Entity.decorator.types.ts +0 -18
  392. package/src/decorators/A-Feature/A-Feature-Extend.decorator.ts +0 -151
  393. package/src/decorators/A-Feature/A-Feature.decorator.types.ts +0 -142
  394. package/src/decorators/A-Inject/A-Inject.decorator.ts +0 -119
  395. package/src/decorators/A-Inject/A-Inject.decorator.types.ts +0 -85
  396. package/src/global/A-Channel/A-Channel.class.ts +0 -111
  397. package/src/global/A-Channel/A-Channel.types.ts +0 -114
  398. package/src/global/A-Command/A-Command.class.ts +0 -419
  399. package/src/global/A-Command/A-Command.constants.ts +0 -27
  400. package/src/global/A-Command/A-Command.meta.ts +0 -22
  401. package/src/global/A-Command/A-Command.types.ts +0 -73
  402. package/src/global/A-Command/context/A_Command.context.ts +0 -114
  403. package/src/global/A-Concept/A_Concept.class.ts +0 -298
  404. package/src/global/A-Concept/A_Concept.meta.ts +0 -32
  405. package/src/global/A-Concept/A_Concept.types.ts +0 -143
  406. package/src/global/A-Feature/A-FeatureCaller.class.ts +0 -38
  407. package/src/types/A_Module.types.ts +0 -23
  408. package/tests/A-Command.test.ts +0 -133
  409. package/tests/A-Config.test.ts +0 -172
  410. /package/dist/src/global/A-Concept/{A_Concept.meta.d.ts → A-Concept.meta.d.ts} +0 -0
  411. /package/dist/src/{base/A-Logger/A-Logger.types.d.ts → global/ASEID/ASEID.constants.d.ts} +0 -0
  412. /package/{examples/fe-be/concept.ts → src/global/ASEID/ASEID.constants.ts} +0 -0
@@ -1,57 +1,91 @@
1
- import { A_Abstraction_Extend } from "@adaas/a-concept/decorators/A-Abstraction/A-Abstraction-Extend.decorator";
1
+ import { A_Abstraction_Extend } from "@adaas/a-concept/global/A-Abstraction/A-Abstraction-Extend.decorator";
2
2
  import { A_Feature } from "../A-Feature/A-Feature.class";
3
- import { A_TYPES__A_AbstractionConstructor, A_TYPES__AbstractionState } from "./A-Abstraction.types";
4
- import { A_Error, A_TYPES__Required } from "@adaas/a-utils";
3
+ import { A_TYPES__Abstraction_Init } from "./A-Abstraction.types";
5
4
  import { A_Scope } from "../A-Scope/A-Scope.class";
6
5
 
7
6
 
7
+
8
8
  export class A_Abstraction {
9
9
 
10
- public name: string;
11
- protected features: A_Feature[] = [];
10
+ /**
11
+ * The name of the Abstraction e.g. 'deploy', 'start', 'test', etc.
12
+ */
13
+ protected _name: string;
14
+ /**
15
+ * List of features that are part of this Abstraction
16
+ */
17
+ protected _features: A_Feature[] = [];
18
+ /**
19
+ * The Feature currently being processed
20
+ */
12
21
  protected _current?: A_Feature;
22
+ /**
23
+ * Actual Index of the current Feature being processed
24
+ */
13
25
  protected _index: number = 0;
14
26
 
15
- state: A_TYPES__AbstractionState = A_TYPES__AbstractionState.INITIALIZED;
16
- error?: A_Error
17
-
18
-
19
- readonly Scope!: A_Scope;
20
27
 
21
28
  /**
22
- * Define a new A-Abstraction
29
+ * Allows to extends A-Abstraction with additional methods
23
30
  */
24
31
  static get Extend(): typeof A_Abstraction_Extend {
25
32
  return A_Abstraction_Extend;
26
33
  }
27
34
 
28
-
35
+ /**
36
+ * A-Abstraction is an object that is common for any application.
37
+ * By providing components and creating abstraction extensions it's possible to create a unique behavior of the whole solution.
38
+ *
39
+ * Every application has basic abstractions like 'start', 'stop', 'deploy', 'test', etc.
40
+ * They can be easily extended with additional logic from both containers and components.
41
+ *
42
+ *
43
+ * @param params
44
+ */
29
45
  constructor(
30
46
  /**
31
47
  * Parameters to define the A-Abstraction
32
48
  */
33
- params: A_TYPES__A_AbstractionConstructor
49
+ params: A_TYPES__Abstraction_Init
34
50
  ) {
35
- this.name = params.name;
36
-
37
- this.features = params.features.map(def => new A_Feature(def));
51
+ this._name = params.name;
38
52
 
39
- this._current = this.features[0];
40
- }
53
+ this._features = params.containers.map(container => {
54
+ return new A_Feature({ name: this._name, component: container, })
55
+ });
41
56
 
57
+ this._current = this._features[0];
58
+ }
42
59
 
60
+ /**
61
+ * Returns the name of the Abstraction
62
+ */
63
+ get name(): string { return this._name; }
64
+ /**
65
+ * Returns the current Feature being processed
66
+ */
43
67
  get feature(): A_Feature | undefined {
44
68
  return this._current;
45
69
  }
70
+ /**
71
+ * This method checks if the A-Feature is done
72
+ *
73
+ * @returns
74
+ */
75
+ get isDone(): boolean {
76
+ return !this.feature
77
+ || this._index >= this._features.length
78
+
79
+ }
46
80
 
47
81
 
48
82
  [Symbol.iterator](): Iterator<A_Feature, any> {
49
83
  return {
50
84
  // Custom next method
51
85
  next: (): IteratorResult<A_Feature, any> => {
52
- if (!this.isDone()) {
86
+ if (!this.isDone) {
53
87
 
54
- this._current = this.features[this._index];
88
+ this._current = this._features[this._index];
55
89
 
56
90
  return {
57
91
  value: this._current,
@@ -71,68 +105,40 @@ export class A_Abstraction {
71
105
  }
72
106
 
73
107
  /**
74
- * This method moves the feature to the next stage
108
+ * This method moves the Abstraction processing to the next Feature in the list
75
109
  *
76
110
  * @param stage
77
111
  */
78
112
  next(stage) {
79
- const stageIndex = this.features.indexOf(stage);
80
-
81
- this._index = stageIndex + 1;
82
-
83
- if (this._index >= this.features.length) {
84
- this.completed();
113
+ if (this._index >= this._features.length) {
114
+ return;
85
115
  }
86
- }
87
-
88
- async completed(): Promise<void> {
89
- this.state = A_TYPES__AbstractionState.COMPLETED;
90
- }
91
116
 
117
+ const stageIndex = this._features.indexOf(stage);
92
118
 
93
- /**
94
- * This method marks the feature as failed and throws an error
95
- * Uses to interrupt or end the feature processing
96
- *
97
- * @param error
98
- */
99
- async failed(
100
- error: Error | A_Error | unknown
101
- ): Promise<void> {
102
- this.error = error as A_Error;
103
- this.state = A_TYPES__AbstractionState.FAILED;
119
+ this._index = stageIndex + 1;
104
120
  }
105
121
 
106
122
 
123
+
107
124
  /**
108
- * This method checks if the A-Feature is done
125
+ * Allows to process all stages of the Abstraction
109
126
  *
110
127
  * @returns
111
128
  */
112
- isDone(): boolean {
113
- return !this.feature
114
- || this._index >= this.features.length
115
- || this.state === A_TYPES__AbstractionState.COMPLETED
116
- || this.state === A_TYPES__AbstractionState.FAILED;
117
- }
118
-
119
-
120
- async process() {
121
- if (this.isDone())
129
+ async process(
130
+ /**
131
+ * Allows to override the scope in which the Abstraction will be processed
132
+ *
133
+ */
134
+ scope?: A_Scope
135
+ ) {
136
+ if (this.isDone)
122
137
  return;
123
- try {
124
- this.state = A_TYPES__AbstractionState.PROCESSING;
125
-
126
- for (const feature of this.features) {
127
138
 
128
- await feature.process();
129
- }
130
-
131
- await this.completed();
139
+ for (const feature of this._features) {
132
140
 
133
- } catch (error) {
134
- await this.failed(error);
141
+ await feature.process(scope);
135
142
  }
136
-
137
143
  }
138
144
  }
@@ -0,0 +1,9 @@
1
+ import { A_Error } from "../A-Error/A_Error.class";
2
+
3
+ export class A_AbstractionError extends A_Error {
4
+ /**
5
+ * This error code indicates that there was an issue extending the abstraction execution
6
+ */
7
+ static readonly AbstractionExtensionError = 'Unable to extend abstraction execution';
8
+
9
+ }
@@ -1,9 +1,23 @@
1
- import { A_TYPES__FeatureConstructor } from "../A-Feature/A-Feature.types";
1
+ import { A_Component } from "../A-Component/A-Component.class";
2
+ import { A_Container } from "../A-Container/A-Container.class";
3
+ import { A_Feature } from "../A-Feature/A-Feature.class";
4
+ import { A_TYPES__FeatureExtendDecoratorConfig } from "../A-Feature/A-Feature.types";
2
5
  import { A_Scope } from "../A-Scope/A-Scope.class";
6
+ import { A_Abstraction } from "./A-Abstraction.class";
3
7
 
4
8
 
5
-
6
- export type A_TYPES__A_AbstractionConstructor = {
9
+ // ============================================================================
10
+ // --------------------------- Primary Types ----------------------------------
11
+ // ============================================================================
12
+ /**
13
+ * Abstraction constructor type
14
+ * Uses the generic type T to specify the type of the abstraction
15
+ */
16
+ export type A_TYPES__Abstraction_Constructor<T = A_Abstraction> = new (...args: any[]) => T;
17
+ /**
18
+ * Abstraction initialization type
19
+ */
20
+ export type A_TYPES__Abstraction_Init = {
7
21
  /**
8
22
  * Name of the A-Abstraction
9
23
  */
@@ -11,19 +25,44 @@ export type A_TYPES__A_AbstractionConstructor = {
11
25
  /**
12
26
  * Features that compose the A-Abstraction
13
27
  */
14
- features: Array<A_TYPES__FeatureConstructor>
28
+ containers: Array<A_Container>
29
+ };
30
+ /**
31
+ * Abstraction serialized type
32
+ */
33
+ export type A_TYPES__Abstraction_Serialized = {
15
34
  /**
16
- * Scope in which the A-Abstraction will be executed
35
+ * The ASEID of the abstraction
17
36
  */
18
- scope: A_Scope
19
- }
37
+ aseid: string
38
+ };
39
+
40
+
41
+
42
+ /**
43
+ * Components that can extend Abstractions
44
+ */
45
+ export type A_TYPES__AbstractionAvailableComponents = A_Component
46
+ | A_Container
47
+
48
+
49
+ // ===========================================================================
50
+ // --------------------------- Decorator Types -------------------------------
51
+ // ===========================================================================
20
52
 
53
+ export type A_TYPES__AbstractionDecoratorDescriptor =
21
54
 
55
+ TypedPropertyDescriptor<() => any>
56
+ |
57
+ TypedPropertyDescriptor<(
58
+ ...args: any[]
59
+ ) => any>
60
+ |
61
+ TypedPropertyDescriptor<(
62
+ ...args: any[]
63
+ ) => Promise<any>>
64
+ |
65
+ TypedPropertyDescriptor<() => Promise<any>>
22
66
 
23
- export enum A_TYPES__AbstractionState {
24
- INITIALIZED = "INITIALIZED",
25
- PROCESSING = "PROCESSING",
26
67
 
27
- COMPLETED = "COMPLETED",
28
- FAILED = "FAILED",
29
- }
68
+ export type A_TYPES__AbstractionDecoratorConfig = A_TYPES__FeatureExtendDecoratorConfig
@@ -0,0 +1,61 @@
1
+ import { A_TypeGuards } from "@adaas/a-concept/helpers/A_TypeGuards.helper";
2
+ import { A_TYPES__FeatureAvailableComponents } from "../A-Feature/A-Feature.types";
3
+ import { A_CallerError } from "./A_Caller.error";
4
+
5
+
6
+
7
+ /**
8
+ * This is a common class that uses to return an entity that initiates a feature call
9
+ *
10
+ * It can be used then in @A_Inject(A_Caller) to get the entity that initiated the feature call
11
+ *
12
+ * [!] the class itself may be retrieved, but may require additional processing inside the feature
13
+ *
14
+ */
15
+ export class A_Caller<T extends A_TYPES__FeatureAvailableComponents = A_TYPES__FeatureAvailableComponents> {
16
+
17
+ /**
18
+ * The component that initiated the feature call
19
+ */
20
+ protected _component: T;
21
+
22
+
23
+ /**
24
+ * A_Caller allows to get the component that initiated the feature call
25
+ *
26
+ * It can be used then in @A_Inject(A_Caller) to get the entity that initiated the feature call
27
+ *
28
+ * [!] If Scope is not provided, a new empty scope will be created and inherited from the global scope
29
+ *
30
+ * @param component
31
+ * @param scope
32
+ */
33
+ constructor(
34
+ component: T
35
+ ) {
36
+ this.validateParams(component);
37
+
38
+ this._component = component;
39
+ }
40
+
41
+ get component(): T {
42
+ return this._component;
43
+ }
44
+
45
+
46
+ /**
47
+ * Validates the provided parameters and Ensures that the component is of an allowed type
48
+ *
49
+ * @param component
50
+ */
51
+ protected validateParams(
52
+ component: T
53
+ ) {
54
+ if (!A_TypeGuards.isAllowedForFeatureCall(component)) {
55
+ throw new A_CallerError(
56
+ A_CallerError.CallerInitializationError,
57
+ `Invalid A-Caller component provided of type: ${typeof component} with value: ${JSON.stringify(component).slice(0, 100)}...`
58
+ );
59
+ }
60
+ }
61
+ }
@@ -0,0 +1,10 @@
1
+ import { A_Error } from "../A-Error/A_Error.class";
2
+
3
+
4
+ export class A_CallerError extends A_Error {
5
+
6
+ /**
7
+ * This error code indicates that there was an issue initializing the A-Caller
8
+ */
9
+ static readonly CallerInitializationError = 'Unable to initialize A-Caller';
10
+ }
@@ -0,0 +1,25 @@
1
+ import { A_Component } from "../A-Component/A-Component.class";
2
+ import { A_Container } from "../A-Container/A-Container.class";
3
+ import { A_Entity } from "../A-Entity/A-Entity.class";
4
+ import { A_Caller } from "./A_Caller.class";
5
+
6
+
7
+ export type A_TYPES__CallerComponent = A_Container | A_Component | A_Entity;
8
+
9
+
10
+ // ============================================================================
11
+ // --------------------------- Primary Types ----------------------------------
12
+ // ============================================================================
13
+ /**
14
+ * Caller constructor type
15
+ * Uses the generic type T to specify the type of the caller component
16
+ */
17
+ export type A_TYPES__Caller_Constructor<T = A_Caller> = new (...args: any[]) => T;
18
+ /**
19
+ * Caller initialization type
20
+ */
21
+ export type A_TYPES__Caller_Init = {};
22
+ /**
23
+ * Caller serialized type
24
+ */
25
+ export type A_TYPES__Caller_Serialized = {};
@@ -1,20 +1,34 @@
1
1
  import { A_Context } from "../A-Context/A-Context.class";
2
- import { A_TYPES__ComponentConstructor } from "./A-Component.types";
3
- import { A_TYPES__FeatureCallParams } from "../A-Feature/A-Feature.types";
2
+ import { A_Feature } from "../A-Feature/A-Feature.class";
4
3
  import { A_Scope } from "../A-Scope/A-Scope.class";
5
4
 
6
5
 
7
6
 
8
7
  /**
9
- * This element only contains the specific code
8
+ * A-Component is a primary "extendable" object in the system
9
+ * A unique combination of Components creates completely new functionality
10
10
  *
11
+ * The most important thing is that A-Component is STATELESS, it means that it doesn't store any state in itself
12
+ *
13
+ *
14
+ * [!] Every A-Component is a singleton, so if you need to create multiple instances of the same logic - use A-Container
15
+ * [!] So one scope can have only one instance of the same A-Component
16
+ * [!] Every A-Component can be extended by features and extensions
17
+ * [!] ONLY A-Component can have A-Feature extensions
18
+ *
11
19
  */
12
20
  export class A_Component {
13
- constructor() {
14
- }
15
-
16
21
 
17
22
 
23
+ /**
24
+ * Calls the feature with the given name in the given scope
25
+ *
26
+ * [!] Note: This method creates a new instance of the feature every time it is called
27
+ *
28
+ * @param feature - the name of the feature to call
29
+ * @param scope - the scope in which to call the feature
30
+ * @returns - void
31
+ */
18
32
  async call(
19
33
  /**
20
34
  * Name of the feature to call
@@ -23,17 +37,14 @@ export class A_Component {
23
37
  /**
24
38
  * Scope in which the feature will be executed
25
39
  */
26
- scope: A_Scope = A_Context.scope(this)
40
+ scope?: A_Scope
27
41
  ) {
42
+ const newFeature = new A_Feature({
43
+ name: feature,
44
+ component: this
45
+ });
28
46
 
29
- if (scope && !scope.isInheritedFrom(A_Context.scope(this))) {
30
- scope = scope.inherit(A_Context.scope(this));
31
- }
32
-
33
-
34
- const newFeature = A_Context.feature(this, feature, scope);
35
-
36
- return await newFeature.process();
47
+ return await newFeature.process(scope);
37
48
  }
38
49
  }
39
50
 
@@ -0,0 +1,9 @@
1
+
2
+
3
+
4
+ export enum A_TYPES__ComponentMetaKey {
5
+ EXTENSIONS = 'a-component-extensions',
6
+ FEATURES = 'a-component-features',
7
+ INJECTIONS = 'a-component-injections',
8
+ ABSTRACTIONS = 'a-component-abstractions',
9
+ }
@@ -1,14 +1,13 @@
1
- import { A_TYPES__A_InjectDecorator_Meta } from "@adaas/a-concept/decorators/A-Inject/A-Inject.decorator.types";
2
- import { A_TYPES__ConceptAbstractionMeta, A_TYPES__ConceptStage } from "../A-Concept/A_Concept.types";
1
+ import { A_TYPES__A_InjectDecorator_Meta } from "@adaas/a-concept/global/A-Inject/A-Inject.types";
2
+ import { A_TYPES__ConceptAbstractionMeta } from "../A-Concept/A-Concept.types";
3
3
  import { A_Meta } from "../A-Meta/A-Meta.class";
4
- import { A_TYPES__ComponentMeta, A_TYPES__ComponentMetaExtension, A_TYPES__ComponentMetaKey } from "./A-Component.types";
5
- import { A_TYPES__A_DefineDecorator_Meta } from "@adaas/a-concept/decorators/A-Feature/A-Feature.decorator.types";
4
+ import { A_TYPES__ComponentMeta, A_TYPES__ComponentMetaExtension } from "./A-Component.types";
5
+ import { A_TYPES__ComponentMetaKey } from "./A-Component.constants";
6
+ import { A_TYPES__FeatureDefineDecoratorMeta } from "../A-Feature/A-Feature.types";
6
7
 
7
8
 
8
9
  export class A_ComponentMeta extends A_Meta<A_TYPES__ComponentMeta> {
9
10
 
10
-
11
-
12
11
  /**
13
12
  * Allows to get all the injections for a given handler
14
13
  *
@@ -25,8 +24,6 @@ export class A_ComponentMeta extends A_Meta<A_TYPES__ComponentMeta> {
25
24
  return args;
26
25
  }
27
26
 
28
-
29
-
30
27
  /**
31
28
  * Allows to get all the extensions for a given feature
32
29
  *
@@ -39,7 +36,6 @@ export class A_ComponentMeta extends A_Meta<A_TYPES__ComponentMeta> {
39
36
  const steps: A_TYPES__ComponentMetaExtension[] = [];
40
37
 
41
38
  const extensions = this.get(A_TYPES__ComponentMetaKey.EXTENSIONS);
42
- const injections = this.get(A_TYPES__ComponentMetaKey.INJECTIONS);
43
39
 
44
40
  extensions
45
41
  // returns all extensions that match the feature
@@ -62,14 +58,12 @@ export class A_ComponentMeta extends A_Meta<A_TYPES__ComponentMeta> {
62
58
  return steps;
63
59
  }
64
60
 
65
-
66
-
67
61
  /**
68
62
  * Returns all features defined in the Component
69
63
  *
70
64
  * @returns
71
65
  */
72
- features(): Array<A_TYPES__A_DefineDecorator_Meta> {
66
+ features(): Array<A_TYPES__FeatureDefineDecoratorMeta> {
73
67
 
74
68
  const features = this.get(A_TYPES__ComponentMetaKey.FEATURES);
75
69
 
@@ -78,7 +72,6 @@ export class A_ComponentMeta extends A_Meta<A_TYPES__ComponentMeta> {
78
72
  .map(([, feature]) => feature) || [];
79
73
  }
80
74
 
81
-
82
75
  /**
83
76
  * Returns a set of instructions to run proper methods in Component during A-Concept Stage
84
77
  *
@@ -93,9 +86,6 @@ export class A_ComponentMeta extends A_Meta<A_TYPES__ComponentMeta> {
93
86
  const abstractions = this.get(A_TYPES__ComponentMetaKey.ABSTRACTIONS);
94
87
  const injections = this.get(A_TYPES__ComponentMetaKey.INJECTIONS);
95
88
 
96
- // const constructor = A_Context.component(this);
97
-
98
-
99
89
  abstractions
100
90
  // returns all extensions that match the feature
101
91
  ?.find(abstraction)
@@ -1,24 +1,50 @@
1
- import { A_TYPES__A_InjectDecorator_Meta } from "@adaas/a-concept/decorators/A-Inject/A-Inject.decorator.types"
2
- import { A_Fragment } from "../A-Fragment/A-Fragment.class"
1
+ import { A_TYPES__A_InjectDecorator_Meta } from "@adaas/a-concept/global/A-Inject/A-Inject.types"
3
2
  import { A_Meta } from "../A-Meta/A-Meta.class"
4
- import { A_TYPES__A_DefineDecorator_Meta, A_TYPES__A_ExtendDecorator_BehaviorConfig, A_TYPES__A_ExtendDecorator_Meta } from "@adaas/a-concept/decorators/A-Feature/A-Feature.decorator.types"
5
- import { A_TYPES__ConceptAbstraction, A_TYPES__ConceptAbstractionMeta } from "../A-Concept/A_Concept.types"
6
- import { A_TYPES__ContainerMeta_FeatureItem } from "../A-Container/A-Container.types"
3
+ import { A_TYPES__ConceptAbstraction } from "../A-Concept/A-Concept.types"
4
+ import { A_Component } from "./A-Component.class"
5
+ import { A_TYPES__ComponentMetaKey } from "./A-Component.constants"
6
+ import { A_TYPES__FeatureDefineDecoratorMeta, A_TYPES__FeatureExtendDecoratorBehaviorConfig, A_TYPES__FeatureExtendDecoratorMeta } from "../A-Feature/A-Feature.types"
7
+
8
+
7
9
 
8
- export type A_TYPES__ComponentConstructor<_Exports extends Array<String> = any> = {
9
- exports: _Exports,
10
- }
11
10
 
12
- export type A_TYPES__ComponentCallParams<T extends string> = {
13
- name: T,
14
- fragments: Array<A_Fragment>,
15
- components: Array<{ new(...args: any[]): any }>
16
- }
17
11
 
18
12
 
13
+ // ============================================================================
14
+ // --------------------------- Primary Types ----------------------------------
15
+ // ============================================================================
16
+ /**
17
+ * Component constructor type
18
+ * Uses the generic type T to specify the type of the component
19
+ */
20
+ export type A_TYPES__Component_Constructor<T = A_Component> = new (...args: any[]) => T;
21
+ /**
22
+ * Component initialization type
23
+ */
24
+ export type A_TYPES__Component_Init = any;
25
+ /**
26
+ * Component serialized type
27
+ */
28
+ export type A_TYPES__Component_Serialized = {
29
+ /**
30
+ * The ASEID of the component
31
+ */
32
+ aseid: string
33
+ };
34
+
35
+
36
+
37
+ // ============================================================================
38
+ // --------------------------- Meta Types -------------------------------------
39
+ // ============================================================================
40
+ /**
41
+ * Component meta type
42
+ */
19
43
  export type A_TYPES__ComponentMeta = {
44
+ /**
45
+ * Extensions applied to the component per handler
46
+ */
20
47
  [A_TYPES__ComponentMetaKey.EXTENSIONS]: A_Meta<{
21
-
22
48
  /**
23
49
  * Where Key the regexp for what to apply the extension
24
50
  * A set of container names or a wildcard, or a regexp
@@ -26,20 +52,22 @@ export type A_TYPES__ComponentMeta = {
26
52
  *
27
53
  * Where value is the extension instructions
28
54
  */
29
- [Key: string]: A_TYPES__A_ExtendDecorator_Meta[]
55
+ [Key: string]: A_TYPES__FeatureExtendDecoratorMeta[]
30
56
  }>,
31
-
32
-
57
+ /**
58
+ * Features defined on the component per handler
59
+ */
33
60
  [A_TYPES__ComponentMetaKey.FEATURES]: A_Meta<{
34
61
  /**
35
62
  * Where Key is the name of the feature
36
63
  *
37
64
  * Where value is the list of features
38
65
  */
39
- [Key: string]: A_TYPES__A_DefineDecorator_Meta
66
+ [Key: string]: A_TYPES__FeatureDefineDecoratorMeta
40
67
  }>
41
-
42
-
68
+ /**
69
+ * Injections defined on the component per handler
70
+ */
43
71
  [A_TYPES__ComponentMetaKey.INJECTIONS]: A_Meta<{
44
72
  /**
45
73
  * Where Key is the name of the injection
@@ -48,7 +76,9 @@ export type A_TYPES__ComponentMeta = {
48
76
  */
49
77
  [Key: string]: A_TYPES__A_InjectDecorator_Meta
50
78
  }>
51
-
79
+ /**
80
+ * Abstractions extended by the component per handler
81
+ */
52
82
  [A_TYPES__ComponentMetaKey.ABSTRACTIONS]: A_Meta<{
53
83
  /**
54
84
  * Where Key is the name of the stage
@@ -59,12 +89,7 @@ export type A_TYPES__ComponentMeta = {
59
89
  }>
60
90
  }
61
91
 
62
- export enum A_TYPES__ComponentMetaKey {
63
- EXTENSIONS = 'a-component-extensions',
64
- FEATURES = 'a-component-features',
65
- INJECTIONS = 'a-component-injections',
66
- ABSTRACTIONS = 'a-component-abstractions',
67
- }
92
+
68
93
 
69
94
  export type A_TYPES__ComponentMetaExtension = {
70
95
  /**
@@ -75,6 +100,6 @@ export type A_TYPES__ComponentMetaExtension = {
75
100
  * The name of the handler that will be used to apply the extension
76
101
  */
77
102
  handler: string,
78
- } & A_TYPES__A_ExtendDecorator_BehaviorConfig
103
+ } & A_TYPES__FeatureExtendDecoratorBehaviorConfig
79
104
 
80
105