@adaas/a-concept 0.0.64 → 0.1.2

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 +13 -39
  72. package/dist/src/global/A-Entity/A-Entity.class.js +30 -73
  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 +33 -88
  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,38 +1,261 @@
1
1
  import { A_TYPES__A_StageStep } from "../A-Stage/A-Stage.types";
2
- import { A_Fragment } from "../A-Fragment/A-Fragment.class";
3
2
  import { A_Entity } from "../A-Entity/A-Entity.class";
4
- import { A_Scope } from "../A-Scope/A-Scope.class";
5
3
  import { A_Container } from "../A-Container/A-Container.class";
6
4
  import { A_Component } from "../A-Component/A-Component.class";
7
- export type A_TYPES__FeatureIteratorReturn<T extends any = any> = () => Promise<T>;
8
- export type A_TYPES__FeatureCallParams = {
9
- fragments: Array<A_Fragment>;
10
- entities: Array<A_Entity<any, any>>;
11
- components: Array<{
12
- new (...args: any[]): any;
13
- }>;
14
- };
15
- export type A_TYPES__FeatureConstructor = {
5
+ import { A_TYPES__Component_Constructor } from "../A-Component/A-Component.types";
6
+ import { A_TYPES__Container_Constructor } from "../A-Container/A-Container.types";
7
+ import { A_TYPES__Entity_Constructor } from "../A-Entity/A-Entity.types";
8
+ import { A_Feature } from "./A-Feature.class";
9
+ import { A_TYPES__Required } from "../../types/A_Common.types";
10
+ import { A_Scope } from "../A-Scope/A-Scope.class";
11
+ /**
12
+ * Feature constructor type
13
+ * Uses the generic type T to specify the type of the feature
14
+ */
15
+ export type A_TYPES__Feature_Constructor<T = A_Feature> = new (...args: any[]) => T;
16
+ /**
17
+ * Feature initialization type
18
+ */
19
+ export type A_TYPES__Feature_Init<T extends A_TYPES__FeatureAvailableComponents = A_TYPES__FeatureAvailableComponents> = A_TYPES__Feature_InitWithComponent<T> | A_TYPES__Feature_InitWithTemplate;
20
+ /**
21
+ * Feature initialization type using component
22
+ */
23
+ export type A_TYPES__Feature_InitWithComponent<T extends A_TYPES__FeatureAvailableComponents = A_TYPES__FeatureAvailableComponents> = {
16
24
  /**
17
- * Name of the A-Feature
25
+ * Feature Name
18
26
  */
19
27
  name: string;
20
28
  /**
21
- * Steps that compose the A-Feature
29
+ * The component from where the feature is calling. It's important for proper scoping.
30
+ * Based on the component would be retrieved connected components, entities and containers.
31
+ *
32
+ * [!] Could be Container, Entity, Component or Command
33
+ */
34
+ component: T;
35
+ };
36
+ /**
37
+ * Feature initialization type using template
38
+ */
39
+ export type A_TYPES__Feature_InitWithTemplate = {
40
+ /**
41
+ * Feature Name
22
42
  */
23
- steps: A_TYPES__A_StageStep[];
43
+ name: string;
24
44
  /**
25
- * Scope in which the A-Feature will be executed
45
+ * The scope from where to retrieve dependent components, entities and containers.
46
+ *
47
+ * [!] Important for proper scoping.
26
48
  */
27
49
  scope: A_Scope;
28
50
  /**
29
- *
51
+ * Optional Feature template to be used instead of building it from decorators
30
52
  */
31
- caller: A_Component | A_Entity | A_Container;
53
+ template: Array<A_TYPES__FeatureDefineDecoratorTemplateItem>;
32
54
  };
55
+ /**
56
+ * Feature serialized type
57
+ */
58
+ export type A_TYPES__Feature_Serialized = {};
59
+ /**
60
+ * Feature lifecycle states
61
+ */
33
62
  export declare enum A_TYPES__FeatureState {
63
+ /**
64
+ * The feature has been initialized
65
+ */
34
66
  INITIALIZED = "INITIALIZED",
67
+ /**
68
+ * The feature is currently being processed
69
+ */
35
70
  PROCESSING = "PROCESSING",
71
+ /**
72
+ * The feature has been completed
73
+ */
36
74
  COMPLETED = "COMPLETED",
37
- FAILED = "FAILED"
75
+ /**
76
+ * The feature has been interrupted
77
+ */
78
+ INTERRUPTED = "INTERRUPTED"
38
79
  }
80
+ /**
81
+ * A list of component where features can be Defined
82
+ *
83
+ * [!] On this component Feature Definition is Available
84
+ */
85
+ export type A_TYPES__FeatureAvailableComponents = InstanceType<A_TYPES__FeatureAvailableConstructors>;
86
+ /**
87
+ * A list of constructors where features can be Defined
88
+ *
89
+ * [!] On this component Feature Definition is Available
90
+ */
91
+ export type A_TYPES__FeatureAvailableConstructors = A_TYPES__Component_Constructor | A_TYPES__Entity_Constructor | A_TYPES__Container_Constructor;
92
+ /**
93
+ * Indicates a type of Feature Define decorator
94
+ */
95
+ export type A_TYPES__FeatureDefineDecoratorDescriptor = TypedPropertyDescriptor<() => any> | TypedPropertyDescriptor<(...args: any[]) => any> | TypedPropertyDescriptor<(...args: any[]) => Promise<any>> | TypedPropertyDescriptor<() => Promise<any>>;
96
+ /**
97
+ * Describes additional configuration properties to be used in Feature Define decorator
98
+ */
99
+ export type A_TYPES__FeatureDefineDecoratorConfig = {
100
+ /**
101
+ * Feature name
102
+ *
103
+ * [!] By default uses the method name
104
+ */
105
+ name: string;
106
+ /**
107
+ * Indicates a default behavior of the feature. If true the feature will be automatically attached to the execution.
108
+ *
109
+ * [!] Before feature execution the method itself will be called to prepare the feature template
110
+ * [!] Default is false
111
+ */
112
+ invoke: boolean;
113
+ /**
114
+ * Allows to add a default behavior or number of steps that will be part of the feature
115
+ */
116
+ template: Array<A_TYPES__FeatureDefineDecoratorTemplateItem>;
117
+ };
118
+ /**
119
+ * Describes a single template item used in Feature Define decorator
120
+ */
121
+ export type A_TYPES__FeatureDefineDecoratorTemplateItem = A_TYPES__Required<Partial<A_TYPES__A_StageStep>, ['name', 'handler', 'component']>;
122
+ /**
123
+ * Describes a target where Feature Define decorator can be applied
124
+ *
125
+ * [!] The feature can be defined on Container, Entity, Component or Command
126
+ */
127
+ export type A_TYPES__FeatureDefineDecoratorTarget = A_Container | A_Entity | A_Component;
128
+ /**
129
+ * A type of Meta information stored by Feature Define decorator
130
+ * This information then uses by A-Context to build a proper feature template
131
+ */
132
+ export type A_TYPES__FeatureDefineDecoratorMeta = {
133
+ /**
134
+ * Feature name
135
+ * mainly it's a unique combination of the class name and method name
136
+ */
137
+ name: string;
138
+ /**
139
+ * Actual method name in the class
140
+ */
141
+ handler: string;
142
+ /**
143
+ * Indicates a default behavior of the feature. If true the feature will be automatically attached to the execution.
144
+ *
145
+ * [!] Before feature execution the method itself will be called to prepare the feature template
146
+ * [!] Default is false
147
+ */
148
+ invoke: boolean;
149
+ /**
150
+ * Allows to add a default behavior or number of steps that will be part of the feature
151
+ */
152
+ template: Array<A_TYPES__A_StageStep>;
153
+ };
154
+ /**
155
+ * Descriptor type for A_Extend decorator
156
+ */
157
+ export type A_TYPES__FeatureExtendDecoratorDescriptor = TypedPropertyDescriptor<() => any> | TypedPropertyDescriptor<(...args: any[]) => any> | TypedPropertyDescriptor<(...args: any[]) => Promise<any>> | TypedPropertyDescriptor<() => Promise<any>>;
158
+ /**
159
+ * Target type for A_Extend decorator
160
+ *
161
+ * [!] Can be applied only on A-Components
162
+ */
163
+ export type A_TYPES__FeatureExtendDecoratorTarget = A_Component;
164
+ /**
165
+ * Meta type for A_Extend decorator
166
+ */
167
+ export type A_TYPES__FeatureExtendDecoratorMeta = {
168
+ /**
169
+ * Original Feature Extension name
170
+ *
171
+ * [!] could be string or regex
172
+ */
173
+ name: string;
174
+ /**
175
+ * Actual method name in the class
176
+ */
177
+ handler: string;
178
+ } & A_TYPES__FeatureExtendDecoratorBehaviorConfig;
179
+ /**
180
+ * Configuration type for A_Extend decorator
181
+ */
182
+ export type A_TYPES__FeatureExtendDecoratorConfig = {
183
+ /**
184
+ * Name of the container Lifecycle method to be extended.
185
+ *
186
+ * [!] If not provided will be used the name of the method.
187
+ * [!!] If name contains "." dot it will be considered as a path to the method.
188
+ */
189
+ name: string;
190
+ /**
191
+ * Container class or container name uses to identify the proper container in case when the name is not unique.
192
+ *
193
+ * [!] If not provided will be applied to all containers with the same name.
194
+ * [!!] By default uses OR to join all provided items. If you need more complex Logic, please use Regexp instead
195
+ *
196
+ * [!!!] In case if you need to exclude some containers, entities or components, please use "exclude" property
197
+ *
198
+ * Example:
199
+ *
200
+ * ```ts
201
+ * @A_Feature.Extend({
202
+ * name: 'load',
203
+ * scope: {
204
+ * include: [A_Container1, A_Entity1],
205
+ * exclude: [A_Component1]
206
+ * }
207
+ * })
208
+ * ```
209
+ */
210
+ scope: Array<A_TYPES__FeatureExtendDecoratorScopeItem> | Partial<A_TYPES__FeatureExtendDecoratorScopeConfig>;
211
+ } & A_TYPES__FeatureExtendDecoratorBehaviorConfig;
212
+ /**
213
+ * Scope item that can be used in A_Extend decorator configuration
214
+ */
215
+ export type A_TYPES__FeatureExtendDecoratorScopeConfig = {
216
+ /**
217
+ * A list of components, entities or containers to include in the scope of the extension
218
+ */
219
+ include?: Array<A_TYPES__FeatureExtendDecoratorScopeItem>;
220
+ /**
221
+ * A list of components, entities or containers to exclude from the scope of the extension
222
+ */
223
+ exclude?: Array<A_TYPES__FeatureExtendDecoratorScopeItem>;
224
+ };
225
+ /**
226
+ * A single item that can be used in scope configuration
227
+ */
228
+ export type A_TYPES__FeatureExtendDecoratorScopeItem = {
229
+ new (...args: any[]): A_Container;
230
+ } | {
231
+ new (...args: any[]): A_Entity;
232
+ } | {
233
+ new (...args: any[]): A_Component;
234
+ };
235
+ /**
236
+ * Behavior configuration for A_Extend decorator
237
+ */
238
+ export type A_TYPES__FeatureExtendDecoratorBehaviorConfig = {
239
+ /**
240
+ * The behavior of the method.
241
+ * In case its async it will be executed independently from the main thread.
242
+ *
243
+ * [!] However, in case of sync, it will be executed in the main thread.in the order of the declaration.
244
+ *
245
+ */
246
+ behavior: 'async' | 'sync';
247
+ /**
248
+ * Allows to define the order of the execution of the method.
249
+ *
250
+ * [!] In case the method has circular dependencies it will Throw an error.
251
+ *
252
+ */
253
+ before: string[];
254
+ /**
255
+ * Allows to define the order of the execution of the method.
256
+ *
257
+ * [!] In case the method has circular dependencies it will Throw an error.
258
+ *
259
+ */
260
+ after: string[];
261
+ };
@@ -1,32 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.A_TYPES__FeatureState = void 0;
4
+ /**
5
+ * Feature lifecycle states
6
+ */
4
7
  var A_TYPES__FeatureState;
5
8
  (function (A_TYPES__FeatureState) {
9
+ /**
10
+ * The feature has been initialized
11
+ */
6
12
  A_TYPES__FeatureState["INITIALIZED"] = "INITIALIZED";
13
+ /**
14
+ * The feature is currently being processed
15
+ */
7
16
  A_TYPES__FeatureState["PROCESSING"] = "PROCESSING";
17
+ /**
18
+ * The feature has been completed
19
+ */
8
20
  A_TYPES__FeatureState["COMPLETED"] = "COMPLETED";
9
- A_TYPES__FeatureState["FAILED"] = "FAILED";
21
+ /**
22
+ * The feature has been interrupted
23
+ */
24
+ A_TYPES__FeatureState["INTERRUPTED"] = "INTERRUPTED";
10
25
  })(A_TYPES__FeatureState || (exports.A_TYPES__FeatureState = A_TYPES__FeatureState = {}));
11
- // export type A_TYPES__FeatureStep = {
12
- // /**
13
- // * The component to be called
14
- // */
15
- // component: typeof A_Component,
16
- // /**
17
- // * The method to be called on the component
18
- // */
19
- // handler: string,
20
- // /**
21
- // * Original Feature Extension name
22
- // *
23
- // * [!] could be string or regex
24
- // *
25
- // */
26
- // name: string,
27
- // /**
28
- // * Arguments to be passed to the method
29
- // */
30
- // args: A_TYPES__A_InjectDecorator_Meta
31
- // }
32
26
  //# sourceMappingURL=A-Feature.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"A-Feature.types.js","sourceRoot":"","sources":["../../../../src/global/A-Feature/A-Feature.types.ts"],"names":[],"mappings":";;;AAuCA,IAAY,qBAMX;AAND,WAAY,qBAAqB;IAC7B,oDAA2B,CAAA;IAC3B,kDAAyB,CAAA;IAEzB,gDAAuB,CAAA;IACvB,0CAAiB,CAAA;AACrB,CAAC,EANW,qBAAqB,qCAArB,qBAAqB,QAMhC;AAGD,uCAAuC;AACvC,UAAU;AACV,oCAAoC;AACpC,UAAU;AACV,qCAAqC;AACrC,UAAU;AACV,kDAAkD;AAClD,UAAU;AACV,uBAAuB;AACvB,UAAU;AACV,yCAAyC;AACzC,UAAU;AACV,sCAAsC;AACtC,UAAU;AACV,UAAU;AACV,oBAAoB;AACpB,UAAU;AACV,8CAA8C;AAC9C,UAAU;AACV,4CAA4C;AAC5C,IAAI"}
1
+ {"version":3,"file":"A-Feature.types.js","sourceRoot":"","sources":["../../../../src/global/A-Feature/A-Feature.types.ts"],"names":[],"mappings":";;;AAmEA;;GAEG;AACH,IAAY,qBAiBX;AAjBD,WAAY,qBAAqB;IAC7B;;OAEG;IACH,oDAA2B,CAAA;IAC3B;;OAEG;IACH,kDAAyB,CAAA;IACzB;;OAEG;IACH,gDAAuB,CAAA;IACvB;;OAEG;IACH,oDAA2B,CAAA;AAC/B,CAAC,EAjBW,qBAAqB,qCAArB,qBAAqB,QAiBhC"}
@@ -1,44 +1,36 @@
1
- import { A_TYPES__FragmentConstructor } from "./A-Fragment.types";
2
- /**
3
- * A-Fragment = Context Fragments is a set of arguments that can be used to define a Context for the pipeline.
4
- * In other words it is a dynamic context that will be created on pipeline start and destroyed on pipeline end.
5
- * During the execution of the pipeline, the Context Fragments can be used to pass the data between the pipeline steps.
6
- *
7
- * Or to store the data that is required for the pipeline execution
8
- *
9
- */
10
- export declare class A_Fragment {
11
- name: string;
1
+ import { A_Meta } from "../A-Meta/A-Meta.class";
2
+ import { A_TYPES__Fragment_Init } from "./A-Fragment.types";
3
+ export declare class A_Fragment<_MemoryItems extends Record<string, any> = any> {
12
4
  /**
13
- * Indicates that Context Fragment is ready to use
5
+ * Fragment Name
14
6
  */
15
- ready: Promise<void>;
16
- constructor(params?: Partial<A_TYPES__FragmentConstructor>);
17
- private hasInherited;
7
+ name: string;
18
8
  /**
19
- * Initializes the Namespace or can be used to reinitialize the Namespace
9
+ * Memory storage for the Fragment instance
20
10
  */
21
- private init;
11
+ protected _meta: A_Meta<_MemoryItems>;
22
12
  /**
23
- * Before init hook to be used in inherited classes
13
+ * A-Fragment is a singleton, a piece of execution Context that can be shared between the Components/Entities/Commands
14
+ * For every A_Scope can be defined only One A_Fragment of the same type.
15
+ * This class is useful for the design purpose and maintainance of the application
24
16
  *
25
- * @returns
26
- */
27
- protected onBeforeInit(): Promise<void>;
28
- /**
29
- * Main initialization method for the SDK
17
+ *
18
+ * [!] Every A_Fragment is a Memory Class that can store data in memory between the steps of the pipeline.
19
+ * [!] So if it necessary to store some information in the Execution Context - use memory of the Fragment
30
20
  */
31
- protected onInit(): Promise<void>;
21
+ constructor(params?: Partial<A_TYPES__Fragment_Init>);
32
22
  /**
33
- * After init hook to be used in inherited classes
23
+ * Returns the Meta object that allows to store data in the Fragment memory
34
24
  *
35
25
  * @returns
36
26
  */
37
- protected onAfterInit(): Promise<void>;
27
+ get memory(): A_Meta<_MemoryItems>;
38
28
  /**
39
29
  * Returns the JSON representation of the Fragment
40
30
  *
41
31
  * @returns
42
32
  */
43
- toJSON(): Record<string, any>;
33
+ toJSON(): _MemoryItems & {
34
+ name: string;
35
+ };
44
36
  }
@@ -1,105 +1,34 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.A_Fragment = void 0;
13
- const A_Context_class_1 = require("../A-Context/A-Context.class");
14
- /**
15
- * A-Fragment = Context Fragments is a set of arguments that can be used to define a Context for the pipeline.
16
- * In other words it is a dynamic context that will be created on pipeline start and destroyed on pipeline end.
17
- * During the execution of the pipeline, the Context Fragments can be used to pass the data between the pipeline steps.
18
- *
19
- * Or to store the data that is required for the pipeline execution
20
- *
21
- */
4
+ const A_Meta_class_1 = require("../A-Meta/A-Meta.class");
22
5
  class A_Fragment {
6
+ /**
7
+ * A-Fragment is a singleton, a piece of execution Context that can be shared between the Components/Entities/Commands
8
+ * For every A_Scope can be defined only One A_Fragment of the same type.
9
+ * This class is useful for the design purpose and maintainance of the application
10
+ *
11
+ *
12
+ * [!] Every A_Fragment is a Memory Class that can store data in memory between the steps of the pipeline.
13
+ * [!] So if it necessary to store some information in the Execution Context - use memory of the Fragment
14
+ */
23
15
  constructor(params = {}) {
24
- this.name = params.name || this.constructor.name;
25
16
  /**
26
- * Register the Namespace in the global Namespace provider
17
+ * Memory storage for the Fragment instance
27
18
  */
28
- this.name = params.name || this.constructor.name;
19
+ this._meta = new A_Meta_class_1.A_Meta();
29
20
  /**
30
- * Run Async Initialization
21
+ * Register the Namespace in the global Namespace provider
31
22
  */
32
- this.init();
33
- }
34
- hasInherited(cl) {
35
- return this.constructor === cl
36
- ? false
37
- : true;
38
- }
39
- /**
40
- * Initializes the Namespace or can be used to reinitialize the Namespace
41
- */
42
- init() {
43
- return __awaiter(this, void 0, void 0, function* () {
44
- if (!this.ready)
45
- this.ready = new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
46
- try {
47
- yield this.onBeforeInit();
48
- yield this.onInit();
49
- yield this.onAfterInit();
50
- return resolve();
51
- }
52
- catch (error) {
53
- return reject(error);
54
- }
55
- }));
56
- else
57
- yield this.ready;
58
- });
59
- }
60
- // ==============================================================
61
- // ======================= HOOKS ================================
62
- // ==============================================================
63
- /**
64
- * Before init hook to be used in inherited classes
65
- *
66
- * @returns
67
- */
68
- onBeforeInit() {
69
- return __awaiter(this, void 0, void 0, function* () {
70
- return;
71
- });
72
- }
73
- /**
74
- * Main initialization method for the SDK
75
- */
76
- onInit() {
77
- return __awaiter(this, void 0, void 0, function* () {
78
- // global logger configuration
79
- if (A_Context_class_1.A_Context.environment === 'server' && !this.hasInherited(A_Fragment)) {
80
- // eslint-disable-next-line no-use-before-define
81
- // process.on('uncaughtException', (error) => {
82
- // // log only in case of A_AUTH_Error
83
- // if (error instanceof A_Error)
84
- // this.Logger.error(error);
85
- // });
86
- // // eslint-disable-next-line no-use-before-define
87
- // process.on('unhandledRejection', (error) => {
88
- // if (error instanceof A_Error)
89
- // this.Logger.error(error);
90
- // });
91
- }
92
- });
23
+ this.name = params.name || this.constructor.name;
93
24
  }
