@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
@@ -0,0 +1,288 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.A_TypeGuards = void 0;
4
+ const A_Component_class_1 = require("../global/A-Component/A-Component.class");
5
+ const A_Component_meta_1 = require("../global/A-Component/A-Component.meta");
6
+ const A_Container_class_1 = require("../global/A-Container/A-Container.class");
7
+ const A_Container_meta_1 = require("../global/A-Container/A-Container.meta");
8
+ const A_Entity_class_1 = require("../global/A-Entity/A-Entity.class");
9
+ const A_Entity_meta_1 = require("../global/A-Entity/A-Entity.meta");
10
+ const A_Feature_class_1 = require("../global/A-Feature/A-Feature.class");
11
+ const A_Fragment_class_1 = require("../global/A-Fragment/A-Fragment.class");
12
+ const A_Scope_class_1 = require("../global/A-Scope/A-Scope.class");
13
+ const A_Caller_class_1 = require("../global/A-Caller/A_Caller.class");
14
+ const A_Error_class_1 = require("../global/A-Error/A_Error.class");
15
+ const A_Common_helper_1 = require("./A_Common.helper");
16
+ class A_TypeGuards {
17
+ // ===========================================================================
18
+ // ============================= BASE Type Guards ============================
19
+ // ===========================================================================
20
+ /**
21
+ * Check if value is a string
22
+ *
23
+ * @param value
24
+ * @returns
25
+ */
26
+ static isString(value) {
27
+ return typeof value === 'string' || value instanceof String;
28
+ }
29
+ /**
30
+ * Check if value is a number
31
+ *
32
+ * @param value
33
+ * @returns
34
+ */
35
+ static isNumber(value) {
36
+ return typeof value === 'number' && isFinite(value);
37
+ }
38
+ /**
39
+ * Check if value is a boolean
40
+ *
41
+ * @param value
42
+ * @returns
43
+ */
44
+ static isBoolean(value) {
45
+ return typeof value === 'boolean';
46
+ }
47
+ /**
48
+ * Check if value is an array
49
+ *
50
+ * @param value
51
+ * @returns
52
+ */
53
+ static isArray(value) {
54
+ return Array.isArray(value);
55
+ }
56
+ /**
57
+ * Check if value is an object
58
+ *
59
+ * @param value
60
+ * @returns
61
+ */
62
+ static isObject(value) {
63
+ return value && typeof value === 'object' && !Array.isArray(value);
64
+ }
65
+ /**
66
+ * Check if value is a function
67
+ *
68
+ * @param value
69
+ * @returns
70
+ */
71
+ static isFunction(value) {
72
+ return typeof value === 'function';
73
+ }
74
+ static isUndefined(value) {
75
+ return typeof value === 'undefined';
76
+ }
77
+ static isRegExp(value) {
78
+ return value instanceof RegExp;
79
+ }
80
+ // ===========================================================================
81
+ // ==========================A-Concept Type Guards ===========================
82
+ // ===========================================================================
83
+ /**
84
+ * Type guard to check if the constructor is of type A_Container
85
+ *
86
+ * @param ctor
87
+ * @returns
88
+ */
89
+ static isContainerConstructor(ctor) {
90
+ return typeof ctor === 'function' && A_Common_helper_1.A_CommonHelper.isInheritedFrom(ctor, A_Container_class_1.A_Container);
91
+ }
92
+ /**
93
+ * Type guard to check if the constructor is of type A_Component
94
+ *
95
+ * @param ctor
96
+ * @returns
97
+ */
98
+ static isComponentConstructor(ctor) {
99
+ return typeof ctor === 'function' && A_Common_helper_1.A_CommonHelper.isInheritedFrom(ctor, A_Component_class_1.A_Component);
100
+ }
101
+ /**
102
+ * Type guard to check if the constructor is of type A_Fragment
103
+ *
104
+ * @param ctor
105
+ * @returns
106
+ */
107
+ static isFragmentConstructor(ctor) {
108
+ return typeof ctor === 'function' && A_Common_helper_1.A_CommonHelper.isInheritedFrom(ctor, A_Fragment_class_1.A_Fragment);
109
+ }
110
+ /**
111
+ * Type guard to check if the constructor is of type A_Entity
112
+ *
113
+ * @param ctor
114
+ * @returns
115
+ */
116
+ static isEntityConstructor(ctor) {
117
+ return typeof ctor === 'function' && A_Common_helper_1.A_CommonHelper.isInheritedFrom(ctor, A_Entity_class_1.A_Entity);
118
+ }
119
+ /**
120
+ * Type guard to check if the constructor is of type A_Scope
121
+ *
122
+ * @param ctor
123
+ * @returns
124
+ */
125
+ static isScopeConstructor(ctor) {
126
+ return typeof ctor === 'function' && A_Common_helper_1.A_CommonHelper.isInheritedFrom(ctor, A_Scope_class_1.A_Scope);
127
+ }
128
+ /**
129
+ * Type guard to check if the constructor is of type A_Scope
130
+ *
131
+ * @param ctor
132
+ * @returns
133
+ */
134
+ static isErrorConstructor(ctor) {
135
+ return typeof ctor === 'function' && A_Common_helper_1.A_CommonHelper.isInheritedFrom(ctor, A_Error_class_1.A_Error);
136
+ }
137
+ /**
138
+ * Type guard to check if the constructor is of type A_Feature
139
+ *
140
+ * @param ctor
141
+ * @returns
142
+ */
143
+ static isFeatureConstructor(ctor) {
144
+ return typeof ctor === 'function' && A_Common_helper_1.A_CommonHelper.isInheritedFrom(ctor, A_Feature_class_1.A_Feature);
145
+ }
146
+ /**
147
+ * Type guard to check if the constructor is of type A_Caller
148
+ *
149
+ * @param ctor
150
+ * @returns
151
+ */
152
+ static isCallerConstructor(ctor) {
153
+ return typeof ctor === 'function' && A_Common_helper_1.A_CommonHelper.isInheritedFrom(ctor, A_Caller_class_1.A_Caller);
154
+ }
155
+ // ----------------------------------------------------------------------------
156
+ // Instance type guards
157
+ // ----------------------------------------------------------------------------
158
+ /**
159
+ * Type guard to check if the instance is of type A_Container
160
+ *
161
+ * @param instance
162
+ * @returns
163
+ */
164
+ static isContainerInstance(instance) {
165
+ return instance instanceof A_Container_class_1.A_Container;
166
+ }
167
+ /**
168
+ * Type guard to check if the instance is of type A_Component
169
+ *
170
+ * @param instance
171
+ * @returns
172
+ */
173
+ static isComponentInstance(instance) {
174
+ return instance instanceof A_Component_class_1.A_Component;
175
+ }
176
+ /**
177
+ * Type guard to check if the instance is of type A_Feature
178
+ *
179
+ * @param instance
180
+ * @returns
181
+ */
182
+ static isFeatureInstance(instance) {
183
+ return instance instanceof A_Feature_class_1.A_Feature;
184
+ }
185
+ /**
186
+ * Type guard to check if the instance is of type A_Fragment
187
+ *
188
+ * @param instance
189
+ * @returns
190
+ */
191
+ static isFragmentInstance(instance) {
192
+ return instance instanceof A_Fragment_class_1.A_Fragment;
193
+ }
194
+ /**
195
+ * Type guard to check if the instance is of type A_Entity
196
+ *
197
+ * @param instance
198
+ * @returns
199
+ */
200
+ static isEntityInstance(instance) {
201
+ return instance instanceof A_Entity_class_1.A_Entity;
202
+ }
203
+ /**
204
+ * Type guard to check if the instance is of type A_Scope
205
+ *
206
+ * @param instance
207
+ * @returns
208
+ */
209
+ static isScopeInstance(instance) {
210
+ return instance instanceof A_Scope_class_1.A_Scope;
211
+ }
212
+ /**
213
+ * Type guard to check if the instance is of type A_Error
214
+ *
215
+ * @param instance
216
+ * @returns
217
+ */
218
+ static isErrorInstance(instance) {
219
+ return instance instanceof A_Error_class_1.A_Error;
220
+ }
221
+ /**
222
+ * Type guard to check if the instance is of type A_ComponentMeta
223
+ *
224
+ * @param instance
225
+ * @returns
226
+ */
227
+ static isComponentMetaInstance(instance) {
228
+ return instance instanceof A_Component_meta_1.A_ComponentMeta;
229
+ }
230
+ /**
231
+ * Type guard to check if the instance is of type A_ContainerMeta
232
+ *
233
+ * @param instance
234
+ * @returns
235
+ */
236
+ static isContainerMetaInstance(instance) {
237
+ return instance instanceof A_Container_meta_1.A_ContainerMeta;
238
+ }
239
+ /**
240
+ * Type guard to check if the instance is of type A_EntityMeta
241
+ *
242
+ * @param instance
243
+ * @returns
244
+ */
245
+ static isEntityMetaInstance(instance) {
246
+ return instance instanceof A_Entity_meta_1.A_EntityMeta;
247
+ }
248
+ // ==========================================================================
249
+ // ========================= SPECIAL Type Guards =============================
250
+ // ===========================================================================
251
+ static isConstructorAvailableForAbstraction(target) {
252
+ return A_TypeGuards.isContainerConstructor(target)
253
+ || A_TypeGuards.isComponentConstructor(target);
254
+ }
255
+ static isTargetAvailableForInjection(target) {
256
+ return A_TypeGuards.isComponentConstructor(target)
257
+ || A_TypeGuards.isComponentInstance(target)
258
+ || A_TypeGuards.isContainerInstance(target);
259
+ }
260
+ static isAllowedForFeatureCall(param) {
261
+ return A_TypeGuards.isContainerInstance(param)
262
+ || A_TypeGuards.isComponentInstance(param)
263
+ || A_TypeGuards.isEntityInstance(param);
264
+ }
265
+ static isAllowedForFeatureDefinition(param) {
266
+ return A_TypeGuards.isContainerInstance(param)
267
+ || A_TypeGuards.isComponentInstance(param)
268
+ || A_TypeGuards.isEntityInstance(param);
269
+ }
270
+ static isAllowedForFeatureExtension(param) {
271
+ return A_TypeGuards.isComponentInstance(param);
272
+ }
273
+ static isAllowedForAbstractionDefinition(param) {
274
+ return A_TypeGuards.isContainerInstance(param)
275
+ || A_TypeGuards.isComponentInstance(param);
276
+ }
277
+ /**
278
+ * Allows to check if the provided param is of constructor type.
279
+ *
280
+ * @param param
281
+ * @returns
282
+ */
283
+ static isConstructorType(param) {
284
+ return !!param && A_TypeGuards.isObject(param) && !(param instanceof Error) && "message" in param;
285
+ }
286
+ }
287
+ exports.A_TypeGuards = A_TypeGuards;
288
+ //# sourceMappingURL=A_TypeGuards.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A_TypeGuards.helper.js","sourceRoot":"","sources":["../../../src/helpers/A_TypeGuards.helper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ type Decrement = [never, 0, 1, 2, 3, 4, 5];
2
+ export type A_TYPES__DeepPartial<T, D extends number = 5> = {
3
+ [P in keyof Required<T>]?: [
4
+ D
5
+ ] extends [never] ? any : Required<T>[P] extends Array<infer U> ? Array<A_TYPES__DeepPartial<U, Decrement[D]>> : Required<T>[P] extends Function ? Required<T>[P] : Required<T>[P] extends object ? A_TYPES__DeepPartial<T[P], Decrement[D]> : T[P];
6
+ };
7
+ export type A_TYPES__ObjectKeyEnum<T, E> = {
8
+ [P in keyof Required<T>]?: T[P] extends object ? A_TYPES__ObjectKeyEnum<T[P], E> : E;
9
+ };
10
+ export type A_TYPES__Dictionary<T> = {
11
+ [Key: string]: T;
12
+ };
13
+ export type A_TYPES__NonObjectPaths<T> = T extends object ? {
14
+ [K in keyof T]: `${Exclude<K, symbol>}${""}`;
15
+ }[keyof T] : never;
16
+ export type A_TYPES__Paths<T, D extends number = 5> = [D] extends [never] ? never : (T extends object ? {
17
+ [K in keyof T]: `${Exclude<K, symbol>}${"" | `.${A_TYPES__Paths<T[K], Decrement[D]>}`}`;
18
+ }[keyof T] : never);
19
+ export type A_TYPES__UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
20
+ export type A_TYPES__PathsToObject<_Obj, T extends readonly string[]> = A_TYPES__UnionToIntersection<{
21
+ [K in keyof T]: T[K] extends `${infer Key}.${infer Rest}` ? {
22
+ [P in Key]: P extends keyof _Obj ? A_TYPES__PathsToObject<Required<_Obj>[P], [Rest]> : any;
23
+ } : {
24
+ [P in T[K]]: `${T[K]}` extends keyof Required<_Obj> ? Required<_Obj>[`${T[K]}`] : never;
25
+ };
26
+ }[number]>;
27
+ export type A_TYPES__Required<T, arr extends (A_TYPES__Paths<T>)[] = (A_TYPES__Paths<T>)[]> = A_TYPES__PathsToObject<T, arr> & T;
28
+ export type A_TYPES__ExtractNested<T, P extends string> = P extends `${infer K}.${infer Rest}` ? K extends keyof T ? {
29
+ [Key in K]: A_TYPES__ExtractNested<T[K], Rest>;
30
+ } : never : P extends keyof T ? {
31
+ [Key in P]: T[P];
32
+ } : never;
33
+ export type A_TYPES__ExtractProperties<T, P extends A_TYPES__Paths<T>[]> = A_TYPES__UnionToIntersection<{
34
+ [K in keyof P]: P[K] extends string ? A_TYPES__ExtractNested<T, P[K]> : never;
35
+ }[number]>;
36
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=A_Common.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A_Common.types.js","sourceRoot":"","sources":["../../../src/types/A_Common.types.ts"],"names":[],"mappings":""}
package/index.ts CHANGED
@@ -5,14 +5,11 @@ export * from './src/constants/env.constants';
5
5
 
