@adaas/a-concept 0.0.64 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (416) hide show
  1. package/dist/index.d.ts +24 -32
  2. package/dist/index.js +35 -52
  3. package/dist/index.js.map +1 -1
  4. package/dist/src/constants/env.constants.d.ts +15 -8
  5. package/dist/src/constants/env.constants.js +17 -10
  6. package/dist/src/constants/env.constants.js.map +1 -1
  7. package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.d.ts +23 -0
  8. package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.js +69 -0
  9. package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.js.map +1 -0
  10. package/dist/src/global/A-Abstraction/A-Abstraction.class.d.ts +47 -20
  11. package/dist/src/global/A-Abstraction/A-Abstraction.class.js +55 -48
  12. package/dist/src/global/A-Abstraction/A-Abstraction.class.js.map +1 -1
  13. package/dist/src/global/A-Abstraction/A-Abstraction.error.d.ts +7 -0
  14. package/dist/src/global/A-Abstraction/A-Abstraction.error.js +12 -0
  15. package/dist/src/global/A-Abstraction/A-Abstraction.error.js.map +1 -0
  16. package/dist/src/global/A-Abstraction/A-Abstraction.types.d.ts +27 -12
  17. package/dist/src/global/A-Abstraction/A-Abstraction.types.js +0 -8
  18. package/dist/src/global/A-Abstraction/A-Abstraction.types.js.map +1 -1
  19. package/dist/src/global/A-Caller/A_Caller.class.d.ts +33 -0
  20. package/dist/src/global/A-Caller/A_Caller.class.js +44 -0
  21. package/dist/src/global/A-Caller/A_Caller.class.js.map +1 -0
  22. package/dist/src/global/A-Caller/A_Caller.error.d.ts +7 -0
  23. package/dist/src/global/A-Caller/A_Caller.error.js +12 -0
  24. package/dist/src/global/A-Caller/A_Caller.error.js.map +1 -0
  25. package/dist/src/global/A-Caller/A_Caller.types.d.ts +18 -0
  26. package/dist/src/{base/A-Errors/A-Errors.types.js → global/A-Caller/A_Caller.types.js} +1 -1
  27. package/dist/src/global/A-Caller/A_Caller.types.js.map +1 -0
  28. package/dist/src/global/A-Component/A-Component.class.d.ts +20 -3
  29. package/dist/src/global/A-Component/A-Component.class.js +35 -19
  30. package/dist/src/global/A-Component/A-Component.class.js.map +1 -1
  31. package/dist/src/global/A-Component/A-Component.constants.d.ts +6 -0
  32. package/dist/src/global/A-Component/A-Component.constants.js +11 -0
  33. package/dist/src/global/A-Component/A-Component.constants.js.map +1 -0
  34. package/dist/src/global/A-Component/A-Component.meta.d.ts +4 -4
  35. package/dist/src/global/A-Component/A-Component.meta.js +6 -8
  36. package/dist/src/global/A-Component/A-Component.meta.js.map +1 -1
  37. package/dist/src/global/A-Component/A-Component.types.d.ts +40 -22
  38. package/dist/src/global/A-Component/A-Component.types.js +1 -8
  39. package/dist/src/global/A-Component/A-Component.types.js.map +1 -1
  40. package/dist/src/global/A-Concept/A-Concept.class.d.ts +153 -0
  41. package/dist/src/global/A-Concept/A-Concept.class.js +260 -0
  42. package/dist/src/global/A-Concept/A-Concept.class.js.map +1 -0
  43. package/dist/src/global/A-Concept/A-Concept.constants.d.ts +33 -0
  44. package/dist/src/global/A-Concept/A-Concept.constants.js +39 -0
  45. package/dist/src/global/A-Concept/A-Concept.constants.js.map +1 -0
  46. package/dist/src/global/A-Concept/{A_Concept.meta.js → A-Concept.meta.js} +1 -2
  47. package/dist/src/global/A-Concept/A-Concept.meta.js.map +1 -0
  48. package/dist/src/global/A-Concept/A-Concept.types.d.ts +83 -0
  49. package/dist/src/global/{A-Channel/A-Channel.types.js → A-Concept/A-Concept.types.js} +1 -1
  50. package/dist/src/global/A-Concept/A-Concept.types.js.map +1 -0
  51. package/dist/src/global/A-Container/A-Container.class.d.ts +31 -35
  52. package/dist/src/global/A-Container/A-Container.class.js +34 -55
  53. package/dist/src/global/A-Container/A-Container.class.js.map +1 -1
  54. package/dist/src/global/A-Container/A-Container.constants.d.ts +5 -0
  55. package/dist/src/global/A-Container/A-Container.constants.js +10 -0
  56. package/dist/src/global/A-Container/A-Container.constants.js.map +1 -0
  57. package/dist/src/global/A-Container/A-Container.meta.d.ts +6 -6
  58. package/dist/src/global/A-Container/A-Container.meta.js +5 -6
  59. package/dist/src/global/A-Container/A-Container.meta.js.map +1 -1
  60. package/dist/src/global/A-Container/A-Container.types.d.ts +31 -25
  61. package/dist/src/global/A-Container/A-Container.types.js +1 -7
  62. package/dist/src/global/A-Container/A-Container.types.js.map +1 -1
  63. package/dist/src/global/A-Context/A-Context.class.d.ts +302 -76
  64. package/dist/src/global/A-Context/A-Context.class.js +436 -244
  65. package/dist/src/global/A-Context/A-Context.class.js.map +1 -1
  66. package/dist/src/global/A-Context/A-Context.error.d.ts +20 -0
  67. package/dist/src/global/A-Context/A-Context.error.js +25 -0
  68. package/dist/src/global/A-Context/A-Context.error.js.map +1 -0
  69. package/dist/src/global/A-Context/A-Context.types.d.ts +5 -0
  70. package/dist/src/global/A-Context/A-Context.types.js +1 -0
  71. package/dist/src/global/A-Entity/A-Entity.class.d.ts +18 -18
  72. package/dist/src/global/A-Entity/A-Entity.class.js +36 -43
  73. package/dist/src/global/A-Entity/A-Entity.class.js.map +1 -1
  74. package/dist/src/global/A-Entity/A-Entity.constants.d.ts +11 -0
  75. package/dist/src/global/A-Entity/A-Entity.constants.js +17 -0
  76. package/dist/src/global/A-Entity/A-Entity.constants.js.map +1 -0
  77. package/dist/src/global/A-Entity/A-Entity.error.d.ts +7 -0
  78. package/dist/src/global/A-Entity/A-Entity.error.js +12 -0
  79. package/dist/src/global/A-Entity/A-Entity.error.js.map +1 -0
  80. package/dist/src/global/A-Entity/A-Entity.meta.d.ts +2 -2
  81. package/dist/src/global/A-Entity/A-Entity.meta.js +2 -2
  82. package/dist/src/global/A-Entity/A-Entity.meta.js.map +1 -1
  83. package/dist/src/global/A-Entity/A-Entity.types.d.ts +24 -29
  84. package/dist/src/global/A-Entity/A-Entity.types.js +1 -13
  85. package/dist/src/global/A-Entity/A-Entity.types.js.map +1 -1
  86. package/dist/src/global/A-Error/A_Error.class.d.ts +219 -0
  87. package/dist/src/global/A-Error/A_Error.class.js +267 -0
  88. package/dist/src/global/A-Error/A_Error.class.js.map +1 -0
  89. package/dist/src/global/A-Error/A_Error.constants.d.ts +5 -0
  90. package/dist/src/global/A-Error/A_Error.constants.js +9 -0
  91. package/dist/src/global/A-Error/A_Error.constants.js.map +1 -0
  92. package/dist/src/global/A-Error/A_Error.types.d.ts +89 -0
  93. package/dist/src/{decorators/A-Inject/A-Inject.decorator.types.js → global/A-Error/A_Error.types.js} +1 -1
  94. package/dist/src/global/A-Error/A_Error.types.js.map +1 -0
  95. package/dist/src/global/A-Feature/A-Feature-Define.decorator.d.ts +15 -0
  96. package/dist/src/{decorators → global}/A-Feature/A-Feature-Define.decorator.js +21 -27
  97. package/dist/src/global/A-Feature/A-Feature-Define.decorator.js.map +1 -0
  98. package/dist/src/{decorators → global}/A-Feature/A-Feature-Extend.decorator.d.ts +26 -3
  99. package/dist/src/global/A-Feature/A-Feature-Extend.decorator.js +97 -0
  100. package/dist/src/global/A-Feature/A-Feature-Extend.decorator.js.map +1 -0
  101. package/dist/src/global/A-Feature/A-Feature.class.d.ts +120 -30
  102. package/dist/src/global/A-Feature/A-Feature.class.js +205 -73
  103. package/dist/src/global/A-Feature/A-Feature.class.js.map +1 -1
  104. package/dist/src/global/A-Feature/A-Feature.error.d.ts +25 -0
  105. package/dist/src/global/A-Feature/A-Feature.error.js +33 -0
  106. package/dist/src/global/A-Feature/A-Feature.error.js.map +1 -0
  107. package/dist/src/global/A-Feature/A-Feature.types.d.ts +241 -18
  108. package/dist/src/global/A-Feature/A-Feature.types.js +16 -22
  109. package/dist/src/global/A-Feature/A-Feature.types.js.map +1 -1
  110. package/dist/src/global/A-Fragment/A-Fragment.class.d.ts +19 -27
  111. package/dist/src/global/A-Fragment/A-Fragment.class.js +21 -91
  112. package/dist/src/global/A-Fragment/A-Fragment.class.js.map +1 -1
  113. package/dist/src/global/A-Fragment/A-Fragment.types.d.ts +19 -1
  114. package/dist/src/global/A-Fragment/A-Fragment.types.js +3 -0
  115. package/dist/src/global/A-Fragment/A-Fragment.types.js.map +1 -1
  116. package/dist/src/global/A-Inject/A-Inject.decorator.d.ts +80 -0
  117. package/dist/src/global/A-Inject/A-Inject.decorator.js +49 -0
  118. package/dist/src/global/A-Inject/A-Inject.decorator.js.map +1 -0
  119. package/dist/src/global/A-Inject/A-Inject.error.d.ts +5 -0
  120. package/dist/src/global/A-Inject/A-Inject.error.js +10 -0
  121. package/dist/src/global/A-Inject/A-Inject.error.js.map +1 -0
  122. package/dist/src/global/A-Inject/A-Inject.types.d.ts +42 -0
  123. package/dist/src/{decorators/A-Entity/A-Entity.decorator.types.js → global/A-Inject/A-Inject.types.js} +1 -1
  124. package/dist/src/global/A-Inject/A-Inject.types.js.map +1 -0
  125. package/dist/src/global/A-Meta/A-Meta.class.d.ts +1 -1
  126. package/dist/src/global/A-Meta/A-Meta.types.d.ts +14 -0
  127. package/dist/src/global/A-Meta/A-Meta.types.js +1 -0
  128. package/dist/src/global/A-Scope/A-Scope.class.d.ts +124 -142
  129. package/dist/src/global/A-Scope/A-Scope.class.js +163 -209
  130. package/dist/src/global/A-Scope/A-Scope.class.js.map +1 -1
  131. package/dist/src/global/A-Scope/A-Scope.error.d.ts +6 -0
  132. package/dist/src/global/A-Scope/A-Scope.error.js +11 -0
  133. package/dist/src/global/A-Scope/A-Scope.error.js.map +1 -0
  134. package/dist/src/global/A-Scope/A-Scope.types.d.ts +48 -13
  135. package/dist/src/global/A-Stage/A-Stage.class.d.ts +31 -23
  136. package/dist/src/global/A-Stage/A-Stage.class.js +100 -68
  137. package/dist/src/global/A-Stage/A-Stage.class.js.map +1 -1
  138. package/dist/src/global/A-Stage/A-Stage.error.d.ts +2 -1
  139. package/dist/src/global/A-Stage/A-Stage.error.js +5 -2
  140. package/dist/src/global/A-Stage/A-Stage.error.js.map +1 -1
  141. package/dist/src/global/A-Stage/A-Stage.types.d.ts +4 -16
  142. package/dist/src/global/A-Stage/A-Stage.types.js +0 -16
  143. package/dist/src/global/A-Stage/A-Stage.types.js.map +1 -1
  144. package/dist/src/global/ASEID/ASEID.class.d.ts +130 -0
  145. package/dist/src/global/ASEID/ASEID.class.js +167 -0
  146. package/dist/src/global/ASEID/ASEID.class.js.map +1 -0
  147. package/dist/src/global/ASEID/ASEID.constants.js +2 -0
  148. package/dist/src/global/ASEID/ASEID.constants.js.map +1 -0
  149. package/dist/src/global/ASEID/ASEID.error.d.ts +5 -0
  150. package/dist/src/global/ASEID/ASEID.error.js +10 -0
  151. package/dist/src/global/ASEID/ASEID.error.js.map +1 -0
  152. package/dist/src/global/ASEID/ASEID.types.d.ts +65 -0
  153. package/dist/src/global/ASEID/ASEID.types.js +5 -0
  154. package/dist/src/global/ASEID/ASEID.types.js.map +1 -0
  155. package/dist/src/helpers/A_Common.helper.d.ts +28 -0
  156. package/dist/src/helpers/A_Common.helper.js +170 -0
  157. package/dist/src/helpers/A_Common.helper.js.map +1 -0
  158. package/dist/src/helpers/A_Formatter.helper.d.ts +35 -0
  159. package/dist/src/helpers/A_Formatter.helper.js +62 -0
  160. package/dist/src/helpers/A_Formatter.helper.js.map +1 -0
  161. package/dist/src/helpers/A_Identity.helper.d.ts +29 -0
  162. package/dist/src/helpers/A_Identity.helper.js +43 -0
  163. package/dist/src/helpers/A_Identity.helper.js.map +1 -0
  164. package/dist/src/helpers/{StepsManager.class.d.ts → A_StepsManager.class.d.ts} +4 -2
  165. package/dist/src/helpers/{StepsManager.class.js → A_StepsManager.class.js} +10 -5
  166. package/dist/src/helpers/A_StepsManager.class.js.map +1 -0
  167. package/dist/src/helpers/A_TypeGuards.helper.d.ts +205 -0
  168. package/dist/src/helpers/A_TypeGuards.helper.js +288 -0
  169. package/dist/src/helpers/A_TypeGuards.helper.js.map +1 -0
  170. package/dist/src/types/A_Common.types.d.ts +36 -0
  171. package/dist/src/types/A_Common.types.js +3 -0
  172. package/dist/src/types/A_Common.types.js.map +1 -0
  173. package/index.ts +27 -51
  174. package/jest.config.ts +1 -0
  175. package/package.json +1 -2
  176. package/src/constants/env.constants.ts +18 -11
  177. package/src/global/A-Abstraction/A-Abstraction-Extend.decorator.ts +103 -0
  178. package/src/global/A-Abstraction/A-Abstraction.class.ts +71 -65
  179. package/src/global/A-Abstraction/A-Abstraction.error.ts +9 -0
  180. package/src/global/A-Abstraction/A-Abstraction.types.ts +52 -13
  181. package/src/global/A-Caller/A_Caller.class.ts +61 -0
  182. package/src/global/A-Caller/A_Caller.error.ts +10 -0
  183. package/src/global/A-Caller/A_Caller.types.ts +25 -0
  184. package/src/global/A-Component/A-Component.class.ts +26 -15
  185. package/src/global/A-Component/A-Component.constants.ts +9 -0
  186. package/src/global/A-Component/A-Component.meta.ts +6 -16
  187. package/src/global/A-Component/A-Component.types.ts +53 -28
  188. package/src/global/A-Concept/A-Concept.class.ts +316 -0
  189. package/src/global/A-Concept/A-Concept.constants.ts +36 -0
  190. package/src/global/A-Concept/A-Concept.meta.ts +17 -0
  191. package/src/global/A-Concept/A-Concept.types.ts +100 -0
  192. package/src/global/A-Container/A-Container.class.ts +42 -83
  193. package/src/global/A-Container/A-Container.constants.ts +5 -0
  194. package/src/global/A-Container/A-Container.meta.ts +7 -11
  195. package/src/global/A-Container/A-Container.types.ts +38 -34
  196. package/src/global/A-Context/A-Context.class.ts +648 -412
  197. package/src/global/A-Context/A-Context.error.ts +44 -0
  198. package/src/global/A-Context/A-Context.types.ts +14 -0
  199. package/src/global/A-Entity/A-Entity.class.ts +39 -52
  200. package/src/global/A-Entity/A-Entity.constants.ts +12 -0
  201. package/src/global/A-Entity/A-Entity.error.ts +12 -0
  202. package/src/global/A-Entity/A-Entity.meta.ts +4 -4
  203. package/src/global/A-Entity/A-Entity.types.ts +31 -36
  204. package/src/global/A-Error/A_Error.class.ts +408 -0
  205. package/src/global/A-Error/A_Error.constants.ts +11 -0
  206. package/src/global/A-Error/A_Error.types.ts +96 -0
  207. package/src/{decorators → global}/A-Feature/A-Feature-Define.decorator.ts +31 -37
  208. package/src/global/A-Feature/A-Feature-Extend.decorator.ts +187 -0
  209. package/src/global/A-Feature/A-Feature.class.ts +279 -122
  210. package/src/global/A-Feature/A-Feature.error.ts +33 -0
  211. package/src/global/A-Feature/A-Feature.types.ts +278 -40
  212. package/src/global/A-Fragment/A-Fragment.class.ts +29 -100
  213. package/src/global/A-Fragment/A-Fragment.types.ts +25 -3
  214. package/src/global/A-Inject/A-Inject.decorator.ts +167 -0
  215. package/src/global/A-Inject/A-Inject.error.ts +8 -0
  216. package/src/global/A-Inject/A-Inject.types.ts +75 -0
  217. package/src/global/A-Meta/A-Meta.class.ts +1 -1
  218. package/src/global/A-Meta/A-Meta.types.ts +21 -0
  219. package/src/global/A-Scope/A-Scope.class.ts +288 -299
  220. package/src/global/A-Scope/A-Scope.error.ts +13 -0
  221. package/src/global/A-Scope/A-Scope.types.ts +61 -27
  222. package/src/global/A-Stage/A-Stage.class.ts +142 -80
  223. package/src/global/A-Stage/A-Stage.error.ts +4 -2
  224. package/src/global/A-Stage/A-Stage.types.ts +4 -25
  225. package/src/global/ASEID/ASEID.class.ts +275 -0
  226. package/src/global/ASEID/ASEID.error.ts +12 -0
  227. package/src/global/ASEID/ASEID.types.ts +79 -0
  228. package/src/helpers/A_Common.helper.ts +204 -0
  229. package/src/helpers/A_Formatter.helper.ts +58 -0
  230. package/src/helpers/A_Identity.helper.ts +53 -0
  231. package/src/helpers/{StepsManager.class.ts → A_StepsManager.class.ts} +19 -3
  232. package/src/helpers/A_TypeGuards.helper.ts +318 -0
  233. package/src/types/A_Common.types.ts +79 -0
  234. package/tests/A-Common.test.ts +117 -0
  235. package/tests/A-Component.test.ts +11 -6
  236. package/tests/A-Concept.test.ts +19 -22
  237. package/tests/A-Entity.test.ts +24 -24
  238. package/tests/A-Error.test.ts +129 -0
  239. package/tests/A-Feature.test.ts +34 -25
  240. package/tests/A-Scope.test.ts +50 -22
  241. package/tests/ASEID.test.ts +74 -0
  242. package/tsconfig.build.json +2 -1
  243. package/tsconfig.json +3 -2
  244. package/dist/src/base/A-Config/A-Config.container.d.ts +0 -9
  245. package/dist/src/base/A-Config/A-Config.container.js +0 -69
  246. package/dist/src/base/A-Config/A-Config.container.js.map +0 -1
  247. package/dist/src/base/A-Config/A-Config.context.d.ts +0 -30
  248. package/dist/src/base/A-Config/A-Config.context.js +0 -60
  249. package/dist/src/base/A-Config/A-Config.context.js.map +0 -1
  250. package/dist/src/base/A-Config/A-Config.types.d.ts +0 -20
  251. package/dist/src/base/A-Config/A-Config.types.js +0 -7
  252. package/dist/src/base/A-Config/A-Config.types.js.map +0 -1
  253. package/dist/src/base/A-Config/components/ConfigReader.component.d.ts +0 -29
  254. package/dist/src/base/A-Config/components/ConfigReader.component.js +0 -84
  255. package/dist/src/base/A-Config/components/ConfigReader.component.js.map +0 -1
  256. package/dist/src/base/A-Config/components/ENVConfigReader.component.d.ts +0 -10
  257. package/dist/src/base/A-Config/components/ENVConfigReader.component.js +0 -37
  258. package/dist/src/base/A-Config/components/ENVConfigReader.component.js.map +0 -1
  259. package/dist/src/base/A-Config/components/FileConfigReader.component.d.ts +0 -11
  260. package/dist/src/base/A-Config/components/FileConfigReader.component.js +0 -48
  261. package/dist/src/base/A-Config/components/FileConfigReader.component.js.map +0 -1
  262. package/dist/src/base/A-Errors/A-Error.entity.d.ts +0 -3
  263. package/dist/src/base/A-Errors/A-Error.entity.js +0 -8
  264. package/dist/src/base/A-Errors/A-Error.entity.js.map +0 -1
  265. package/dist/src/base/A-Errors/A-Errors.component.d.ts +0 -19
  266. package/dist/src/base/A-Errors/A-Errors.component.js +0 -87
  267. package/dist/src/base/A-Errors/A-Errors.component.js.map +0 -1
  268. package/dist/src/base/A-Errors/A-Errors.context.d.ts +0 -27
  269. package/dist/src/base/A-Errors/A-Errors.context.js +0 -50
  270. package/dist/src/base/A-Errors/A-Errors.context.js.map +0 -1
  271. package/dist/src/base/A-Errors/A-Errors.types.d.ts +0 -5
  272. package/dist/src/base/A-Errors/A-Errors.types.js.map +0 -1
  273. package/dist/src/base/A-Logger/A-Logger.component.d.ts +0 -31
  274. package/dist/src/base/A-Logger/A-Logger.component.js +0 -155
  275. package/dist/src/base/A-Logger/A-Logger.component.js.map +0 -1
  276. package/dist/src/base/A-Logger/A-Logger.types.js +0 -2
  277. package/dist/src/base/A-Logger/A-Logger.types.js.map +0 -1
  278. package/dist/src/base/A-Polyfill/A-Polyfill.component.d.ts +0 -5
  279. package/dist/src/base/A-Polyfill/A-Polyfill.component.js +0 -34
  280. package/dist/src/base/A-Polyfill/A-Polyfill.component.js.map +0 -1
  281. package/dist/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.d.ts +0 -14
  282. package/dist/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.js +0 -53
  283. package/dist/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.js.map +0 -1
  284. package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.d.ts +0 -2
  285. package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.js +0 -3
  286. package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.js.map +0 -1
  287. package/dist/src/decorators/A-Connect/A-Connect.decorator.d.ts +0 -19
  288. package/dist/src/decorators/A-Connect/A-Connect.decorator.js +0 -31
  289. package/dist/src/decorators/A-Connect/A-Connect.decorator.js.map +0 -1
  290. package/dist/src/decorators/A-Connect/A-Connect.decorator.types.d.ts +0 -1
  291. package/dist/src/decorators/A-Connect/A-Connect.decorator.types.js +0 -3
  292. package/dist/src/decorators/A-Connect/A-Connect.decorator.types.js.map +0 -1
  293. package/dist/src/decorators/A-Entity/A-Entity-List.decorator.d.ts +0 -1
  294. package/dist/src/decorators/A-Entity/A-Entity-List.decorator.js +0 -8
  295. package/dist/src/decorators/A-Entity/A-Entity-List.decorator.js.map +0 -1
  296. package/dist/src/decorators/A-Entity/A-Entity.decorator.types.d.ts +0 -14
  297. package/dist/src/decorators/A-Entity/A-Entity.decorator.types.js.map +0 -1
  298. package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.d.ts +0 -19
  299. package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.js.map +0 -1
  300. package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js +0 -81
  301. package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js.map +0 -1
  302. package/dist/src/decorators/A-Feature/A-Feature.decorator.types.d.ts +0 -96
  303. package/dist/src/decorators/A-Feature/A-Feature.decorator.types.js +0 -3
  304. package/dist/src/decorators/A-Feature/A-Feature.decorator.types.js.map +0 -1
  305. package/dist/src/decorators/A-Inject/A-Inject.decorator.d.ts +0 -30
  306. package/dist/src/decorators/A-Inject/A-Inject.decorator.js +0 -47
  307. package/dist/src/decorators/A-Inject/A-Inject.decorator.js.map +0 -1
  308. package/dist/src/decorators/A-Inject/A-Inject.decorator.types.d.ts +0 -48
  309. package/dist/src/decorators/A-Inject/A-Inject.decorator.types.js.map +0 -1
  310. package/dist/src/global/A-Channel/A-Channel.class.d.ts +0 -16
  311. package/dist/src/global/A-Channel/A-Channel.class.js +0 -59
  312. package/dist/src/global/A-Channel/A-Channel.class.js.map +0 -1
  313. package/dist/src/global/A-Channel/A-Channel.types.d.ts +0 -68
  314. package/dist/src/global/A-Channel/A-Channel.types.js.map +0 -1
  315. package/dist/src/global/A-Command/A-Command.class.d.ts +0 -187
  316. package/dist/src/global/A-Command/A-Command.class.js +0 -349
  317. package/dist/src/global/A-Command/A-Command.class.js.map +0 -1
  318. package/dist/src/global/A-Command/A-Command.constants.d.ts +0 -17
  319. package/dist/src/global/A-Command/A-Command.constants.js +0 -22
  320. package/dist/src/global/A-Command/A-Command.constants.js.map +0 -1
  321. package/dist/src/global/A-Command/A-Command.meta.d.ts +0 -11
  322. package/dist/src/global/A-Command/A-Command.meta.js +0 -18
  323. package/dist/src/global/A-Command/A-Command.meta.js.map +0 -1
  324. package/dist/src/global/A-Command/A-Command.types.d.ts +0 -43
  325. package/dist/src/global/A-Command/A-Command.types.js +0 -10
  326. package/dist/src/global/A-Command/A-Command.types.js.map +0 -1
  327. package/dist/src/global/A-Command/context/A_Command.context.d.ts +0 -64
  328. package/dist/src/global/A-Command/context/A_Command.context.js +0 -85
  329. package/dist/src/global/A-Command/context/A_Command.context.js.map +0 -1
  330. package/dist/src/global/A-Concept/A_Concept.class.d.ts +0 -104
  331. package/dist/src/global/A-Concept/A_Concept.class.js +0 -217
  332. package/dist/src/global/A-Concept/A_Concept.class.js.map +0 -1
  333. package/dist/src/global/A-Concept/A_Concept.meta.js.map +0 -1
  334. package/dist/src/global/A-Concept/A_Concept.types.d.ts +0 -103
  335. package/dist/src/global/A-Concept/A_Concept.types.js +0 -28
  336. package/dist/src/global/A-Concept/A_Concept.types.js.map +0 -1
  337. package/dist/src/global/A-Feature/A-FeatureCaller.class.d.ts +0 -22
  338. package/dist/src/global/A-Feature/A-FeatureCaller.class.js +0 -26
  339. package/dist/src/global/A-Feature/A-FeatureCaller.class.js.map +0 -1
  340. package/dist/src/global/A-Scope/A-Scope.constants.d.ts +0 -2
  341. package/dist/src/global/A-Scope/A-Scope.constants.js +0 -11
  342. package/dist/src/global/A-Scope/A-Scope.constants.js.map +0 -1
  343. package/dist/src/helpers/StepsManager.class.js.map +0 -1
  344. package/dist/src/types/A_Module.types.d.ts +0 -17
  345. package/dist/src/types/A_Module.types.js +0 -22
  346. package/dist/src/types/A_Module.types.js.map +0 -1
  347. package/examples/entity/concept.ts +0 -68
  348. package/examples/entity/entities/Task.entity.ts +0 -110
  349. package/examples/entity/entities/User.entity.ts +0 -62
  350. package/examples/fe-be/channels/Test.channel.ts +0 -27
  351. package/examples/fe-be/components/BE-Controller.component.ts +0 -20
  352. package/examples/fe-be/components/FE.component.ts +0 -13
  353. package/examples/fe-be/containers/ServerApp.container.ts +0 -8
  354. package/examples/fe-be/containers/WebApp.container.ts +0 -13
  355. package/examples/multi-container/channels/Direct.channel.ts +0 -39
  356. package/examples/multi-container/concept.ts +0 -0
  357. package/examples/multi-container/containers/Command.container.ts +0 -41
  358. package/examples/multi-container/containers/Schedule.container.ts +0 -52
  359. package/examples/simple/components/A.component.ts +0 -71
  360. package/examples/simple/components/B.component.ts +0 -68
  361. package/examples/simple/concept.ts +0 -87
  362. package/examples/simple/containers/Main.container.ts +0 -88
  363. package/examples/simple/containers/Secondary.container.ts +0 -26
  364. package/examples/simple/context/Fragment_A.context.ts +0 -25
  365. package/examples/simple/context/Fragment_B.context.ts +0 -19
  366. package/examples/simple/entities/EntityA.entity.ts +0 -32
  367. package/examples/simple-http-server/components/http-error-handler.component.ts +0 -47
  368. package/examples/simple-http-server/components/http-request-handler.component.ts +0 -13
  369. package/examples/simple-http-server/concept.ts +0 -35
  370. package/examples/simple-http-server/containers/http-server.container.ts +0 -57
  371. package/examples/simple-http-server/contexts/http-request.context.ts +0 -59
  372. package/examples/simple-http-server/contexts/http-server.context.types.ts +0 -0
  373. package/examples/simple-http-server/controllers/orders.controller.ts +0 -20
  374. package/examples/simple-http-server/controllers/users.controller.ts +0 -104
  375. package/examples/simple-http-server/test.ts +0 -290
  376. package/src/base/A-Config/A-Config.container.ts +0 -68
  377. package/src/base/A-Config/A-Config.context.ts +0 -114
  378. package/src/base/A-Config/A-Config.types.ts +0 -28
  379. package/src/base/A-Config/components/ConfigReader.component.ts +0 -68
  380. package/src/base/A-Config/components/ENVConfigReader.component.ts +0 -31
  381. package/src/base/A-Config/components/FileConfigReader.component.ts +0 -41
  382. package/src/base/A-Errors/A-Error.entity.ts +0 -10
  383. package/src/base/A-Errors/A-Errors.component.ts +0 -103
  384. package/src/base/A-Errors/A-Errors.context.ts +0 -90
  385. package/src/base/A-Errors/A-Errors.types.ts +0 -6
  386. package/src/base/A-Logger/A-Logger.component.ts +0 -192
  387. package/src/base/A-Logger/A-Logger.types.ts +0 -0
  388. package/src/base/A-Polyfill/A-Polyfill.component.ts +0 -18
  389. package/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.ts +0 -81
  390. package/src/decorators/A-Abstraction/A-Abstraction.decorator.types.ts +0 -21
  391. package/src/decorators/A-Connect/A-Connect.decorator.ts +0 -71
  392. package/src/decorators/A-Connect/A-Connect.decorator.types.ts +0 -6
  393. package/src/decorators/A-Entity/A-Entity-List.decorator.ts +0 -12
  394. package/src/decorators/A-Entity/A-Entity.decorator.types.ts +0 -18
  395. package/src/decorators/A-Feature/A-Feature-Extend.decorator.ts +0 -151
  396. package/src/decorators/A-Feature/A-Feature.decorator.types.ts +0 -142
  397. package/src/decorators/A-Inject/A-Inject.decorator.ts +0 -119
  398. package/src/decorators/A-Inject/A-Inject.decorator.types.ts +0 -85
  399. package/src/global/A-Channel/A-Channel.class.ts +0 -111
  400. package/src/global/A-Channel/A-Channel.types.ts +0 -114
  401. package/src/global/A-Command/A-Command.class.ts +0 -419
  402. package/src/global/A-Command/A-Command.constants.ts +0 -27
  403. package/src/global/A-Command/A-Command.meta.ts +0 -22
  404. package/src/global/A-Command/A-Command.types.ts +0 -73
  405. package/src/global/A-Command/context/A_Command.context.ts +0 -114
  406. package/src/global/A-Concept/A_Concept.class.ts +0 -298
  407. package/src/global/A-Concept/A_Concept.meta.ts +0 -32
  408. package/src/global/A-Concept/A_Concept.types.ts +0 -143
  409. package/src/global/A-Feature/A-FeatureCaller.class.ts +0 -38
  410. package/src/global/A-Scope/A-Scope.constants.ts +0 -9
  411. package/src/types/A_Module.types.ts +0 -23
  412. package/tests/A-Command.test.ts +0 -133
  413. package/tests/A-Config.test.ts +0 -172
  414. /package/dist/src/global/A-Concept/{A_Concept.meta.d.ts → A-Concept.meta.d.ts} +0 -0
  415. /package/dist/src/{base/A-Logger/A-Logger.types.d.ts → global/ASEID/ASEID.constants.d.ts} +0 -0
  416. /package/{examples/fe-be/concept.ts → src/global/ASEID/ASEID.constants.ts} +0 -0
