@adaas/a-concept 0.0.63 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (412) hide show
  1. package/dist/index.d.ts +24 -32
  2. package/dist/index.js +35 -52
  3. package/dist/index.js.map +1 -1
  4. package/dist/src/constants/env.constants.d.ts +15 -8
  5. package/dist/src/constants/env.constants.js +17 -10
  6. package/dist/src/constants/env.constants.js.map +1 -1
  7. package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.d.ts +23 -0
  8. package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.js +69 -0
  9. package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.js.map +1 -0
  10. package/dist/src/global/A-Abstraction/A-Abstraction.class.d.ts +47 -20
  11. package/dist/src/global/A-Abstraction/A-Abstraction.class.js +55 -48
  12. package/dist/src/global/A-Abstraction/A-Abstraction.class.js.map +1 -1
  13. package/dist/src/global/A-Abstraction/A-Abstraction.error.d.ts +7 -0
  14. package/dist/src/global/A-Abstraction/A-Abstraction.error.js +12 -0
  15. package/dist/src/global/A-Abstraction/A-Abstraction.error.js.map +1 -0
  16. package/dist/src/global/A-Abstraction/A-Abstraction.types.d.ts +27 -12
  17. package/dist/src/global/A-Abstraction/A-Abstraction.types.js +0 -8
  18. package/dist/src/global/A-Abstraction/A-Abstraction.types.js.map +1 -1
  19. package/dist/src/global/A-Caller/A_Caller.class.d.ts +33 -0
  20. package/dist/src/global/A-Caller/A_Caller.class.js +44 -0
  21. package/dist/src/global/A-Caller/A_Caller.class.js.map +1 -0
  22. package/dist/src/global/A-Caller/A_Caller.error.d.ts +7 -0
  23. package/dist/src/global/A-Caller/A_Caller.error.js +12 -0
  24. package/dist/src/global/A-Caller/A_Caller.error.js.map +1 -0
  25. package/dist/src/global/A-Caller/A_Caller.types.d.ts +18 -0
  26. package/dist/src/{base/A-Errors/A-Errors.types.js → global/A-Caller/A_Caller.types.js} +1 -1
  27. package/dist/src/global/A-Caller/A_Caller.types.js.map +1 -0
  28. package/dist/src/global/A-Component/A-Component.class.d.ts +20 -3
  29. package/dist/src/global/A-Component/A-Component.class.js +35 -19
  30. package/dist/src/global/A-Component/A-Component.class.js.map +1 -1
  31. package/dist/src/global/A-Component/A-Component.constants.d.ts +6 -0
  32. package/dist/src/global/A-Component/A-Component.constants.js +11 -0
  33. package/dist/src/global/A-Component/A-Component.constants.js.map +1 -0
  34. package/dist/src/global/A-Component/A-Component.meta.d.ts +4 -4
  35. package/dist/src/global/A-Component/A-Component.meta.js +6 -8
  36. package/dist/src/global/A-Component/A-Component.meta.js.map +1 -1
  37. package/dist/src/global/A-Component/A-Component.types.d.ts +40 -22
  38. package/dist/src/global/A-Component/A-Component.types.js +1 -8
  39. package/dist/src/global/A-Component/A-Component.types.js.map +1 -1
  40. package/dist/src/global/A-Concept/A-Concept.class.d.ts +153 -0
  41. package/dist/src/global/A-Concept/A-Concept.class.js +260 -0
  42. package/dist/src/global/A-Concept/A-Concept.class.js.map +1 -0
  43. package/dist/src/global/A-Concept/A-Concept.constants.d.ts +33 -0
  44. package/dist/src/global/A-Concept/A-Concept.constants.js +39 -0
  45. package/dist/src/global/A-Concept/A-Concept.constants.js.map +1 -0
  46. package/dist/src/global/A-Concept/{A_Concept.meta.js → A-Concept.meta.js} +1 -2
  47. package/dist/src/global/A-Concept/A-Concept.meta.js.map +1 -0
  48. package/dist/src/global/A-Concept/A-Concept.types.d.ts +83 -0
  49. package/dist/src/global/{A-Channel/A-Channel.types.js → A-Concept/A-Concept.types.js} +1 -1
  50. package/dist/src/global/A-Concept/A-Concept.types.js.map +1 -0
  51. package/dist/src/global/A-Container/A-Container.class.d.ts +31 -35
  52. package/dist/src/global/A-Container/A-Container.class.js +34 -55
  53. package/dist/src/global/A-Container/A-Container.class.js.map +1 -1
  54. package/dist/src/global/A-Container/A-Container.constants.d.ts +5 -0
  55. package/dist/src/global/A-Container/A-Container.constants.js +10 -0
  56. package/dist/src/global/A-Container/A-Container.constants.js.map +1 -0
  57. package/dist/src/global/A-Container/A-Container.meta.d.ts +6 -6
  58. package/dist/src/global/A-Container/A-Container.meta.js +5 -6
  59. package/dist/src/global/A-Container/A-Container.meta.js.map +1 -1
  60. package/dist/src/global/A-Container/A-Container.types.d.ts +31 -25
  61. package/dist/src/global/A-Container/A-Container.types.js +1 -7
  62. package/dist/src/global/A-Container/A-Container.types.js.map +1 -1
  63. package/dist/src/global/A-Context/A-Context.class.d.ts +302 -76
  64. package/dist/src/global/A-Context/A-Context.class.js +436 -244
  65. package/dist/src/global/A-Context/A-Context.class.js.map +1 -1
  66. package/dist/src/global/A-Context/A-Context.error.d.ts +20 -0
  67. package/dist/src/global/A-Context/A-Context.error.js +25 -0
  68. package/dist/src/global/A-Context/A-Context.error.js.map +1 -0
  69. package/dist/src/global/A-Context/A-Context.types.d.ts +5 -0
  70. package/dist/src/global/A-Context/A-Context.types.js +1 -0
  71. package/dist/src/global/A-Entity/A-Entity.class.d.ts +18 -18
  72. package/dist/src/global/A-Entity/A-Entity.class.js +36 -43
  73. package/dist/src/global/A-Entity/A-Entity.class.js.map +1 -1
  74. package/dist/src/global/A-Entity/A-Entity.constants.d.ts +11 -0
  75. package/dist/src/global/A-Entity/A-Entity.constants.js +17 -0
  76. package/dist/src/global/A-Entity/A-Entity.constants.js.map +1 -0
  77. package/dist/src/global/A-Entity/A-Entity.error.d.ts +7 -0
  78. package/dist/src/global/A-Entity/A-Entity.error.js +12 -0
  79. package/dist/src/global/A-Entity/A-Entity.error.js.map +1 -0
  80. package/dist/src/global/A-Entity/A-Entity.meta.d.ts +2 -2
  81. package/dist/src/global/A-Entity/A-Entity.meta.js +2 -2
  82. package/dist/src/global/A-Entity/A-Entity.meta.js.map +1 -1
  83. package/dist/src/global/A-Entity/A-Entity.types.d.ts +24 -29
  84. package/dist/src/global/A-Entity/A-Entity.types.js +1 -13
  85. package/dist/src/global/A-Entity/A-Entity.types.js.map +1 -1
  86. package/dist/src/global/A-Error/A_Error.class.d.ts +219 -0
  87. package/dist/src/global/A-Error/A_Error.class.js +267 -0
  88. package/dist/src/global/A-Error/A_Error.class.js.map +1 -0
  89. package/dist/src/global/A-Error/A_Error.constants.d.ts +5 -0
  90. package/dist/src/global/A-Error/A_Error.constants.js +9 -0
  91. package/dist/src/global/A-Error/A_Error.constants.js.map +1 -0
  92. package/dist/src/global/A-Error/A_Error.types.d.ts +89 -0
  93. package/dist/src/{decorators/A-Inject/A-Inject.decorator.types.js → global/A-Error/A_Error.types.js} +1 -1
  94. package/dist/src/global/A-Error/A_Error.types.js.map +1 -0
  95. package/dist/src/global/A-Feature/A-Feature-Define.decorator.d.ts +15 -0
  96. package/dist/src/{decorators → global}/A-Feature/A-Feature-Define.decorator.js +21 -27
  97. package/dist/src/global/A-Feature/A-Feature-Define.decorator.js.map +1 -0
  98. package/dist/src/{decorators → global}/A-Feature/A-Feature-Extend.decorator.d.ts +26 -3
  99. package/dist/src/global/A-Feature/A-Feature-Extend.decorator.js +97 -0
  100. package/dist/src/global/A-Feature/A-Feature-Extend.decorator.js.map +1 -0
  101. package/dist/src/global/A-Feature/A-Feature.class.d.ts +120 -30
  102. package/dist/src/global/A-Feature/A-Feature.class.js +205 -73
  103. package/dist/src/global/A-Feature/A-Feature.class.js.map +1 -1
  104. package/dist/src/global/A-Feature/A-Feature.error.d.ts +25 -0
  105. package/dist/src/global/A-Feature/A-Feature.error.js +33 -0
  106. package/dist/src/global/A-Feature/A-Feature.error.js.map +1 -0
  107. package/dist/src/global/A-Feature/A-Feature.types.d.ts +241 -18
  108. package/dist/src/global/A-Feature/A-Feature.types.js +16 -22
  109. package/dist/src/global/A-Feature/A-Feature.types.js.map +1 -1
  110. package/dist/src/global/A-Fragment/A-Fragment.class.d.ts +19 -27
  111. package/dist/src/global/A-Fragment/A-Fragment.class.js +21 -91
  112. package/dist/src/global/A-Fragment/A-Fragment.class.js.map +1 -1
  113. package/dist/src/global/A-Fragment/A-Fragment.types.d.ts +19 -1
  114. package/dist/src/global/A-Fragment/A-Fragment.types.js +3 -0
  115. package/dist/src/global/A-Fragment/A-Fragment.types.js.map +1 -1
  116. package/dist/src/global/A-Inject/A-Inject.decorator.d.ts +80 -0
  117. package/dist/src/global/A-Inject/A-Inject.decorator.js +49 -0
  118. package/dist/src/global/A-Inject/A-Inject.decorator.js.map +1 -0
  119. package/dist/src/global/A-Inject/A-Inject.error.d.ts +5 -0
  120. package/dist/src/global/A-Inject/A-Inject.error.js +10 -0
  121. package/dist/src/global/A-Inject/A-Inject.error.js.map +1 -0
  122. package/dist/src/global/A-Inject/A-Inject.types.d.ts +42 -0
  123. package/dist/src/{decorators/A-Entity/A-Entity.decorator.types.js → global/A-Inject/A-Inject.types.js} +1 -1
  124. package/dist/src/global/A-Inject/A-Inject.types.js.map +1 -0
  125. package/dist/src/global/A-Meta/A-Meta.class.d.ts +1 -1
  126. package/dist/src/global/A-Meta/A-Meta.types.d.ts +14 -0
  127. package/dist/src/global/A-Meta/A-Meta.types.js +1 -0
  128. package/dist/src/global/A-Scope/A-Scope.class.d.ts +406 -63
  129. package/dist/src/global/A-Scope/A-Scope.class.js +533 -287
  130. package/dist/src/global/A-Scope/A-Scope.class.js.map +1 -1
  131. package/dist/src/global/A-Scope/A-Scope.error.d.ts +6 -0
  132. package/dist/src/global/A-Scope/A-Scope.error.js +11 -0
  133. package/dist/src/global/A-Scope/A-Scope.error.js.map +1 -0
  134. package/dist/src/global/A-Scope/A-Scope.types.d.ts +50 -13
  135. package/dist/src/global/A-Stage/A-Stage.class.d.ts +31 -23
  136. package/dist/src/global/A-Stage/A-Stage.class.js +100 -68
  137. package/dist/src/global/A-Stage/A-Stage.class.js.map +1 -1
  138. package/dist/src/global/A-Stage/A-Stage.error.d.ts +2 -1
  139. package/dist/src/global/A-Stage/A-Stage.error.js +5 -2
  140. package/dist/src/global/A-Stage/A-Stage.error.js.map +1 -1
  141. package/dist/src/global/A-Stage/A-Stage.types.d.ts +4 -16
  142. package/dist/src/global/A-Stage/A-Stage.types.js +0 -16
  143. package/dist/src/global/A-Stage/A-Stage.types.js.map +1 -1
  144. package/dist/src/global/ASEID/ASEID.class.d.ts +130 -0
  145. package/dist/src/global/ASEID/ASEID.class.js +167 -0
  146. package/dist/src/global/ASEID/ASEID.class.js.map +1 -0
  147. package/dist/src/global/ASEID/ASEID.constants.js +2 -0
  148. package/dist/src/global/ASEID/ASEID.constants.js.map +1 -0
  149. package/dist/src/global/ASEID/ASEID.error.d.ts +5 -0
  150. package/dist/src/global/ASEID/ASEID.error.js +10 -0
  151. package/dist/src/global/ASEID/ASEID.error.js.map +1 -0
  152. package/dist/src/global/ASEID/ASEID.types.d.ts +65 -0
  153. package/dist/src/global/ASEID/ASEID.types.js +5 -0
  154. package/dist/src/global/ASEID/ASEID.types.js.map +1 -0
  155. package/dist/src/helpers/A_Common.helper.d.ts +28 -0
  156. package/dist/src/helpers/A_Common.helper.js +170 -0
  157. package/dist/src/helpers/A_Common.helper.js.map +1 -0
  158. package/dist/src/helpers/A_Formatter.helper.d.ts +35 -0
  159. package/dist/src/helpers/A_Formatter.helper.js +62 -0
  160. package/dist/src/helpers/A_Formatter.helper.js.map +1 -0
  161. package/dist/src/helpers/A_Identity.helper.d.ts +29 -0
  162. package/dist/src/helpers/A_Identity.helper.js +43 -0
  163. package/dist/src/helpers/A_Identity.helper.js.map +1 -0
  164. package/dist/src/helpers/{StepsManager.class.d.ts → A_StepsManager.class.d.ts} +4 -2
  165. package/dist/src/helpers/{StepsManager.class.js → A_StepsManager.class.js} +10 -5
  166. package/dist/src/helpers/A_StepsManager.class.js.map +1 -0
  167. package/dist/src/helpers/A_TypeGuards.helper.d.ts +205 -0
  168. package/dist/src/helpers/A_TypeGuards.helper.js +288 -0
  169. package/dist/src/helpers/A_TypeGuards.helper.js.map +1 -0
  170. package/dist/src/types/A_Common.types.d.ts +36 -0
  171. package/dist/src/types/A_Common.types.js +3 -0
  172. package/dist/src/types/A_Common.types.js.map +1 -0
  173. package/index.ts +27 -51
  174. package/jest.config.ts +1 -0
  175. package/package.json +1 -2
  176. package/src/constants/env.constants.ts +18 -11
  177. package/src/global/A-Abstraction/A-Abstraction-Extend.decorator.ts +103 -0
  178. package/src/global/A-Abstraction/A-Abstraction.class.ts +71 -65
  179. package/src/global/A-Abstraction/A-Abstraction.error.ts +9 -0
  180. package/src/global/A-Abstraction/A-Abstraction.types.ts +52 -13
  181. package/src/global/A-Caller/A_Caller.class.ts +61 -0
  182. package/src/global/A-Caller/A_Caller.error.ts +10 -0
  183. package/src/global/A-Caller/A_Caller.types.ts +25 -0
  184. package/src/global/A-Component/A-Component.class.ts +26 -15
  185. package/src/global/A-Component/A-Component.constants.ts +9 -0
  186. package/src/global/A-Component/A-Component.meta.ts +6 -16
  187. package/src/global/A-Component/A-Component.types.ts +53 -28
  188. package/src/global/A-Concept/A-Concept.class.ts +316 -0
  189. package/src/global/A-Concept/A-Concept.constants.ts +36 -0
  190. package/src/global/A-Concept/A-Concept.meta.ts +17 -0
  191. package/src/global/A-Concept/A-Concept.types.ts +100 -0
  192. package/src/global/A-Container/A-Container.class.ts +42 -83
  193. package/src/global/A-Container/A-Container.constants.ts +5 -0
  194. package/src/global/A-Container/A-Container.meta.ts +7 -11
  195. package/src/global/A-Container/A-Container.types.ts +38 -34
  196. package/src/global/A-Context/A-Context.class.ts +648 -412
  197. package/src/global/A-Context/A-Context.error.ts +44 -0
  198. package/src/global/A-Context/A-Context.types.ts +14 -0
  199. package/src/global/A-Entity/A-Entity.class.ts +39 -52
  200. package/src/global/A-Entity/A-Entity.constants.ts +12 -0
  201. package/src/global/A-Entity/A-Entity.error.ts +12 -0
  202. package/src/global/A-Entity/A-Entity.meta.ts +4 -4
  203. package/src/global/A-Entity/A-Entity.types.ts +31 -36
  204. package/src/global/A-Error/A_Error.class.ts +408 -0
  205. package/src/global/A-Error/A_Error.constants.ts +11 -0
  206. package/src/global/A-Error/A_Error.types.ts +96 -0
  207. package/src/{decorators → global}/A-Feature/A-Feature-Define.decorator.ts +31 -37
  208. package/src/global/A-Feature/A-Feature-Extend.decorator.ts +187 -0
  209. package/src/global/A-Feature/A-Feature.class.ts +279 -122
  210. package/src/global/A-Feature/A-Feature.error.ts +33 -0
  211. package/src/global/A-Feature/A-Feature.types.ts +278 -40
  212. package/src/global/A-Fragment/A-Fragment.class.ts +29 -100
  213. package/src/global/A-Fragment/A-Fragment.types.ts +25 -3
  214. package/src/global/A-Inject/A-Inject.decorator.ts +167 -0
  215. package/src/global/A-Inject/A-Inject.error.ts +8 -0
  216. package/src/global/A-Inject/A-Inject.types.ts +75 -0
  217. package/src/global/A-Meta/A-Meta.class.ts +1 -1
  218. package/src/global/A-Meta/A-Meta.types.ts +21 -0
  219. package/src/global/A-Scope/A-Scope.class.ts +841 -443
  220. package/src/global/A-Scope/A-Scope.error.ts +13 -0
  221. package/src/global/A-Scope/A-Scope.types.ts +65 -26
  222. package/src/global/A-Stage/A-Stage.class.ts +142 -80
  223. package/src/global/A-Stage/A-Stage.error.ts +4 -2
  224. package/src/global/A-Stage/A-Stage.types.ts +4 -25
  225. package/src/global/ASEID/ASEID.class.ts +275 -0
  226. package/src/global/ASEID/ASEID.error.ts +12 -0
  227. package/src/global/ASEID/ASEID.types.ts +79 -0
  228. package/src/helpers/A_Common.helper.ts +204 -0
  229. package/src/helpers/A_Formatter.helper.ts +58 -0
  230. package/src/helpers/A_Identity.helper.ts +53 -0
  231. package/src/helpers/{StepsManager.class.ts → A_StepsManager.class.ts} +19 -3
  232. package/src/helpers/A_TypeGuards.helper.ts +318 -0
  233. package/src/types/A_Common.types.ts +79 -0
  234. package/tests/A-Common.test.ts +117 -0
  235. package/tests/A-Component.test.ts +11 -6
  236. package/tests/A-Concept.test.ts +19 -22
  237. package/tests/A-Entity.test.ts +24 -24
  238. package/tests/A-Error.test.ts +129 -0
  239. package/tests/A-Feature.test.ts +34 -25
  240. package/tests/A-Scope.test.ts +50 -22
  241. package/tests/ASEID.test.ts +74 -0
  242. package/tsconfig.build.json +2 -1
  243. package/tsconfig.json +3 -2
  244. package/dist/src/base/A-Config/A-Config.container.d.ts +0 -9
  245. package/dist/src/base/A-Config/A-Config.container.js +0 -69
  246. package/dist/src/base/A-Config/A-Config.container.js.map +0 -1
  247. package/dist/src/base/A-Config/A-Config.context.d.ts +0 -30
  248. package/dist/src/base/A-Config/A-Config.context.js +0 -60
  249. package/dist/src/base/A-Config/A-Config.context.js.map +0 -1
  250. package/dist/src/base/A-Config/A-Config.types.d.ts +0 -20
  251. package/dist/src/base/A-Config/A-Config.types.js +0 -7
  252. package/dist/src/base/A-Config/A-Config.types.js.map +0 -1
  253. package/dist/src/base/A-Config/components/ConfigReader.component.d.ts +0 -29
  254. package/dist/src/base/A-Config/components/ConfigReader.component.js +0 -84
  255. package/dist/src/base/A-Config/components/ConfigReader.component.js.map +0 -1
  256. package/dist/src/base/A-Config/components/ENVConfigReader.component.d.ts +0 -10
  257. package/dist/src/base/A-Config/components/ENVConfigReader.component.js +0 -37
  258. package/dist/src/base/A-Config/components/ENVConfigReader.component.js.map +0 -1
  259. package/dist/src/base/A-Config/components/FileConfigReader.component.d.ts +0 -11
  260. package/dist/src/base/A-Config/components/FileConfigReader.component.js +0 -48
  261. package/dist/src/base/A-Config/components/FileConfigReader.component.js.map +0 -1
  262. package/dist/src/base/A-Errors/A-Error.entity.d.ts +0 -3
  263. package/dist/src/base/A-Errors/A-Error.entity.js +0 -8
  264. package/dist/src/base/A-Errors/A-Error.entity.js.map +0 -1
  265. package/dist/src/base/A-Errors/A-Errors.component.d.ts +0 -19
  266. package/dist/src/base/A-Errors/A-Errors.component.js +0 -87
  267. package/dist/src/base/A-Errors/A-Errors.component.js.map +0 -1
  268. package/dist/src/base/A-Errors/A-Errors.context.d.ts +0 -27
  269. package/dist/src/base/A-Errors/A-Errors.context.js +0 -50
  270. package/dist/src/base/A-Errors/A-Errors.context.js.map +0 -1
  271. package/dist/src/base/A-Errors/A-Errors.types.d.ts +0 -5
  272. package/dist/src/base/A-Errors/A-Errors.types.js.map +0 -1
  273. package/dist/src/base/A-Logger/A-Logger.component.d.ts +0 -31
  274. package/dist/src/base/A-Logger/A-Logger.component.js +0 -155
  275. package/dist/src/base/A-Logger/A-Logger.component.js.map +0 -1
  276. package/dist/src/base/A-Logger/A-Logger.types.js +0 -2
  277. package/dist/src/base/A-Logger/A-Logger.types.js.map +0 -1
  278. package/dist/src/base/A-Polyfill/A-Polyfill.component.d.ts +0 -5
  279. package/dist/src/base/A-Polyfill/A-Polyfill.component.js +0 -34
  280. package/dist/src/base/A-Polyfill/A-Polyfill.component.js.map +0 -1
  281. package/dist/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.d.ts +0 -14
  282. package/dist/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.js +0 -53
  283. package/dist/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.js.map +0 -1
  284. package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.d.ts +0 -2
  285. package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.js +0 -3
  286. package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.js.map +0 -1
  287. package/dist/src/decorators/A-Connect/A-Connect.decorator.d.ts +0 -19
  288. package/dist/src/decorators/A-Connect/A-Connect.decorator.js +0 -31
  289. package/dist/src/decorators/A-Connect/A-Connect.decorator.js.map +0 -1
  290. package/dist/src/decorators/A-Connect/A-Connect.decorator.types.d.ts +0 -1
  291. package/dist/src/decorators/A-Connect/A-Connect.decorator.types.js +0 -3
  292. package/dist/src/decorators/A-Connect/A-Connect.decorator.types.js.map +0 -1
  293. package/dist/src/decorators/A-Entity/A-Entity-List.decorator.d.ts +0 -1
  294. package/dist/src/decorators/A-Entity/A-Entity-List.decorator.js +0 -8
  295. package/dist/src/decorators/A-Entity/A-Entity-List.decorator.js.map +0 -1
  296. package/dist/src/decorators/A-Entity/A-Entity.decorator.types.d.ts +0 -14
  297. package/dist/src/decorators/A-Entity/A-Entity.decorator.types.js.map +0 -1
  298. package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.d.ts +0 -19
  299. package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.js.map +0 -1
  300. package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js +0 -81
  301. package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js.map +0 -1
  302. package/dist/src/decorators/A-Feature/A-Feature.decorator.types.d.ts +0 -96
  303. package/dist/src/decorators/A-Feature/A-Feature.decorator.types.js +0 -3
  304. package/dist/src/decorators/A-Feature/A-Feature.decorator.types.js.map +0 -1
  305. package/dist/src/decorators/A-Inject/A-Inject.decorator.d.ts +0 -30
  306. package/dist/src/decorators/A-Inject/A-Inject.decorator.js +0 -47
  307. package/dist/src/decorators/A-Inject/A-Inject.decorator.js.map +0 -1
  308. package/dist/src/decorators/A-Inject/A-Inject.decorator.types.d.ts +0 -48
  309. package/dist/src/decorators/A-Inject/A-Inject.decorator.types.js.map +0 -1
  310. package/dist/src/global/A-Channel/A-Channel.class.d.ts +0 -16
  311. package/dist/src/global/A-Channel/A-Channel.class.js +0 -59
  312. package/dist/src/global/A-Channel/A-Channel.class.js.map +0 -1
  313. package/dist/src/global/A-Channel/A-Channel.types.d.ts +0 -68
  314. package/dist/src/global/A-Channel/A-Channel.types.js.map +0 -1
  315. package/dist/src/global/A-Command/A-Command.class.d.ts +0 -187
  316. package/dist/src/global/A-Command/A-Command.class.js +0 -349
  317. package/dist/src/global/A-Command/A-Command.class.js.map +0 -1
  318. package/dist/src/global/A-Command/A-Command.constants.d.ts +0 -17
  319. package/dist/src/global/A-Command/A-Command.constants.js +0 -22
  320. package/dist/src/global/A-Command/A-Command.constants.js.map +0 -1
  321. package/dist/src/global/A-Command/A-Command.meta.d.ts +0 -11
  322. package/dist/src/global/A-Command/A-Command.meta.js +0 -18
  323. package/dist/src/global/A-Command/A-Command.meta.js.map +0 -1
  324. package/dist/src/global/A-Command/A-Command.types.d.ts +0 -43
  325. package/dist/src/global/A-Command/A-Command.types.js +0 -10
  326. package/dist/src/global/A-Command/A-Command.types.js.map +0 -1
  327. package/dist/src/global/A-Command/context/A_Command.context.d.ts +0 -64
  328. package/dist/src/global/A-Command/context/A_Command.context.js +0 -85
  329. package/dist/src/global/A-Command/context/A_Command.context.js.map +0 -1
  330. package/dist/src/global/A-Concept/A_Concept.class.d.ts +0 -104
  331. package/dist/src/global/A-Concept/A_Concept.class.js +0 -217
  332. package/dist/src/global/A-Concept/A_Concept.class.js.map +0 -1
  333. package/dist/src/global/A-Concept/A_Concept.meta.js.map +0 -1
  334. package/dist/src/global/A-Concept/A_Concept.types.d.ts +0 -103
  335. package/dist/src/global/A-Concept/A_Concept.types.js +0 -28
  336. package/dist/src/global/A-Concept/A_Concept.types.js.map +0 -1
  337. package/dist/src/global/A-Feature/A-FeatureCaller.class.d.ts +0 -22
  338. package/dist/src/global/A-Feature/A-FeatureCaller.class.js +0 -26
  339. package/dist/src/global/A-Feature/A-FeatureCaller.class.js.map +0 -1
  340. package/dist/src/helpers/StepsManager.class.js.map +0 -1
  341. package/dist/src/types/A_Module.types.d.ts +0 -17
  342. package/dist/src/types/A_Module.types.js +0 -22
  343. package/dist/src/types/A_Module.types.js.map +0 -1
  344. package/examples/entity/concept.ts +0 -68
  345. package/examples/entity/entities/Task.entity.ts +0 -110
  346. package/examples/entity/entities/User.entity.ts +0 -62
  347. package/examples/fe-be/channels/Test.channel.ts +0 -27
  348. package/examples/fe-be/components/BE-Controller.component.ts +0 -20
  349. package/examples/fe-be/components/FE.component.ts +0 -13
  350. package/examples/fe-be/containers/ServerApp.container.ts +0 -8
  351. package/examples/fe-be/containers/WebApp.container.ts +0 -13
  352. package/examples/multi-container/channels/Direct.channel.ts +0 -39
  353. package/examples/multi-container/concept.ts +0 -0
  354. package/examples/multi-container/containers/Command.container.ts +0 -41
  355. package/examples/multi-container/containers/Schedule.container.ts +0 -52
  356. package/examples/simple/components/A.component.ts +0 -71
  357. package/examples/simple/components/B.component.ts +0 -68
  358. package/examples/simple/concept.ts +0 -87
  359. package/examples/simple/containers/Main.container.ts +0 -88
  360. package/examples/simple/containers/Secondary.container.ts +0 -26
  361. package/examples/simple/context/Fragment_A.context.ts +0 -25
  362. package/examples/simple/context/Fragment_B.context.ts +0 -19
  363. package/examples/simple/entities/EntityA.entity.ts +0 -32
  364. package/examples/simple-http-server/components/http-error-handler.component.ts +0 -47
  365. package/examples/simple-http-server/components/http-request-handler.component.ts +0 -13
  366. package/examples/simple-http-server/concept.ts +0 -35
  367. package/examples/simple-http-server/containers/http-server.container.ts +0 -57
  368. package/examples/simple-http-server/contexts/http-request.context.ts +0 -59
  369. package/examples/simple-http-server/contexts/http-server.context.types.ts +0 -0
  370. package/examples/simple-http-server/controllers/orders.controller.ts +0 -20
  371. package/examples/simple-http-server/controllers/users.controller.ts +0 -104
  372. package/examples/simple-http-server/test.ts +0 -290
  373. package/src/base/A-Config/A-Config.container.ts +0 -68
  374. package/src/base/A-Config/A-Config.context.ts +0 -114
  375. package/src/base/A-Config/A-Config.types.ts +0 -28
  376. package/src/base/A-Config/components/ConfigReader.component.ts +0 -68
  377. package/src/base/A-Config/components/ENVConfigReader.component.ts +0 -31
  378. package/src/base/A-Config/components/FileConfigReader.component.ts +0 -41
  379. package/src/base/A-Errors/A-Error.entity.ts +0 -10
  380. package/src/base/A-Errors/A-Errors.component.ts +0 -103
  381. package/src/base/A-Errors/A-Errors.context.ts +0 -90
  382. package/src/base/A-Errors/A-Errors.types.ts +0 -6
  383. package/src/base/A-Logger/A-Logger.component.ts +0 -192
  384. package/src/base/A-Logger/A-Logger.types.ts +0 -0
  385. package/src/base/A-Polyfill/A-Polyfill.component.ts +0 -18
  386. package/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.ts +0 -81
  387. package/src/decorators/A-Abstraction/A-Abstraction.decorator.types.ts +0 -21
  388. package/src/decorators/A-Connect/A-Connect.decorator.ts +0 -71
  389. package/src/decorators/A-Connect/A-Connect.decorator.types.ts +0 -6
  390. package/src/decorators/A-Entity/A-Entity-List.decorator.ts +0 -12
  391. package/src/decorators/A-Entity/A-Entity.decorator.types.ts +0 -18
  392. package/src/decorators/A-Feature/A-Feature-Extend.decorator.ts +0 -151
  393. package/src/decorators/A-Feature/A-Feature.decorator.types.ts +0 -142
  394. package/src/decorators/A-Inject/A-Inject.decorator.ts +0 -119
  395. package/src/decorators/A-Inject/A-Inject.decorator.types.ts +0 -85
  396. package/src/global/A-Channel/A-Channel.class.ts +0 -111
  397. package/src/global/A-Channel/A-Channel.types.ts +0 -114
  398. package/src/global/A-Command/A-Command.class.ts +0 -419
  399. package/src/global/A-Command/A-Command.constants.ts +0 -27
  400. package/src/global/A-Command/A-Command.meta.ts +0 -22
  401. package/src/global/A-Command/A-Command.types.ts +0 -73
  402. package/src/global/A-Command/context/A_Command.context.ts +0 -114
  403. package/src/global/A-Concept/A_Concept.class.ts +0 -298
  404. package/src/global/A-Concept/A_Concept.meta.ts +0 -32
  405. package/src/global/A-Concept/A_Concept.types.ts +0 -143
  406. package/src/global/A-Feature/A-FeatureCaller.class.ts +0 -38
  407. package/src/types/A_Module.types.ts +0 -23
  408. package/tests/A-Command.test.ts +0 -133
  409. package/tests/A-Config.test.ts +0 -172
  410. /package/dist/src/global/A-Concept/{A_Concept.meta.d.ts → A-Concept.meta.d.ts} +0 -0
  411. /package/dist/src/{base/A-Logger/A-Logger.types.d.ts → global/ASEID/ASEID.constants.d.ts} +0 -0
  412. /package/{examples/fe-be/concept.ts → src/global/ASEID/ASEID.constants.ts} +0 -0
