@adaas/a-concept 0.0.64 → 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 (416) 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 +124 -142
  129. package/dist/src/global/A-Scope/A-Scope.class.js +163 -209
  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 +48 -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 +288 -299
  220. package/src/global/A-Scope/A-Scope.error.ts +13 -0
  221. package/src/global/A-Scope/A-Scope.types.ts +61 -27
  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/global/A-Scope/A-Scope.constants.d.ts +0 -2
  341. package/dist/src/global/A-Scope/A-Scope.constants.js +0 -11
  342. package/dist/src/global/A-Scope/A-Scope.constants.js.map +0 -1
  343. package/dist/src/helpers/StepsManager.class.js.map +0 -1
  344. package/dist/src/types/A_Module.types.d.ts +0 -17
  345. package/dist/src/types/A_Module.types.js +0 -22
  346. package/dist/src/types/A_Module.types.js.map +0 -1
  347. package/examples/entity/concept.ts +0 -68
  348. package/examples/entity/entities/Task.entity.ts +0 -110
  349. package/examples/entity/entities/User.entity.ts +0 -62
  350. package/examples/fe-be/channels/Test.channel.ts +0 -27
  351. package/examples/fe-be/components/BE-Controller.component.ts +0 -20
  352. package/examples/fe-be/components/FE.component.ts +0 -13
  353. package/examples/fe-be/containers/ServerApp.container.ts +0 -8
  354. package/examples/fe-be/containers/WebApp.container.ts +0 -13
  355. package/examples/multi-container/channels/Direct.channel.ts +0 -39
  356. package/examples/multi-container/concept.ts +0 -0
  357. package/examples/multi-container/containers/Command.container.ts +0 -41
  358. package/examples/multi-container/containers/Schedule.container.ts +0 -52
  359. package/examples/simple/components/A.component.ts +0 -71
  360. package/examples/simple/components/B.component.ts +0 -68
  361. package/examples/simple/concept.ts +0 -87
  362. package/examples/simple/containers/Main.container.ts +0 -88
  363. package/examples/simple/containers/Secondary.container.ts +0 -26
  364. package/examples/simple/context/Fragment_A.context.ts +0 -25
  365. package/examples/simple/context/Fragment_B.context.ts +0 -19
  366. package/examples/simple/entities/EntityA.entity.ts +0 -32
  367. package/examples/simple-http-server/components/http-error-handler.component.ts +0 -47
  368. package/examples/simple-http-server/components/http-request-handler.component.ts +0 -13
  369. package/examples/simple-http-server/concept.ts +0 -35
  370. package/examples/simple-http-server/containers/http-server.container.ts +0 -57
  371. package/examples/simple-http-server/contexts/http-request.context.ts +0 -59
  372. package/examples/simple-http-server/contexts/http-server.context.types.ts +0 -0
  373. package/examples/simple-http-server/controllers/orders.controller.ts +0 -20
  374. package/examples/simple-http-server/controllers/users.controller.ts +0 -104
  375. package/examples/simple-http-server/test.ts +0 -290
  376. package/src/base/A-Config/A-Config.container.ts +0 -68
  377. package/src/base/A-Config/A-Config.context.ts +0 -114
  378. package/src/base/A-Config/A-Config.types.ts +0 -28
  379. package/src/base/A-Config/components/ConfigReader.component.ts +0 -68
  380. package/src/base/A-Config/components/ENVConfigReader.component.ts +0 -31
  381. package/src/base/A-Config/components/FileConfigReader.component.ts +0 -41
  382. package/src/base/A-Errors/A-Error.entity.ts +0 -10
  383. package/src/base/A-Errors/A-Errors.component.ts +0 -103
  384. package/src/base/A-Errors/A-Errors.context.ts +0 -90
  385. package/src/base/A-Errors/A-Errors.types.ts +0 -6
  386. package/src/base/A-Logger/A-Logger.component.ts +0 -192
  387. package/src/base/A-Logger/A-Logger.types.ts +0 -0
  388. package/src/base/A-Polyfill/A-Polyfill.component.ts +0 -18
  389. package/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.ts +0 -81
  390. package/src/decorators/A-Abstraction/A-Abstraction.decorator.types.ts +0 -21
  391. package/src/decorators/A-Connect/A-Connect.decorator.ts +0 -71
  392. package/src/decorators/A-Connect/A-Connect.decorator.types.ts +0 -6
  393. package/src/decorators/A-Entity/A-Entity-List.decorator.ts +0 -12
  394. package/src/decorators/A-Entity/A-Entity.decorator.types.ts +0 -18
  395. package/src/decorators/A-Feature/A-Feature-Extend.decorator.ts +0 -151
  396. package/src/decorators/A-Feature/A-Feature.decorator.types.ts +0 -142
  397. package/src/decorators/A-Inject/A-Inject.decorator.ts +0 -119
  398. package/src/decorators/A-Inject/A-Inject.decorator.types.ts +0 -85
  399. package/src/global/A-Channel/A-Channel.class.ts +0 -111
  400. package/src/global/A-Channel/A-Channel.types.ts +0 -114
  401. package/src/global/A-Command/A-Command.class.ts +0 -419
  402. package/src/global/A-Command/A-Command.constants.ts +0 -27
  403. package/src/global/A-Command/A-Command.meta.ts +0 -22
  404. package/src/global/A-Command/A-Command.types.ts +0 -73
  405. package/src/global/A-Command/context/A_Command.context.ts +0 -114
  406. package/src/global/A-Concept/A_Concept.class.ts +0 -298
  407. package/src/global/A-Concept/A_Concept.meta.ts +0 -32
  408. package/src/global/A-Concept/A_Concept.types.ts +0 -143
  409. package/src/global/A-Feature/A-FeatureCaller.class.ts +0 -38
  410. package/src/global/A-Scope/A-Scope.constants.ts +0 -9
  411. package/src/types/A_Module.types.ts +0 -23
  412. package/tests/A-Command.test.ts +0 -133
  413. package/tests/A-Config.test.ts +0 -172
  414. /package/dist/src/global/A-Concept/{A_Concept.meta.d.ts → A-Concept.meta.d.ts} +0 -0
  415. /package/dist/src/{base/A-Logger/A-Logger.types.d.ts → global/ASEID/ASEID.constants.d.ts} +0 -0
  416. /package/{examples/fe-be/concept.ts → src/global/ASEID/ASEID.constants.ts} +0 -0