@@ -0,0 +1,44 @@
1
+ import { A_Error } from "../A-Error/A_Error.class";
2
+
3
+
4
+
5
+ export class A_ContextError extends A_Error {
6
+
7
+
8
+ static NotAllowedForScopeAllocationError = 'Component is not allowed for scope allocation';
9
+
10
+ static ComponentAlreadyHasScopeAllocatedError = 'Component already has scope allocated';
11
+
12
+ static InvalidMetaParameterError = 'Invalid parameter provided to get meta';
13
+
14
+ static InvalidScopeParameterError = 'Invalid parameter provided to get scope';
15
+
16
+ static ScopeNotFoundError = 'Scope not found';
17
+
18
+ static InvalidFeatureParameterError = 'Invalid parameter provided to get feature';
19
+
20
+ static InvalidFeatureDefinitionParameterError = 'Invalid parameter provided to define feature';
21
+
22
+ static InvalidFeatureTemplateParameterError = 'Invalid parameter provided to get feature template';
23
+
24
+ static InvalidFeatureExtensionParameterError = 'Invalid parameter provided to extend feature';
25
+
26
+
27
+ static InvalidAbstractionParameterError = 'Invalid parameter provided to get abstraction';
28
+
29
+ static InvalidAbstractionDefinitionParameterError = 'Invalid parameter provided to define abstraction';
30
+
31
+ static InvalidAbstractionTemplateParameterError = 'Invalid parameter provided to get abstraction template';
32
+
33
+ static InvalidAbstractionExtensionParameterError = 'Invalid parameter provided to extend abstraction';
34
+
35
+ static InvalidInjectionParameterError = 'Invalid parameter provided to get injections';
36
+
37
+ static InvalidExtensionParameterError = 'Invalid parameter provided to get extensions';
38
+
39
+
40
+ static InvalidRegisterParameterError = 'Invalid parameter provided to register component';
41
+
42
+
43
+ static InvalidComponentParameterError = 'Invalid component provided';
44
+ }
@@ -0,0 +1,14 @@
1
+ import { A_ComponentMeta } from "../A-Component/A-Component.meta";
2
+ import { A_ContainerMeta } from "../A-Container/A-Container.meta";
3
+ import { A_EntityMeta } from "../A-Entity/A-Entity.meta";
4
+
5
+
6
+
7
+ export type A_TYPES__ContextEnvironment = 'server' | 'browser' | 'mobile' | 'desktop' | 'embedded' | 'unknown';
8
+
9
+
10
+
11
+
12
+ export type A_TYPES__FeatureExtendableMeta = A_ContainerMeta
13
+ | A_ComponentMeta
14
+ | A_EntityMeta
@@ -1,18 +1,15 @@
1
1
  import {
2
- A_CommonHelper,
3
- A_Error,
4
- ASEID,
5
- A_IdentityHelper
6
- } from "@adaas/a-utils";
7
- import {
8
- A_TYPES__Entity_JSON,
9
- A_TYPES__IEntity
2
+ A_TYPES__Entity_Serialized,
3
+ A_TYPES__Entity_Init,
4
+ A_TYPES__IEntity,
10
5
  } from "./A-Entity.types";