94
25
  /**
95
- * After init hook to be used in inherited classes
26
+ * Returns the Meta object that allows to store data in the Fragment memory
96
27
  *
97
28
  * @returns
98
29
  */
99
- onAfterInit() {
100
- return __awaiter(this, void 0, void 0, function* () {
101
- return;
102
- });
30
+ get memory() {
31
+ return this._meta;
103
32
  }
104
33
  /**
105
34
  * Returns the JSON representation of the Fragment
@@ -107,9 +36,10 @@ class A_Fragment {
107
36
  * @returns
108
37
  */
109
38
  toJSON() {
110
- return {
111
- name: this.name,
112
- };
39
+ return Object.assign({ name: this.name }, this.memory.toArray().reduce((acc, [key, value]) => {
40
+ acc[key] = value;
41
+ return acc;
42
+ }, {}));
113
43
  }
114
44
  }
115
45
  exports.A_Fragment = A_Fragment;
@@ -1 +1 @@
1
- {"version":3,"file":"A-Fragment.class.js","sourceRoot":"","sources":["../../../../src/global/A-Fragment/A-Fragment.class.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kEAAyD;AAIzD;;;;;;;GAOG;AACH,MAAa,UAAU;IAWnB,YAAY,SAAgD,EAAE;QAE1D,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAEjD;;WAEG;QACH,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAEjD;;WAEG;QACH,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAKO,YAAY,CAAC,EAA2B;QAC5C,OAAO,IAAI,CAAC,WAAW,KAAK,EAAE;YAC1B,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,IAAI,CAAA;IACd,CAAC;IAED;;OAEG;IACW,IAAI;;YACd,IAAI,CAAC,IAAI,CAAC,KAAK;gBACX,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC/C,IAAI,CAAC;wBACD,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;wBAE1B,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;wBAEpB,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;wBAEzB,OAAO,OAAO,EAAE,CAAC;oBACrB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACb,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;oBACzB,CAAC;gBACL,CAAC,CAAA,CAAC,CAAC;;gBAEH,MAAM,IAAI,CAAC,KAAK,CAAC;QACzB,CAAC;KAAA;IAQD,iEAAiE;IACjE,iEAAiE;IACjE,iEAAiE;IAEjE;;;;OAIG;IACa,YAAY;;YACxB,OAAO;QACX,CAAC;KAAA;IAED;;OAEG;IACa,MAAM;;YAClB,8BAA8B;YAC9B,IAAI,2BAAS,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;gBACvE,gDAAgD;gBAChD,+CAA+C;gBAC/C,0CAA0C;gBAC1C,oCAAoC;gBACpC,oCAAoC;gBACpC,MAAM;gBACN,mDAAmD;gBACnD,gDAAgD;gBAChD,oCAAoC;gBACpC,oCAAoC;gBACpC,MAAM;YACV,CAAC;QACL,CAAC;KAAA;IAED;;;;OAIG;IACa,WAAW;;YACvB,OAAO;QACX,CAAC;KAAA;IAMD;;;;OAIG;IACH,MAAM;QACF,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;SAClB,CAAC;IACN,CAAC;CAEJ;AAxHD,gCAwHC"}
1
+ {"version":3,"file":"A-Fragment.class.js","sourceRoot":"","sources":["../../../../src/global/A-Fragment/A-Fragment.class.ts"],"names":[],"mappings":";;;AAAA,yDAAgD;AAKhD,MAAa,UAAU;IAanB;;;;;;;;OAQG;IACH,YAAY,SAA0C,EAAE;QAfxD;;WAEG;QACO,UAAK,GAAyB,IAAI,qBAAM,EAAgB,CAAC;QAa/D;;WAEG;QACH,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACrD,CAAC;IAED;;;;OAIG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAKD;;;;OAIG;IACH,MAAM;QACF,uBACI,IAAI,EAAE,IAAI,CAAC,IAAI,IACZ,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAClD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACjB,OAAO,GAAG,CAAC;QACf,CAAC,EAAE,EAAkB,CAAC,EACxB;IACN,CAAC;CAEJ;AAxDD,gCAwDC"}
@@ -1,3 +1,21 @@
1
- export type A_TYPES__FragmentConstructor = {
1
+ import { A_Fragment } from "./A-Fragment.class";
2
+ /**
3
+ * Fragment constructor type
4
+ * Uses the generic type T to specify the type of the fragment
5
+ */
6
+ export type A_TYPES__Fragment_Constructor<T = A_Fragment> = new (...args: any[]) => T;
7
+ /**
8
+ * Fragment initialization type
9
+ */
10
+ export type A_TYPES__Fragment_Init = {
2
11
  name: string;
3
12
  };
13
+ /**
14
+ * Fragment serialized type
15
+ */
16
+ export type A_TYPES__Fragment_Serialized = {
17
+ /**
18
+ * The ASEID of the fragment
19
+ */
20
+ aseid: string;
21
+ };
@@ -1,3 +1,6 @@
1
1
  "use strict";
2
+ // ============================================================================
3
+ // --------------------------- Primary Types ----------------------------------
4
+ // ============================================================================
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  //# sourceMappingURL=A-Fragment.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"A-Fragment.types.js","sourceRoot":"","sources":["../../../../src/global/A-Fragment/A-Fragment.types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"A-Fragment.types.js","sourceRoot":"","sources":["../../../../src/global/A-Fragment/A-Fragment.types.ts"],"names":[],"mappings":";AAAA,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E"}
@@ -0,0 +1,80 @@
1
+ import { A_TYPES__A_InjectDecorator_EntityInjectionInstructions, A_TYPES__A_InjectDecoratorReturn } from "./A-Inject.types";
2
+ import { A_Component } from "../A-Component/A-Component.class";
3
+ import { A_Fragment } from "../A-Fragment/A-Fragment.class";
4
+ import { A_TYPES__Component_Constructor } from "../A-Component/A-Component.types";
5
+ import { A_Entity } from "../A-Entity/A-Entity.class";
6
+ import { A_TYPES__Feature_Constructor } from "../A-Feature/A-Feature.types";
7
+ import { A_Caller } from "../A-Caller/A_Caller.class";
8
+ import { A_TYPES__Entity_Constructor } from "../A-Entity/A-Entity.types";
9
+ import { A_TYPES__Fragment_Constructor } from "../A-Fragment/A-Fragment.types";
10
+ import { A_Scope } from "../A-Scope/A-Scope.class";
11
+ import { A_TYPES__Scope_Constructor } from "../A-Scope/A-Scope.types";
12
+ import { A_Feature } from "../A-Feature/A-Feature.class";
13
+ /**
14
+ * A-Inject decorator
15
+ *
16
+ * This Decorator allows to inject dependencies into the module like
17
+ * - Namespaces
18
+ * - Other Concepts
19
+ * - or maybe Components
20
+ *
21
+ * @param params - see overloads
22
+ * @returns - decorator function
23
+ */
24
+ export declare function A_Inject<T extends A_Scope>(
25
+ /***
26
+ * Provide the Scope constructor that will be associated with the injection.
27
+ *
28
+ * [!] It returns an instance of the Scope where the Entity/Component/Container is defined.
29
+ */
30
+ scope: A_TYPES__Scope_Constructor<T>): A_TYPES__A_InjectDecoratorReturn;
31
+ export declare function A_Inject<T extends A_Feature>(
32
+ /**
33
+ * Provide the Feature constructor that will be associated with the injection.
34
+ *
35
+ * [!] It returns an Instance of the Feature what is executed.
36
+ */
37
+ feature: A_TYPES__Feature_Constructor<T>): A_TYPES__A_InjectDecoratorReturn;
38
+ export declare function A_Inject<T extends A_Component>(
39
+ /**
40
+ * Provide the Component constructor that will be associated with the injection.
41
+ *
42
+ * [!] It returns an Instance of the Component from current Scope or from Parent Scopes.
43
+ */
44
+ component: A_TYPES__Component_Constructor<T>): A_TYPES__A_InjectDecoratorReturn;
45
+ export declare function A_Inject(
46
+ /**
47
+ * Provide the A_Caller constructor to inject the Caller instance
48
+ *
49
+ * [!] It returns initiator of the call, e.g. Container/Component/Command who called Feature
50
+ */
51
+ caller: typeof A_Caller): A_TYPES__A_InjectDecoratorReturn;
52
+ export declare function A_Inject<T extends A_Fragment>(
53
+ /**
54
+ * Provide the Fragment constructor to inject the Fragment instance
55
+ *
56
+ * [!] It returns the Fragment instance from current Scope or from Parent Scopes.
57
+ */
58
+ fragment: A_TYPES__Fragment_Constructor<T>): A_TYPES__A_InjectDecoratorReturn;
59
+ export declare function A_Inject<T extends A_Entity>(
60
+ /**
61
+ * Provide the Entity constructor to inject the Entity instance
62
+ *
63
+ * [!] Note: It returns the Entity instance from current Scope or from Parent Scopes.
64
+ * [!] Note: If instance has more than one Entity of the same type It returns FIRST found Entity
65
+ * [!] Note: Use 'config' to specify to inject specific one or even Array of Entities
66
+ */
67
+ entity: A_TYPES__Entity_Constructor<T>,
68
+ /**
69
+ * Provide additional instructions on how to perform the injection
70
+ *
71
+ * [!] Default Pagination is 1 if it's necessary to get multiple Entities please customize it in the instructions
72
+ */
73
+ config?: Partial<A_TYPES__A_InjectDecorator_EntityInjectionInstructions<T>>): A_TYPES__A_InjectDecoratorReturn<T>;
74
+ export declare function A_Inject<T extends A_Component>(
75
+ /**
76
+ * Provide the name of Component constructor to inject the Component instance
77
+ *
78
+ * [!] You can use both customized one or original depending on your overriding strategy
79
+ */
80
+ ctor: string): A_TYPES__A_InjectDecoratorReturn;