@@ -1,8 +1,6 @@
1
1
  import './test.setup';
2
-
3
- import { A_Command } from "@adaas/a-concept/global/A-Command/A-Command.class";
4
2
  import { A_Component } from "@adaas/a-concept/global/A-Component/A-Component.class";
5
- import { A_Concept } from "@adaas/a-concept/global/A-Concept/A_Concept.class";
3
+ import { A_Concept } from "@adaas/a-concept/global/A-Concept/A-Concept.class";
6
4
  import { A_Container } from "@adaas/a-concept/global/A-Container/A-Container.class";
7
5
  import { A_Context } from "@adaas/a-concept/global/A-Context/A-Context.class";
8
6
  import { A_Entity } from "@adaas/a-concept/global/A-Entity/A-Entity.class";
@@ -17,8 +15,8 @@ describe('A-Concept tests', () => {
17
15
  it('Should Allow to create a concept', async () => {
18
16
  const concept = new A_Concept({ name: 'TestConcept' });
19
17
  expect(concept).toBeInstanceOf(A_Concept);
20
- expect(concept.Scope).toBeDefined();
21
- expect(concept.Scope).toBeInstanceOf(A_Scope);
18
+ expect(concept.scope).toBeDefined();
19
+ expect(concept.scope).toBeInstanceOf(A_Scope);
22
20
  });
23
21
  it('Should allow to load a concept', async () => {
24
22
  const concept = new A_Concept({ name: 'TestConcept' });
@@ -36,7 +34,7 @@ describe('A-Concept tests', () => {
36
34
  it('Should allow to provide all base entities to the concept', async () => {
37
35
  A_Context.reset();
38
36
 
39
- class MyCommand extends A_Command { }
37
+ class MyEntityA extends A_Entity { }
40
38
  class MyEntity extends A_Entity { }
41
39
  class MyComponent extends A_Component { }
42
40
  class MyContainer extends A_Container { }
@@ -44,24 +42,23 @@ describe('A-Concept tests', () => {
44
42
 
45
43
  const concept = new A_Concept({
46
44
  name: 'TestConcept',
47
- commands: [MyCommand],
48
- entities: [new MyEntity()],
45
+ entities: [new MyEntity(), MyEntityA],
49
46
  components: [MyComponent],
50
47
  containers: [new MyContainer({ name: 'test' })],
51
48
  fragments: [new MyContext({ name: 'test' })]
52
49
  });
53
50
 
54
51
 
55
- expect(concept.Scope.resolveConstructor('MyCommand')).toBe(MyCommand);
56
- expect(concept.Scope.resolve(MyEntity)).toBeInstanceOf(MyEntity);
57
- expect(concept.Scope.resolve(MyComponent)).toBeInstanceOf(MyComponent);
58
- expect(concept.Scope.resolve(MyContext)).toBeInstanceOf(MyContext);
52
+ expect(concept.scope.resolveConstructor('MyEntityA')).toBe(MyEntityA);
53
+ expect(concept.scope.resolve(MyEntity)).toBeInstanceOf(MyEntity);
54
+ expect(concept.scope.resolve(MyComponent)).toBeInstanceOf(MyComponent);
55
+ expect(concept.scope.resolve(MyContext)).toBeInstanceOf(MyContext);
59
56
  });
60
57
  it('Should allow to separate entities by containers', async () => {
61
58
  A_Context.reset();
62
59
 
63
- class MyCommandA extends A_Command { }
64
- class MyCommandB extends A_Command { }
60
+ class MyEntityA extends A_Entity { }
61
+ class MyEntityB extends A_Entity { }
65
62
  class MyComponentA extends A_Component { }
66
63
  class MyComponentB extends A_Component { }
67
64
  class MyContainer extends A_Container { }
@@ -69,14 +66,14 @@ describe('A-Concept tests', () => {
69
66
 
70
67
  const containerA = new MyContainer({
71
68
  name: 'test',
72
- commands: [MyCommandA],
69
+ entities: [MyEntityA],
73
70
  components: [MyComponentA]
74
71
 
75
72
  });
76
73
 
77
74
  const containerB = new MyContainer({
78
75
  name: 'test2',
79
- commands: [MyCommandB],
76
+ entities: [MyEntityB],
80
77
  components: [MyComponentB]
81
78
  })
82
79
 
@@ -95,18 +92,18 @@ describe('A-Concept tests', () => {
95
92
  const containerAScope = A_Context.scope(containerA)
96
93
  const containerBScope = A_Context.scope(containerB)
97
94
 
98
- expect(containerAScope.resolveConstructor('MyCommandA')).toBe(MyCommandA);
95
+ expect(containerAScope.resolveConstructor('MyEntityA')).toBe(MyEntityA);
99
96
  expect(() => {
100
- containerAScope.resolveConstructor('MyCommandB');
97
+ containerAScope.resolveConstructor('MyEntityB');
101
98
  }).toThrow();
102
99
 
103
- expect(containerBScope.resolveConstructor('MyCommandB')).toBe(MyCommandB);
100
+ expect(containerBScope.resolveConstructor('MyEntityB')).toBe(MyEntityB);
104
101
  expect(() => {
105
- containerBScope.resolveConstructor('MyCommandA');
102
+ containerBScope.resolveConstructor('MyEntityA');
106
103
  }).toThrow();
107
104
 
108
- expect(concept.Scope.resolve(MyContext)).toEqual(sharedContext);
109
- expect(concept.Scope.resolve(MyContext)).toEqual(sharedContext);
105
+ expect(concept.scope.resolve(MyContext)).toEqual(sharedContext);
106
+ expect(concept.scope.resolve(MyContext)).toEqual(sharedContext);
110
107
  });
111
108
 
112
109
  });
@@ -3,9 +3,9 @@ import './test.setup';
3
3
  import { A_CONSTANTS__DEFAULT_ENV_VARIABLES } from "@adaas/a-concept/constants/env.constants";
4
4
  import { A_Context } from "@adaas/a-concept/global/A-Context/A-Context.class";
5
5
  import { A_Entity } from "@adaas/a-concept/global/A-Entity/A-Entity.class";
6
- import { A_TYPES__Entity_JSON } from "@adaas/a-concept/global/A-Entity/A-Entity.types";
6
+ import { A_TYPES__Entity_Serialized } from '@adaas/a-concept/global/A-Entity/A-Entity.types';
7
7
  import { A_Feature } from "@adaas/a-concept/global/A-Feature/A-Feature.class";
8
- import { ASEID } from "@adaas/a-utils";
8
+ import { ASEID } from '@adaas/a-concept/global/ASEID/ASEID.class';
9
9
 
10
10
  jest.retryTimes(0);
11
11
 
@@ -17,11 +17,11 @@ describe('A-Entity tests', () => {
17
17
  const entity = new A_Entity();
18
18
 
19
19
  expect(entity.aseid).toBeInstanceOf(ASEID);
20
- expect(entity.aseid.scope).toBe('core');
21
- expect(entity.aseid.namespace).toBe('a-concept');
20
+ expect(entity.aseid.scope).toBe('root');
21
+ expect(entity.aseid.concept).toBe('a-concept');
22
22
 
23
23
  });
24
- it('Should Allow to create an entity with overridden ASEID Scope or Namespace', async () => {
24
+ it('Should Allow to create an entity with overridden ASEID Scope or Concept', async () => {
25
25
  class MyEntity extends A_Entity {
26
26
  static get entity(): string {
27
27
  return 'my-entity-test';
@@ -31,8 +31,8 @@ describe('A-Entity tests', () => {
31
31
  return 'custom-scope';
32
32
  }
33
33
 
34
- static get namespace(): string {
35
- return 'custom-namespace';
34
+ static get concept(): string {
35
+ return 'custom-concept';
36
36
  }
37
37
  }
38
38
 
@@ -40,13 +40,13 @@ describe('A-Entity tests', () => {
40
40
 
41
41
  expect(entity.aseid).toBeInstanceOf(ASEID);
42
42
  expect(entity.aseid.scope).toBe('custom-scope');
43
- expect(entity.aseid.namespace).toBe('custom-namespace');
43
+ expect(entity.aseid.concept).toBe('custom-concept');
44
44
  expect(entity.aseid.entity).toBe('my-entity-test');
45
45
 
46
46
  });
47
- it('Should Allow to create an entity with overridden ASEID Scope or Namespace from ENV Variables', async () => {
48
- process.env[A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_DEFAULT_SCOPE] = 'env-scope';
49
- process.env[A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_NAMESPACE] = 'env-namespace';
47
+ it('Should Allow to create an entity with overridden ASEID Scope or Concept from ENV Variables', async () => {
48
+ process.env[A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_ROOT_SCOPE] = 'env-scope';
49
+ process.env[A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_NAME] = 'env-concept';
50
50
 
51
51
  A_Context.reset();
52
52
 
@@ -54,17 +54,17 @@ describe('A-Entity tests', () => {
54
54
 
55
55
  expect(entity.aseid).toBeInstanceOf(ASEID);
56
56
  expect(entity.aseid.scope).toBe('env-scope');
57
- expect(entity.aseid.namespace).toBe('env-namespace');
57
+ expect(entity.aseid.concept).toBe('env-concept');
58
58
 
59
- delete process.env[A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_DEFAULT_SCOPE];
60
- delete process.env[A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_NAMESPACE];
59
+ delete process.env[A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_ROOT_SCOPE];
60
+ delete process.env[A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_NAME];
61
61
 
62
62
  A_Context.reset();
63
63
  });
64
64
  it('Should Allow to create an entity from ASEID', async () => {
65
65
  const entity = new A_Entity(
66
66
  new ASEID({
67
- namespace: 'default',
67
+ concept: 'default',
68
68
  scope: 'default',
69
69
  entity: 'entity-a',
70
70
  id: Math.floor(Math.random() * 1000000000).toString(),
@@ -79,13 +79,13 @@ describe('A-Entity tests', () => {
79
79
  });
80
80
  it('Should Allow to create an entity from object', async () => {
81
81
 
82
- class MyEntity extends A_Entity<{ foo: string }, { foo: string } & A_TYPES__Entity_JSON> {
82
+ class MyEntity extends A_Entity<{ foo: string }, { foo: string } & A_TYPES__Entity_Serialized> {
83
83
  foo!: string;
84
84
 
85
85
  fromNew(newEntity: { foo: string; }): void {
86
86
  super.fromNew(newEntity);
87
87
  this.aseid = new ASEID({
88
- namespace: 'default',
88
+ concept: 'default',
89
89
  scope: 'default',
90
90
  entity: 'entity-a',
91
91
  id: Math.floor(Math.random() * 1000000000).toString(),
@@ -105,10 +105,10 @@ describe('A-Entity tests', () => {
105
105
  });
106
106
  it('Should Allow to rewrite initializer method without changes to other methods', async () => {
107
107
 
108
- class MyEntity extends A_Entity<{ foo: string }, { foo: string } & A_TYPES__Entity_JSON> {
108
+ class MyEntity extends A_Entity<{ foo: string }, { foo: string } & A_TYPES__Entity_Serialized> {
109
109
  foo!: string;
110
110
 
111
- protected getInitializer(props?: string | { foo: string; } | ({ foo: string; } & A_TYPES__Entity_JSON) | ASEID | undefined): (props: any) => void | (() => void) {
111
+ protected getInitializer(props?: string | { foo: string; } | ({ foo: string; } & A_TYPES__Entity_Serialized) | ASEID | undefined): (props: any) => void | (() => void) {
112
112
  if (typeof props === 'object' && props !== null && 'foo' in props) {
113
113
  return this.fromFoo.bind(this);
114
114
  }
@@ -123,7 +123,7 @@ describe('A-Entity tests', () => {
123
123
  fromNew(newEntity: { foo: string; }): void {
124
124
  super.fromNew(newEntity);
125
125
  this.aseid = new ASEID({
126
- namespace: 'default',
126
+ concept: 'default',
127
127
  scope: 'default',
128
128
  entity: 'entity-a',
129
129
  id: Math.floor(Math.random() * 1000000000).toString(),
@@ -151,12 +151,12 @@ describe('A-Entity tests', () => {
151
151
  });
152
152
  it('Should allow to serialize and deserialize an entity', async () => {
153
153
 
154
- class MyEntity extends A_Entity<{ foo: string }, { foo: string } & A_TYPES__Entity_JSON> {
154
+ class MyEntity extends A_Entity<{ foo: string }, { foo: string } & A_TYPES__Entity_Serialized> {
155
155
  public foo!: string;
156
156
 
157
157
  fromNew(newEntity: { foo: string; }): void {
158
158
  this.aseid = new ASEID({
159
- namespace: 'default',
159
+ concept: 'default',
160
160
  scope: 'default',
161
161
  entity: 'entity-a',
162
162
  id: Math.floor(Math.random() * 1000000000).toString(),
@@ -164,13 +164,13 @@ describe('A-Entity tests', () => {
164
164
  this.foo = newEntity.foo;
165
165
  }
166
166
 
167
- fromJSON(serialized: { foo: string; } & A_TYPES__Entity_JSON): void {
167
+ fromJSON(serialized: { foo: string; } & A_TYPES__Entity_Serialized): void {
168
168
  this.aseid = new ASEID(serialized.aseid);
169
169
  this.foo = serialized.foo;
170
170
  return;
171
171
  }
172
172
 
173
- toJSON(): { foo: string } & A_TYPES__Entity_JSON {
173
+ toJSON(): { foo: string } & A_TYPES__Entity_Serialized {
174
174
  return {
175
175
  ...super.toJSON(),
176
176
  foo: this.foo,
@@ -0,0 +1,129 @@
1
+ import { A_CONSTANTS__DEFAULT_ENV_VARIABLES } from "@adaas/a-concept/constants/env.constants";
2
+ import { A_Context } from "@adaas/a-concept/global/A-Context/A-Context.class";
3
+ import { A_Error } from "@adaas/a-concept/global/A-Error/A_Error.class";
4
+ import { A_CONSTANTS__ERROR_CODES, A_CONSTANTS__ERROR_DESCRIPTION } from "@adaas/a-concept/global/A-Error/A_Error.constants";
5
+
6
+ jest.retryTimes(0);
7
+
8
+ describe('A-Error Tests', () => {
9
+
10
+ it('It Should be possible to create an A_Error instance', async () => {
11
+
12
+ const error = new A_Error('Test error');
13
+
14
+ expect(error).toBeDefined();
15
+ expect(error.message).toBe('Test error');
16
+ expect(error.code).toBe('test-error');
17
+ expect(error.type).toBe('a-error');
18
+ });
19
+
20
+ it('It Should be possible to create an A_Error instance from another error', async () => {
21
+
22
+ const originalError = new Error('Original error');
23
+ const error = new A_Error(originalError);
24
+
25
+ expect(error).toBeDefined();
26
+ expect(error.message).toBe('Original error');
27
+ expect(error.code).toBe(A_CONSTANTS__ERROR_CODES.UNEXPECTED_ERROR);
28
+ expect(error.type).toBe('a-error');
29
+ expect(error.originalError).toBe(originalError);
30
+ });
31
+
32
+ it('It Should be possible to create an A_Error instance from another A_Error', async () => {
33
+
34
+ const originalError = new A_Error('Original A_Error', 'This is the original error');
35
+ const error = new A_Error(originalError);
36
+
37
+ expect(error).toBeDefined();
38
+ expect(error).toBe(originalError);
39
+ expect(error.message).toBe('Original A_Error');
40
+ expect(error.code).toBe('original-a-error');
41
+ expect(error.type).toBe('a-error');
42
+ expect(error.description).toBe('This is the original error');
43
+ expect(error.originalError).toBeUndefined()
44
+
45
+ });
46
+ it('It Should be possible to create an A_Error instance from another A_Error with custom code and description', async () => {
47
+
48
+ const originalError = new A_Error('Original A_Error', 'This is the original error');
49
+ const error = new A_Error({
50
+ code: 'test-code',
51
+ message: 'Custom error message',
52
+ description: 'This is a custom error description',
53
+ originalError
54
+ });
55
+
56
+ expect(error).toBeDefined();
57
+ expect(error.message).toBe('Custom error message');
58
+ expect(error.code).toBe('test-code');
59
+ expect(error.type).toBe('a-error');
60
+ expect(error.description).toBe('This is a custom error description');
61
+ expect(error.originalError).toBe(originalError);
62
+ });
63
+
64
+ it('It Should be possible to create an A_Error instance from another A_Error with only custom message', async () => {
65
+
66
+ const originalError = new A_Error('Original A_Error', 'This is the original error');
67
+
68
+ const error = new A_Error({
69
+ message: 'Custom error message',
70
+ originalError: originalError
71
+ });
72
+
73
+ expect(error).toBeDefined();
74
+ expect(error.message).toBe('Custom error message');
75
+ expect(error.code).toBe('custom-error-message');
76
+ expect(error.type).toBe('a-error');
77
+ expect(error.description).toBe(A_CONSTANTS__ERROR_DESCRIPTION);
78
+ expect(error.originalError).toBe(originalError);
79
+ });
80
+
81
+ it('It Should be possible to create an inherited A_Error instance', async () => {
82
+ class MyError extends A_Error { }
83
+
84
+ const error = new MyError('Test inherited error');
85
+
86
+ expect(error).toBeDefined();
87
+ expect(error.message).toBe('Test inherited error');
88
+ expect(error.code).toBe('test-inherited-error');
89
+ expect(error.type).toBe('my-error');
90
+ });
91
+
92
+ it('It should be possible to serialize an A_Error instance', async () => {
93
+
94
+ const originalError = new A_Error('Original A_Error', 'This is the original error');
95
+ const error = new A_Error(originalError);
96
+
97
+ const serialized = error.toJSON();
98
+
99
+ expect(serialized).toBeDefined();
100
+ expect(serialized.message).toBe('Original A_Error');
101
+ expect(serialized.code).toBe('original-a-error');
102
+ expect(serialized.type).toBe('a-error');
103
+ expect(serialized.scope).toBe('root');
104
+ expect(serialized.description).toBe('This is the original error');
105
+ expect(serialized.originalError).toBeUndefined();
106
+ });
107
+
108
+ it('It should be possible to change scope and concept via ENV variables', async () => {
109
+ process.env[A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_NAME] = 'my-project';
110
+ process.env[A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_ROOT_SCOPE] = 'my-scope';
111
+
112
+ A_Context.reset();
113
+
114
+ const error = new A_Error('Test error in custom concept and scope');
115
+
116
+ expect(error).toBeDefined();
117
+ expect(error.message).toBe('Test error in custom concept and scope');
118
+ expect(error.code).toBe('test-error-in-custom-concept-and-scope');
119
+ expect(error.type).toBe('a-error');
120
+ expect(error.aseid.concept).toBe('my-project');
121
+ expect(error.aseid.scope).toBe('my-scope');
122
+ expect(error.scope).toBe('my-scope');
123
+
124
+ // Reset env variables
125
+ process.env[A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_NAME] = undefined;
126
+ process.env[A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_ROOT_SCOPE] = undefined;
127
+ });
128
+
129
+ });
@@ -1,45 +1,51 @@
1
1
  import './test.setup';
2
2
 
3
- import { A_Inject } from "@adaas/a-concept/decorators/A-Inject/A-Inject.decorator";
3
+ import { A_Inject } from "@adaas/a-concept/global/A-Inject/A-Inject.decorator";
4
4
  import { A_Component } from "@adaas/a-concept/global/A-Component/A-Component.class";
5
5
  import { A_Feature } from "@adaas/a-concept/global/A-Feature/A-Feature.class";
6
- import { A_FeatureCaller } from "@adaas/a-concept/global/A-Feature/A-FeatureCaller.class";
7
6
  import { A_Scope } from "@adaas/a-concept/global/A-Scope/A-Scope.class";
7
+ import { A_Caller } from '@adaas/a-concept/global/A-Caller/A_Caller.class';
8
+ import { A_Context } from '@adaas/a-concept/global/A-Context/A-Context.class';
8
9
 
9
10
  jest.retryTimes(0);
10
11
 
11
12
  describe('A-Feature tests', () => {
12
- it('Should Allow to create a feature from undefined', async () => {
13
+ it('Should Allow to create a feature from component', async () => {
14
+ const testComponent = new A_Component()
15
+ A_Context.root.register(testComponent);
16
+
13
17
  const feature = new A_Feature({
14
- name: 'TestFeature',
15
- scope: new A_Scope({ name: 'TestScope' }),
16
- steps: [],
17
- caller: new A_Component()
18
+ name: 'testFeature',
19
+ component: testComponent,
18
20
  });
21
+
22
+ expect(feature).toBeInstanceOf(A_Feature);
23
+ expect(feature.scope.parent).toBe(A_Context.root);
24
+
19
25
  });
20
26
  it('Should Allow to create a feature with steps', async () => {
27
+ const template = [
28
+ {
29
+ name: 'A_Component.testHandler',
30
+ component: A_Component,
31
+ handler: 'testHandler',
32
+ }
33
+ ]
34
+
21
35
  const feature = new A_Feature({
22
- name: 'TestFeature',
23
- scope: new A_Scope({ name: 'TestScope' }),
24
- steps: [
25
- {
26
- name: 'A_Component.testHandler',
27
- component: A_Component,
28
- handler: 'testHandler',
29
- behavior: 'sync',
30
- before: [],
31
- after: []
32
- }
33
- ],
34
- caller: new A_Component()
36
+ name: 'testFeature',
37
+ scope: new A_Scope(),
38
+ template
35
39
  });
40
+
41
+ expect(feature).toBeInstanceOf(A_Feature);
36
42
  });
37
43
  it('Should be possible to execute a feature with steps as a template on the component', async () => {
38
44
  // 1) create a base component with some feature
39
45
  class MyExtendedComponent extends A_Component {
40
46
 
41
47
  async testHandler(
42
- @A_Inject(A_FeatureCaller) caller: MyComponent
48
+ @A_Inject(A_Caller) caller: MyComponent
43
49
  ) {
44
50
  caller.sum = 2;
45
51
  }
@@ -58,6 +64,11 @@ describe('A-Feature tests', () => {
58
64
  behavior: 'sync',
59
65
  before: [],
60
66
  after: []
67
+ },
68
+ {
69
+ name: 'MyExtendedComponent.testHandler',
70
+ component: MyExtendedComponent,
71
+ handler: 'testHandler'
61
72
  }]
62
73
  })
63
74
  async testHandler() { }
@@ -81,12 +92,12 @@ describe('A-Feature tests', () => {
81
92
  expect(myComponent.sum).toBe(2);
82
93
 
83
94
  });
84
- it('Should be possible to execute a feature with steps as a template on the component with string component declaration', async () => {
95
+ it('Should be possible to execute a feature with steps as a template on the component with string component declaration', async () => {
85
96
  // 1) create a base component with some feature
86
97
  class MyExtendedComponent2 extends A_Component {
87
98
 
88
99
  async testHandler(
89
- @A_Inject(A_FeatureCaller) caller: MyComponent2
100
+ @A_Inject(A_Caller) caller: MyComponent2
90
101
  ) {
91
102
  caller.sum = 2;
92
103
  }
@@ -128,6 +139,4 @@ describe('A-Feature tests', () => {
128
139
  expect(myComponent.sum).toBe(2);
129
140
 
130
141
  });
131
-
132
-
133
142
  });
@@ -1,10 +1,14 @@
1
1
  import './test.setup';
2
2
 
3
- import { A_Command } from "@adaas/a-concept/global/A-Command/A-Command.class";
3
+ import { A_Command } from "@adaas/a-concept/base/A-Command/A-Command.class";
4
4
  import { A_Component } from "@adaas/a-concept/global/A-Component/A-Component.class";
5
+ import { A_Concept } from '@adaas/a-concept/global/A-Concept/A-Concept.class';
6
+ import { A_Container } from '@adaas/a-concept/global/A-Container/A-Container.class';
7
+ import { A_Context } from '@adaas/a-concept/global/A-Context/A-Context.class';
5
8
  import { A_Entity } from "@adaas/a-concept/global/A-Entity/A-Entity.class";
9
+ import { A_Feature } from '@adaas/a-concept/global/A-Feature/A-Feature.class';
6
10
  import { A_Scope } from "@adaas/a-concept/global/A-Scope/A-Scope.class";
7
- import { ASEID } from "@adaas/a-utils";
11
+ import { ASEID } from '@adaas/a-concept/global/ASEID/ASEID.class';
8
12
 
9
13
  jest.retryTimes(0);
10
14
 
@@ -54,7 +58,7 @@ describe('A-Scope tests', () => {
54
58
  const parentScope = new A_Scope({ name: 'ParentScope' });
55
59
  const childScope = new A_Scope({ name: 'ChildScope' });
56
60
 
57
- childScope.parent(parentScope);
61
+ childScope.inherit(parentScope);
58
62
 
59
63
  const component = new A_Component();
60
64
  parentScope.register(component);
@@ -68,7 +72,7 @@ describe('A-Scope tests', () => {
68
72
  public bar!: string;
69
73
  fromNew(newEntity: { bar: string; }): void {
70
74
  this.aseid = new ASEID({
71
- namespace: 'default',
75
+ concept: 'default',
72
76
  scope: 'default',
73
77
  entity: 'entity-a',
74
78
  id: Math.floor(Math.random() * 1000000000).toString(),
@@ -92,7 +96,7 @@ describe('A-Scope tests', () => {
92
96
  public bar!: string;
93
97
  fromNew(newEntity: { bar: string; }): void {
94
98
  this.aseid = new ASEID({
95
- namespace: 'default',
99
+ concept: 'default',
96
100
  scope: 'default',
97
101
  entity: 'entity-a',
98
102
  id: Math.floor(Math.random() * 1000000000).toString(),
@@ -116,7 +120,7 @@ describe('A-Scope tests', () => {
116
120
  public foo!: string;
117
121
  fromNew(newEntity: { foo: string; }): void {
118
122
  this.aseid = new ASEID({
119
- namespace: 'default',
123
+ concept: 'default',
120
124
  scope: 'default',
121
125
  entity: 'entity-a',
122
126
  id: Math.floor(Math.random() * 1000000000).toString(),
@@ -137,7 +141,7 @@ describe('A-Scope tests', () => {
137
141
  public foo!: string;
138
142
  fromNew(newEntity: { foo: string; }): void {
139
143
  this.aseid = new ASEID({
140
- namespace: 'default',
144
+ concept: 'default',
141
145
  scope: 'default',
142
146
  entity: 'entity-a',
143
147
  id: Math.floor(Math.random() * 1000000000).toString(),
@@ -184,7 +188,9 @@ describe('A-Scope tests', () => {
184
188
  expect(resolved3).toBe(MyEntity);
185
189
 
186
190
  expect(() => {
187
- scope.resolveConstructor<MyEntity>('my__entity');
191
+ const res = scope.resolveConstructor<MyEntity>('mya__entity');
192
+
193
+ console.log('RESOLVED:::: ', res)
188
194
  }).toThrow();
189
195
 
190
196
  const instance = new resolved();
@@ -193,36 +199,58 @@ describe('A-Scope tests', () => {
193
199
  expect(instance.foo).toBe('bar');
194
200
 
195
201
  });
196
- it('Should allow to resolve A-Command by classname', async () => {
197
- class MyCommand extends A_Command<{ foo: string }, { bar: string }> {
202
+ it('Should allow to resolve A-Entity by classname', async () => {
203
+ class MyEntity extends A_Entity<{ foo: string }> {
198
204
  public foo!: string;
199
205
 
200
- fromNew(newCommand: { foo: string; }): void {
201
- super.fromNew(newCommand);
202
- this.foo = newCommand.foo;
206
+ fromNew(newEntity: { foo: string; }): void {
207
+ super.fromNew(newEntity);
208
+ this.foo = newEntity.foo;
203
209
  }
204
210
 
205
211
  }
206
212
 
207
213
  const scope = new A_Scope({ name: 'TestScope' });
208
- scope.register(MyCommand);
214
+ scope.register(MyEntity);
209
215
 
210
- const resolved = scope.resolveConstructor<MyCommand>('my-command');
211
- const resolved2 = scope.resolveConstructor<MyCommand>('my_command');
212
- const resolved3 = scope.resolveConstructor<MyCommand>('MyCommand');
213
- expect(resolved).toBe(MyCommand);
214
- expect(resolved2).toBe(MyCommand);
215
- expect(resolved3).toBe(MyCommand);
216
+ const resolved = scope.resolveConstructor<MyEntity>('my-entity');
217
+ const resolved2 = scope.resolveConstructor<MyEntity>('my_entity');
218
+ const resolved3 = scope.resolveConstructor<MyEntity>('MyEntity');
219
+ expect(resolved).toBe(MyEntity);
220
+ expect(resolved2).toBe(MyEntity);
221
+ expect(resolved3).toBe(MyEntity);
216
222
 
217
223
  expect(() => {
218
- scope.resolveConstructor<MyCommand>('my--command');
224
+ scope.resolveConstructor<MyEntity>('myS-entity');
219
225
  }).toThrow();
220
226
 
221
227
 
222
228
  const instance = new resolved({ foo: 'bar' });
223
229
 
224
- expect(instance).toBeInstanceOf(MyCommand);
230
+ expect(instance).toBeInstanceOf(MyEntity);
225
231
  expect(instance.foo).toBe('bar');
226
232
 
227
233
  });
234
+
235
+ it('Should provide a proper inheritance chain', async () => {
236
+ class customContainer extends A_Container { }
237
+ class customEntity extends A_Entity { }
238
+
239
+ const container = new customContainer({ name: 'CustomContainer', entities: [customEntity] })
240
+
241
+ const concept = new A_Concept({
242
+ containers: [container],
243
+ });
244
+
245
+ // root scope
246
+ expect(concept.scope).toBe(A_Context.root);
247
+ // root -> container.scope
248
+ expect(container.scope.parent).toBe(concept.scope);
249
+ const feature = new A_Feature({
250
+ name: 'test',
251
+ component: container
252
+ });
253
+ // root -> container.scope -> feature.scope
254
+ expect(feature.scope.parent).toBe(container.scope);
255
+ });
228
256
  });