11
- import { A_CONSTANTS__DEFAULT_ERRORS } from "@adaas/a-utils/dist/src/constants/errors.constants";
12
6
  import { A_Context } from "../A-Context/A-Context.class";
13
7
  import { A_Scope } from "../A-Scope/A-Scope.class";
14
- import { A_CONSTANTS__DEFAULT_ENV_VARIABLES } from "@adaas/a-concept/constants/env.constants";
15
-
8
+ import { A_FormatterHelper } from "@adaas/a-concept/helpers/A_Formatter.helper";
9
+ import { ASEID } from "../ASEID/ASEID.class";
10
+ import { A_IdentityHelper } from "@adaas/a-concept/helpers/A_Identity.helper";
11
+ import { A_Entity_Error } from "./A-Entity.error";
12
+ import { A_Feature } from "../A-Feature/A-Feature.class";
16
13
 
17
14
 
18
15
  /**
@@ -23,31 +20,27 @@ import { A_CONSTANTS__DEFAULT_ENV_VARIABLES } from "@adaas/a-concept/constants/e
23
20
  * Each entity should be connected to the ContextFragment (Scope) and should be able to communicate with other entities.
24
21
  */
25
22
  export class A_Entity<
26
- _ConstructorType = any,
27
- _SerializedType extends A_TYPES__Entity_JSON = A_TYPES__Entity_JSON
23
+ _ConstructorType extends A_TYPES__Entity_Init = A_TYPES__Entity_Init,
24
+ _SerializedType extends A_TYPES__Entity_Serialized = A_TYPES__Entity_Serialized
28
25
  >
