@adaas/a-concept 0.0.3 → 0.0.4

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 (303) hide show
  1. package/dist/examples/simple/components/A.component.d.ts +7 -0
  2. package/dist/examples/simple/components/A.component.js +57 -0
  3. package/dist/examples/simple/components/A.component.js.map +1 -0
  4. package/dist/examples/simple/components/B.component.d.ts +9 -0
  5. package/dist/examples/simple/components/B.component.js +77 -0
  6. package/dist/examples/simple/components/B.component.js.map +1 -0
  7. package/dist/examples/simple/concept.d.ts +1 -0
  8. package/dist/examples/simple/concept.js +53 -11
  9. package/dist/examples/simple/concept.js.map +1 -1
  10. package/dist/examples/simple/containers/Main.container.d.ts +11 -0
  11. package/dist/examples/simple/containers/Main.container.js +64 -0
  12. package/dist/examples/simple/containers/Main.container.js.map +1 -0
  13. package/dist/examples/simple/context/Fragment_A.context.d.ts +6 -0
  14. package/dist/examples/simple/context/Fragment_A.context.js +16 -0
  15. package/dist/examples/simple/context/Fragment_A.context.js.map +1 -0
  16. package/dist/examples/simple/context/Fragment_B.context.d.ts +6 -0
  17. package/dist/examples/simple/context/Fragment_B.context.js +16 -0
  18. package/dist/examples/simple/context/Fragment_B.context.js.map +1 -0
  19. package/dist/examples/simple-http-server/components/http-error-handler.component.d.ts +9 -0
  20. package/dist/examples/simple-http-server/components/http-error-handler.component.js +63 -0
  21. package/dist/examples/simple-http-server/components/http-error-handler.component.js.map +1 -0
  22. package/dist/examples/simple-http-server/components/http-request-handler.component.d.ts +2 -0
  23. package/dist/examples/simple-http-server/components/http-request-handler.component.js +7 -0
  24. package/dist/examples/simple-http-server/components/http-request-handler.component.js.map +1 -0
  25. package/dist/examples/simple-http-server/concept.js +21 -22
  26. package/dist/examples/simple-http-server/concept.js.map +1 -1
  27. package/dist/examples/simple-http-server/containers/http-server.container.d.ts +8 -8
  28. package/dist/examples/simple-http-server/containers/http-server.container.js +34 -30
  29. package/dist/examples/simple-http-server/containers/http-server.container.js.map +1 -1
  30. package/dist/examples/simple-http-server/containers/http-server.controller.js +1 -1
  31. package/dist/examples/simple-http-server/containers/http-server.router.js +2 -2
  32. package/dist/examples/simple-http-server/containers/http-server.router.js.map +1 -1
  33. package/dist/examples/simple-http-server/contexts/http-request.context.d.ts +13 -0
  34. package/dist/examples/simple-http-server/contexts/http-request.context.js +51 -0
  35. package/dist/examples/simple-http-server/contexts/http-request.context.js.map +1 -0
  36. package/dist/examples/simple-http-server/contexts/http-server.context.types.d.ts +0 -4
  37. package/dist/examples/simple-http-server/contexts/http-server.context.types.js +0 -98
  38. package/dist/examples/simple-http-server/contexts/http-server.context.types.js.map +1 -1
  39. package/dist/examples/simple-http-server/contexts/http-server.namespace.d.ts +1 -1
  40. package/dist/examples/simple-http-server/contexts/http-server.namespace.js +1 -1
  41. package/dist/examples/simple-http-server/controllers/users.controller.js +2 -2
  42. package/dist/examples/simple-http-server/test.d.ts +68 -0
  43. package/dist/examples/simple-http-server/test.js +162 -0
  44. package/dist/examples/simple-http-server/test.js.map +1 -0
  45. package/dist/index.d.ts +25 -19
  46. package/dist/index.js +55 -26
  47. package/dist/index.js.map +1 -1
  48. package/dist/src/base/A-Config/A-Config.container.d.ts +8 -0
  49. package/dist/src/base/A-Config/A-Config.container.js +64 -0
  50. package/dist/src/base/A-Config/A-Config.container.js.map +1 -0
  51. package/dist/src/base/A-Config/A-Config.context.d.ts +30 -0
  52. package/dist/src/base/A-Config/A-Config.context.js +58 -0
  53. package/dist/src/base/A-Config/A-Config.context.js.map +1 -0
  54. package/dist/src/base/A-Config/A-Config.types.d.ts +14 -0
  55. package/dist/src/base/A-Config/A-Config.types.js +3 -0
  56. package/dist/src/base/A-Config/A-Config.types.js.map +1 -0
  57. package/dist/src/base/A-Config/components/ConfigReader.component.d.ts +19 -0
  58. package/dist/src/base/A-Config/components/ConfigReader.component.js +53 -0
  59. package/dist/src/base/A-Config/components/ConfigReader.component.js.map +1 -0
  60. package/dist/src/base/A-Config/components/ENVConfigReader.component.d.ts +10 -0
  61. package/dist/src/base/A-Config/components/ENVConfigReader.component.js +37 -0
  62. package/dist/src/base/A-Config/components/ENVConfigReader.component.js.map +1 -0
  63. package/dist/src/base/A-Config/components/FileConfigReader.component.d.ts +11 -0
  64. package/dist/src/base/A-Config/components/FileConfigReader.component.js +47 -0
  65. package/dist/src/base/A-Config/components/FileConfigReader.component.js.map +1 -0
  66. package/dist/src/base/A-Errors/A-Errors.component.d.ts +18 -0
  67. package/dist/src/base/A-Errors/A-Errors.component.js +85 -0
  68. package/dist/src/base/A-Errors/A-Errors.component.js.map +1 -0
  69. package/dist/src/base/A-Errors/A-Errors.context.d.ts +27 -0
  70. package/dist/src/base/A-Errors/A-Errors.context.js +50 -0
  71. package/dist/src/base/A-Errors/A-Errors.context.js.map +1 -0
  72. package/dist/src/base/A-Errors/A-Errors.types.d.ts +5 -0
  73. package/dist/src/base/A-Errors/A-Errors.types.js +3 -0
  74. package/dist/src/base/A-Errors/A-Errors.types.js.map +1 -0
  75. package/dist/src/base/A-Logger/A-Logger.component.d.ts +28 -0
  76. package/dist/src/base/A-Logger/A-Logger.component.js +142 -0
  77. package/dist/src/base/A-Logger/A-Logger.component.js.map +1 -0
  78. package/dist/src/base/A-Logger/A-Logger.types.js +2 -0
  79. package/dist/src/base/A-Logger/A-Logger.types.js.map +1 -0
  80. package/dist/src/constants/A_ConceptLifecycle.constants.d.ts +0 -2
  81. package/dist/src/constants/A_ConceptLifecycle.constants.js +9 -10
  82. package/dist/src/constants/A_ConceptLifecycle.constants.js.map +1 -1
  83. package/dist/src/containers/A-Config/A-Config.container.js +1 -1
  84. package/dist/src/containers/A-Config/A-Config.namespace.d.ts +1 -1
  85. package/dist/src/containers/A-Config/A-Config.namespace.js +1 -1
  86. package/dist/src/containers/A-Config/A-Config.types.d.ts +1 -1
  87. package/dist/src/containers/A-Errors/A-Errors.container.js +1 -1
  88. package/dist/src/containers/A-Errors/A-Errors.namespace.d.ts +1 -1
  89. package/dist/src/containers/A-Errors/A-Errors.namespace.js +1 -1
  90. package/dist/src/containers/A-Errors/A-Errors.types.d.ts +1 -1
  91. package/dist/src/containers/A-Logger/A-Logger.container.js +1 -1
  92. package/dist/src/containers/A-Logger/A-Logger.namespace.d.ts +1 -1
  93. package/dist/src/containers/A-Logger/A-Logger.namespace.js +1 -1
  94. package/dist/src/containers/A-Logger/components/Logger.component.d.ts +1 -1
  95. package/dist/src/decorators/A-ConceptLifecycle/A-Run/A-Run.decorator.js.map +1 -1
  96. package/dist/src/decorators/A-Define/Feature/Feature.decorator.d.ts +16 -0
  97. package/dist/src/decorators/A-Define/Feature/Feature.decorator.js +36 -0
  98. package/dist/src/decorators/A-Define/Feature/Feature.decorator.js.map +1 -0
  99. package/dist/src/decorators/A-Define/Feature/Feature.decorator.types.d.ts +8 -0
  100. package/dist/src/decorators/A-Define/Feature/Feature.decorator.types.js +3 -0
  101. package/dist/src/decorators/A-Define/Feature/Feature.decorator.types.js.map +1 -0
  102. package/dist/src/decorators/A-Define/Lifecycle/Lifecycle.decorator.d.ts +14 -0
  103. package/dist/src/decorators/A-Define/Lifecycle/Lifecycle.decorator.js +24 -0
  104. package/dist/src/decorators/A-Define/Lifecycle/Lifecycle.decorator.js.map +1 -0
  105. package/dist/src/decorators/A-Define/Lifecycle/Lifecycle.decorator.types.d.ts +8 -0
  106. package/dist/src/decorators/A-Define/Lifecycle/Lifecycle.decorator.types.js +3 -0
  107. package/dist/src/decorators/A-Define/Lifecycle/Lifecycle.decorator.types.js.map +1 -0
  108. package/dist/src/decorators/A-Define/index.d.ts +7 -0
  109. package/dist/src/decorators/A-Define/index.js +10 -0
  110. package/dist/src/decorators/A-Define/index.js.map +1 -0
  111. package/dist/src/decorators/A-Extend/A-Extend.decorator.d.ts +18 -0
  112. package/dist/src/decorators/A-Extend/A-Extend.decorator.js +37 -0
  113. package/dist/src/decorators/A-Extend/A-Extend.decorator.js.map +1 -0
  114. package/dist/src/decorators/A-Extend/A-Extend.decorator.types.d.ts +21 -0
  115. package/dist/src/decorators/A-Extend/A-Extend.decorator.types.js +3 -0
  116. package/dist/src/decorators/A-Extend/A-Extend.decorator.types.js.map +1 -0
  117. package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.d.ts +16 -0
  118. package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.js +37 -0
  119. package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.js.map +1 -0
  120. package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.d.ts +16 -0
  121. package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js +42 -0
  122. package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js.map +1 -0
  123. package/dist/src/decorators/A-Feature/A-Feature.decorator.types.d.ts +20 -0
  124. package/dist/src/decorators/A-Feature/A-Feature.decorator.types.js +1 -0
  125. package/dist/src/decorators/A-Inject/A-Inject.decorator.d.ts +12 -10
  126. package/dist/src/decorators/A-Inject/A-Inject.decorator.js +16 -26
  127. package/dist/src/decorators/A-Inject/A-Inject.decorator.js.map +1 -1
  128. package/dist/src/decorators/A-Inject/A-Inject.decorator.types.d.ts +4 -3
  129. package/dist/src/decorators/A-Stage/A-Stage.decorator.d.ts +12 -0
  130. package/dist/src/decorators/A-Stage/A-Stage.decorator.js +35 -0
  131. package/dist/src/decorators/A-Stage/A-Stage.decorator.js.map +1 -0
  132. package/dist/src/decorators/A-Stage/A-Stage.decorator.types.d.ts +2 -0
  133. package/dist/src/decorators/A-Stage/A-Stage.decorator.types.js +3 -0
  134. package/dist/src/decorators/A-Stage/A-Stage.decorator.types.js.map +1 -0
  135. package/dist/src/global/A-Channel/A-Channel.class.d.ts +18 -0
  136. package/dist/src/global/A-Channel/A-Channel.class.js +54 -0
  137. package/dist/src/global/A-Channel/A-Channel.class.js.map +1 -0
  138. package/dist/src/global/A-Channel/A-Channel.types.d.ts +35 -0
  139. package/dist/src/global/A-Channel/A-Channel.types.js +3 -0
  140. package/dist/src/global/A-Channel/A-Channel.types.js.map +1 -0
  141. package/dist/src/global/A-Component/A-Component.class.d.ts +1 -11
  142. package/dist/src/global/A-Component/A-Component.class.js +0 -7
  143. package/dist/src/global/A-Component/A-Component.class.js.map +1 -1
  144. package/dist/src/global/A-Component/A-Component.meta.d.ts +4 -0
  145. package/dist/src/global/A-Component/A-Component.meta.js +8 -0
  146. package/dist/src/global/A-Component/A-Component.meta.js.map +1 -0
  147. package/dist/src/global/A-Component/A-Component.types.d.ts +18 -0
  148. package/dist/src/global/A-Component/A-Component.types.js +10 -0
  149. package/dist/src/global/A-Component/A-Component.types.js.map +1 -0
  150. package/dist/src/global/A-Concept/A_Concept.class.d.ts +41 -17
  151. package/dist/src/global/A-Concept/A_Concept.class.js +120 -43
  152. package/dist/src/global/A-Concept/A_Concept.class.js.map +1 -1
  153. package/dist/src/global/A-Concept/A_Concept.meta.d.ts +3 -0
  154. package/dist/src/global/A-Concept/A_Concept.meta.js +9 -0
  155. package/dist/src/global/A-Concept/A_Concept.meta.js.map +1 -0
  156. package/dist/src/global/A-Concept/A_Concept.types.d.ts +31 -16
  157. package/dist/src/global/A-Concept/A_Concept.types.js +25 -0
  158. package/dist/src/global/A-Concept/A_Concept.types.js.map +1 -1
  159. package/dist/src/global/A-Container/A-Container.class.d.ts +72 -10
  160. package/dist/src/global/A-Container/A-Container.class.js +119 -9
  161. package/dist/src/global/A-Container/A-Container.class.js.map +1 -1
  162. package/dist/src/global/A-Container/A-Container.meta.d.ts +7 -0
  163. package/dist/src/global/A-Container/A-Container.meta.js +54 -0
  164. package/dist/src/global/A-Container/A-Container.meta.js.map +1 -0
  165. package/dist/src/global/A-Container/A-Container.types.d.ts +31 -0
  166. package/dist/src/global/A-Container/A-Container.types.js +9 -0
  167. package/dist/src/global/A-Container/A-Container.types.js.map +1 -0
  168. package/dist/src/global/A-Context/A-Context.class.d.ts +36 -54
  169. package/dist/src/global/A-Context/A-Context.class.js +127 -61
  170. package/dist/src/global/A-Context/A-Context.class.js.map +1 -1
  171. package/dist/src/global/A-Context/A-Context.types.d.ts +12 -0
  172. package/dist/src/global/A-Context/A-Context.types.js +1 -0
  173. package/dist/src/global/A-Context/A-ContextFragment.class.d.ts +12 -0
  174. package/dist/src/global/A-Context/A-ContextFragment.class.js +19 -0
  175. package/dist/src/global/A-Context/A-ContextFragment.class.js.map +1 -0
  176. package/dist/src/global/A-Dependency/A-DependencyReference.types.d.ts +0 -55
  177. package/dist/src/global/A-Dependency/A-DependencyReference.types.js +56 -1
  178. package/dist/src/global/A-Dependency/A-DependencyReference.types.js.map +1 -1
  179. package/dist/src/global/A-Entity/A-Entity.class.d.ts +10 -0
  180. package/dist/src/global/A-Entity/A-Entity.class.js +16 -0
  181. package/dist/src/global/A-Entity/A-Entity.class.js.map +1 -0
  182. package/dist/src/global/A-Entity/A-Entity.types.js +2 -0
  183. package/dist/src/global/A-Entity/A-Entity.types.js.map +1 -0
  184. package/dist/src/global/A-Feature/A-Feature.class.d.ts +44 -0
  185. package/dist/src/global/A-Feature/A-Feature.class.js +125 -0
  186. package/dist/src/global/A-Feature/A-Feature.class.js.map +1 -0
  187. package/dist/src/global/A-Feature/A-Feature.types.d.ts +17 -0
  188. package/dist/src/global/A-Feature/A-Feature.types.js +11 -0
  189. package/dist/src/global/A-Feature/A-Feature.types.js.map +1 -0
  190. package/dist/src/global/A-Fragment/A-Fragment.class.d.ts +38 -0
  191. package/dist/src/global/A-Fragment/A-Fragment.class.js +107 -0
  192. package/dist/src/global/A-Fragment/A-Fragment.class.js.map +1 -0
  193. package/dist/src/global/A-Fragment/A-Fragment.types.d.ts +3 -0
  194. package/dist/src/global/A-Fragment/A-Fragment.types.js +3 -0
  195. package/dist/src/global/A-Fragment/A-Fragment.types.js.map +1 -0
  196. package/dist/src/global/A-Meta/A-Meta.class.d.ts +11 -0
  197. package/dist/src/global/A-Meta/A-Meta.class.js +43 -0
  198. package/dist/src/global/A-Meta/A-Meta.class.js.map +1 -0
  199. package/dist/src/global/A-Meta/A-Meta.types.d.ts +0 -0
  200. package/dist/src/global/A-Meta/A-Meta.types.js +2 -0
  201. package/dist/src/global/A-Meta/A-Meta.types.js.map +1 -0
  202. package/dist/src/global/A-Scope/A-Scope.class.d.ts +51 -0
  203. package/dist/src/global/A-Scope/A-Scope.class.js +133 -0
  204. package/dist/src/global/A-Scope/A-Scope.class.js.map +1 -0
  205. package/dist/src/global/A-Scope/A-Scope.types.d.ts +32 -0
  206. package/dist/src/global/A-Scope/A-Scope.types.js +3 -0
  207. package/dist/src/global/A-Scope/A-Scope.types.js.map +1 -0
  208. package/dist/src/storage/A_Component.storage.d.ts +10 -0
  209. package/dist/src/storage/A_Component.storage.js +17 -0
  210. package/dist/src/storage/A_Component.storage.js.map +1 -0
  211. package/dist/src/storage/A_Concept.storage.js +2 -2
  212. package/dist/src/storage/A_Concept.storage.js.map +1 -1
  213. package/dist/src/storage/A_Container.storage.d.ts +8 -0
  214. package/dist/src/storage/A_Container.storage.js +17 -0
  215. package/dist/src/storage/A_Container.storage.js.map +1 -0
  216. package/dist/src/storage/A_Inject.storage.d.ts +9 -0
  217. package/dist/src/storage/A_Inject.storage.js +13 -0
  218. package/dist/src/storage/A_Inject.storage.js.map +1 -0
  219. package/examples/simple/components/A.component.ts +35 -0
  220. package/examples/simple/components/B.component.ts +46 -0
  221. package/examples/simple/concept.ts +49 -12
  222. package/examples/simple/containers/Main.container.ts +41 -0
  223. package/examples/simple/context/Fragment_A.context.ts +25 -0
  224. package/examples/simple/context/Fragment_B.context.ts +19 -0
  225. package/examples/simple-http-server/components/http-error-handler.component.ts +44 -0
  226. package/examples/simple-http-server/components/http-request-handler.component.ts +9 -0
  227. package/examples/simple-http-server/concept.ts +22 -21
  228. package/examples/simple-http-server/containers/http-server.container.ts +23 -38
  229. package/examples/simple-http-server/contexts/http-request.context.ts +59 -0
  230. package/examples/simple-http-server/contexts/http-server.context.types.ts +0 -108
  231. package/examples/simple-http-server/test.ts +290 -0
  232. package/index.ts +50 -22
  233. package/jest.config.ts +2 -0
  234. package/package.json +4 -7
  235. package/src/{containers → base}/A-Config/A-Config.container.ts +21 -20
  236. package/src/{containers/A-Config/A-Config.namespace.ts → base/A-Config/A-Config.context.ts} +12 -5
  237. package/src/{containers → base}/A-Config/A-Config.types.ts +10 -4
  238. package/src/{containers → base}/A-Config/components/ConfigReader.component.ts +7 -3
  239. package/src/{containers → base}/A-Config/components/ENVConfigReader.component.ts +1 -1
  240. package/src/{containers → base}/A-Config/components/FileConfigReader.component.ts +1 -1
  241. package/src/base/A-Errors/A-Errors.component.ts +102 -0
  242. package/src/{containers/A-Errors/A-Errors.namespace.ts → base/A-Errors/A-Errors.context.ts} +24 -39
  243. package/src/{containers → base}/A-Errors/A-Errors.types.ts +2 -2
  244. package/src/base/A-Logger/A-Logger.component.ts +169 -0
  245. package/src/base/A-Logger/A-Logger.types.ts +0 -0
  246. package/src/constants/A_ConceptLifecycle.constants.ts +9 -9
  247. package/src/decorators/A-Feature/A-Feature-Define.decorator.ts +57 -0
  248. package/src/decorators/A-Feature/A-Feature-Extend.decorator.ts +57 -0
  249. package/src/decorators/A-Feature/A-Feature.decorator.types.ts +56 -0
  250. package/src/decorators/A-Inject/A-Inject.decorator.ts +65 -53
  251. package/src/decorators/A-Inject/A-Inject.decorator.types.ts +31 -4
  252. package/src/decorators/A-Stage/A-Stage.decorator.ts +57 -0
  253. package/src/decorators/A-Stage/A-Stage.decorator.types.ts +23 -0
  254. package/src/global/A-Channel/A-Channel.class.ts +48 -0
  255. package/src/global/A-Channel/A-Channel.types.ts +60 -0
  256. package/src/global/A-Component/A-Component.class.ts +1 -29
  257. package/src/global/A-Component/A-Component.meta.ts +9 -0
  258. package/src/global/A-Component/A-Component.types.ts +40 -0
  259. package/src/global/A-Concept/A_Concept.class.ts +160 -66
  260. package/src/global/A-Concept/A_Concept.meta.ts +9 -0
  261. package/src/global/A-Concept/A_Concept.types.ts +45 -10
  262. package/src/global/A-Container/A-Container.class.ts +177 -22
  263. package/src/global/A-Container/A-Container.meta.ts +80 -0
  264. package/src/global/A-Container/A-Container.types.ts +40 -0
  265. package/src/global/A-Context/A-Context.class.ts +231 -130
  266. package/src/global/A-Context/A-Context.types.ts +15 -0
  267. package/src/global/A-Dependency/A-DependencyReference.types.ts +56 -56
  268. package/src/global/A-Entity/A-Entity.class.ts +16 -0
  269. package/src/global/A-Entity/A-Entity.types.ts +0 -0
  270. package/src/global/A-Feature/A-Feature.class.ts +156 -0
  271. package/src/global/A-Feature/A-Feature.types.ts +20 -0
  272. package/src/global/{A-Namespace/A_Namespace.class.ts → A-Fragment/A-Fragment.class.ts} +24 -30
  273. package/src/global/A-Fragment/A-Fragment.types.ts +6 -0
  274. package/src/global/A-Meta/A-Meta.class.ts +60 -0
  275. package/src/global/A-Meta/A-Meta.types.ts +0 -0
  276. package/src/global/A-Scope/A-Scope.class.ts +208 -0
  277. package/src/global/A-Scope/A-Scope.types.ts +37 -0
  278. package/src/storage/A_Component.storage.ts +28 -0
  279. package/src/storage/A_Concept.storage.ts +5 -1
  280. package/src/storage/A_Container.storage.ts +21 -0
  281. package/src/storage/A_Inject.storage.ts +30 -0
  282. package/tsconfig.json +3 -1
  283. package/examples/sdk/concept.ts +0 -24
  284. package/examples/sdk/orders.api.ts +0 -21
  285. package/examples/sdk/users.api.ts +0 -21
  286. package/examples/simple-http-server/containers/http-server.controller.ts +0 -24
  287. package/examples/simple-http-server/containers/http-server.router.ts +0 -23
  288. package/examples/simple-http-server/contexts/http-server.namespace.ts +0 -36
  289. package/src/containers/A-Errors/A-Errors.container.ts +0 -14
  290. package/src/containers/A-Logger/A-Logger.container.ts +0 -22
  291. package/src/containers/A-Logger/A-Logger.namespace.ts +0 -26
  292. package/src/containers/A-Logger/components/Logger.component.ts +0 -169
  293. package/src/decorators/A-ConceptLifecycle/A-ConceptLifecycle.decorator.types.ts +0 -46
  294. package/src/decorators/A-ConceptLifecycle/A-Load/A-Load.decorator.ts +0 -55
  295. package/src/decorators/A-ConceptLifecycle/A-Load/A-Load.decorator.types.ts +0 -20
  296. package/src/decorators/A-ConceptLifecycle/A-Run/A-Run.decorator.ts +0 -62
  297. package/src/decorators/A-ConceptLifecycle/A-Run/A-Run.decorator.types.ts +0 -28
  298. package/src/decorators/A-ConceptLifecycle/index.ts +0 -9
  299. package/src/decorators/A-Feature/A-Feature.decorator.ts +0 -13
  300. package/src/decorators/A_Lazy.decorator.ts +0 -31
  301. package/src/global/A-Namespace/A_Namespace.types.ts +0 -24
  302. /package/{src/containers/A-Logger/A-Logger.types.ts → dist/src/base/A-Logger/A-Logger.types.d.ts} +0 -0
  303. /package/{src/decorators/A_ConceptMethods.decorator.ts → dist/src/global/A-Entity/A-Entity.types.d.ts} +0 -0