6
6
  // ---------------------- Major Components ----------------------
7
7
  export { A_Context } from './src/global/A-Context/A-Context.class';
8
- // export * from './src/global/A-Context/A-Context.types';
8
+ export * from './src/global/A-Context/A-Context.types';
9
9
 
10
- export { A_Abstraction } from './src/global/A-Abstraction/A-Abstraction.class';
11
- export * from './src/global/A-Abstraction/A-Abstraction.types';
12
-
13
- export { A_Concept } from './src/global/A-Concept/A_Concept.class';
14
- export { A_ConceptMeta } from './src/global/A-Concept/A_Concept.meta';
15
- export * from './src/global/A-Concept/A_Concept.types';
10
+ export { A_Concept } from './src/global/A-Concept/A-Concept.class';
11
+ export { A_ConceptMeta } from './src/global/A-Concept/A-Concept.meta';
12
+ export * from './src/global/A-Concept/A-Concept.types';
16
13
 
17
14
  export { A_Container } from './src/global/A-Container/A-Container.class';
18
15
  export { A_ContainerMeta } from './src/global/A-Container/A-Container.meta';
@@ -27,21 +24,35 @@ export * from './src/global/A-Entity/A-Entity.types';
27
24
 
28
25
 
29
26
  // ---------------------- Common Components ----------------------