29
26
  implements A_TYPES__IEntity {
30
27
 
31
-
32
28
  // ====================================================================
33
29
  // ================== Static A-Entity Information ============================
34
30
  // ====================================================================
35
-
36
31
  /**
37
32
  * Entity Identifier that corresponds to the class name
38
33
  */
39
34
  static get entity(): string {
40
- return A_CommonHelper.toKebabCase(this.name);
35
+ return A_FormatterHelper.toKebabCase(this.name);
41
36
  }
42
-
43
37
  /**
44
- * DEFAULT Namespace of the entity from environment variable A_CONCEPT_NAMESPACE
38
+ * DEFAULT Concept Name (Application Name) of the entity from environment variable A_CONCEPT_NAME
45
39
  * [!] If environment variable is not set, it will default to 'a-concept'
46
40
  */
47
- static get namespace(): string {
48
- return A_Context.root.name;
41
+ static get concept(): string {
42
+ return A_Context.concept;
49
43
  }
50
-
51
44
  /**
52
45
  * DEFAULT Scope of the entity from environment variable A_CONCEPT_DEFAULT_SCOPE
53
46
  * [!] If environment variable is not set, it will default to 'core'
@@ -55,9 +48,11 @@ export class A_Entity<
55
48
  * [!] e.g. 'default', 'core', 'public', 'internal', etc
56
49
  */
57
50
  static get scope(): string {
58
- return process && process.env ? process.env[A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_DEFAULT_SCOPE] || 'core' : 'core';
51
+ return A_Context.root.name;
59
52
  }
60
53
 
54
+
55
+
61
56
  // ====================================================================
62
57
  // ================== Instance A-Entity Information ====================
63
58
  // ====================================================================
@@ -72,9 +67,9 @@ export class A_Entity<
72
67
  * [!] ASEID is immutable and should not be changed after the entity is created
73
68
  *
74
69
  * [!] ASEID is composed of the following parts:
75
- * - namespace: an application specific identifier from where the entity is coming from
76
- * - scope: the scope of the entity from Application Namespace
77
- * - entity: the name of the entity from Application Namespace
70
+ * - concept: an application specific identifier from where the entity is coming from
71
+ * - scope: the scope of the entity from concept
72
+ * - entity: the name of the entity from concept
78
73
  * - id: the unique identifier of the entity
79
74
  *
80
75
  * [!] For more information about ASEID, please refer to the ASEID class documentation]
@@ -97,7 +92,7 @@ export class A_Entity<
97
92
  )