@@ -0,0 +1,219 @@
1
+ import { A_TYPES__Error_Init, A_TYPES__Error_Serialized } from './A_Error.types';
2
+ import { ASEID } from '../ASEID/ASEID.class';
3
+ export declare class A_Error<_ConstructorType extends A_TYPES__Error_Init = A_TYPES__Error_Init, _SerializedType extends A_TYPES__Error_Serialized = A_TYPES__Error_Serialized> extends Error {
4
+ /**
5
+ * Error Identifier that corresponds to the class name
6
+ */
7
+ static get entity(): string;
8
+ /**
9
+ * DEFAULT Namespace of the error from environment variable A_CONCEPT_NAMESPACE
10
+ *
11
+ * [!] If environment variable is not set, it will default to 'a-concept'
12
+ */
13
+ static get concept(): string;
14
+ /**
15
+ * DEFAULT Scope of the entity from environment variable A_CONCEPT_DEFAULT_SCOPE
16
+ *
17
+ * [!] If environment variable is not set, it will default to 'core'
18
+ * [!] Scope is an application specific identifier that can be used to group entities together
19
+ * [!] e.g. 'default', 'core', 'public', 'internal', etc
20
+ */
21
+ static get scope(): string;
22
+ /**
23
+ * ASEID of the error instance
24
+ */
25
+ protected _aseid: ASEID;
26
+ /**
27
+ * Possible Scope if needed to identify the error by it's execution environment
28
+ */
29
+ protected _scope?: string;
30
+ /**
31
+ * Unique code representing the type of error
32
+ */
33
+ protected _code?: string;
34
+ /**
35
+ * Detailed description of the error
36
+ */
37
+ protected _description?: string;
38
+ /**
39
+ * Original Error if any
40
+ */
41
+ protected _originalError?: Error | any;
42
+ /**
43
+ * Link to the documentation or support page for the error
44
+ */
45
+ protected _link?: string;
46
+ /**
47
+ * A_Error is a custom error class for A_Concept framework.
48
+ * This error allows to have more structured error handling.
49
+ * Each error has a unique code, description and a link to the documentation.
50
+ *
51
+ * Example of usage:
52
+ * ```typescript
53
+ *
54
+ * // 1) all parameters will be used as provided
55
+ * throw new A_Error({
56
+ * message: 'User not found',
57
+ * code: 'USER_NOT_FOUND',
58
+ * description: 'The user with the given ID was not found.',
59
+ * link: 'https://support.adaas.org/error/USER_NOT_FOUND'
60
+ * });
61
+ *
62
+ * // or
63
+ * // 2) only message is provided, other parameters will be set to default values:
64
+ * // - code: 'user-not-found' (kebab-case of the message)
65
+ * // - description: 'User not found' (same as message)
66
+ * // - link: Empty
67
+ * throw new A_Error('User not found');
68
+ *
69
+ * // or
70
+ * // 3) Provided Message and Description, other parameters will be set to default values:
71
+ * // - code: 'user-not-found' (kebab-case of the message)
72
+ * // - description: 'The user with the given ID was not found.' (as provided)
73
+ * // - link: Empty
74
+ * throw new A_Error('User not found', 'The user with the given ID was not found.');
75
+ *
76
+ *
77
+ * ```
78
+ * [!] Note: The behavior of A_Error is similar to the A_Entity however it cannot have own A_Features.
79
+ * [!] Note: This class can be inherited to create custom error classes.
80
+ *
81
+ * @param message
82
+ */
83
+ constructor(
84
+ /**
85
+ * A_Error Constructor params
86
+ */
87
+ params: _ConstructorType);
88
+ constructor(
89
+ /**
90
+ * Error message
91
+ */
92
+ message: string);
93
+ constructor(
94
+ /**
95
+ * Original JS Error
96
+ */
97
+ error: Error);
98
+ constructor(
99
+ /**
100
+ * Error message
101
+ */
102
+ message: string,
103
+ /**
104
+ * Detailed description of the error
105
+ */
106
+ description: string);
107
+ /**
108
+ * Returns the ASEID of the error instance
109
+ */
110
+ get aseid(): ASEID;
111
+ /**
112
+ * Returns an Error message what is a brief title of the error
113
+ *
114
+ * Example: 'User not found', 'Validation error', 'Unauthorized access', etc.
115
+ *
116
+ * [!] Note: This message should be short and concise, less than 60 characters
117
+ * [!] Note: If message exceeds 60 characters, there would be an error thrown
118
+ * [!] Note: This message is intended to be human-readable and can be displayed in UI or logs
119
+ */
120
+ get message(): string;
121
+ /**
122
+ * Returns a unique code representing the type of error
123
+ *
124
+ * If code is not provided, it will generate a kebab-case of the message
125
+ *
126
+ * Example: 'validation-error', 'not-found', 'user-not-found', 'unauthorized' etc.
127
+ *
128
+ * [!] Note: It is recommended to use kebab-case for error codes
129
+ * [!] Note: If not provided would be used a kebab-case message of the error
130
+ */
131
+ get code(): string;
132
+ /**
133
+ * Returns the type of the error which corresponds to the static entity of the class
134
+ *
135
+ * Example: 'a-error', 'validation-error', 'not-found-error', 'user-error', etc.
136
+ *
137
+ * Defaults to the kebab-case of the class name
138
+ *
139
+ * [!] Note: naming ad separation are fully dependent on the architecture of the application
140
+ * [!] Note: It is recommended to use kebab-case for error types
141
+ * [!] Note: This type is intended to group similar errors together
142
+ */
143
+ get type(): string;
144
+ /**
145
+ * Returns a link with possible documentation or support page for the error
146
+ * If link is not provided, it will generate a link based on the ASEID of the error that points to the A-Concept support page
147
+ *
148
+ * Example: https://adaas.support/a-concept/errors/{ASEID}
149
+ *
150
+ * [!] Note: ASEID is generated based on the static properties of the class (concept, scope, entity) and the code of the error
151
+ */
152
+ get link(): string;
153
+ /**
154
+ * The scope name of the error instance
155
+ *
156
+ * If scope is not provided, it will use the static scope of the class
157
+ *
158
+ * [!] Note: Scope is an application specific identifier that can be used to group entities together
159
+ * [!] e.g. 'default', 'core', 'public', 'internal', etc
160
+ */
161
+ get scope(): string;
162
+ /**
163
+ * A detailed description of the error
164
+ * If description is not provided, it will use the environment variable A_ERROR_DEFAULT_DESCRIPTION or a generic message
165
+ *
166
+ * Example: 'The user with the given ID was not found.', 'The provided data is invalid.', 'You do not have permission to access this resource.', etc.
167
+ *
168
+ * [!] Note: This description is intended to provide more context about the error and can be used for debugging or logging purposes
169
+ */
170
+ get description(): string;
171
+ /**
172
+ * Returns the original error if any
173
+ *
174
+ * This can be useful for debugging purposes to see the original stack trace or error message
175
+ *
176
+ * [!] Note: Original error is optional and may not be present in all cases
177
+ */
178
+ get originalError(): Error | any | undefined;
179
+ /**
180
+ * Determines which initializer method to use based on the type of the first parameter.
181
+ *
182
+ * @param param1
183
+ * @returns
184
+ */
185
+ protected getInitializer(param1: _ConstructorType | Error | string | any): (param1: any, param2: any) => void | (() => void);
186
+ /**
187
+ * Initializes the A_Error instance from a standard Error object.
188
+ *
189
+ * @param error
190
+ */
191
+ protected fromError(error: Error): void;
192
+ /**
193
+ * Initializes the A_Error instance from a string message and optional description.
194
+ *
195
+ * @param message
196
+ * @param description
197
+ */
198
+ protected fromString(message: string, description?: string): void;
199
+ /**
200
+ * Initializes the A_Error instance from a constructor parameters object.
201
+ *
202
+ * @param params
203
+ */
204
+ protected fromConstructor(params: _ConstructorType): void;
205
+ /**
206
+ * Serializes the A_Error instance to a plain object.
207
+ *
208
+ *
209
+ * @returns
210
+ */
211
+ toJSON(): _SerializedType;
212
+ /**
213
+ * Checks if the provided message exceeds 60 characters.
214
+ * If it does, throws a validation A_Error.
215
+ *
216
+ * @param message
217
+ */
218
+ protected validateMessage(message: string): void;
219
+ }
@@ -0,0 +1,267 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.A_Error = void 0;
4
+ const A_Error_constants_1 = require("./A_Error.constants");
5
+ const A_Formatter_helper_1 = require("../../helpers/A_Formatter.helper");
6
+ const A_Context_class_1 = require("../A-Context/A-Context.class");
7
+ const A_TypeGuards_helper_1 = require("../../helpers/A_TypeGuards.helper");
8
+ const ASEID_class_1 = require("../ASEID/ASEID.class");
9
+ class A_Error extends Error {
10
+ // ====================================================================
11
+ // ================== Static A-Error Information ======================
12
+ // ====================================================================
13
+ /**
14
+ * Error Identifier that corresponds to the class name
15
+ */
16
+ static get entity() {
17
+ return A_Formatter_helper_1.A_FormatterHelper.toKebabCase(this.name);
18
+ }
19
+ /**
20
+ * DEFAULT Namespace of the error from environment variable A_CONCEPT_NAMESPACE
21
+ *
22
+ * [!] If environment variable is not set, it will default to 'a-concept'
23
+ */
24
+ static get concept() {
25
+ return A_Context_class_1.A_Context.concept;
26
+ }
27
+ /**
28
+ * DEFAULT Scope of the entity from environment variable A_CONCEPT_DEFAULT_SCOPE
29
+ *
30
+ * [!] If environment variable is not set, it will default to 'core'
31
+ * [!] Scope is an application specific identifier that can be used to group entities together
32
+ * [!] e.g. 'default', 'core', 'public', 'internal', etc
33
+ */
34
+ static get scope() {
35
+ return A_Context_class_1.A_Context.root.name;
36
+ }
37
+ constructor(param1, param2) {
38
+ // to prevent errors accumulation in the stack trace it returns the original error if provided param1 is A_Error
39
+ if (param1 instanceof A_Error) {
40
+ return param1;
41
+ }
42
+ else if (A_TypeGuards_helper_1.A_TypeGuards.isConstructorType(param1)) {
43
+ super(param1.message);
44
+ }
45
+ else if (param1 instanceof Error) {
46
+ super(param1.message);
47
+ }
48
+ else if (A_TypeGuards_helper_1.A_TypeGuards.isString(param1)) {
49
+ super(param1);
50
+ }
51
+ else {
52
+ console.log('INVALID PARAMS PROVIDED TO A_ERROR CONSTRUCTOR: ', param1);
53
+ throw new A_Error(A_Error_constants_1.A_CONSTANTS__ERROR_CODES.VALIDATION_ERROR, 'Invalid parameters provided to A_Error constructor');
54
+ }
55
+ // check message length
56
+ this.validateMessage(this.message);
57
+ const initializer = this.getInitializer(param1);
58
+ // the returned initializer is already bound to `this` (we used .bind(this)),
59
+ // so calling it will run the appropriate logic on this instance:
60
+ initializer.call(this, param1, param2);
61
+ }
62
+ // ====================================================================
63
+ // ================== Public A-Error Information ======================
64
+ // ====================================================================
65
+ /**
66
+ * Returns the ASEID of the error instance
67
+ */
68
+ get aseid() {
69
+ return this._aseid;
70
+ }
71
+ /**
72
+ * Returns an Error message what is a brief title of the error
73
+ *
74
+ * Example: 'User not found', 'Validation error', 'Unauthorized access', etc.
75
+ *
76
+ * [!] Note: This message should be short and concise, less than 60 characters
77
+ * [!] Note: If message exceeds 60 characters, there would be an error thrown
78
+ * [!] Note: This message is intended to be human-readable and can be displayed in UI or logs
79
+ */
80
+ get message() {
81
+ return super.message;
82
+ }
83
+ /**
84
+ * Returns a unique code representing the type of error
85
+ *
86
+ * If code is not provided, it will generate a kebab-case of the message
87
+ *
88
+ * Example: 'validation-error', 'not-found', 'user-not-found', 'unauthorized' etc.
89
+ *
90
+ * [!] Note: It is recommended to use kebab-case for error codes
91
+ * [!] Note: If not provided would be used a kebab-case message of the error
92
+ */
93
+ get code() {
94
+ return this._code || A_Formatter_helper_1.A_FormatterHelper.toKebabCase(this.message);
95
+ }
96
+ /**
97
+ * Returns the type of the error which corresponds to the static entity of the class
98
+ *
99
+ * Example: 'a-error', 'validation-error', 'not-found-error', 'user-error', etc.
100
+ *
101
+ * Defaults to the kebab-case of the class name
102
+ *
103
+ * [!] Note: naming ad separation are fully dependent on the architecture of the application
104
+ * [!] Note: It is recommended to use kebab-case for error types
105
+ * [!] Note: This type is intended to group similar errors together
106
+ */
107
+ get type() {
108
+ return this.constructor.entity;
109
+ }
110
+ /**
111
+ * Returns a link with possible documentation or support page for the error
112
+ * If link is not provided, it will generate a link based on the ASEID of the error that points to the A-Concept support page
113
+ *
114
+ * Example: https://adaas.support/a-concept/errors/{ASEID}
115
+ *
116
+ * [!] Note: ASEID is generated based on the static properties of the class (concept, scope, entity) and the code of the error
117
+ */
118
+ get link() {
119
+ if (this._link)
120
+ return this._link;
121
+ const url = new URL(`https://adaas.support/a-concept/errors/${this.aseid.toString()}`);
122
+ return url.toString();
123
+ }
124
+ /**
125
+ * The scope name of the error instance
126
+ *
127
+ * If scope is not provided, it will use the static scope of the class
128
+ *
129
+ * [!] Note: Scope is an application specific identifier that can be used to group entities together
130
+ * [!] e.g. 'default', 'core', 'public', 'internal', etc
131
+ */
132
+ get scope() {
133
+ return this._aseid.scope;
134
+ }
135
+ /**
136
+ * A detailed description of the error
137
+ * If description is not provided, it will use the environment variable A_ERROR_DEFAULT_DESCRIPTION or a generic message
138
+ *
139
+ * Example: 'The user with the given ID was not found.', 'The provided data is invalid.', 'You do not have permission to access this resource.', etc.
140
+ *
141
+ * [!] Note: This description is intended to provide more context about the error and can be used for debugging or logging purposes
142
+ */
143
+ get description() {
144
+ return this._description || process.env.A_ERROR_DEFAULT_DESCRIPTION || A_Error_constants_1.A_CONSTANTS__ERROR_DESCRIPTION;
145
+ }
146
+ /**
147
+ * Returns the original error if any
148
+ *
149
+ * This can be useful for debugging purposes to see the original stack trace or error message
150
+ *
151
+ * [!] Note: Original error is optional and may not be present in all cases
152
+ */
153
+ get originalError() {
154
+ return this._originalError;
155
+ }
156
+ /**
157
+ * Determines which initializer method to use based on the type of the first parameter.
158
+ *
159
+ * @param param1
160
+ * @returns
161
+ */
162
+ getInitializer(param1) {
163
+ switch (true) {
164
+ case A_TypeGuards_helper_1.A_TypeGuards.isString(param1):
165
+ return this.fromString;
166
+ case param1 instanceof Error:
167
+ return this.fromError;
168
+ case A_TypeGuards_helper_1.A_TypeGuards.isConstructorType(param1):
169
+ return this.fromConstructor;
170
+ default: {
171
+ console.log('INVALID PARAMS PROVIDED TO A_ERROR CONSTRUCTOR: ', param1);
172
+ throw new A_Error(A_Error_constants_1.A_CONSTANTS__ERROR_CODES.VALIDATION_ERROR, 'Invalid parameters provided to A_Error constructor');
173
+ }
174
+ }
175
+ }
176
+ /**
177
+ * Initializes the A_Error instance from a standard Error object.
178
+ *
179
+ * @param error
180
+ */
181
+ fromError(error) {
182
+ this._code = A_Error_constants_1.A_CONSTANTS__ERROR_CODES.UNEXPECTED_ERROR;
183
+ this._aseid = new ASEID_class_1.ASEID({
184
+ concept: this.constructor.concept,
185
+ scope: this.constructor.scope,
186
+ entity: this.constructor.entity,
187
+ id: this.code
188
+ });
189
+ this._description = 'If you see this error please let us know.';
190
+ this._originalError = error;
191
+ }
192
+ /**
193
+ * Initializes the A_Error instance from a string message and optional description.
194
+ *
195
+ * @param message
196
+ * @param description
197
+ */
198
+ fromString(message, description) {
199
+ this._code = A_Formatter_helper_1.A_FormatterHelper.toKebabCase(message);
200
+ this._scope = A_TypeGuards_helper_1.A_TypeGuards.isScopeInstance(description) ? description.name : undefined;
201
+ this._aseid = new ASEID_class_1.ASEID({
202
+ concept: this.constructor.concept,
203
+ scope: this._scope || this.constructor.scope,
204
+ entity: this.constructor.entity,
205
+ id: this.code
206
+ });
207
+ this._description = A_TypeGuards_helper_1.A_TypeGuards.isString(description) ? description : undefined;
208
+ this._link = undefined;
209
+ this._originalError = undefined;
210
+ }
211
+ /**
212
+ * Initializes the A_Error instance from a constructor parameters object.
213
+ *
214
+ * @param params
215
+ */
216
+ fromConstructor(params) {
217
+ this._code = params.code;
218
+ this._scope = params.scope ? (A_TypeGuards_helper_1.A_TypeGuards.isScopeInstance(params.scope) ? params.scope.name : params.scope) : undefined;
219
+ this._aseid = new ASEID_class_1.ASEID({
220
+ concept: this.constructor.concept,
221
+ scope: this._scope || this.constructor.scope,
222
+ entity: this.constructor.entity,
223
+ id: this.code
224
+ });
225
+ this._description = params.description;
226
+ this._link = params.link;
227
+ this._originalError = params.originalError;
228
+ }
229
+ /**
230
+ * Serializes the A_Error instance to a plain object.
231
+ *
232
+ *
233
+ * @returns
234
+ */
235
+ toJSON() {
236
+ var _a;
237
+ return {
238
+ aseid: this.aseid.toString(),
239
+ code: this.code,
240
+ type: this.type,
241
+ message: this.message,
242
+ link: this.link,
243
+ scope: this.scope,
244
+ description: this.description,
245
+ originalError: (_a = this.originalError) === null || _a === void 0 ? void 0 : _a.message
246
+ };
247
+ }
248
+ // --------------------------------------------------------------------------
249
+ // ----------------------- PROTECTED HELPERS --------------------------------
250
+ // --------------------------------------------------------------------------
251
+ /**
252
+ * Checks if the provided message exceeds 60 characters.
253
+ * If it does, throws a validation A_Error.
254
+ *
255
+ * @param message
256
+ */
257
+ validateMessage(message) {
258
+ if (message.length > 60) {
259
+ throw new A_Error(A_Error_constants_1.A_CONSTANTS__ERROR_CODES.VALIDATION_ERROR, 'A-Error message exceeds 60 characters limit.');
260
+ }
261
+ if (message.length === 0) {
262
+ throw new A_Error(A_Error_constants_1.A_CONSTANTS__ERROR_CODES.VALIDATION_ERROR, 'A-Error message cannot be empty.');
263
+ }
264
+ }
265
+ }
266
+ exports.A_Error = A_Error;
267
+ //# sourceMappingURL=A_Error.class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A_Error.class.js","sourceRoot":"","sources":["../../../../src/global/A-Error/A_Error.class.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare const A_CONSTANTS__ERROR_CODES: {
2
+ readonly UNEXPECTED_ERROR: "A-Error Unexpected Error";
3
+ readonly VALIDATION_ERROR: "A-Error Validation Error";
4
+ };
5
+ export declare const A_CONSTANTS__ERROR_DESCRIPTION = "If you see this error please let us know.";
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.A_CONSTANTS__ERROR_DESCRIPTION = exports.A_CONSTANTS__ERROR_CODES = void 0;
4
+ exports.A_CONSTANTS__ERROR_CODES = {
5
+ UNEXPECTED_ERROR: 'A-Error Unexpected Error',
6
+ VALIDATION_ERROR: 'A-Error Validation Error',
7
+ };
8
+ exports.A_CONSTANTS__ERROR_DESCRIPTION = 'If you see this error please let us know.';
9
+ //# sourceMappingURL=A_Error.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A_Error.constants.js","sourceRoot":"","sources":["../../../../src/global/A-Error/A_Error.constants.ts"],"names":[],"mappings":";;;AAGa,QAAA,wBAAwB,GAAG;IACpC,gBAAgB,EAAE,0BAA0B;IAC5C,gBAAgB,EAAE,0BAA0B;CACtC,CAAC;AAIE,QAAA,8BAA8B,GAAG,2CAA2C,CAAA"}
@@ -0,0 +1,89 @@
1
+ import { A_Scope } from "../A-Scope/A-Scope.class";
2
+ import { A_Error } from "./A_Error.class";
3
+ /**
4
+ * Entity constructor type
5
+ * Uses the generic type T to specify the type of the entity
6
+ */
7
+ export type A_TYPES__Error_Constructor<T = A_Error> = new (...args: any[]) => T;
8
+ /**
9
+ * Error initialization type
10
+ */
11
+ export type A_TYPES__Error_Init = {
12
+ /**
13
+ * Error message
14
+ *
15
+ * A short description of the error
16
+ */
17
+ message: string;
18
+ /**
19
+ * Error code representing the type of error
20
+ *
21
+ * Should be unique within the application or service
22
+ *
23
+ * Example: 'validation-error', 'not-found', 'user-not-found', 'unauthorized' etc.
24
+ *
25
+ * [!] Note: It is recommended to use kebab-case for error codes
26
+ * [!] Note: If not provided would be used a kebab-case message of the error
27
+ */
28
+ code?: string;
29
+ /**
30
+ * Possible Scope if needed to identify the error by it's execution environment
31
+ *
32
+ * For example, error of type 'validation' could happen in different scopes
33
+ * like 'user', 'admin', 'system' etc. This will help to identify the error context better
34
+ *
35
+ * Could be string or A_Scope instance
36
+ *
37
+ * [!] Note: If not provided, the default scope of the A_Error will be used (A_Context.root.name)
38
+ */
39
+ scope?: string | A_Scope;
40
+ /**
41
+ * Detailed description of the error
42
+ */
43
+ description?: string;
44
+ /**
45
+ * Link to the documentation or support page for the error
46
+ */
47
+ link?: string;
48
+ /**
49
+ * Original Error if any
50
+ */
51
+ originalError?: Error | unknown;
52
+ };
53
+ /**
54
+ * Error serialized type
55
+ */
56
+ export type A_TYPES__Error_Serialized = {
57
+ /**
58
+ * ASEID of the error
59
+ */
60
+ aseid: string;
61
+ /**
62
+ * Error message
63
+ */
64
+ message: string;
65
+ /**
66
+ * Type of the error
67
+ */
68
+ type: string;
69
+ /**
70
+ * Error code
71
+ */
72
+ code: string;
73
+ /**
74
+ * Error description
75
+ */
76
+ description: string;
77
+ /**
78
+ * Link to documentation or support page
79
+ */
80
+ link?: string;
81
+ /**
82
+ * Scope of the error
83
+ */
84
+ scope: string;
85
+ /**
86
+ * Original error message if any
87
+ */
88
+ originalError?: string;
89
+ };
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=A-Inject.decorator.types.js.map
3
+ //# sourceMappingURL=A_Error.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A_Error.types.js","sourceRoot":"","sources":["../../../../src/global/A-Error/A_Error.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import { A_TYPES__FeatureDefineDecoratorConfig, A_TYPES__FeatureDefineDecoratorDescriptor, A_TYPES__FeatureDefineDecoratorTarget } from "./A-Feature.types";
2
+ /**
3
+ * A-Feature decorator
4
+ *
5
+ * This decorator allows to define a custom lifecycle stage for the Container.
6
+ * These stages are executed in a container-specific order and can be extended by components that are injected into the container.
7
+ * This approach allows to create a flexible and extendable architecture for the application.
8
+ *
9
+ * The main difference between the A-Feature and A-Feature decorators is that A-Feature methods can be inherited and overridden by child classes.
10
+ *
11
+ *
12
+ * @param params
13
+ * @returns
14
+ */
15
+ export declare function A_Feature_Define(config?: Partial<A_TYPES__FeatureDefineDecoratorConfig>): (target: A_TYPES__FeatureDefineDecoratorTarget, propertyKey: string, descriptor: A_TYPES__FeatureDefineDecoratorDescriptor) => A_TYPES__FeatureDefineDecoratorDescriptor;