@@ -0,0 +1,18 @@
1
+ import { A_TYPES__A_ExtendDecoratorConfig, A_TYPES__A_ExtendDecoratorDescriptor } from "./A-Extend.decorator.types";
2
+ import { A_Component } from "../../global/A-Component/A-Component.class";
3
+ /**
4
+ * A-Extend decorator
5
+ *
6
+ * This decorator allows to define a custom Extend stage for the Container.
7
+ * These stages are executed in a container-specific order and can be extended by components that are injected into the container.
8
+ * This approach allows to create a flexible and extendable architecture for the application.
9
+ *
10
+ * The main difference between the A-Extend and A-Extend decorators is that A-Extend methods can be inherited and overridden by child classes.
11
+ *
12
+ *
13
+ * @param params
14
+ * @returns
15
+ */
16
+ export declare function A_Extend(config?: Partial<A_TYPES__A_ExtendDecoratorConfig>): (target: A_Component | {
17
+ new (...args: any[]): any;
18
+ }, propertyKey: string, descriptor: A_TYPES__A_ExtendDecoratorDescriptor) => void;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.A_Extend = A_Extend;
4
+ const A_Component_storage_1 = require("../../storage/A_Component.storage");
5
+ /**
6
+ * A-Extend decorator
7
+ *
8
+ * This decorator allows to define a custom Extend stage for the Container.
9
+ * These stages are executed in a container-specific order and can be extended by components that are injected into the container.
10
+ * This approach allows to create a flexible and extendable architecture for the application.
11
+ *
12
+ * The main difference between the A-Extend and A-Extend decorators is that A-Extend methods can be inherited and overridden by child classes.
13
+ *
14
+ *
15
+ * @param params
16
+ * @returns
17
+ */
18
+ function A_Extend(config = {}) {
19
+ return function (target, propertyKey, descriptor) {
20
+ const existedMeta = A_Component_storage_1.A_COMPONENT_Storage.get(target.constructor) || new Map();
21
+ const inheritMeta = A_Component_storage_1.A_COMPONENT_Storage.get(Object.getPrototypeOf(target.constructor)) || new Map();
22
+ const inheritedExtension = inheritMeta.get(A_Component_storage_1.A_COMPONENT_STORAGE__Definition__Extensions) || new Map();
23
+ const extensionDefinition = existedMeta.get(A_Component_storage_1.A_COMPONENT_STORAGE__Definition__Extensions) || new Map(inheritedExtension);
24
+ extensionDefinition.set(propertyKey, {
25
+ name: config.name || propertyKey,
26
+ handler: propertyKey,
27
+ container: config.container
28
+ ? typeof config.container === 'string'
29
+ ? config.container
30
+ : config.container.name
31
+ : '*',
32
+ });
33
+ existedMeta.set(A_Component_storage_1.A_COMPONENT_STORAGE__Definition__Extensions, extensionDefinition);
34
+ A_Component_storage_1.A_COMPONENT_Storage.set(target.constructor, existedMeta);
35
+ };
36
+ }
37
+ //# sourceMappingURL=A-Extend.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A-Extend.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/A-Extend/A-Extend.decorator.ts"],"names":[],"mappings":";;AA0BA,4BA6BC;AA/CD,sFAAgI;AAKhI;;;;;;;;;;;;GAYG;AACH,SAAgB,QAAQ,CACpB,SAAoD,EAAE;IAEtD,OAAO,UACH,MAAkD,EAClD,WAAmB,EACnB,UAAgD;QAGhD,MAAM,WAAW,GAAG,yCAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QAC7E,MAAM,WAAW,GAAG,yCAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QAEpG,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,CAAC,iEAA2C,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QACrG,MAAM,mBAAmB,GAA8D,WAAW,CAAC,GAAG,CAAC,iEAA2C,CAAC,IAAI,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAAA;QAElL,mBAAmB,CAAC,GAAG,CAAC,WAAW,EAAE;YACjC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,WAAW;YAChC,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE,MAAM,CAAC,SAAS;gBACvB,CAAC,CAAC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;oBAClC,CAAC,CAAC,MAAM,CAAC,SAAS;oBAClB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI;gBAC3B,CAAC,CAAC,GAAG;SACZ,CAAC,CAAC;QAGH,WAAW,CAAC,GAAG,CAAC,iEAA2C,EAAE,mBAAmB,CAAC,CAAC;QAClF,yCAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC7D,CAAC,CAAC;AACN,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { A_Container } from "../../global/A-Container/A-Container.class";
2
+ export type A_TYPES__A_ExtendDecoratorDescriptor = TypedPropertyDescriptor<() => any> | TypedPropertyDescriptor<(...args: any[]) => any> | TypedPropertyDescriptor<(...args: any[]) => Promise<any>> | TypedPropertyDescriptor<() => Promise<any>>;
3
+ export type A_TYPES__A_ExtendDecoratorConfig = {
4
+ /**
5
+ * Name of the container Lifecycle method to be extended.
6
+ *
7
+ * [!] If not provided will be used the name of the method.
8
+ */
9
+ name: string;
10
+ /**
11
+ * Container class or container name uses to identify the proper container in case when the name is not unique.
12
+ *
13
+ * [!] If not provided will be applied to all containers with the same name.
14
+ */
15
+ container: string | typeof A_Container;
16
+ };
17
+ export type A_TYPES__A_ExtendDecoratorStorageInstruction = {
18
+ name: string;
19
+ container: string;
20
+ handler: string;
21
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=A-Extend.decorator.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A-Extend.decorator.types.js","sourceRoot":"","sources":["../../../../src/decorators/A-Extend/A-Extend.decorator.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import { A_TYPES__A_FeatureDecoratorConfig, A_TYPES__A_FeatureDecoratorDescriptor } from "./A-Feature.decorator.types";
2
+ import { A_Container } from "../../global/A-Container/A-Container.class";
3
+ /**
4
+ * A-Feature decorator
5
+ *
6
+ * This decorator allows to define a custom lifecycle stage for the Container.
7
+ * These stages are executed in a container-specific order and can be extended by components that are injected into the container.
8
+ * This approach allows to create a flexible and extendable architecture for the application.
9
+ *
10
+ * The main difference between the A-Feature and A-Feature decorators is that A-Feature methods can be inherited and overridden by child classes.
11
+ *
12
+ *
13
+ * @param params
14
+ * @returns
15
+ */
16
+ export declare function A_Feature_Define(config?: Partial<A_TYPES__A_FeatureDecoratorConfig>): (target: A_Container<any>, propertyKey: string, descriptor: A_TYPES__A_FeatureDecoratorDescriptor) => void;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.A_Feature_Define = A_Feature_Define;
4
+ const A_Container_types_1 = require("../../global/A-Container/A-Container.types");
5
+ const A_Context_class_1 = require("../../global/A-Context/A-Context.class");
6
+ /**
7
+ * A-Feature decorator
8
+ *
9
+ * This decorator allows to define a custom lifecycle stage for the Container.
10
+ * These stages are executed in a container-specific order and can be extended by components that are injected into the container.
11
+ * This approach allows to create a flexible and extendable architecture for the application.
12
+ *
13
+ * The main difference between the A-Feature and A-Feature decorators is that A-Feature methods can be inherited and overridden by child classes.
14
+ *
15
+ *
16
+ * @param params
17
+ * @returns
18
+ */
19
+ function A_Feature_Define(config = {}) {
20
+ return function (target, propertyKey, descriptor) {
21
+ // Get the existed metadata or create a new one
22
+ const existedMeta = A_Context_class_1.A_Context
23
+ .meta(target)
24
+ .get(A_Container_types_1.A_TYPES__ContainerMetaKey.FEATURES)
25
+ || new Map();
26
+ // Set the metadata of the method to define a custom Feature with name
27
+ existedMeta.set(propertyKey, {
28
+ handler: propertyKey,
29
+ config: Object.assign(Object.assign({}, config), { name: `${target.constructor.name}.${propertyKey || config.name}` })
30
+ });
31
+ // Update the metadata of the container with the new Feature definition
32
+ A_Context_class_1.A_Context
33
+ .meta(target)
34
+ .set(A_Container_types_1.A_TYPES__ContainerMetaKey.FEATURES, existedMeta);
35
+ };
36
+ }
37
+ //# sourceMappingURL=A-Feature-Define.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A-Feature-Define.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/A-Feature/A-Feature-Define.decorator.ts"],"names":[],"mappings":";;AAsBA,4CAkCC;AAnDD,6FAAkG;AAClG,uFAA8E;AAG9E;;;;;;;;;;;;GAYG;AACH,SAAgB,gBAAgB,CAC5B,SAAqD,EAAE;IAEvD,OAAO,UACH,MAAwB,EACxB,WAAmB,EACnB,UAAiD;QAGjD,+CAA+C;QAC/C,MAAM,WAAW,GAAG,2BAAS;aACxB,IAAI,CAAC,MAAM,CAAC;aACZ,GAAG,CAAC,6CAAyB,CAAC,QAAQ,CAAC;eACrC,IAAI,GAAG,EAAE,CAAC;QAIjB,uEAAuE;QACvE,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE;YACzB,OAAO,EAAE,WAAW;YACpB,MAAM,kCACC,MAAM,KACT,IAAI,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,WAAW,IAAI,MAAM,CAAC,IAAI,EAAE,GACnE;SACJ,CAAC,CAAC;QAEH,wEAAwE;QACxE,2BAAS;aACJ,IAAI,CAAC,MAAM,CAAC;aACZ,GAAG,CACA,6CAAyB,CAAC,QAAQ,EAClC,WAAW,CACd,CAAC;IACV,CAAC,CAAC;AACN,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { A_Component } from "../../global/A-Component/A-Component.class";
2
+ import { A_TYPES__A_ExtendDecoratorConfig, A_TYPES__A_ExtendDecoratorDescriptor } from "./A-Feature.decorator.types";
3
+ /**
4
+ * A-Extend decorator
5
+ *
6
+ * This decorator allows to define a custom Extend stage for the Container.
7
+ * These stages are executed in a container-specific order and can be extended by components that are injected into the container.
8
+ * This approach allows to create a flexible and extendable architecture for the application.
9
+ *
10
+ * The main difference between the A-Extend and A-Extend decorators is that A-Extend methods can be inherited and overridden by child classes.
11
+ *
12
+ *
13
+ * @param params
14
+ * @returns
15
+ */
16
+ export declare function A_Feature_Extend(config?: Partial<A_TYPES__A_ExtendDecoratorConfig>): (target: A_Component, propertyKey: string, descriptor: A_TYPES__A_ExtendDecoratorDescriptor) => void;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.A_Feature_Extend = A_Feature_Extend;
4
+ const A_Component_types_1 = require("../../global/A-Component/A-Component.types");
5
+ const A_Context_class_1 = require("../../global/A-Context/A-Context.class");
6
+ /**
7
+ * A-Extend decorator
8
+ *
9
+ * This decorator allows to define a custom Extend stage for the Container.
10
+ * These stages are executed in a container-specific order and can be extended by components that are injected into the container.
11
+ * This approach allows to create a flexible and extendable architecture for the application.
12
+ *
13
+ * The main difference between the A-Extend and A-Extend decorators is that A-Extend methods can be inherited and overridden by child classes.
14
+ *
15
+ *
16
+ * @param params
17
+ * @returns
18
+ */
19
+ function A_Feature_Extend(config = {}) {
20
+ return function (target, propertyKey, descriptor) {
21
+ // Get the existed metadata or create a new one
22
+ const existedMeta = A_Context_class_1.A_Context
23
+ .meta(target)
24
+ .get(A_Component_types_1.A_TYPES__ComponentMetaKey.EXTENSIONS)
25
+ || new Map();
26
+ // Set the metadata of the method to define a custom Feature with name
27
+ existedMeta.set(propertyKey, {
28
+ name: config.name || propertyKey,
29
+ handler: propertyKey,
30
+ container: config.container
31
+ ? typeof config.container === 'string'
32
+ ? config.container
33
+ : config.container.name
34
+ : '*',
35
+ });
36
+ // Update the metadata of the container with the new Feature definition
37
+ A_Context_class_1.A_Context
38
+ .meta(target)
39
+ .set(A_Component_types_1.A_TYPES__ComponentMetaKey.EXTENSIONS, existedMeta);
40
+ };
41
+ }
42
+ //# sourceMappingURL=A-Feature-Extend.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A-Feature-Extend.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/A-Feature/A-Feature-Extend.decorator.ts"],"names":[],"mappings":";;AAwBA,4CAgCC;AAnDD,6FAAkG;AAClG,uFAA8E;AAK9E;;;;;;;;;;;;GAYG;AACH,SAAgB,gBAAgB,CAC5B,SAAoD,EAAE;IAEtD,OAAO,UACH,MAAmB,EACnB,WAAmB,EACnB,UAAgD;QAGhD,+CAA+C;QAC/C,MAAM,WAAW,GAAG,2BAAS;aACxB,IAAI,CAAC,MAAM,CAAC;aACZ,GAAG,CAAC,6CAAyB,CAAC,UAAU,CAAC;eACvC,IAAI,GAAG,EAAE,CAAC;QAEjB,sEAAsE;QACtE,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE;YACzB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,WAAW;YAChC,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE,MAAM,CAAC,SAAS;gBACvB,CAAC,CAAC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;oBAClC,CAAC,CAAC,MAAM,CAAC,SAAS;oBAClB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI;gBAC3B,CAAC,CAAC,GAAG;SACZ,CAAC,CAAC;QAEH,wEAAwE;QACxE,2BAAS;aACJ,IAAI,CAAC,MAAM,CAAC;aACZ,GAAG,CAAC,6CAAyB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAEhE,CAAC,CAAC;AACN,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { A_Container } from "../../global/A-Container/A-Container.class";
2
+ export type A_TYPES__A_FeatureDecoratorDescriptor = TypedPropertyDescriptor<() => any> | TypedPropertyDescriptor<(...args: any[]) => any> | TypedPropertyDescriptor<(...args: any[]) => Promise<any>> | TypedPropertyDescriptor<() => Promise<any>>;
3
+ export type A_TYPES__A_FeatureDecoratorConfig = {
4
+ name: string;
5
+ };
6
+ export type A_TYPES__A_ExtendDecoratorDescriptor = TypedPropertyDescriptor<() => any> | TypedPropertyDescriptor<(...args: any[]) => any> | TypedPropertyDescriptor<(...args: any[]) => Promise<any>> | TypedPropertyDescriptor<() => Promise<any>>;
7
+ export type A_TYPES__A_ExtendDecoratorConfig = {
8
+ /**
9
+ * Name of the container Lifecycle method to be extended.
10
+ *
11
+ * [!] If not provided will be used the name of the method.
12
+ */
13
+ name: string;
14
+ /**
15
+ * Container class or container name uses to identify the proper container in case when the name is not unique.
16
+ *
17
+ * [!] If not provided will be applied to all containers with the same name.
18
+ */
19
+ container: string | typeof A_Container<any>;
20
+ };
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
2
3
  //# sourceMappingURL=A-Feature.decorator.types.js.map
@@ -1,5 +1,8 @@
1
- import { A_Namespace } from "../../global/A-Namespace/A_Namespace.class";
2
1
  import { A_Component } from "../../global/A-Component/A-Component.class";
2
+ import { A_Container } from "../../global/A-Container/A-Container.class";
3
+ import { A_TYPES__A_InjectDecoratorReturn } from "./A-Inject.decorator.types";
4
+ import { A_Fragment } from "../../global/A-Fragment/A-Fragment.class";
5
+ import { A_Scope } from "../../global/A-Scope/A-Scope.class";
3
6
  /**
4
7
  * A-Inject decorator
5
8
  *
@@ -11,12 +14,11 @@ import { A_Component } from "../../global/A-Component/A-Component.class";
11
14
  * @param params
12
15
  * @returns
13
16
  */
14
- export declare function A_Inject<T extends {
15
- new (...args: any[]): A_Component;
16
- }>(component: T): any;
17
- export declare function A_Inject<T extends {
18
- new (...args: any[]): A_Namespace;
19
- }>(namespace: T): any;
20
- export declare function A_Inject<E extends {
21
- new (...args: any[]): A_Namespace;
22
- }, T extends Array<E>>(namespaces: T): any;
17
+ export declare function A_Inject(scope: typeof A_Scope): A_TYPES__A_InjectDecoratorReturn;
18
+ export declare function A_Inject(component: typeof A_Component): A_TYPES__A_InjectDecoratorReturn;
19
+ export declare function A_Inject(component: {
20
+ new (...args: any[]): any;
21
+ }): A_TYPES__A_InjectDecoratorReturn;
22
+ export declare function A_Inject(container: typeof A_Container): A_TYPES__A_InjectDecoratorReturn;
23
+ export declare function A_Inject(fragment: typeof A_Fragment): A_TYPES__A_InjectDecoratorReturn;
24
+ export declare function A_Inject<T extends Array<typeof A_Fragment>>(fragments: T): A_TYPES__A_InjectDecoratorReturn;
@@ -1,32 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.A_Inject = A_Inject;
4
- const A_Namespace_class_1 = require("../../global/A-Namespace/A_Namespace.class");
5
- const A_Component_class_1 = require("../../global/A-Component/A-Component.class");
4
+ const A_Context_class_1 = require("../../global/A-Context/A-Context.class");
5
+ const A_Component_types_1 = require("../../global/A-Component/A-Component.types");
6
+ // ====================== BASE FUNCTION ======================
6
7
  function A_Inject(param1) {
7
- switch (true) {
8
- case param1 instanceof A_Component_class_1.A_Component:
9
- return function (target, propertyKey, parameterIndex) {
10
- // It should be just register the parameter in method that will be resolved in the method
11
- };
12
- case param1 instanceof A_Namespace_class_1.A_Namespace:
13
- return function (target, propertyKey, parameterIndex) {
14
- // It should be just register the parameter in method that will be resolved in the method
15
- };
16
- }
17
- // const namespaces: Array<typeof A_Namespace> = [
18
- // ...(Array.isArray(param1) ? param1 : [param1])
19
- // ];
20
- // const resolvedNamespaces: Array<A_Namespace> = []
21
- // for (const namespace of namespaces) {
22
- // resolvedNamespaces.push(A_Context.resolve(namespace));
23
- // }
24
- // return function (
25
- // target: T | E,
26
- // propertyKey: string | symbol,
27
- // parameterIndex: number
28
- // ) {
29
- // // It should be just register the parameter in method that will be resolved in the method
30
- // }
8
+ return function (target, methodName, parameterIndex) {
9
+ const method = methodName ? methodName : 'constructor';
10
+ const existedMeta = A_Context_class_1.A_Context
11
+ .meta(target)
12
+ .get(A_Component_types_1.A_TYPES__ComponentMetaKey.INJECTIONS)
13
+ || new Map();
14
+ const paramsArray = existedMeta.get(method) || [];
15
+ paramsArray[parameterIndex] = param1;
16
+ existedMeta.set(method, paramsArray);
17
+ A_Context_class_1.A_Context
18
+ .meta(target)
19
+ .set(A_Component_types_1.A_TYPES__ComponentMetaKey.INJECTIONS, existedMeta);
20
+ };
31
21
  }
32
22
  //# sourceMappingURL=A-Inject.decorator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"A-Inject.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/A-Inject/A-Inject.decorator.ts"],"names":[],"mappings":";;AA+BA,4BA2CC;AA1ED,6FAAoF;AAEpF,6FAAoF;AA6BpF,SAAgB,QAAQ,CAKpB,MAAiB;IAEjB,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,MAAM,YAAY,+BAAW;YAC9B,OAAO,UACH,MAAS,EACT,WAA4B,EAC5B,cAAsB;gBAEtB,0FAA0F;YAC9F,CAAC,CAAA;QACL,KAAK,MAAM,YAAY,+BAAW;YAC9B,OAAO,UACH,MAAS,EACT,WAA4B,EAC5B,cAAsB;gBAEtB,0FAA0F;YAC9F,CAAC,CAAA;IACT,CAAC;IAED,kDAAkD;IAClD,qDAAqD;IACrD,KAAK;IAEL,oDAAoD;IAEpD,wCAAwC;IACxC,6DAA6D;IAC7D,IAAI;IAEJ,oBAAoB;IACpB,qBAAqB;IACrB,oCAAoC;IACpC,6BAA6B;IAC7B,MAAM;IACN,iGAAiG;IACjG,IAAI;AACR,CAAC"}
1
+ {"version":3,"file":"A-Inject.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/A-Inject/A-Inject.decorator.ts"],"names":[],"mappings":";;AAqDA,4BAiCC;AAhFD,uFAA8E;AAC9E,6FAAkG;AA6ClG,8DAA8D;AAC9D,SAAgB,QAAQ,CAGpB,MAA2F;IAE3F,OAAO,UACH,MAAmB,EACnB,UAAuC,EACvC,cAAsB;QAGtB,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC;QAGvD,MAAM,WAAW,GAAG,2BAAS;aACxB,IAAI,CAAC,MAAM,CAAC;aACZ,GAAG,CAAC,6CAAyB,CAAC,UAAU,CAAC;eACvC,IAAI,GAAG,EAAE,CAAC;QAEjB,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAElD,WAAW,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC;QAErC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAGrC,2BAAS;aACJ,IAAI,CAAC,MAAM,CAAC;aACZ,GAAG,CACA,6CAAyB,CAAC,UAAU,EACpC,WAAW,CACd,CAAA;IACT,CAAC,CAAA;AACL,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export type A_TYPES__A_InjectDecoratorDescriptor = TypedPropertyDescriptor<(...args: any[]) => Promise<void>>;
2
- export type A_TYPES__A_InjectDecoratorStorageInstruction = {
3
- handler: string;
4
- };
2
+ export type A_TYPES__A_InjectDecoratorReturn<T = any> = (target: T, propertyKey: string | symbol | undefined, parameterIndex: number) => void;
3
+ export type A_TYPES__A_InjectDecoratorStorageInstruction = Array<{
4
+ new (...args: any[]): any;
5
+ }>;
@@ -0,0 +1,12 @@
1
+ import { A_TYPES__A_StageDecoratorConfig, A_TYPES__A_StageDecoratorDescriptor } from "./A-Stage.decorator.types";
2
+ import { A_Container } from "../../global/A-Container/A-Container.class";
3
+ import { A_TYPES__ConceptStage } from "../../global/A-Concept/A_Concept.types";
4
+ /**
5
+ * A_Stage Decorator uses to extend basic A-Concept Stage methods inside Containers.
6
+ *
7
+ * Using this decorator you can define extend a logic and sequence of the Container Stage methods execution.
8
+ *
9
+ * @param params
10
+ * @returns
11
+ */
12
+ export declare function A_Stage(method: A_TYPES__ConceptStage): (config?: Partial<A_TYPES__A_StageDecoratorConfig>) => (target: A_Container<any>, propertyKey: string, descriptor: A_TYPES__A_StageDecoratorDescriptor) => void;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.A_Stage = A_Stage;
4
+ const A_Context_class_1 = require("../../global/A-Context/A-Context.class");
5
+ const A_Container_types_1 = require("../../global/A-Container/A-Container.types");
6
+ /**
7
+ * A_Stage Decorator uses to extend basic A-Concept Stage methods inside Containers.
8
+ *
9
+ * Using this decorator you can define extend a logic and sequence of the Container Stage methods execution.
10
+ *
11
+ * @param params
12
+ * @returns
13
+ */
14
+ function A_Stage(method) {
15
+ return function A_Stage(config = {}) {
16
+ return function (target, propertyKey, descriptor) {
17
+ // Get the existed metadata or create a new one
18
+ const existedMeta = A_Context_class_1.A_Context
19
+ .meta(target)
20
+ .get(A_Container_types_1.A_TYPES__ContainerMetaKey.STAGES)
21
+ || new Map();
22
+ // Set the metadata of the method to define a custom Stage with name
23
+ existedMeta
24
+ .set(propertyKey, {
25
+ name: method,
26
+ handler: propertyKey,
27
+ });
28
+ // Update the metadata of the container with the new Stage definition
29
+ A_Context_class_1.A_Context
30
+ .meta(target)
31
+ .set(A_Container_types_1.A_TYPES__ContainerMetaKey.STAGES, existedMeta);
32
+ };
33
+ };
34
+ }
35
+ //# sourceMappingURL=A-Stage.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A-Stage.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/A-Stage/A-Stage.decorator.ts"],"names":[],"mappings":";;AAsBA,0BAkCC;AAlDD,uFAA8E;AAE9E,6FAAkG;AAMlG;;;;;;;GAOG;AACH,SAAgB,OAAO,CACnB,MAA6B;IAI7B,OAAO,SAAS,OAAO,CACnB,SAAmD,EAAE;QAErD,OAAO,UACH,MAAwB,EACxB,WAAmB,EACnB,UAA+C;YAG/C,+CAA+C;YAC/C,MAAM,WAAW,GAAG,2BAAS;iBACxB,IAAI,CAAC,MAAM,CAAC;iBACZ,GAAG,CAAC,6CAAyB,CAAC,MAAM,CAAC;mBACnC,IAAI,GAAG,EAAE,CAAC;YAEjB,oEAAoE;YACpE,WAAW;iBACN,GAAG,CAAC,WAAW,EAAE;gBACd,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,WAAW;aACvB,CAAC,CAAC;YAEP,sEAAsE;YACtE,2BAAS;iBACJ,IAAI,CAAC,MAAM,CAAC;iBACZ,GAAG,CAAC,6CAAyB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAE5D,CAAC,CAAC;IACN,CAAC,CAAA;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type A_TYPES__A_StageDecoratorDescriptor = TypedPropertyDescriptor<() => any> | TypedPropertyDescriptor<(...args: any[]) => any> | TypedPropertyDescriptor<(...args: any[]) => Promise<any>> | TypedPropertyDescriptor<() => Promise<any>>;
2
+ export type A_TYPES__A_StageDecoratorConfig = {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=A-Stage.decorator.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A-Stage.decorator.types.js","sourceRoot":"","sources":["../../../../src/decorators/A-Stage/A-Stage.decorator.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * A_Channel is an abstraction over any Communication Type from event emitters to message queues, HTTP requests, etc.
3
+ *
4
+ * A_Channel uses to connect Containers between each other. When
5
+ * When One container needs to communicate with another container, it uses A_Channel.
6
+ *
7
+ */
8
+ export declare class A_Channel<T> {
9
+ private realClass;
10
+ private args;
11
+ private proxyInstance;
12
+ private realInstance;
13
+ constructor(realClass: {
14
+ new (...args: any[]): T;
15
+ }, args: any[]);
16
+ protected loadInstance(): Promise<T>;
17
+ resolve(): Promise<T>;
18
+ }
@@ -0,0 +1,54 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.A_Channel = void 0;
13
+ /**
14
+ * A_Channel is an abstraction over any Communication Type from event emitters to message queues, HTTP requests, etc.
15
+ *
16
+ * A_Channel uses to connect Containers between each other. When
17
+ * When One container needs to communicate with another container, it uses A_Channel.
18
+ *
19
+ */
20
+ class A_Channel {
21
+ constructor(realClass, args) {
22
+ this.realClass = realClass;
23
+ this.args = args;
24
+ this.proxyInstance = null;
25
+ this.realInstance = null;
26
+ }
27
+ loadInstance() {
28
+ return __awaiter(this, void 0, void 0, function* () {
29
+ if (!this.realInstance)
30
+ this.realInstance = new this.realClass(...this.args);
31
+ return this.realInstance;
32
+ });
33
+ }
34
+ resolve() {
35
+ return __awaiter(this, void 0, void 0, function* () {
36
+ if (!this.proxyInstance) {
37
+ const realInstance = yield this.loadInstance();
38
+ this.proxyInstance = new Proxy({}, {
39
+ get: (target, prop) => {
40
+ const value = realInstance[prop];
41
+ // If the property is a method, return a bound function
42
+ if (typeof value === 'function') {
43
+ return value.bind(realInstance);
44
+ }
45
+ return value;
46
+ }
47
+ });
48
+ }
49
+ return this.proxyInstance;
50
+ });
51
+ }
52
+ }
53
+ exports.A_Channel = A_Channel;
54
+ //# sourceMappingURL=A-Channel.class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A-Channel.class.js","sourceRoot":"","sources":["../../../../src/global/A-Channel/A-Channel.class.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA;;;;;;GAMG;AACH,MAAa,SAAS;IAIlB,YACY,SAAqC,EACrC,IAAW;QADX,cAAS,GAAT,SAAS,CAA4B;QACrC,SAAI,GAAJ,IAAI,CAAO;QALf,kBAAa,GAAa,IAAI,CAAC;QAC/B,iBAAY,GAAa,IAAI,CAAC;IAOtC,CAAC;IAEe,YAAY;;YACxB,IAAI,CAAC,IAAI,CAAC,YAAY;gBAClB,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YAEzD,OAAO,IAAI,CAAC,YAAY,CAAC;QAC7B,CAAC;KAAA;IAGY,OAAO;;YAChB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACtB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBAE/C,IAAI,CAAC,aAAa,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE;oBAC/B,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;wBAClB,MAAM,KAAK,GAAI,YAAoB,CAAC,IAAI,CAAC,CAAC;wBAE1C,uDAAuD;wBACvD,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;4BAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACpC,CAAC;wBACD,OAAO,KAAK,CAAC;oBACjB,CAAC;iBACJ,CAAM,CAAC;YACZ,CAAC;YAED,OAAO,IAAI,CAAC,aAAa,CAAC;QAC9B,CAAC;KAAA;CACJ;AAtCD,8BAsCC"}
@@ -0,0 +1,35 @@
1
+ export type A_TYPES__A_DependencyReferenceConstructor = {
2
+ /**
3
+ * The name of the dependency
4
+ */
5
+ name: string;
6
+ /**
7
+ * The version of the module
8
+ * By default it is 1.0.0
9
+ */
10
+ version: string;
11
+ };
12
+ export type A_TYPES__A_DependencyReferenceConstructorConfig = {
13
+ /**
14
+ * Sync - blocks A-Express Application initialization until module is ready
15
+ * Async - allows to initialize module after A-Express Application initialization
16
+ */
17
+ behavior: 'async' | 'sync';
18
+ /**
19
+ * Allows to define a scheme of retries
20
+ */
21
+ retries: {
22
+ /**
23
+ * The number of retries
24
+ * Default is 3
25
+ */
26
+ n: number;
27
+ /**
28
+ * The timeout between retries
29
+ * Multiplied by the number of retries
30
+ * So after each retry the timeout is increased e.g. 1000ms * 1, 1000ms * 2, 1000ms * 3
31
+ * Default is 1000
32
+ */
33
+ timeout: number;
34
+ };
35
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=A-Channel.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A-Channel.types.js","sourceRoot":"","sources":["../../../../src/global/A-Channel/A-Channel.types.ts"],"names":[],"mappings":""}
@@ -1,16 +1,6 @@
1
- import { A_Namespace } from "../A-Namespace/A_Namespace.class";
2
1
  /**
3
2
  * This element only contains the specific code
4
3
  *
5
4
  */
6
- export declare class A_Component<T extends A_Namespace = A_Namespace> {
7
- /**
8
- * Primary context that impacts the component behavior
9
- */
10
- protected namespace: A_Namespace;
11
- constructor(
12
- /**
13
- * Primary context that impacts the component behavior
14
- */
15
- namespace: A_Namespace);
5
+ export declare class A_Component {
16
6
  }
@@ -6,13 +6,6 @@ exports.A_Component = void 0;
6
6
  *
7
7
  */
8
8
  class A_Component {
9
- constructor(
10
- /**
11
- * Primary context that impacts the component behavior
12
- */
13
- namespace) {
14
- this.namespace = namespace;
15
- }
16
9
  }
17
10
  exports.A_Component = A_Component;
18
11
  //# sourceMappingURL=A-Component.class.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"A-Component.class.js","sourceRoot":"","sources":["../../../../src/global/A-Component/A-Component.class.ts"],"names":[],"mappings":";;;AAIA;;;GAGG;AACH,MAAa,WAAW;IAEpB;IACI;;OAEG;IACO,SAAsB;QAAtB,cAAS,GAAT,SAAS,CAAa;IAGpC,CAAC;CAeJ;AAxBD,kCAwBC"}
1
+ {"version":3,"file":"A-Component.class.js","sourceRoot":"","sources":["../../../../src/global/A-Component/A-Component.class.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,MAAa,WAAW;CAAI;AAA5B,kCAA4B"}
@@ -0,0 +1,4 @@
1
+ import { A_Meta } from "../A-Meta/A-Meta.class";
2
+ import { A_TYPES__ComponentMeta } from "./A-Component.types";
3
+ export declare class A_ComponentMeta extends A_Meta<A_TYPES__ComponentMeta> {
4
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.A_ComponentMeta = void 0;
4
+ const A_Meta_class_1 = require("../A-Meta/A-Meta.class");
5
+ class A_ComponentMeta extends A_Meta_class_1.A_Meta {
6
+ }
7
+ exports.A_ComponentMeta = A_ComponentMeta;
8
+ //# sourceMappingURL=A-Component.meta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A-Component.meta.js","sourceRoot":"","sources":["../../../../src/global/A-Component/A-Component.meta.ts"],"names":[],"mappings":";;;AAAA,yDAAgD;AAIhD,MAAa,eAAgB,SAAQ,qBAA8B;CAIlE;AAJD,0CAIC"}
@@ -0,0 +1,18 @@
1
+ export type A_TYPES__ComponentMeta = {
2
+ [A_TYPES__ComponentMetaKey.EXTENSIONS]: Map<string, A_TYPES__ComponentMeta_ExtensionItem>;
3
+ [A_TYPES__ComponentMetaKey.FEATURES]: any[];
4
+ [A_TYPES__ComponentMetaKey.INJECTIONS]: Map<Symbol | string, A_TYPES__ComponentMeta_InjectionParams>;
5
+ };
6
+ export declare enum A_TYPES__ComponentMetaKey {
7
+ EXTENSIONS = "a-component-extensions",
8
+ FEATURES = "a-component-features",
9
+ INJECTIONS = "a-component-injections"
10
+ }
11
+ export type A_TYPES__ComponentMeta_ExtensionItem = {
12
+ name: string;
13
+ container: string;
14
+ handler: string;
15
+ };
16
+ export type A_TYPES__ComponentMeta_InjectionParams = Array<{
17
+ new (...args: any[]): any;
18
+ }>;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.A_TYPES__ComponentMetaKey = void 0;
4
+ var A_TYPES__ComponentMetaKey;
5
+ (function (A_TYPES__ComponentMetaKey) {
6
+ A_TYPES__ComponentMetaKey["EXTENSIONS"] = "a-component-extensions";
7
+ A_TYPES__ComponentMetaKey["FEATURES"] = "a-component-features";
8
+ A_TYPES__ComponentMetaKey["INJECTIONS"] = "a-component-injections";
9
+ })(A_TYPES__ComponentMetaKey || (exports.A_TYPES__ComponentMetaKey = A_TYPES__ComponentMetaKey = {}));
10
+ //# sourceMappingURL=A-Component.types.js.map