30
- export { A_Channel } from './src/global/A-Channel/A-Channel.class';
31
- export * from './src/global/A-Channel/A-Channel.types';
27
+ export { A_Abstraction } from './src/global/A-Abstraction/A-Abstraction.class';
28
+ export { A_AbstractionError } from './src/global/A-Abstraction/A-Abstraction.error';
29
+ export * from './src/global/A-Abstraction/A-Abstraction.types';
30
+
31
+ export { A_Caller } from './src/global/A-Caller/A_Caller.class';
32
+ export { A_CallerError } from './src/global/A-Caller/A_Caller.error';
33
+ export * from './src/global/A-Caller/A_Caller.types';
34
+
35
+ export { A_Error } from './src/global/A-Error/A_Error.class';
36
+ export * from './src/global/A-Error/A_Error.types';
37
+
38
+ export { ASEID } from './src/global/ASEID/ASEID.class';
39
+ export { ASEID_Error } from './src/global/ASEID/ASEID.error';
40
+ export * from './src/global/ASEID/ASEID.types';
32
41
 
33
42
  export { A_Feature } from './src/global/A-Feature/A-Feature.class';
34
- export { A_FeatureCaller } from './src/global/A-Feature/A-FeatureCaller.class';
43
+ export { A_FeatureError } from './src/global/A-Feature/A-Feature.error';
35
44
  export * from './src/global/A-Feature/A-Feature.types';
