@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,114 +0,0 @@
1
- import { A_Container } from "@adaas/a-concept/global/A-Container/A-Container.class";
2
- import { A_Component } from "../A-Component/A-Component.class"
3
- import { A_TYPES__ContainerCallParams } from "../A-Container/A-Container.types"
4
- import { A_Fragment } from "../A-Fragment/A-Fragment.class"
5
-
6
-
7
- export type A_TYPES__A_DependencyReferenceConstructor = {
8
- /**
9
- * The name of the dependency
10
- */
11
- name: string
12
- /**
13
- * The version of the module
14
- * By default it is 1.0.0
15
- */
16
- version: string
17
- /**
18
- * The dependencies of the module
19
- * Could be:
20
- * - other Modules
21
- * - other Contexts
22
- *
23
- */
24
- // dependencies: Array<typeof A_Namespace>
25
- /**
26
- * The source of the dependency
27
- * Could be:
28
- * - a string representing the path to the module
29
- * - a module class (in case when config should be provided via the module constructor)
30
- * - a module class constructor
31
- * - a context class (in case when config should be provided via the context constructor)
32
- * - a context class constructor
33
- *
34
- */
35
- // source: A_Module | A_Context | typeof A_Module | typeof A_Context | string
36
- // source: A_Namespace
37
- }
38
-
39
-
40
- export type A_TYPES__A_DependencyReferenceConstructorConfig = {
41
- /**
42
- * Sync - blocks A-Express Application initialization until module is ready
43
- * Async - allows to initialize module after A-Express Application initialization
44
- */
45
- behavior: 'async' | 'sync',
46
-
47
- /**
48
- * Allows to define a scheme of retries
49
- */
50
- retries: {
51
- /**
52
- * The number of retries
53
- * Default is 3
54
- */
55
- n: number,
56
- /**
57
- * The timeout between retries
58
- * Multiplied by the number of retries
59
- * So after each retry the timeout is increased e.g. 1000ms * 1, 1000ms * 2, 1000ms * 3
60
- * Default is 1000
61
- */
62
- timeout: number
63
- }
64
- }
65
-
66
-
67
- export type A_TYPES__A_ChannelCallParams = {
68
- fragments: Array<A_Fragment>,
69
- components: Array<typeof A_Component>
70
- }
71
-
72
-
73
- /**
74
- * Returns a string set of possible methods that could be called on a provided A-Component
75
- */
76
- export type A_TYPES__A_ExecutableMethods<T> = {
77
- [K in keyof T]: T[K] extends (...arg: Partial<A_TYPES__A_ChannelCallParams>[]) => Promise<any> ? K : never
78
- }[keyof T];
79
-
80
-
81
- /**
82
- * Returns a string set of possible methods that could be called on a set of provided set of A-Components
83
- */
84
- export type A_TYPES__A_ChannelAggregateMethods<TClasses extends (A_Component | A_Container)[]> = {
85
- [K in keyof TClasses]: TClasses[K] extends infer Instance
86
- ? A_TYPES__A_ExecutableMethods<Instance>
87
- : never;
88
- }[number];
89
-
90
-
91
- /**
92
- * Describes a type of proxy object and consists of all callable methods from a set opf provided components
93
- */
94
- export type A_TYPES__A_ChannelAggregated<TClasses extends any[]> = {
95
- [Method in A_TYPES__A_ChannelAggregateMethods<TClasses>]: {
96
- [Class in keyof TClasses]: TClasses[Class] extends infer Instance
97
- ? Method extends keyof Instance
98
- // Just put it here for possible cases with detailed params
99
- // ? Instance[Method]
100
- ? (params: Partial<A_TYPES__A_ChannelCallParams>) => Promise<any>
101
- : never
102
- : never;
103
- }[number]; // Select the method signature from any matching class
104
- };
105
-
106
-
107
-
108
-
109
- /**
110
- * A set of parameters are required to construct a new A-Channel
111
- */
112
- export type A_TYPES__A_ChannelConstructor = {
113
- id: string,
114
- }
@@ -1,419 +0,0 @@
1
- import { A_TYPES__Command_Constructor, A_TYPES__Command_Listener, A_TYPES__Command_Serialized } from "./A-Command.types";
2
- import { A_CommonHelper, A_Error, A_IdentityHelper, ASEID } from "@adaas/a-utils";
3
- import { A_Scope } from "@adaas/a-concept/global/A-Scope/A-Scope.class";
4
- import { A_CommandContext } from "./context/A_Command.context";
5
- import { A_CONSTANTS__A_Command_Event, A_CONSTANTS__A_Command_Status } from "./A-Command.constants";
6
- import { A_Context } from "../A-Context/A-Context.class";
7
- import { A_CONSTANTS__DEFAULT_ENV_VARIABLES } from "@adaas/a-concept/constants/env.constants";
8
-
9
-
10
- export class A_Command<
11
- InvokeType extends A_TYPES__Command_Constructor = A_TYPES__Command_Constructor,
12
- ResultType extends Record<string, any> = Record<string, any>,
13
- LifecycleEvents extends string = A_CONSTANTS__A_Command_Event
14
- > {
15
-
16
- // ====================================================================
17
- // ================== Static A-Command Information ====================
18
- // ====================================================================
19
-
20
- /**
21
- * Command Identifier that corresponds to the class name
22
- */
23
- static get code(): string {
24
- return A_CommonHelper.toKebabCase(this.name);
25
- }
26
-
27
- /**
28
- * DEFAULT Namespace of the command from environment variable A_CONCEPT_NAMESPACE
29
- * [!] If environment variable is not set, it will default to 'a-concept'
30
- */
31
- static get namespace(): string {
32
- return A_Context.root.name;
33
- }
34
-
35
- /**
36
- * DEFAULT Scope of the command from environment variable A_CONCEPT_DEFAULT_SCOPE
37
- * [!] If environment variable is not set, it will default to 'core'
38
- * [!] Scope is an application specific identifier that can be used to group commands together
39
- * [!] e.g. 'default', 'core', 'public', 'internal', etc
40
- */
41
- static get scope(): string {
42
- return process && process.env ? process.env[A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_DEFAULT_SCOPE] || 'core' : 'core';
43
- }
44
-
45
- // ====================================================================
46
- // ================ Instance A-Command Information ====================
47
- // ====================================================================
48
-
49
- /**
50
- * ASEID is a command identifier that is unique across the system
51
- * A - A_Concept or Application
52
- * S - System or Scope
53
- * E - Entity
54
- * ID - Identifier
55
- *
56
- * [!] ASEID is immutable and should not be changed after the entity is created
57
- *
58
- * [!] ASEID is composed of the following parts:
59
- * - namespace: an application specific identifier from where the command is coming from
60
- * - scope: the scope of the command from Application Namespace
61
- * - entity: the name of the command from Application Namespace
62
- * - id: the unique identifier of the command
63
- *
64
- * [!] For more information about ASEID, please refer to the ASEID class documentation
65
- */
66
- aseid!: ASEID;
67
-
68
- protected _result?: ResultType;
69
- protected _errors?: Set<A_Error>;
70
-
71
- protected _params!: InvokeType;
72
- protected _status!: A_CONSTANTS__A_Command_Status
73
-
74
- protected _listeners: Map<LifecycleEvents | A_CONSTANTS__A_Command_Event, Set<A_TYPES__Command_Listener<
75
- InvokeType, ResultType,
76
- LifecycleEvents
77
- >>> = new Map();
78
-
79
- protected _startTime?: Date;
80
- protected _endTime?: Date
81
-
82
- /**
83
- * Execution Duration in milliseconds
84
- */
85
- get Duration() {
86
- return this._endTime && this._startTime
87
- ? this._endTime.getTime() - this._startTime.getTime()
88
- : this._startTime
89
- ? new Date().getTime() - this._startTime.getTime()
90
- : undefined;
91
- }
92
-
93
-
94
- /**
95
- * Command Execution A-Scope that inherits from scope where command was created
96
- *
97
- * Command execution context is stored in A_CommandContext fragment within this scope
98
- */
99
- get Scope(): A_Scope {
100
- return A_Context.scope(this);
101
- }
102
-
103
- /**
104
- * Unique code identifying the command type
105
- * Example: 'user.create', 'task.complete', etc.
106
- *
107
- */
108
- get Code(): string {
109
- return (this.constructor as typeof A_Command).code;
110
- }
111
- /**
112
- * Current status of the command
113
- */
114
- get Status(): A_CONSTANTS__A_Command_Status {
115
- return this._status;
116
- }
117
- /**
118
- * Start time of the command execution
119
- */
120
- get StartedAt(): Date | undefined {
121
- return this._startTime;
122
- }
123
- /**
124
- * End time of the command execution
125
- */
126
- get EndedAt(): Date | undefined {
127
- return this._endTime;
128
- }
129
- /**
130
- * Result of the command execution stored in the context
131
- */
132
- get Result(): ResultType | undefined {
133
- return this._result;
134
- }
135
- /**
136
- * Errors encountered during the command execution stored in the context
137
- */
138
- get Errors(): Set<A_Error> | undefined {
139
- return this._errors;
140
- }
141
- /**
142
- * Parameters used to invoke the command
143
- */
144
- get Params(): InvokeType {
145
- return this._params;
146
- }
147
-
148
-
149
- /**
150
- *
151
- * A-Command represents an executable command with a specific code and parameters.
152
- * It can be executed within a given scope and stores execution results and errors.
153
- *
154
- *
155
- * A-Command should be context independent and execution logic should be based on attached components
156
- *
157
- * @param code
158
- * @param params
159
- */
160
- constructor(
161
- /**
162
- * Command invocation parameters
163
- */
164
- params: InvokeType | A_TYPES__Command_Serialized<ResultType>
165
- ) {
166
- if (params && typeof params === 'object' && 'aseid' in params) {
167
- this.fromJSON(params);
168
- } else {
169
- this.fromNew(params);
170
- }
171
- }
172
-
173
- /**
174
- * Extracts the ID from the ASEID
175
- * ID is the unique identifier of the entity
176
- */
177
- get id(): string | number {
178
- return this.aseid.id;
179
- }
180
-
181
- /**
182
- * Extracts the namespace from the ASEID
183
- * namespace is an application specific identifier from where the entity is coming from
184
- */
185
- get namespace(): string {
186
- return this.aseid.namespace
187
- }
188
-
189
- /**
190
- * Extracts the scope from the ASEID
191
- * scope is the scope of the entity from Application Namespace
192
- */
193
- get scope(): string {
194
- return this.aseid.scope;
195
- }
196
-
197
- /**
198
- * Extracts the entity from the ASEID
199
- * entity is the name of the entity from Application Namespace
200
- *
201
- */
202
- get entity(): string {
203
- return this.aseid.entity;
204
- }
205
-
206
-
207
- // --------------------------------------------------------------------------
208
- // A-Command Lifecycle Methods
209
- // --------------------------------------------------------------------------
210
-
211
- // should create a new Task in DB with basic records
212
- async init(): Promise<void> {
213
- this.emit('init');
214
- return await this.call('init');
215
- }
216
-
217
- // Should compile everything before execution
218
- async compile() {
219
- this.emit('compile');
220
- return await this.call('compile');
221
- }
222
-
223
- /**
224
- * Executes the command logic.
225
- */
226
- async execute(): Promise<any> {
227
- this._status = A_CONSTANTS__A_Command_Status.IN_PROGRESS;
228
- this._startTime = new Date();
229
-
230
- try {
231
- this.emit('execute');
232
- await this.call('execute');
233
- await this.complete();
234
-
235
- } catch (error) {
236
- await this.fail();
237
- }
238
- }
239
-
240
- /**
241
- * Marks the command as completed
242
- */
243
- async complete() {
244
- this._status = A_CONSTANTS__A_Command_Status.COMPLETED;
245
- this._endTime = new Date();
246
- this._result = this.Scope.resolve(A_CommandContext).toJSON() as ResultType;
247
-
248
- this.emit('complete');
249
- return await this.call('complete');
250
- }
251
-
252
-
253
- /**
254
- * Marks the command as failed
255
- */
256
- async fail() {
257
- this._status = A_CONSTANTS__A_Command_Status.FAILED;
258
- this._endTime = new Date();
259
- this._errors = this.Scope.resolve(A_CommandContext).Errors;
260
-
261
- this.emit('fail');
262
- return await this.call('fail');
263
- }
264
-
265
-
266
- // --------------------------------------------------------------------------
267
- // A-Command Event-Emitter methods
268
- // --------------------------------------------------------------------------
269
-
270
- /**
271
- * Registers an event listener for a specific event
272
- *
273
- * @param event
274
- * @param listener
275
- */
276
- on(event: LifecycleEvents | A_CONSTANTS__A_Command_Event, listener: A_TYPES__Command_Listener<InvokeType, ResultType, LifecycleEvents>) {
277
- if (!this._listeners.has(event)) {
278
- this._listeners.set(event, new Set());
279
- }
280
- this._listeners.get(event)!.add(listener);
281
- }
282
- /**
283
- * Removes an event listener for a specific event
284
- *
285
- * @param event
286
- * @param listener
287
- */
288
- off(event: LifecycleEvents | A_CONSTANTS__A_Command_Event, listener: A_TYPES__Command_Listener<InvokeType, ResultType, LifecycleEvents>) {
289
- this._listeners.get(event)?.delete(listener);
290
- }
291
- /**
292
- * Emits an event to all registered listeners
293
- *
294
- * @param event
295
- */
296
- emit(event: LifecycleEvents | A_CONSTANTS__A_Command_Event) {
297
- this._listeners.get(event)?.forEach(listener => {
298
- listener(this);
299
- });
300
- }
301
-
302
-
303
- // --------------------------------------------------------------------------
304
- // A-Entity Base Class Overrides
305
- // --------------------------------------------------------------------------
306
- // Serialization / Deserialization
307
- // -------------------------------------------------------------------------
308
-
309
-
310
- /**
311
- * Allows to create a Command instance from new data
312
- *
313
- * @param newEntity
314
- */
315
- fromNew(newEntity: InvokeType): void {
316
-
317
- this.aseid = new ASEID({
318
- namespace: (this.constructor as typeof A_Command).namespace,
319
- scope: (this.constructor as typeof A_Command).scope,
320
- entity: (this.constructor as typeof A_Command).code,
321
- id: A_IdentityHelper.generateTimeId(),
322
- });
323
-
324
- A_Context.allocate(this, {
325
- name: `a-command-scope::${this.id}`,
326
- fragments: [
327
- new A_CommandContext<ResultType>()
328
- ]
329
- });
330
-
331
- this._params = newEntity;
332
-
333
- this._status = A_CONSTANTS__A_Command_Status.INITIALIZED;
334
- }
335
-
336
-
337
-
338
- /**
339
- * Allows to convert serialized data to Command instance
340
- *
341
- * [!] By default it omits params as they are not stored in the serialized data
342
- *
343
- * @param serialized
344
- */
345
- fromJSON(serialized: A_TYPES__Command_Serialized<ResultType>): void {
346
- this.aseid = new ASEID(serialized.aseid);
347
- const context = new A_CommandContext<ResultType>();
348
-
349
- A_Context.allocate(this, {
350
- name: `a-command-scope::${this.id}`,
351
- fragments: [
352
- context
353
- ]
354
- });
355
-
356
- if (serialized.startedAt) this._startTime = new Date(serialized.startedAt);
357
- if (serialized.endedAt) this._endTime = new Date(serialized.endedAt);
358
-
359
-
360
-
361
- // Restore result and errors in the context
362
- if (serialized.result) {
363
- Object.entries(serialized.result).forEach(([key, value]) => {
364
- context.save(key, value);
365
- });
366
- }
367
-
368
- if (serialized.errors) {
369
- serialized.errors.forEach(err => {
370
- context.error(new A_Error(err));
371
- });
372
- }
373
-
374
- this._status = serialized.status || A_CONSTANTS__A_Command_Status.INITIALIZED;
375
- }
376
-
377
-
378
- /**
379
- * Converts the Command instance to a plain object
380
- *
381
- * @returns
382
- */
383
- toJSON(): A_TYPES__Command_Serialized<ResultType> {
384
- return {
385
- aseid: this.aseid.toString(),
386
- code: this.Code,
387
- status: this._status,
388
- startedAt: this._startTime ? this._startTime.toISOString() : undefined,
389
- endedAt: this._endTime ? this._endTime.toISOString() : undefined,
390
- duration: this.Duration,
391
- result: this.Result,
392
- errors: this.Errors ? Array.from(this.Errors).map(err => err.toJSON()) : undefined
393
- }
394
- };
395
-
396
-
397
-
398
- /**
399
- * Call a feature of the component with the provided scope
400
- *
401
- * [!] If the provided scope is not inherited from the entity scope, it will be inherited
402
- *
403
- * @param lifecycleMethod
404
- * @param args
405
- */
406
- async call(
407
- feature: string,
408
- scope: A_Scope = this.Scope
409
- ) {
410
- if (scope && !scope.isInheritedFrom(this.Scope)) {
411
- scope = scope.inherit(this.Scope);
412
- }
413
-
414
- const newFeature = A_Context.feature(this, feature, scope);
415
-
416
- return await newFeature.process();
417
- }
418
-
419
- }
@@ -1,27 +0,0 @@
1
-
2
-
3
- export enum A_CONSTANTS__A_Command_Status {
4
- INITIALIZED = 'INITIALIZED',
5
- IN_PROGRESS = 'IN_PROGRESS',
6
- COMPLETED = 'COMPLETED',
7
- FAILED = 'FAILED',
8
- }
9
-
10
- /**
11
- * A-Command Lifecycle Features
12
- */
13
- export enum A_CONSTANTS_A_Command_Features {
14
- INIT = 'init',
15
- COMPLIED = 'complied',
16
- EXECUTE = 'execute',
17
- COMPLETE = 'complete',
18
- FAIL = 'fail',
19
- }
20
-
21
-
22
-
23
-
24
- export type A_CONSTANTS__A_Command_Event = 'init' | 'compile' | 'execute' | 'complete' | 'fail';
25
-
26
-
27
-
@@ -1,22 +0,0 @@
1
- import { A_Meta } from "../A-Meta/A-Meta.class";
2
- import { A_TYPES__CommandMeta, A_TYPES__CommandMetaKey } from "./A-Command.types";
3
- import { A_TYPES__A_DefineDecorator_Meta } from "@adaas/a-concept/decorators/A-Feature/A-Feature.decorator.types";
4
-
5
-
6
- export class A_CommandMeta extends A_Meta<A_TYPES__CommandMeta> {
7
-
8
- /**
9
- * Returns all features defined in the Container
10
- *
11
- * @returns
12
- */
13
- features(): Array<A_TYPES__A_DefineDecorator_Meta> {
14
-
15
- const features = this.get(A_TYPES__CommandMetaKey.FEATURES);
16
-
17
- return features?.toArray()
18
- // returns all extensions that match the feature
19
- .map(([, feature]) => feature) || [];
20
- }
21
-
22
- }
@@ -1,73 +0,0 @@
1
- import { A_Command } from "./A-Command.class";
2
- import { A_CONSTANTS__A_Command_Event, A_CONSTANTS__A_Command_Status } from "./A-Command.constants";
3
- import { A_TYPES__Error } from "@adaas/a-utils";
4
- import { A_Meta } from "../A-Meta/A-Meta.class";
5
- import { A_TYPES__A_DefineDecorator_Meta, A_TYPES__A_ExtendDecorator_Meta } from "@adaas/a-concept/decorators/A-Feature/A-Feature.decorator.types";
6
-
7
-
8
-
9
- export type A_TYPES__Command_Constructor = {
10
- }
11
-
12
-
13
-
14
- export type A_TYPES__Command_Serialized<
15
- ResultType extends Record<string, any> = Record<string, any>
16
- > = {
17
- aseid: string,
18
- code: string;
19
- status: A_CONSTANTS__A_Command_Status;
20
-
21
- startedAt?: string;
22
- endedAt?: string;
23
- duration?: number;
24
-
25
- result?: ResultType;
26
- errors?: Array<A_TYPES__Error>;
27
-
28
- }
29
-
30
-
31
-
32
-
33
- export type A_TYPES__Command_Listener<
34
- InvokeType extends A_TYPES__Command_Constructor = A_TYPES__Command_Constructor,
35
- ResultType extends Record<string, any> = Record<string, any>,
36
- LifecycleEvents extends string = A_CONSTANTS__A_Command_Event
37
- > = (command?: A_Command<InvokeType, ResultType, LifecycleEvents>) => void;
38
-
39
-
40
-
41
-
42
-
43
-
44
- export type A_TYPES__CommandMeta = {
45
- [A_TYPES__CommandMetaKey.EXTENSIONS]: A_Meta<{
46
-
47
- /**
48
- * Where Key the regexp for what to apply the extension
49
- * A set of container names or a wildcard, or a regexp
50
- *
51
- *
52
- * Where value is the extension instructions
53
- */
54
- [Key: string]: A_TYPES__A_ExtendDecorator_Meta[]
55
-
56
- }>, case
57
-
58
-
59
- [A_TYPES__CommandMetaKey.FEATURES]: A_Meta<{
60
- /**
61
- * Where Key is the name of the feature
62
- *
63
- * Where value is the list of features
64
- */
65
- [Key: string]: A_TYPES__A_DefineDecorator_Meta
66
- }>
67
- }
68
-
69
- export enum A_TYPES__CommandMetaKey {
70
- EXTENSIONS = 'a-command-extensions',
71
- FEATURES = 'a-command-features',
72
- ABSTRACTIONS = 'a-command-abstractions',
73
- }