98
93
  /**
99
94
  * Create a new A_entity instance from Aseid instance
100
- * e.g. new ASEID({namespace: 'project', scope: 'default', entity: 'entity', id: '0000000001'})
95
+ * e.g. new ASEID({concept: 'project', scope: 'default', entity: 'entity', id: '0000000001'})
101
96
  *
102
97
  * @param aseid
103
98
  */
@@ -149,16 +144,16 @@ export class A_Entity<
149
144
  }
150
145
 
151
146
  /**
152
- * Extracts the namespace from the ASEID
153
- * namespace is an application specific identifier from where the entity is coming from
147
+ * Extracts the concept from the ASEID
148
+ * concept is an application specific identifier from where the entity is coming from
154
149
  */
155
- get namespace(): string {
156
- return this.aseid.namespace
150
+ get concept(): string {
151
+ return this.aseid.concept
157
152
  }
158
153
 
159
154
  /**
160
155
  * Extracts the scope from the ASEID
161
- * scope is the scope of the entity from Application Namespace
156
+ * scope is the scope of the entity from concept
162
157
  */
163
158
  get scope(): string {
164
159
  return this.aseid.scope;
@@ -166,7 +161,7 @@ export class A_Entity<
166
161
 
167
162
  /**
168
163
  * Extracts the entity from the ASEID
169
- * entity is the name of the entity from Application Namespace
164
+ * entity is the name of the entity from concept
170
165
  *
171
166
  */
172
167
  get entity(): string {
@@ -283,7 +278,7 @@ export class A_Entity<
283
278
  }
284
279
 
285
280
  // none of the above -> throw consistent error
286
- throw new A_Error(A_CONSTANTS__DEFAULT_ERRORS.INCORRECT_A_ENTITY_CONSTRUCTOR);
281
+ throw new A_Entity_Error(A_Entity_Error.ValidationError, 'Unable to determine A-Entity constructor initialization method. Please check the provided parameters.');
287
282
  }
288
283
 
289
284
 
@@ -297,19 +292,14 @@ export class A_Entity<
297
292
  */
298
293
  async call(
299
294
  feature: string,
300
- scope: A_Scope = A_Context.scope(this)
295
+ scope?: A_Scope
301
296
  ) {
302
- // scope can be completely custom without relation to the entity scope
303
- // or it can be inherited from the entity scope
304
- // [!Not Now!] however, each feature should create own scope regardless of the passed scope
305
- // to avoid any possible side effects
306
- if (scope && !scope.isInheritedFrom(A_Context.scope(this))) {
307
- scope = scope.inherit(A_Context.scope(this));
308
- }
309
-
310
- const newFeature = A_Context.feature(this, feature, scope);
297
+ const newFeature = new A_Feature({
298
+ name: feature,
299
+ component: this
300
+ });
311
301
 
312
- return await newFeature.process();
302
+ return await newFeature.process(scope);
313
303
  }
314
304
 
315
305
 
@@ -354,13 +344,10 @@ export class A_Entity<
354
344
  * @param aseid
355
345
  */
356
346
  fromASEID(aseid: string | ASEID): void {
357
- if (typeof aseid === 'string' && ASEID.isASEID(aseid)) {
358
- this.aseid = new ASEID(aseid);
359
- } else if (aseid instanceof ASEID) {
347
+ if (aseid instanceof ASEID)
360
348
  this.aseid = aseid;
361
- } else {
362
- throw new A_Error(A_CONSTANTS__DEFAULT_ERRORS.INCORRECT_A_ENTITY_CONSTRUCTOR);
363
- }
349
+ else
350
+ this.aseid = new ASEID(aseid);
364
351
  }
365
352
 
366
353
  /**
@@ -373,7 +360,7 @@ export class A_Entity<
373
360
  */
374
361
  fromUndefined(): void {
375
362
  this.aseid = new ASEID({
376
- namespace: (this.constructor as typeof A_Entity).namespace,
363
+ concept: (this.constructor as typeof A_Entity).concept,
377
364
  scope: (this.constructor as typeof A_Entity).scope,
378
365
  entity: (this.constructor as typeof A_Entity).entity,
379
366
  id: A_IdentityHelper.generateTimeId()
@@ -391,7 +378,7 @@ export class A_Entity<
391
378
  */
392
379
  fromNew(newEntity: _ConstructorType): void {
393
380
  this.aseid = new ASEID({
394
- namespace: (this.constructor as typeof A_Entity).namespace,
381
+ concept: (this.constructor as typeof A_Entity).concept,
395
382
  scope: (this.constructor as typeof A_Entity).scope,
396
383
  entity: (this.constructor as typeof A_Entity).entity,
397
384
  id: A_IdentityHelper.generateTimeId()
@@ -0,0 +1,12 @@
1
+ export enum A_TYPES__EntityMetaKey {
2
+ EXTENSIONS = 'a-component-extensions',
3
+ FEATURES = 'a-component-features',
4
+ ABSTRACTIONS = 'a-component-abstractions',
5
+ INJECTIONS = 'a-component-injections',
6
+ }
7
+
8
+ export enum A_TYPES__EntityFeatures {
9
+ SAVE = 'save',
10
+ DESTROY = 'destroy',
11
+ LOAD = 'load'
12
+ }
@@ -0,0 +1,12 @@
1
+ import { A_Error } from "../A-Error/A_Error.class";
2
+
3
+
4
+
5
+ export class A_Entity_Error extends A_Error {
6
+
7
+ /**
8
+ * Error code for validation errors.
9
+ */
10
+ static readonly ValidationError = 'A-Entity Validation Error';
11
+
12
+ }
@@ -1,7 +1,7 @@
1
- import { A_TYPES__A_InjectDecorator_Meta } from "@adaas/a-concept/decorators/A-Inject/A-Inject.decorator.types";
2
1
  import { A_Meta } from "../A-Meta/A-Meta.class";
3
- import { A_TYPES__EntityMeta, A_TYPES__EntityMetaKey } from "./A-Entity.types";
4
- import { A_TYPES__A_DefineDecorator_Meta } from "@adaas/a-concept/decorators/A-Feature/A-Feature.decorator.types";
2
+ import { A_TYPES__EntityMeta } from "./A-Entity.types";
3
+ import { A_TYPES__EntityMetaKey } from "./A-Entity.constants";
4
+ import { A_TYPES__FeatureDefineDecoratorMeta } from "../A-Feature/A-Feature.types";
5
5
 
6
6
 
7
7
  export class A_EntityMeta extends A_Meta<A_TYPES__EntityMeta> {
@@ -11,7 +11,7 @@ export class A_EntityMeta extends A_Meta<A_TYPES__EntityMeta> {
11
11
  *
12
12
  * @returns
13
13
  */
14
- features(): Array<A_TYPES__A_DefineDecorator_Meta> {
14
+ features(): Array<A_TYPES__FeatureDefineDecoratorMeta> {
15
15
 
16
16
  const features = this.get(A_TYPES__EntityMetaKey.FEATURES);
17
17
 
@@ -1,31 +1,13 @@
1
- import { ASEID } from "@adaas/a-utils";
2
1
  import { A_Meta } from "../A-Meta/A-Meta.class";
3
- import { A_Fragment } from "../A-Fragment/A-Fragment.class";
4
- import { A_TYPES__A_DefineDecorator_Meta, A_TYPES__A_ExtendDecorator_Meta } from "@adaas/a-concept/decorators/A-Feature/A-Feature.decorator.types";
5
2
  import { A_Entity } from "./A-Entity.class";
6
- import { A_TYPES__ContainerMeta_FeatureItem } from "../A-Container/A-Container.types";
3
+ import { ASEID } from "../ASEID/ASEID.class";
4
+ import { A_TYPES__EntityMetaKey } from "./A-Entity.constants";
5
+ import { A_TYPES__FeatureDefineDecoratorMeta, A_TYPES__FeatureExtendDecoratorMeta } from "../A-Feature/A-Feature.types";
7
6
 
8
7
 
9
- export type A_TYPES__EntityCallParams<T extends string> = {
10
- name: T,
11
- fragments: Array<A_Fragment>,
12
- entities: Array<A_Entity<any, any>>,
13
- components: Array<{ new(...args: any[]): any }>
14
- }
15
-
16
-
17
- export type A_TYPES__EntityBaseMethods = [
18
- A_TYPES__EntityBaseMethod.SAVE,
19
- A_TYPES__EntityBaseMethod.DESTROY,
20
- A_TYPES__EntityBaseMethod.LOAD
21
- ]
22
-
23
- export enum A_TYPES__EntityBaseMethod {
24
- SAVE = 'save',
25
- DESTROY = 'destroy',
26
- LOAD = 'load'
27
- }
28
-
8
+ /**
9
+ * Entity interface
10
+ */
29
11
  export interface A_TYPES__IEntity {
30
12
  /**
31
13
  * The ASEID of the entity
@@ -33,8 +15,22 @@ export interface A_TYPES__IEntity {
33
15
  aseid: ASEID
34
16
  };
35
17
 
36
-
37
- export type A_TYPES__Entity_JSON = {
18
+ // ============================================================================
19
+ // --------------------------- Primary Types ----------------------------------
20
+ // ============================================================================
21
+ /**
22
+ * Entity constructor type
23
+ * Uses the generic type T to specify the type of the entity
24
+ */
25
+ export type A_TYPES__Entity_Constructor<T = A_Entity> = new (...args: any[]) => T;
26
+ /**
27
+ * Entity initialization type
28
+ */
29
+ export type A_TYPES__Entity_Init = any;
30
+ /**
31
+ * Entity serialized type
32
+ */
33
+ export type A_TYPES__Entity_Serialized = {
38
34
  /**
39
35
  * The ASEID of the entity
40
36
  */
@@ -43,11 +39,14 @@ export type A_TYPES__Entity_JSON = {
43
39
 
44
40
 
45
41
 
46
-
47
-
42
+ // ============================================================================
43
+ // --------------------------- Meta Types -------------------------------------
44
+ // ============================================================================
45
+ /**
46
+ * Entity meta type
47
+ */
48
48
  export type A_TYPES__EntityMeta = {
49
49
  [A_TYPES__EntityMetaKey.EXTENSIONS]: A_Meta<{
50
-
51
50
  /**
52
51
  * Where Key the regexp for what to apply the extension
53
52
  * A set of container names or a wildcard, or a regexp
@@ -55,7 +54,7 @@ export type A_TYPES__EntityMeta = {
55
54
  *
56
55
  * Where value is the extension instructions
57
56
  */
58
- [Key: string]: A_TYPES__A_ExtendDecorator_Meta[]
57
+ [Key: string]: A_TYPES__FeatureExtendDecoratorMeta[]
59
58
 
60
59
  }>, case
61
60
 
@@ -66,15 +65,11 @@ export type A_TYPES__EntityMeta = {
66
65
  *
67
66
  * Where value is the list of features
68
67
  */
69
- [Key: string]: A_TYPES__A_DefineDecorator_Meta
68
+ [Key: string]: A_TYPES__FeatureDefineDecoratorMeta
70
69
  }>
71
70
  }
72
71
 
73
- export enum A_TYPES__EntityMetaKey {
74
- EXTENSIONS = 'a-component-extensions',
75
- FEATURES = 'a-component-features',
76
- ABSTRACTIONS = 'a-component-abstractions',
77
- }
72
+
78
73
 
79
74
 
80
75