36
45
 
37
46
  export { A_Stage } from './src/global/A-Stage/A-Stage.class';
47
+ export { A_StageError } from './src/global/A-Stage/A-Stage.error';
38
48
  export * from './src/global/A-Stage/A-Stage.types';
39
49
 
40
50
  export { A_Scope } from './src/global/A-Scope/A-Scope.class';
51
+ export { A_ScopeError } from './src/global/A-Scope/A-Scope.error';
41
52
  export * from './src/global/A-Scope/A-Scope.types';
42
53
 
43
54
  export { A_Meta } from './src/global/A-Meta/A-Meta.class';
44
- // export * from './src/global/A-Meta/A-Meta.types';
55
+ export * from './src/global/A-Meta/A-Meta.types';
45
56
 
46
57
  export { A_Fragment } from './src/global/A-Fragment/A-Fragment.class';
47
58
  export * from './src/global/A-Fragment/A-Fragment.types';
@@ -50,43 +61,8 @@ export * from './src/global/A-Fragment/A-Fragment.types';
50
61
  // =================================================================================================
51
62
  // =============================== Export Decorators ============================================
52
63
  // =================================================================================================
53
-
54
- export { A_Inject } from './src/decorators/A-Inject/A-Inject.decorator';
55
- export * from './src/decorators/A-Inject/A-Inject.decorator.types';
56
-
57
- export { A_Feature_Define } from './src/decorators/A-Feature/A-Feature-Define.decorator';
58
- export { A_Feature_Extend } from './src/decorators/A-Feature/A-Feature-Extend.decorator';
59
- export * from './src/decorators/A-Feature/A-Feature.decorator.types';
60
-
61
- export { A_Abstraction_Extend } from './src/decorators/A-Abstraction/A-Abstraction-Extend.decorator';
62
- export * from './src/decorators/A-Abstraction/A-Abstraction.decorator.types';
63
-
64
- export { A_Connect } from './src/decorators/A-Connect/A-Connect.decorator';
65
- export * from './src/decorators/A-Connect/A-Connect.decorator.types';
66
-
67
-
68
- // =================================================================================================
69
- // =============================== Export Base Entities ============================================
70
- // =================================================================================================
71
- export { A_ConfigLoader } from './src/base/A-Config/A-Config.container';
72
- export { A_Config } from './src/base/A-Config/A-Config.context';
73
- export * from './src/base/A-Config/A-Config.types';
74
- export { ConfigReader } from './src/base/A-Config/components/ConfigReader.component';
75
- export { ENVConfigReader } from './src/base/A-Config/components/ENVConfigReader.component';
76
- export { FileConfigReader } from './src/base/A-Config/components/FileConfigReader.component';
77
- export * from './src/base/A-Config/A-Config.types';
78
-
79
- export * from './src/base/A-Logger/A-Logger.component';
80
- // export * from './src/base/A-Logger/A-Logger.types';
81
-
82
-
83
-
84
- export { A_Command } from './src/global/A-Command/A-Command.class';
85
- export * from './src/global/A-Command/A-Command.types';
86
- export * from './src/global/A-Command/A-Command.constants';
87
- export { A_CommandContext } from './src/global/A-Command/context/A_Command.context';
88
-
89
-
90
- export { A_ErrorsManager } from './src/base/A-Errors/A-Errors.component';
91
- export { A_Errors } from './src/base/A-Errors/A-Errors.context';
92
- export * from './src/base/A-Errors/A-Errors.types';
64
+ export { A_Inject } from './src/global/A-Inject/A-Inject.decorator';
65
+ export * from './src/global/A-Inject/A-Inject.types';
66
+ export { A_Feature_Define } from './src/global/A-Feature/A-Feature-Define.decorator';
67
+ export { A_Feature_Extend } from './src/global/A-Feature/A-Feature-Extend.decorator';
68
+ export { A_Abstraction_Extend } from './src/global/A-Abstraction/A-Abstraction-Extend.decorator';
package/jest.config.ts CHANGED
@@ -14,6 +14,7 @@ const config: Config.InitialOptions = {
14
14
  "@adaas/a-concept/helpers/(.*)": ["<rootDir>/src/helpers/$1"],
15
15
  "@adaas/a-concept/decorators/(.*)": ["<rootDir>/src/decorators/$1"],
16
16
  "@adaas/a-concept/base/(.*)": ["<rootDir>/src/base/$1"],
17
+ "@adaas/a-concept/utils/(.*)": ["<rootDir>/src/utils/$1"]
17
18
  }
