@adaas/a-concept 0.0.3 → 0.0.5

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 (304) 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 +71 -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 +27 -19
  46. package/dist/index.js +58 -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 +16 -0
  55. package/dist/src/base/A-Config/A-Config.types.js +7 -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 +37 -54
  169. package/dist/src/global/A-Context/A-Context.class.js +129 -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.class.d.ts +0 -17
  177. package/dist/src/global/A-Dependency/A-DependencyReference.class.js +47 -65
  178. package/dist/src/global/A-Dependency/A-DependencyReference.class.js.map +1 -1
  179. package/dist/src/global/A-Dependency/A-DependencyReference.types.d.ts +0 -55
  180. package/dist/src/global/A-Dependency/A-DependencyReference.types.js +56 -1
  181. package/dist/src/global/A-Dependency/A-DependencyReference.types.js.map +1 -1
  182. package/dist/src/global/A-Entity/A-Entity.class.d.ts +57 -0
  183. package/dist/src/global/A-Entity/A-Entity.class.js +102 -0
  184. package/dist/src/global/A-Entity/A-Entity.class.js.map +1 -0
  185. package/dist/src/global/A-Entity/A-Entity.types.d.ts +13 -0
  186. package/dist/src/global/A-Entity/A-Entity.types.js +4 -0
  187. package/dist/src/global/A-Entity/A-Entity.types.js.map +1 -0
  188. package/dist/src/global/A-Feature/A-Feature.class.d.ts +44 -0
  189. package/dist/src/global/A-Feature/A-Feature.class.js +125 -0
  190. package/dist/src/global/A-Feature/A-Feature.class.js.map +1 -0
  191. package/dist/src/global/A-Feature/A-Feature.types.d.ts +17 -0
  192. package/dist/src/global/A-Feature/A-Feature.types.js +11 -0
  193. package/dist/src/global/A-Feature/A-Feature.types.js.map +1 -0
  194. package/dist/src/global/A-Fragment/A-Fragment.class.d.ts +38 -0
  195. package/dist/src/global/A-Fragment/A-Fragment.class.js +107 -0
  196. package/dist/src/global/A-Fragment/A-Fragment.class.js.map +1 -0
  197. package/dist/src/global/A-Fragment/A-Fragment.types.d.ts +3 -0
  198. package/dist/src/global/A-Fragment/A-Fragment.types.js +3 -0
  199. package/dist/src/global/A-Fragment/A-Fragment.types.js.map +1 -0
  200. package/dist/src/global/A-Meta/A-Meta.class.d.ts +16 -0
  201. package/dist/src/global/A-Meta/A-Meta.class.js +69 -0
  202. package/dist/src/global/A-Meta/A-Meta.class.js.map +1 -0
  203. package/dist/src/global/A-Meta/A-Meta.types.js +2 -0
  204. package/dist/src/global/A-Meta/A-Meta.types.js.map +1 -0
  205. package/dist/src/global/A-Scope/A-Scope.class.d.ts +51 -0
  206. package/dist/src/global/A-Scope/A-Scope.class.js +135 -0
  207. package/dist/src/global/A-Scope/A-Scope.class.js.map +1 -0
  208. package/dist/src/global/A-Scope/A-Scope.types.d.ts +32 -0
  209. package/dist/src/global/A-Scope/A-Scope.types.js +3 -0
  210. package/dist/src/global/A-Scope/A-Scope.types.js.map +1 -0
  211. package/dist/src/storage/A_Component.storage.d.ts +10 -0
  212. package/dist/src/storage/A_Component.storage.js +17 -0
  213. package/dist/src/storage/A_Component.storage.js.map +1 -0
  214. package/dist/src/storage/A_Concept.storage.js +2 -2
  215. package/dist/src/storage/A_Concept.storage.js.map +1 -1
  216. package/dist/src/storage/A_Container.storage.d.ts +8 -0
  217. package/dist/src/storage/A_Container.storage.js +17 -0
  218. package/dist/src/storage/A_Container.storage.js.map +1 -0
  219. package/dist/src/storage/A_Inject.storage.d.ts +9 -0
  220. package/dist/src/storage/A_Inject.storage.js +13 -0
  221. package/dist/src/storage/A_Inject.storage.js.map +1 -0
  222. package/examples/simple/components/A.component.ts +35 -0
  223. package/examples/simple/components/B.component.ts +46 -0
  224. package/examples/simple/concept.ts +49 -12
  225. package/examples/simple/containers/Main.container.ts +47 -0
  226. package/examples/simple/context/Fragment_A.context.ts +25 -0
  227. package/examples/simple/context/Fragment_B.context.ts +19 -0
  228. package/examples/simple-http-server/components/http-error-handler.component.ts +44 -0
  229. package/examples/simple-http-server/components/http-request-handler.component.ts +9 -0
  230. package/examples/simple-http-server/concept.ts +22 -21
  231. package/examples/simple-http-server/containers/http-server.container.ts +23 -38
  232. package/examples/simple-http-server/contexts/http-request.context.ts +59 -0
  233. package/examples/simple-http-server/contexts/http-server.context.types.ts +0 -108
  234. package/examples/simple-http-server/test.ts +290 -0
  235. package/index.ts +53 -22
  236. package/jest.config.ts +1 -3
  237. package/package.json +4 -7
  238. package/src/{containers → base}/A-Config/A-Config.container.ts +21 -20
  239. package/src/{containers/A-Config/A-Config.namespace.ts → base/A-Config/A-Config.context.ts} +12 -5
  240. package/src/{containers → base}/A-Config/A-Config.types.ts +15 -4
  241. package/src/{containers → base}/A-Config/components/ConfigReader.component.ts +7 -3
  242. package/src/{containers → base}/A-Config/components/ENVConfigReader.component.ts +1 -1
  243. package/src/{containers → base}/A-Config/components/FileConfigReader.component.ts +1 -1
  244. package/src/base/A-Errors/A-Errors.component.ts +102 -0
  245. package/src/{containers/A-Errors/A-Errors.namespace.ts → base/A-Errors/A-Errors.context.ts} +24 -39
  246. package/src/{containers → base}/A-Errors/A-Errors.types.ts +2 -2
  247. package/src/base/A-Logger/A-Logger.component.ts +169 -0
  248. package/src/base/A-Logger/A-Logger.types.ts +0 -0
  249. package/src/constants/A_ConceptLifecycle.constants.ts +9 -9
  250. package/src/decorators/A-Feature/A-Feature-Define.decorator.ts +57 -0
  251. package/src/decorators/A-Feature/A-Feature-Extend.decorator.ts +57 -0
  252. package/src/decorators/A-Feature/A-Feature.decorator.types.ts +56 -0
  253. package/src/decorators/A-Inject/A-Inject.decorator.ts +64 -53
  254. package/src/decorators/A-Inject/A-Inject.decorator.types.ts +31 -4
  255. package/src/decorators/A-Stage/A-Stage.decorator.ts +57 -0
  256. package/src/decorators/A-Stage/A-Stage.decorator.types.ts +23 -0
  257. package/src/global/A-Channel/A-Channel.class.ts +48 -0
  258. package/src/global/A-Channel/A-Channel.types.ts +60 -0
  259. package/src/global/A-Component/A-Component.class.ts +1 -29
  260. package/src/global/A-Component/A-Component.meta.ts +9 -0
  261. package/src/global/A-Component/A-Component.types.ts +40 -0
  262. package/src/global/A-Concept/A_Concept.class.ts +160 -66
  263. package/src/global/A-Concept/A_Concept.meta.ts +9 -0
  264. package/src/global/A-Concept/A_Concept.types.ts +45 -10
  265. package/src/global/A-Container/A-Container.class.ts +172 -22
  266. package/src/global/A-Container/A-Container.meta.ts +80 -0
  267. package/src/global/A-Container/A-Container.types.ts +40 -0
  268. package/src/global/A-Context/A-Context.class.ts +233 -130
  269. package/src/global/A-Context/A-Context.types.ts +15 -0
  270. package/src/global/A-Dependency/A-DependencyReference.class.ts +61 -61
  271. package/src/global/A-Dependency/A-DependencyReference.types.ts +56 -56
  272. package/src/global/A-Entity/A-Entity.class.ts +141 -0
  273. package/src/global/A-Entity/A-Entity.types.ts +17 -0
  274. package/src/global/A-Feature/A-Feature.class.ts +156 -0
  275. package/src/global/A-Feature/A-Feature.types.ts +20 -0
  276. package/src/global/{A-Namespace/A_Namespace.class.ts → A-Fragment/A-Fragment.class.ts} +24 -30
  277. package/src/global/A-Fragment/A-Fragment.types.ts +6 -0
  278. package/src/global/A-Meta/A-Meta.class.ts +96 -0
  279. package/src/global/A-Meta/A-Meta.types.ts +0 -0
  280. package/src/global/A-Scope/A-Scope.class.ts +211 -0
  281. package/src/global/A-Scope/A-Scope.types.ts +37 -0
  282. package/tsconfig.json +1 -3
  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/storage/A_Concept.storage.ts +0 -45
  303. /package/{src/containers/A-Logger/A-Logger.types.ts → dist/src/base/A-Logger/A-Logger.types.d.ts} +0 -0
  304. /package/{src/decorators/A_ConceptMethods.decorator.ts → dist/src/global/A-Meta/A-Meta.types.d.ts} +0 -0