18
19
 
19
20
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adaas/a-concept",
3
- "version": "0.0.64",
3
+ "version": "0.1.1",
4
4
  "description": "A-Concept is a framework to build new Applications within or outside the ADAAS ecosystem. This framework is designed to be modular structure regardless environment and program goal.",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -51,7 +51,6 @@
51
51
  },
52
52
  "homepage": "https://github.com/ADAAS-org/adaas-adf-auth#readme",
53
53
  "dependencies": {
54
- "@adaas/a-utils": "^0.0.9",
55
54
  "@types/node": "^20.10.0"
56
55
  },
57
56
  "devDependencies": {
@@ -5,15 +5,21 @@ export const A_CONSTANTS__DEFAULT_ENV_VARIABLES = {
5
5
  // These environment variables are used by A-Concept core to configure the application
6
6
  // ----------------------------------------------------------
7
7
  /**
8
- * Namespace of the application
8
+ * Name of the application
9
+ *
10
+ * DEFAULT value is 'a-concept'
11
+ *
9
12
  * [!] Provided name will be used for all aseids in the application by default
10
13
  */
11
- A_CONCEPT_NAMESPACE: 'A_CONCEPT_NAMESPACE',
14
+ A_CONCEPT_NAME: 'A_CONCEPT_NAME',
12
15
  /**
13
- * Default scope of the application
16
+ * Root scope of the application
17
+ *
18
+ * DEFAULT value is 'root'
19
+ *
14
20
  * [!] Provided name will be used for all aseids in the application by default
15
21
  */
16
- A_CONCEPT_DEFAULT_SCOPE: 'A_CONCEPT_DEFAULT_SCOPE',
22
+ A_CONCEPT_ROOT_SCOPE: 'A_CONCEPT_ROOT_SCOPE',
17
23
  /**
18
24
  * Environment of the application e.g. development, production, staging
19
25
  */
@@ -23,10 +29,10 @@ export const A_CONSTANTS__DEFAULT_ENV_VARIABLES = {
23
29
  * [!] Automatically set by A-Concept when the application starts
24
30
  */
25
31
  A_CONCEPT_ROOT_FOLDER: 'A_CONCEPT_ROOT_FOLDER',
26
-
27
- CONFIG_SDK_VALIDATION: 'CONFIG_SDK_VALIDATION',
28
- CONFIG_VERBOSE: 'CONFIG_VERBOSE',
29
- CONFIG_IGNORE_ERRORS: 'CONFIG_IGNORE_ERRORS',
32
+ /**
33
+ * Allows to define a default error description for errors thrown without a description
34
+ */
35
+ A_ERROR_DEFAULT_DESCRIPTION: 'A_ERROR_DEFAULT_DESCRIPTION',
30
36
  } as const
31
37
 
32
38
 
@@ -35,10 +41,11 @@ export type A_TYPES__ConceptENVVariables = (typeof A_CONSTANTS__DEFAULT_ENV_VARI
35
41
 
36
42
 
37
43
  export const A_CONSTANTS__DEFAULT_ENV_VARIABLES_ARRAY = [
38
- A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_NAMESPACE,
44
+ A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_NAME,
45
+ A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_ROOT_SCOPE,
39
46
  A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_ENVIRONMENT,
40
47
  A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_ROOT_FOLDER,
41
- A_CONSTANTS__DEFAULT_ENV_VARIABLES.CONFIG_VERBOSE,
42
- A_CONSTANTS__DEFAULT_ENV_VARIABLES.CONFIG_IGNORE_ERRORS,
48
+
49
+ A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_ERROR_DEFAULT_DESCRIPTION,
43
50
  ] as const;
44
51
 
@@ -0,0 +1,103 @@
1
+ import {
2
+ A_TYPES__AbstractionDecoratorConfig,
3
+ A_TYPES__AbstractionDecoratorDescriptor
4
+ } from "./A-Abstraction.types";
5
+ import { A_Component } from "@adaas/a-concept/global/A-Component/A-Component.class";
6
+ import { A_Context } from "@adaas/a-concept/global/A-Context/A-Context.class";
7
+ import { A_Container } from "@adaas/a-concept/global/A-Container/A-Container.class";
8
+ import { A_ContainerMeta } from "@adaas/a-concept/global/A-Container/A-Container.meta";
9
+ import { A_ComponentMeta } from "@adaas/a-concept/global/A-Component/A-Component.meta";
10
+ import { A_Meta } from "@adaas/a-concept/global/A-Meta/A-Meta.class";
11
+ import { A_TYPES__ConceptAbstractions } from "@adaas/a-concept/global/A-Concept/A-Concept.constants";
12
+ import { A_TYPES__ContainerMetaKey } from "@adaas/a-concept/global/A-Container/A-Container.constants";
13
+ import { A_TYPES__ComponentMetaKey } from "@adaas/a-concept/global/A-Component/A-Component.constants";
14
+ import { A_TYPES__ConceptAbstraction } from "@adaas/a-concept/global/A-Concept/A-Concept.types";
15
+ import { A_AbstractionError } from "./A-Abstraction.error";
16
+ import { A_TypeGuards } from "@adaas/a-concept/helpers/A_TypeGuards.helper";
17
+
18
+
19
+ /**
20
+ * A-Abstraction Extend decorator allows to extends behavior of each concept abstraction execution.
21
+ * In case some components or containers requires to extend the behavior of the abstraction like 'start', 'build' or 'deploy'
22
+ * for example, this decorator allows to do so.
23
+ *
24
+ * @param name - abstraction name
25
+ * @param config - configuration of the abstraction extension
26
+ * @returns
27
+ */
28
+ export function A_Abstraction_Extend(
29
+ /**
30
+ * Name of the Concept Abstraction to extend
31
+ */
32
+ name: A_TYPES__ConceptAbstractions,
33
+ /**
34
+ * Configuration of the Abstraction Extension
35
+ *
36
+ */
37
+ config: Partial<A_TYPES__AbstractionDecoratorConfig> = {}
38
+ ) {
39
+ return function (
40
+ target: A_Container | A_Component,
41
+ propertyKey: string,
42
+ descriptor: A_TYPES__AbstractionDecoratorDescriptor
43
+ ) {
44
+ // for error messages
45
+ const componentName = (target as any)?.constructor?.name || String(target) || 'UnknownComponent';
46
+
47
+ if (!name)
48
+ throw new A_AbstractionError(
49
+ A_AbstractionError.AbstractionExtensionError,
50
+ `Abstraction name must be provided to extend abstraction for '${componentName}'.`,
51
+ );
52
+
53
+ // Only Containers and Components can extend Concept Abstractions
54
+ if (!A_TypeGuards.isConstructorAvailableForAbstraction(target)) {
55
+ throw new A_AbstractionError(
56
+ A_AbstractionError.AbstractionExtensionError,
57
+ `Unable to extend Abstraction '${name}' for '${componentName}'. Only A-Containers and A-Components can extend Abstractions.`,
58
+ );
59
+ }
60
+
61
+ let metaKey;
62
+ const meta: A_ContainerMeta | A_ComponentMeta = A_Context.meta(target);
63
+
64
+ switch (true) {
65
+ case A_TypeGuards.isContainerConstructor(target):
66
+ metaKey = A_TYPES__ContainerMetaKey.ABSTRACTIONS
67
+ break;
68
+ case A_TypeGuards.isComponentConstructor(target):
69
+ metaKey = A_TYPES__ComponentMetaKey.ABSTRACTIONS
70
+ break;
71
+ }
72
+
73
+ // Get the existed metadata or create a new one
74
+ const existedMeta: A_Meta<{
75
+ [Key: string]: A_TYPES__ConceptAbstraction[];
76
+ }> = meta.get(metaKey) || new A_Meta();
77
+
78
+ // Set the metadata of the method to define a custom Stage with name
79
+ const existedMetaValue = existedMeta.get(name) || [];
80
+
81
+
82
+ // Add the new method to the metadata
83
+ existedMetaValue.push({
84
+ name,
85
+ handler: propertyKey,
86
+ before: config.before || [],
87
+ after: config.after || [],
88
+ behavior: config.behavior || 'sync'
89
+ });
90
+
91
+ // Set the metadata of the method to define a custom Feature with name
92
+ existedMeta.set(name, existedMetaValue);
93
+
94
+
95
+ // Update the metadata of the container with the new Stage definition
96
+ A_Context
97
+ .meta(target)
98
+ .set(
99
+ metaKey,
100
+ existedMeta
101
+ );
102
+ };
103
+ }