@@ -0,0 +1,125 @@
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_Feature = void 0;
13
+ const A_Feature_Define_decorator_1 = require("../../decorators/A-Feature/A-Feature-Define.decorator");
14
+ const A_Feature_Extend_decorator_1 = require("../../decorators/A-Feature/A-Feature-Extend.decorator");
15
+ const A_Feature_types_1 = require("./A-Feature.types");
16
+ const a_utils_1 = require("@adaas/a-utils");
17
+ const A_Context_class_1 = require("../A-Context/A-Context.class");
18
+ /**
19
+ * A_Feature is representing a feature that can be executed across multiple components
20
+ * This class stores the steps of the feature and executes them in order of appearance
21
+ *
22
+ * Using A_Feature.Define and A_Feature.Extend decorators to define and extend the feature methods
23
+ * across the different, distributed components
24
+ *
25
+ */
26
+ class A_Feature {
27
+ /**
28
+ * Define a new A-Feature
29
+ */
30
+ static get Define() {
31
+ return A_Feature_Define_decorator_1.A_Feature_Define;
32
+ }
33
+ /**
34
+ * Extend an existing A-Feature
35
+ */
36
+ static get Extend() {
37
+ return A_Feature_Extend_decorator_1.A_Feature_Extend;
38
+ }
39
+ constructor(params) {
40
+ // protected scope: A_Scope
41
+ this.steps = [];
42
+ this.state = A_Feature_types_1.A_TYPES__FeatureState.INITIALIZED;
43
+ // this.scope = params.scope;
44
+ this.steps = params.steps;
45
+ A_Context_class_1.A_Context.allocate(this, params);
46
+ }
47
+ /**
48
+ * This method marks the feature as completed and returns the result
49
+ * Uses to interrupt or end the feature processing
50
+ *
51
+ * @param result
52
+ * @returns
53
+ */
54
+ completed(...result) {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ this.result = result;
57
+ this.state = A_Feature_types_1.A_TYPES__FeatureState.COMPLETED;
58
+ return this.result;
59
+ });
60
+ }
61
+ /**
62
+ * This method marks the feature as failed and throws an error
63
+ * Uses to interrupt or end the feature processing
64
+ *
65
+ * @param error
66
+ */
67
+ failed(error) {
68
+ return __awaiter(this, void 0, void 0, function* () {
69
+ this.error = error;
70
+ this.state = A_Feature_types_1.A_TYPES__FeatureState.FAILED;
71
+ yield this.errorHandler(error);
72
+ });
73
+ }
74
+ process() {
75
+ return __awaiter(this, void 0, void 0, function* () {
76
+ try {
77
+ this.state = A_Feature_types_1.A_TYPES__FeatureState.PROCESSING;
78
+ for (const { component, handler, args } of this.steps) {
79
+ if (this.state === A_Feature_types_1.A_TYPES__FeatureState.FAILED
80
+ ||
81
+ this.state === A_Feature_types_1.A_TYPES__FeatureState.COMPLETED) {
82
+ throw new Error('FEATURE_PROCESSING_INTERRUPTED');
83
+ }
84
+ const instance = A_Context_class_1.A_Context.scope(this).resolve(component);
85
+ if (instance[handler]) {
86
+ const callArgs = A_Context_class_1.A_Context.scope(this).resolve(args);
87
+ yield instance[handler](...callArgs);
88
+ }
89
+ }
90
+ yield this.completed();
91
+ }
92
+ catch (error) {
93
+ console.log('Feature processing error:', error);
94
+ yield this.failed(error);
95
+ }
96
+ });
97
+ }
98
+ errorHandler(error) {
99
+ return __awaiter(this, void 0, void 0, function* () {
100
+ switch (true) {
101
+ case error instanceof a_utils_1.A_Error:
102
+ throw error;
103
+ case error instanceof Error
104
+ && error.message === 'FEATURE_PROCESSING_INTERRUPTED'
105
+ && this.state === A_Feature_types_1.A_TYPES__FeatureState.FAILED:
106
+ throw new a_utils_1.A_Error({
107
+ message: 'FEATURE_PROCESSING_INTERRUPTED',
108
+ code: 'FEATURE_PROCESSING_INTERRUPTED',
109
+ data: {
110
+ feature: this
111
+ }
112
+ });
113
+ case error instanceof Error
114
+ && error.message === 'FEATURE_PROCESSING_INTERRUPTED'
115
+ && this.state === A_Feature_types_1.A_TYPES__FeatureState.COMPLETED:
116
+ // Do nothing
117
+ break;
118
+ default:
119
+ throw error;
120
+ }
121
+ });
122
+ }
123
+ }
124
+ exports.A_Feature = A_Feature;
125
+ //# sourceMappingURL=A-Feature.class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A-Feature.class.js","sourceRoot":"","sources":["../../../../src/global/A-Feature/A-Feature.class.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { A_TYPES__ScopeConfig, A_TYPES__ScopeConstructor } from "../A-Scope/A-Scope.types";
2
+ export type A_TYPES__FeatureConstructor = {
3
+ steps: A_TYPES__FeatureStep[];
4
+ } & A_TYPES__ScopeConstructor & A_TYPES__ScopeConfig;
5
+ export declare enum A_TYPES__FeatureState {
6
+ INITIALIZED = "INITIALIZED",
7
+ PROCESSING = "PROCESSING",
8
+ COMPLETED = "COMPLETED",
9
+ FAILED = "FAILED"
10
+ }
11
+ export type A_TYPES__FeatureStep = {
12
+ component: {
13
+ new (...args: any[]): any;
14
+ };
15
+ handler: string;
16
+ args: any[];
17
+ };
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.A_TYPES__FeatureState = void 0;
4
+ var A_TYPES__FeatureState;
5
+ (function (A_TYPES__FeatureState) {
6
+ A_TYPES__FeatureState["INITIALIZED"] = "INITIALIZED";
7
+ A_TYPES__FeatureState["PROCESSING"] = "PROCESSING";
8
+ A_TYPES__FeatureState["COMPLETED"] = "COMPLETED";
9
+ A_TYPES__FeatureState["FAILED"] = "FAILED";
10
+ })(A_TYPES__FeatureState || (exports.A_TYPES__FeatureState = A_TYPES__FeatureState = {}));
11
+ //# sourceMappingURL=A-Feature.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A-Feature.types.js","sourceRoot":"","sources":["../../../../src/global/A-Feature/A-Feature.types.ts"],"names":[],"mappings":";;;AAMA,IAAY,qBAMX;AAND,WAAY,qBAAqB;IAC7B,oDAA2B,CAAA;IAC3B,kDAAyB,CAAA;IAEzB,gDAAuB,CAAA;IACvB,0CAAiB,CAAA;AACrB,CAAC,EANW,qBAAqB,qCAArB,qBAAqB,QAMhC"}
@@ -0,0 +1,38 @@
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;
12
+ /**
13
+ * Indicates that Context Fragment is ready to use
14
+ */
15
+ ready: Promise<void>;
16
+ constructor(params?: Partial<A_TYPES__FragmentConstructor>);
17
+ private hasInherited;
18
+ /**
19
+ * Initializes the Namespace or can be used to reinitialize the Namespace
20
+ */
21
+ private init;
22
+ /**
23
+ * Before init hook to be used in inherited classes
24
+ *
25
+ * @returns
26
+ */
27
+ protected onBeforeInit(): Promise<void>;
28
+ /**
29
+ * Main initialization method for the SDK
30
+ */
31
+ protected onInit(): Promise<void>;
32
+ /**
33
+ * After init hook to be used in inherited classes
34
+ *
35
+ * @returns
36
+ */
37
+ protected onAfterInit(): Promise<void>;
38
+ }
@@ -0,0 +1,107 @@
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_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
+ */
22
+ class A_Fragment {
23
+ constructor(params = {}) {
24
+ this.name = params.name || this.constructor.name;
25
+ /**
26
+ * Register the Namespace in the global Namespace provider
27
+ */
28
+ this.name = A_Context_class_1.A_Context
29
+ .register(this, this.name);
30
+ /**
31
+ * Run Async Initialization
32
+ */
33
+ this.init();
34
+ }
35
+ hasInherited(cl) {
36
+ return this.constructor === cl
37
+ ? false
38
+ : true;
39
+ }
40
+ /**
41
+ * Initializes the Namespace or can be used to reinitialize the Namespace
42
+ */
43
+ init() {
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ if (!this.ready)
46
+ this.ready = new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
47
+ try {
48
+ yield this.onBeforeInit();
49
+ yield this.onInit();
50
+ yield this.onAfterInit();
51
+ return resolve();
52
+ }
53
+ catch (error) {
54
+ return reject(error);
55
+ }
56
+ }));
57
+ else
58
+ yield this.ready;
59
+ });
60
+ }
61
+ // ==============================================================
62
+ // ======================= HOOKS ================================
63
+ // ==============================================================
64
+ /**
65
+ * Before init hook to be used in inherited classes
66
+ *
67
+ * @returns
68
+ */
69
+ onBeforeInit() {
70
+ return __awaiter(this, void 0, void 0, function* () {
71
+ return;
72
+ });
73
+ }
74
+ /**
75
+ * Main initialization method for the SDK
76
+ */
77
+ onInit() {
78
+ return __awaiter(this, void 0, void 0, function* () {
79
+ // global logger configuration
80
+ if (A_Context_class_1.A_Context.environment === 'server' && !this.hasInherited(A_Fragment)) {
81
+ // eslint-disable-next-line no-use-before-define
82
+ // process.on('uncaughtException', (error) => {
83
+ // // log only in case of A_AUTH_Error
84
+ // if (error instanceof A_Error)
85
+ // this.Logger.error(error);
86
+ // });
87
+ // // eslint-disable-next-line no-use-before-define
88
+ // process.on('unhandledRejection', (error) => {
89
+ // if (error instanceof A_Error)
90
+ // this.Logger.error(error);
91
+ // });
92
+ }
93
+ });
94
+ }
95
+ /**
96
+ * After init hook to be used in inherited classes
97
+ *
98
+ * @returns
99
+ */
100
+ onAfterInit() {
101
+ return __awaiter(this, void 0, void 0, function* () {
102
+ return;
103
+ });
104
+ }
105
+ }
106
+ exports.A_Fragment = A_Fragment;
107
+ //# sourceMappingURL=A-Fragment.class.js.map
@@ -0,0 +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,2BAAS;aAChB,QAAQ,CACL,IAAI,EACJ,IAAI,CAAC,IAAI,CACZ,CAAC;QAEN;;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;CAEJ;AA7GD,gCA6GC"}
@@ -0,0 +1,3 @@
1
+ export type A_TYPES__FragmentConstructor = {
2
+ name: string;
3
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=A-Fragment.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A-Fragment.types.js","sourceRoot":"","sources":["../../../../src/global/A-Fragment/A-Fragment.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * A Meta is an entity that stores all the metadata for the specific entity like container, component, feature, etc.
3
+ *
4
+ * [!] Meta can be different depending on the type of input data
5
+ */
6
+ export declare class A_Meta<_StorageItems extends Record<string, any>> {
7
+ protected meta: Map<keyof _StorageItems, _StorageItems[keyof _StorageItems]>;
8
+ from(meta: A_Meta<_StorageItems>): A_Meta<_StorageItems>;
9
+ set<K extends keyof _StorageItems>(key: K, value: _StorageItems[K]): void;
10
+ get<K extends keyof _StorageItems>(key: K): _StorageItems[K] | undefined;
11
+ delete(key: keyof _StorageItems): boolean;
12
+ findByRegex(regex: RegExp): Array<[keyof _StorageItems, _StorageItems[keyof _StorageItems]]>;
13
+ has(key: keyof _StorageItems): boolean;
14
+ entries(): IterableIterator<[keyof _StorageItems, _StorageItems[keyof _StorageItems]]>;
15
+ clear(): void;
16
+ }
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.A_Meta = void 0;
4
+ /**
5
+ * A Meta is an entity that stores all the metadata for the specific entity like container, component, feature, etc.
6
+ *
7
+ * [!] Meta can be different depending on the type of input data
8
+ */
9
+ class A_Meta {
10
+ constructor() {
11
+ this.meta = new Map();
12
+ }
13
+ from(meta) {
14
+ this.meta = new Map(meta.meta);
15
+ return this;
16
+ }
17
+ // ===================================================================================================
18
+ // ================================ META OPERATIONS ==================================================
19
+ // ===================================================================================================
20
+ // Method to set values in the map
21
+ set(key, value) {
22
+ const inheritedValue = this.meta.get(key)
23
+ || Array.isArray(value)
24
+ ? []
25
+ : value instanceof Map
26
+ ? new Map()
27
+ : {};
28
+ const targetValue = this.meta.get(key)
29
+ || Array.isArray(value)
30
+ ? [
31
+ ...inheritedValue
32
+ ] : value instanceof Map
33
+ ? new Map(inheritedValue)
34
+ : Object.assign({}, inheritedValue);
35
+ this.meta.set(key, value);
36
+ }
37
+ // Method to get values from the map
38
+ get(key) {
39
+ return this.meta.get(key);
40
+ }
41
+ // Delete a key-value pair by key
42
+ delete(key) {
43
+ return this.meta.delete(key);
44
+ }
45
+ // Search for keys by regex
46
+ findByRegex(regex) {
47
+ const results = [];
48
+ for (const [key, value] of this.meta.entries()) {
49
+ if (regex.test(String(key))) {
50
+ results.push([key, value]);
51
+ }
52
+ }
53
+ return results;
54
+ }
55
+ // Check if a key exists
56
+ has(key) {
57
+ return this.meta.has(key);
58
+ }
59
+ // Get all entries in the map
60
+ entries() {
61
+ return this.meta.entries();
62
+ }
63
+ // Clear all entries
64
+ clear() {
65
+ this.meta.clear();
66
+ }
67
+ }
68
+ exports.A_Meta = A_Meta;
69
+ //# sourceMappingURL=A-Meta.class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A-Meta.class.js","sourceRoot":"","sources":["../../../../src/global/A-Meta/A-Meta.class.ts"],"names":[],"mappings":";;;AAMA;;;;GAIG;AACH,MAAa,MAAM;IAAnB;QAKc,SAAI,GAAiE,IAAI,GAAG,EAAE,CAAC;IA6E7F,CAAC;IA1EG,IAAI,CACA,IAA2B;QAE3B,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/B,OAAO,IAAI,CAAC;IAChB,CAAC;IAGD,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IAEtG,kCAAkC;IAClC,GAAG,CAAgC,GAAM,EAAE,KAAuB;QAE9D,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;eAClC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACvB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAE,KAAa,YAAY,GAAG;gBAC3B,CAAC,CAAC,IAAI,GAAG,EAAE;gBACX,CAAC,CAAC,EAAE,CAAC;QACb,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;eAC/B,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACvB,CAAC,CAAC;gBACE,GAAG,cAAqB;aAC3B,CAAC,CAAC,CAAE,KAAa,YAAY,GAAG;YAC7B,CAAC,CAAC,IAAI,GAAG,CAAC,cAAqB,CAAC;YAChC,CAAC,mBAAM,cAAc,CAAE,CAAC;QAEhC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAE9B,CAAC;IAED,oCAAoC;IACpC,GAAG,CAAgC,GAAM;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAqB,CAAC;IAClD,CAAC;IAGD,iCAAiC;IACjC,MAAM,CAAC,GAAwB;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,2BAA2B;IAC3B,WAAW,CAAC,KAAa;QACrB,MAAM,OAAO,GAAqE,EAAE,CAAC;QACrF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7C,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;YAC/B,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,wBAAwB;IACxB,GAAG,CAAC,GAAwB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,6BAA6B;IAC7B,OAAO;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC;IAGD,oBAAoB;IACpB,KAAK;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CAIJ;AAlFD,wBAkFC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=A-Meta.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A-Meta.types.js","sourceRoot":"","sources":["../../../../src/global/A-Meta/A-Meta.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,51 @@
1
+ import { A_TYPES__ScopeConfig, A_TYPES__ScopeConstructor } from "./A-Scope.types";
2
+ import { A_Fragment } from "../A-Fragment/A-Fragment.class";
3
+ /**
4
+ *
5
+ *
6
+ * A_Scope refers to the visibility and accessibility of :
7
+ * - variables,
8
+ * - Components,
9
+ * - Context Fragments
10
+ * - and objects in different parts of your code.
11
+ * Scope determines where a particular piece of data (like a variable or function)
12
+ * can be accessed, modified, or referenced, and it plays a crucial role in avoiding naming collisions and ensuring data integrity.
13
+ *
14
+ *
15
+ */
16
+ export declare class A_Scope {
17
+ name: string;
18
+ private _components;
19
+ private _fragments;
20
+ private parent?;
21
+ protected params: A_TYPES__ScopeConstructor;
22
+ constructor(params: Partial<A_TYPES__ScopeConstructor>, config?: Partial<A_TYPES__ScopeConfig>);
23
+ private initComponents;
24
+ private initFragments;
25
+ get components(): (new (...args: any[]) => any)[];
26
+ /**
27
+ * This method is used to check if the component is available in the scope
28
+ *
29
+ * @param component
30
+ * @returns
31
+ */
32
+ has(component: {
33
+ new (...args: any[]): any;
34
+ }): boolean;
35
+ has(fragment: A_Fragment): boolean;
36
+ /**
37
+ * This method is used to get the component by class
38
+ *
39
+ * @param component
40
+ * @returns
41
+ */
42
+ resolve<T extends {
43
+ new (...args: any[]): any;
44
+ }>(component: T): InstanceType<T>;
45
+ resolve<T extends {
46
+ new (...args: any[]): any;
47
+ }>(component: Array<T>): Array<InstanceType<T>>;
48
+ private resolveOnce;
49
+ private resolveFragment;
50
+ register(fragment: A_Fragment): void;
51
+ }
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.A_Scope = void 0;
4
+ const a_utils_1 = require("@adaas/a-utils");
5
+ const A_Fragment_class_1 = require("../A-Fragment/A-Fragment.class");
6
+ const A_Context_class_1 = require("../A-Context/A-Context.class");
7
+ const A_Component_types_1 = require("../A-Component/A-Component.types");
8
+ /**
9
+ *
10
+ *
11
+ * A_Scope refers to the visibility and accessibility of :
12
+ * - variables,
13
+ * - Components,
14
+ * - Context Fragments
15
+ * - and objects in different parts of your code.
16
+ * Scope determines where a particular piece of data (like a variable or function)
17
+ * can be accessed, modified, or referenced, and it plays a crucial role in avoiding naming collisions and ensuring data integrity.
18
+ *
19
+ *
20
+ */
21
+ class A_Scope {
22
+ constructor(params, config = {}) {
23
+ this.name = '';
24
+ this._components = new WeakMap();
25
+ this._fragments = new WeakMap();
26
+ this.name = params.name || this.constructor.name;
27
+ // TODO: move to defaults
28
+ const defaultParams = {
29
+ name: '',
30
+ components: [],
31
+ fragments: [],
32
+ import: [],
33
+ export: [],
34
+ };
35
+ this.params = a_utils_1.A_CommonHelper.deepCloneAndMerge(params, defaultParams);
36
+ this.initComponents(params.components || []);
37
+ this.initFragments(params.fragments || []);
38
+ if (config.parent) {
39
+ this.parent = config.parent;
40
+ }
41
+ }
42
+ initComponents(_components) {
43
+ // _components.forEach(component => {
44
+ // this._components.set(component, new component());
45
+ // })
46
+ }
47
+ initFragments(_fragments) {
48
+ _fragments.forEach(this.register.bind(this));
49
+ }
50
+ get components() {
51
+ return this.params.components || [];
52
+ }
53
+ has(entity) {
54
+ switch (true) {
55
+ case entity instanceof A_Fragment_class_1.A_Fragment
56
+ && this._fragments.has(entity.constructor):
57
+ {
58
+ return true;
59
+ }
60
+ case entity instanceof A_Fragment_class_1.A_Fragment
61
+ && !this._fragments.has(entity.constructor)
62
+ && !!this.parent:
63
+ {
64
+ return this.parent.has(entity);
65
+ }
66
+ case !(entity instanceof A_Fragment_class_1.A_Fragment)
67
+ && this._components.has(entity):
68
+ {
69
+ return true;
70
+ }
71
+ case !(entity instanceof A_Fragment_class_1.A_Fragment)
72
+ && !this._components.has(entity)
73
+ && !!this.parent:
74
+ {
75
+ return this.parent.has(entity);
76
+ }
77
+ default: {
78
+ return false;
79
+ }
80
+ }
81
+ }
82
+ // base definition
83
+ resolve(param1, param2) {
84
+ switch (true) {
85
+ case Array.isArray(param1): {
86
+ return param1.map(c => this.resolveOnce(c));
87
+ }
88
+ case typeof param1 === 'function': {
89
+ return this.resolveOnce(param1);
90
+ }
91
+ default: {
92
+ throw new Error('Invalid arguments provided');
93
+ }
94
+ }
95
+ }
96
+ resolveOnce(component) {
97
+ switch (true) {
98
+ case a_utils_1.A_CommonHelper.isInheritedFrom(component, A_Fragment_class_1.A_Fragment): {
99
+ return this.resolveFragment(component);
100
+ }
101
+ case this.components.includes(component) && this._components.has(component): {
102
+ return this._components.get(component);
103
+ }
104
+ case this.components.includes(component) && !this._components.has(component): {
105
+ const componentMeta = A_Context_class_1.A_Context.meta(component);
106
+ const argsMeta = componentMeta.get(A_Component_types_1.A_TYPES__ComponentMetaKey.INJECTIONS);
107
+ let resolvedArgs = [];
108
+ if (argsMeta)
109
+ resolvedArgs = (argsMeta.get('constructor') || [])
110
+ .map(arg => this.resolve(arg));
111
+ this._components.set(component, new component());
112
+ return this._components.get(component);
113
+ }
114
+ case !this.components.includes(component) && !!this.parent: {
115
+ return this.parent.resolve(component);
116
+ }
117
+ default:
118
+ throw new Error(`Component ${component.name} not found in the scope`);
119
+ }
120
+ }
121
+ resolveFragment(fragment) {
122
+ if (this._fragments.has(fragment)) {
123
+ return this._fragments.get(fragment);
124
+ }
125
+ if (this.parent) {
126
+ return this.parent.resolveFragment(fragment);
127
+ }
128
+ throw new Error(`Fragment ${fragment.name} not found in the scope ${this.name}`);
129
+ }
130
+ register(fragment) {
131
+ this._fragments.set(fragment.constructor, fragment);
132
+ }
133
+ }
134
+ exports.A_Scope = A_Scope;
135
+ //# sourceMappingURL=A-Scope.class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A-Scope.class.js","sourceRoot":"","sources":["../../../../src/global/A-Scope/A-Scope.class.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { A_Fragment } from "../A-Fragment/A-Fragment.class";
2
+ import { A_Scope } from "./A-Scope.class";
3
+ export type A_TYPES__ScopeConstructor = {
4
+ /**
5
+ * Scope Name
6
+ */
7
+ name: string;
8
+ /**
9
+ * A list of Context Fragments available in the Scope
10
+ */
11
+ fragments: Array<A_Fragment>;
12
+ /**
13
+ * A set of Components available in the Scope
14
+ */
15
+ components: Array<{
16
+ new (...args: any[]): any;
17
+ }>;
18
+ /**
19
+ * A list of Features/Lifecycle Hooks available in the Scope
20
+ */
21
+ import: Array<string>;
22
+ /**
23
+ * A list of Features/Lifecycle Hooks available to be exported from the Scope
24
+ */
25
+ export: Array<string>;
26
+ };
27
+ export type A_TYPES__ScopeConfig = {
28
+ /**
29
+ * Allows to define a parent to take dependencies from in case of the current scope does not have the required component
30
+ */
31
+ parent: A_Scope;
32
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=A-Scope.types.js.map