@adaas/a-concept 0.0.64 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (416) hide show
  1. package/dist/index.d.ts +24 -32
  2. package/dist/index.js +35 -52
  3. package/dist/index.js.map +1 -1
  4. package/dist/src/constants/env.constants.d.ts +15 -8
  5. package/dist/src/constants/env.constants.js +17 -10
  6. package/dist/src/constants/env.constants.js.map +1 -1
  7. package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.d.ts +23 -0
  8. package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.js +69 -0
  9. package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.js.map +1 -0
  10. package/dist/src/global/A-Abstraction/A-Abstraction.class.d.ts +47 -20
  11. package/dist/src/global/A-Abstraction/A-Abstraction.class.js +55 -48
  12. package/dist/src/global/A-Abstraction/A-Abstraction.class.js.map +1 -1
  13. package/dist/src/global/A-Abstraction/A-Abstraction.error.d.ts +7 -0
  14. package/dist/src/global/A-Abstraction/A-Abstraction.error.js +12 -0
  15. package/dist/src/global/A-Abstraction/A-Abstraction.error.js.map +1 -0
  16. package/dist/src/global/A-Abstraction/A-Abstraction.types.d.ts +27 -12
  17. package/dist/src/global/A-Abstraction/A-Abstraction.types.js +0 -8
  18. package/dist/src/global/A-Abstraction/A-Abstraction.types.js.map +1 -1
  19. package/dist/src/global/A-Caller/A_Caller.class.d.ts +33 -0
  20. package/dist/src/global/A-Caller/A_Caller.class.js +44 -0
  21. package/dist/src/global/A-Caller/A_Caller.class.js.map +1 -0
  22. package/dist/src/global/A-Caller/A_Caller.error.d.ts +7 -0
  23. package/dist/src/global/A-Caller/A_Caller.error.js +12 -0
  24. package/dist/src/global/A-Caller/A_Caller.error.js.map +1 -0
  25. package/dist/src/global/A-Caller/A_Caller.types.d.ts +18 -0
  26. package/dist/src/{base/A-Errors/A-Errors.types.js → global/A-Caller/A_Caller.types.js} +1 -1
  27. package/dist/src/global/A-Caller/A_Caller.types.js.map +1 -0
  28. package/dist/src/global/A-Component/A-Component.class.d.ts +20 -3
  29. package/dist/src/global/A-Component/A-Component.class.js +35 -19
  30. package/dist/src/global/A-Component/A-Component.class.js.map +1 -1
  31. package/dist/src/global/A-Component/A-Component.constants.d.ts +6 -0
  32. package/dist/src/global/A-Component/A-Component.constants.js +11 -0
  33. package/dist/src/global/A-Component/A-Component.constants.js.map +1 -0
  34. package/dist/src/global/A-Component/A-Component.meta.d.ts +4 -4
  35. package/dist/src/global/A-Component/A-Component.meta.js +6 -8
  36. package/dist/src/global/A-Component/A-Component.meta.js.map +1 -1
  37. package/dist/src/global/A-Component/A-Component.types.d.ts +40 -22
  38. package/dist/src/global/A-Component/A-Component.types.js +1 -8
  39. package/dist/src/global/A-Component/A-Component.types.js.map +1 -1
  40. package/dist/src/global/A-Concept/A-Concept.class.d.ts +153 -0
  41. package/dist/src/global/A-Concept/A-Concept.class.js +260 -0
  42. package/dist/src/global/A-Concept/A-Concept.class.js.map +1 -0
  43. package/dist/src/global/A-Concept/A-Concept.constants.d.ts +33 -0
  44. package/dist/src/global/A-Concept/A-Concept.constants.js +39 -0
  45. package/dist/src/global/A-Concept/A-Concept.constants.js.map +1 -0
  46. package/dist/src/global/A-Concept/{A_Concept.meta.js → A-Concept.meta.js} +1 -2
  47. package/dist/src/global/A-Concept/A-Concept.meta.js.map +1 -0
  48. package/dist/src/global/A-Concept/A-Concept.types.d.ts +83 -0
  49. package/dist/src/global/{A-Channel/A-Channel.types.js → A-Concept/A-Concept.types.js} +1 -1
  50. package/dist/src/global/A-Concept/A-Concept.types.js.map +1 -0
  51. package/dist/src/global/A-Container/A-Container.class.d.ts +31 -35
  52. package/dist/src/global/A-Container/A-Container.class.js +34 -55
  53. package/dist/src/global/A-Container/A-Container.class.js.map +1 -1
  54. package/dist/src/global/A-Container/A-Container.constants.d.ts +5 -0
  55. package/dist/src/global/A-Container/A-Container.constants.js +10 -0
  56. package/dist/src/global/A-Container/A-Container.constants.js.map +1 -0
  57. package/dist/src/global/A-Container/A-Container.meta.d.ts +6 -6
  58. package/dist/src/global/A-Container/A-Container.meta.js +5 -6
  59. package/dist/src/global/A-Container/A-Container.meta.js.map +1 -1
  60. package/dist/src/global/A-Container/A-Container.types.d.ts +31 -25
  61. package/dist/src/global/A-Container/A-Container.types.js +1 -7
  62. package/dist/src/global/A-Container/A-Container.types.js.map +1 -1
  63. package/dist/src/global/A-Context/A-Context.class.d.ts +302 -76
  64. package/dist/src/global/A-Context/A-Context.class.js +436 -244
  65. package/dist/src/global/A-Context/A-Context.class.js.map +1 -1
  66. package/dist/src/global/A-Context/A-Context.error.d.ts +20 -0
  67. package/dist/src/global/A-Context/A-Context.error.js +25 -0
  68. package/dist/src/global/A-Context/A-Context.error.js.map +1 -0
  69. package/dist/src/global/A-Context/A-Context.types.d.ts +5 -0
  70. package/dist/src/global/A-Context/A-Context.types.js +1 -0
  71. package/dist/src/global/A-Entity/A-Entity.class.d.ts +13 -39
  72. package/dist/src/global/A-Entity/A-Entity.class.js +30 -73
  73. package/dist/src/global/A-Entity/A-Entity.class.js.map +1 -1
  74. package/dist/src/global/A-Entity/A-Entity.constants.d.ts +11 -0
  75. package/dist/src/global/A-Entity/A-Entity.constants.js +17 -0
  76. package/dist/src/global/A-Entity/A-Entity.constants.js.map +1 -0
  77. package/dist/src/global/A-Entity/A-Entity.error.d.ts +7 -0
  78. package/dist/src/global/A-Entity/A-Entity.error.js +12 -0
  79. package/dist/src/global/A-Entity/A-Entity.error.js.map +1 -0
  80. package/dist/src/global/A-Entity/A-Entity.meta.d.ts +2 -2
  81. package/dist/src/global/A-Entity/A-Entity.meta.js +2 -2
  82. package/dist/src/global/A-Entity/A-Entity.meta.js.map +1 -1
  83. package/dist/src/global/A-Entity/A-Entity.types.d.ts +24 -29
  84. package/dist/src/global/A-Entity/A-Entity.types.js +1 -13
  85. package/dist/src/global/A-Entity/A-Entity.types.js.map +1 -1
  86. package/dist/src/global/A-Error/A_Error.class.d.ts +219 -0
  87. package/dist/src/global/A-Error/A_Error.class.js +267 -0
  88. package/dist/src/global/A-Error/A_Error.class.js.map +1 -0
  89. package/dist/src/global/A-Error/A_Error.constants.d.ts +5 -0
  90. package/dist/src/global/A-Error/A_Error.constants.js +9 -0
  91. package/dist/src/global/A-Error/A_Error.constants.js.map +1 -0
  92. package/dist/src/global/A-Error/A_Error.types.d.ts +89 -0
  93. package/dist/src/{decorators/A-Inject/A-Inject.decorator.types.js → global/A-Error/A_Error.types.js} +1 -1
  94. package/dist/src/global/A-Error/A_Error.types.js.map +1 -0
  95. package/dist/src/global/A-Feature/A-Feature-Define.decorator.d.ts +15 -0
  96. package/dist/src/{decorators → global}/A-Feature/A-Feature-Define.decorator.js +21 -27
  97. package/dist/src/global/A-Feature/A-Feature-Define.decorator.js.map +1 -0
  98. package/dist/src/{decorators → global}/A-Feature/A-Feature-Extend.decorator.d.ts +26 -3
  99. package/dist/src/global/A-Feature/A-Feature-Extend.decorator.js +97 -0
  100. package/dist/src/global/A-Feature/A-Feature-Extend.decorator.js.map +1 -0
  101. package/dist/src/global/A-Feature/A-Feature.class.d.ts +120 -30
  102. package/dist/src/global/A-Feature/A-Feature.class.js +205 -73
  103. package/dist/src/global/A-Feature/A-Feature.class.js.map +1 -1
  104. package/dist/src/global/A-Feature/A-Feature.error.d.ts +25 -0
  105. package/dist/src/global/A-Feature/A-Feature.error.js +33 -0
  106. package/dist/src/global/A-Feature/A-Feature.error.js.map +1 -0
  107. package/dist/src/global/A-Feature/A-Feature.types.d.ts +241 -18
  108. package/dist/src/global/A-Feature/A-Feature.types.js +16 -22
  109. package/dist/src/global/A-Feature/A-Feature.types.js.map +1 -1
  110. package/dist/src/global/A-Fragment/A-Fragment.class.d.ts +19 -27
  111. package/dist/src/global/A-Fragment/A-Fragment.class.js +21 -91
  112. package/dist/src/global/A-Fragment/A-Fragment.class.js.map +1 -1
  113. package/dist/src/global/A-Fragment/A-Fragment.types.d.ts +19 -1
  114. package/dist/src/global/A-Fragment/A-Fragment.types.js +3 -0
  115. package/dist/src/global/A-Fragment/A-Fragment.types.js.map +1 -1
  116. package/dist/src/global/A-Inject/A-Inject.decorator.d.ts +80 -0
  117. package/dist/src/global/A-Inject/A-Inject.decorator.js +49 -0
  118. package/dist/src/global/A-Inject/A-Inject.decorator.js.map +1 -0
  119. package/dist/src/global/A-Inject/A-Inject.error.d.ts +5 -0
  120. package/dist/src/global/A-Inject/A-Inject.error.js +10 -0
  121. package/dist/src/global/A-Inject/A-Inject.error.js.map +1 -0
  122. package/dist/src/global/A-Inject/A-Inject.types.d.ts +42 -0
  123. package/dist/src/{decorators/A-Entity/A-Entity.decorator.types.js → global/A-Inject/A-Inject.types.js} +1 -1
  124. package/dist/src/global/A-Inject/A-Inject.types.js.map +1 -0
  125. package/dist/src/global/A-Meta/A-Meta.class.d.ts +1 -1
  126. package/dist/src/global/A-Meta/A-Meta.types.d.ts +14 -0
  127. package/dist/src/global/A-Meta/A-Meta.types.js +1 -0
  128. package/dist/src/global/A-Scope/A-Scope.class.d.ts +124 -142
  129. package/dist/src/global/A-Scope/A-Scope.class.js +163 -209
  130. package/dist/src/global/A-Scope/A-Scope.class.js.map +1 -1
  131. package/dist/src/global/A-Scope/A-Scope.error.d.ts +6 -0
  132. package/dist/src/global/A-Scope/A-Scope.error.js +11 -0
  133. package/dist/src/global/A-Scope/A-Scope.error.js.map +1 -0
  134. package/dist/src/global/A-Scope/A-Scope.types.d.ts +48 -13
  135. package/dist/src/global/A-Stage/A-Stage.class.d.ts +31 -23
  136. package/dist/src/global/A-Stage/A-Stage.class.js +100 -68
  137. package/dist/src/global/A-Stage/A-Stage.class.js.map +1 -1
  138. package/dist/src/global/A-Stage/A-Stage.error.d.ts +2 -1
  139. package/dist/src/global/A-Stage/A-Stage.error.js +5 -2
  140. package/dist/src/global/A-Stage/A-Stage.error.js.map +1 -1
  141. package/dist/src/global/A-Stage/A-Stage.types.d.ts +4 -16
  142. package/dist/src/global/A-Stage/A-Stage.types.js +0 -16
  143. package/dist/src/global/A-Stage/A-Stage.types.js.map +1 -1
  144. package/dist/src/global/ASEID/ASEID.class.d.ts +130 -0
  145. package/dist/src/global/ASEID/ASEID.class.js +167 -0
  146. package/dist/src/global/ASEID/ASEID.class.js.map +1 -0
  147. package/dist/src/global/ASEID/ASEID.constants.js +2 -0
  148. package/dist/src/global/ASEID/ASEID.constants.js.map +1 -0
  149. package/dist/src/global/ASEID/ASEID.error.d.ts +5 -0
  150. package/dist/src/global/ASEID/ASEID.error.js +10 -0
  151. package/dist/src/global/ASEID/ASEID.error.js.map +1 -0
  152. package/dist/src/global/ASEID/ASEID.types.d.ts +65 -0
  153. package/dist/src/global/ASEID/ASEID.types.js +5 -0
  154. package/dist/src/global/ASEID/ASEID.types.js.map +1 -0
  155. package/dist/src/helpers/A_Common.helper.d.ts +28 -0
  156. package/dist/src/helpers/A_Common.helper.js +170 -0
  157. package/dist/src/helpers/A_Common.helper.js.map +1 -0
  158. package/dist/src/helpers/A_Formatter.helper.d.ts +35 -0
  159. package/dist/src/helpers/A_Formatter.helper.js +62 -0
  160. package/dist/src/helpers/A_Formatter.helper.js.map +1 -0
  161. package/dist/src/helpers/A_Identity.helper.d.ts +29 -0
  162. package/dist/src/helpers/A_Identity.helper.js +43 -0
  163. package/dist/src/helpers/A_Identity.helper.js.map +1 -0
  164. package/dist/src/helpers/{StepsManager.class.d.ts → A_StepsManager.class.d.ts} +4 -2
  165. package/dist/src/helpers/{StepsManager.class.js → A_StepsManager.class.js} +10 -5
  166. package/dist/src/helpers/A_StepsManager.class.js.map +1 -0
  167. package/dist/src/helpers/A_TypeGuards.helper.d.ts +205 -0
  168. package/dist/src/helpers/A_TypeGuards.helper.js +288 -0
  169. package/dist/src/helpers/A_TypeGuards.helper.js.map +1 -0
  170. package/dist/src/types/A_Common.types.d.ts +36 -0
  171. package/dist/src/types/A_Common.types.js +3 -0
  172. package/dist/src/types/A_Common.types.js.map +1 -0
  173. package/index.ts +27 -51
  174. package/jest.config.ts +1 -0
  175. package/package.json +1 -2
  176. package/src/constants/env.constants.ts +18 -11
  177. package/src/global/A-Abstraction/A-Abstraction-Extend.decorator.ts +103 -0
  178. package/src/global/A-Abstraction/A-Abstraction.class.ts +71 -65
  179. package/src/global/A-Abstraction/A-Abstraction.error.ts +9 -0
  180. package/src/global/A-Abstraction/A-Abstraction.types.ts +52 -13
  181. package/src/global/A-Caller/A_Caller.class.ts +61 -0
  182. package/src/global/A-Caller/A_Caller.error.ts +10 -0
  183. package/src/global/A-Caller/A_Caller.types.ts +25 -0
  184. package/src/global/A-Component/A-Component.class.ts +26 -15
  185. package/src/global/A-Component/A-Component.constants.ts +9 -0
  186. package/src/global/A-Component/A-Component.meta.ts +6 -16
  187. package/src/global/A-Component/A-Component.types.ts +53 -28
  188. package/src/global/A-Concept/A-Concept.class.ts +316 -0
  189. package/src/global/A-Concept/A-Concept.constants.ts +36 -0
  190. package/src/global/A-Concept/A-Concept.meta.ts +17 -0
  191. package/src/global/A-Concept/A-Concept.types.ts +100 -0
  192. package/src/global/A-Container/A-Container.class.ts +42 -83
  193. package/src/global/A-Container/A-Container.constants.ts +5 -0
  194. package/src/global/A-Container/A-Container.meta.ts +7 -11
  195. package/src/global/A-Container/A-Container.types.ts +38 -34
  196. package/src/global/A-Context/A-Context.class.ts +648 -412
  197. package/src/global/A-Context/A-Context.error.ts +44 -0
  198. package/src/global/A-Context/A-Context.types.ts +14 -0
  199. package/src/global/A-Entity/A-Entity.class.ts +33 -88
  200. package/src/global/A-Entity/A-Entity.constants.ts +12 -0
  201. package/src/global/A-Entity/A-Entity.error.ts +12 -0
  202. package/src/global/A-Entity/A-Entity.meta.ts +4 -4
  203. package/src/global/A-Entity/A-Entity.types.ts +31 -36
  204. package/src/global/A-Error/A_Error.class.ts +408 -0
  205. package/src/global/A-Error/A_Error.constants.ts +11 -0
  206. package/src/global/A-Error/A_Error.types.ts +96 -0
  207. package/src/{decorators → global}/A-Feature/A-Feature-Define.decorator.ts +31 -37
  208. package/src/global/A-Feature/A-Feature-Extend.decorator.ts +187 -0
  209. package/src/global/A-Feature/A-Feature.class.ts +279 -122
  210. package/src/global/A-Feature/A-Feature.error.ts +33 -0
  211. package/src/global/A-Feature/A-Feature.types.ts +278 -40
  212. package/src/global/A-Fragment/A-Fragment.class.ts +29 -100
  213. package/src/global/A-Fragment/A-Fragment.types.ts +25 -3
  214. package/src/global/A-Inject/A-Inject.decorator.ts +167 -0
  215. package/src/global/A-Inject/A-Inject.error.ts +8 -0
  216. package/src/global/A-Inject/A-Inject.types.ts +75 -0
  217. package/src/global/A-Meta/A-Meta.class.ts +1 -1
  218. package/src/global/A-Meta/A-Meta.types.ts +21 -0
  219. package/src/global/A-Scope/A-Scope.class.ts +288 -299
  220. package/src/global/A-Scope/A-Scope.error.ts +13 -0
  221. package/src/global/A-Scope/A-Scope.types.ts +61 -27
  222. package/src/global/A-Stage/A-Stage.class.ts +142 -80
  223. package/src/global/A-Stage/A-Stage.error.ts +4 -2
  224. package/src/global/A-Stage/A-Stage.types.ts +4 -25
  225. package/src/global/ASEID/ASEID.class.ts +275 -0
  226. package/src/global/ASEID/ASEID.error.ts +12 -0
  227. package/src/global/ASEID/ASEID.types.ts +79 -0
  228. package/src/helpers/A_Common.helper.ts +204 -0
  229. package/src/helpers/A_Formatter.helper.ts +58 -0
  230. package/src/helpers/A_Identity.helper.ts +53 -0
  231. package/src/helpers/{StepsManager.class.ts → A_StepsManager.class.ts} +19 -3
  232. package/src/helpers/A_TypeGuards.helper.ts +318 -0
  233. package/src/types/A_Common.types.ts +79 -0
  234. package/tests/A-Common.test.ts +117 -0
  235. package/tests/A-Component.test.ts +11 -6
  236. package/tests/A-Concept.test.ts +19 -22
  237. package/tests/A-Entity.test.ts +24 -24
  238. package/tests/A-Error.test.ts +129 -0
  239. package/tests/A-Feature.test.ts +34 -25
  240. package/tests/A-Scope.test.ts +50 -22
  241. package/tests/ASEID.test.ts +74 -0
  242. package/tsconfig.build.json +2 -1
  243. package/tsconfig.json +3 -2
  244. package/dist/src/base/A-Config/A-Config.container.d.ts +0 -9
  245. package/dist/src/base/A-Config/A-Config.container.js +0 -69
  246. package/dist/src/base/A-Config/A-Config.container.js.map +0 -1
  247. package/dist/src/base/A-Config/A-Config.context.d.ts +0 -30
  248. package/dist/src/base/A-Config/A-Config.context.js +0 -60
  249. package/dist/src/base/A-Config/A-Config.context.js.map +0 -1
  250. package/dist/src/base/A-Config/A-Config.types.d.ts +0 -20
  251. package/dist/src/base/A-Config/A-Config.types.js +0 -7
  252. package/dist/src/base/A-Config/A-Config.types.js.map +0 -1
  253. package/dist/src/base/A-Config/components/ConfigReader.component.d.ts +0 -29
  254. package/dist/src/base/A-Config/components/ConfigReader.component.js +0 -84
  255. package/dist/src/base/A-Config/components/ConfigReader.component.js.map +0 -1
  256. package/dist/src/base/A-Config/components/ENVConfigReader.component.d.ts +0 -10
  257. package/dist/src/base/A-Config/components/ENVConfigReader.component.js +0 -37
  258. package/dist/src/base/A-Config/components/ENVConfigReader.component.js.map +0 -1
  259. package/dist/src/base/A-Config/components/FileConfigReader.component.d.ts +0 -11
  260. package/dist/src/base/A-Config/components/FileConfigReader.component.js +0 -48
  261. package/dist/src/base/A-Config/components/FileConfigReader.component.js.map +0 -1
  262. package/dist/src/base/A-Errors/A-Error.entity.d.ts +0 -3
  263. package/dist/src/base/A-Errors/A-Error.entity.js +0 -8
  264. package/dist/src/base/A-Errors/A-Error.entity.js.map +0 -1
  265. package/dist/src/base/A-Errors/A-Errors.component.d.ts +0 -19
  266. package/dist/src/base/A-Errors/A-Errors.component.js +0 -87
  267. package/dist/src/base/A-Errors/A-Errors.component.js.map +0 -1
  268. package/dist/src/base/A-Errors/A-Errors.context.d.ts +0 -27
  269. package/dist/src/base/A-Errors/A-Errors.context.js +0 -50
  270. package/dist/src/base/A-Errors/A-Errors.context.js.map +0 -1
  271. package/dist/src/base/A-Errors/A-Errors.types.d.ts +0 -5
  272. package/dist/src/base/A-Errors/A-Errors.types.js.map +0 -1
  273. package/dist/src/base/A-Logger/A-Logger.component.d.ts +0 -31
  274. package/dist/src/base/A-Logger/A-Logger.component.js +0 -155
  275. package/dist/src/base/A-Logger/A-Logger.component.js.map +0 -1
  276. package/dist/src/base/A-Logger/A-Logger.types.js +0 -2
  277. package/dist/src/base/A-Logger/A-Logger.types.js.map +0 -1
  278. package/dist/src/base/A-Polyfill/A-Polyfill.component.d.ts +0 -5
  279. package/dist/src/base/A-Polyfill/A-Polyfill.component.js +0 -34
  280. package/dist/src/base/A-Polyfill/A-Polyfill.component.js.map +0 -1
  281. package/dist/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.d.ts +0 -14
  282. package/dist/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.js +0 -53
  283. package/dist/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.js.map +0 -1
  284. package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.d.ts +0 -2
  285. package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.js +0 -3
  286. package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.js.map +0 -1
  287. package/dist/src/decorators/A-Connect/A-Connect.decorator.d.ts +0 -19
  288. package/dist/src/decorators/A-Connect/A-Connect.decorator.js +0 -31
  289. package/dist/src/decorators/A-Connect/A-Connect.decorator.js.map +0 -1
  290. package/dist/src/decorators/A-Connect/A-Connect.decorator.types.d.ts +0 -1
  291. package/dist/src/decorators/A-Connect/A-Connect.decorator.types.js +0 -3
  292. package/dist/src/decorators/A-Connect/A-Connect.decorator.types.js.map +0 -1
  293. package/dist/src/decorators/A-Entity/A-Entity-List.decorator.d.ts +0 -1
  294. package/dist/src/decorators/A-Entity/A-Entity-List.decorator.js +0 -8
  295. package/dist/src/decorators/A-Entity/A-Entity-List.decorator.js.map +0 -1
  296. package/dist/src/decorators/A-Entity/A-Entity.decorator.types.d.ts +0 -14
  297. package/dist/src/decorators/A-Entity/A-Entity.decorator.types.js.map +0 -1
  298. package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.d.ts +0 -19
  299. package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.js.map +0 -1
  300. package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js +0 -81
  301. package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js.map +0 -1
  302. package/dist/src/decorators/A-Feature/A-Feature.decorator.types.d.ts +0 -96
  303. package/dist/src/decorators/A-Feature/A-Feature.decorator.types.js +0 -3
  304. package/dist/src/decorators/A-Feature/A-Feature.decorator.types.js.map +0 -1
  305. package/dist/src/decorators/A-Inject/A-Inject.decorator.d.ts +0 -30
  306. package/dist/src/decorators/A-Inject/A-Inject.decorator.js +0 -47
  307. package/dist/src/decorators/A-Inject/A-Inject.decorator.js.map +0 -1
  308. package/dist/src/decorators/A-Inject/A-Inject.decorator.types.d.ts +0 -48
  309. package/dist/src/decorators/A-Inject/A-Inject.decorator.types.js.map +0 -1
  310. package/dist/src/global/A-Channel/A-Channel.class.d.ts +0 -16
  311. package/dist/src/global/A-Channel/A-Channel.class.js +0 -59
  312. package/dist/src/global/A-Channel/A-Channel.class.js.map +0 -1
  313. package/dist/src/global/A-Channel/A-Channel.types.d.ts +0 -68
  314. package/dist/src/global/A-Channel/A-Channel.types.js.map +0 -1
  315. package/dist/src/global/A-Command/A-Command.class.d.ts +0 -187
  316. package/dist/src/global/A-Command/A-Command.class.js +0 -349
  317. package/dist/src/global/A-Command/A-Command.class.js.map +0 -1
  318. package/dist/src/global/A-Command/A-Command.constants.d.ts +0 -17
  319. package/dist/src/global/A-Command/A-Command.constants.js +0 -22
  320. package/dist/src/global/A-Command/A-Command.constants.js.map +0 -1
  321. package/dist/src/global/A-Command/A-Command.meta.d.ts +0 -11
  322. package/dist/src/global/A-Command/A-Command.meta.js +0 -18
  323. package/dist/src/global/A-Command/A-Command.meta.js.map +0 -1
  324. package/dist/src/global/A-Command/A-Command.types.d.ts +0 -43
  325. package/dist/src/global/A-Command/A-Command.types.js +0 -10
  326. package/dist/src/global/A-Command/A-Command.types.js.map +0 -1
  327. package/dist/src/global/A-Command/context/A_Command.context.d.ts +0 -64
  328. package/dist/src/global/A-Command/context/A_Command.context.js +0 -85
  329. package/dist/src/global/A-Command/context/A_Command.context.js.map +0 -1
  330. package/dist/src/global/A-Concept/A_Concept.class.d.ts +0 -104
  331. package/dist/src/global/A-Concept/A_Concept.class.js +0 -217
  332. package/dist/src/global/A-Concept/A_Concept.class.js.map +0 -1
  333. package/dist/src/global/A-Concept/A_Concept.meta.js.map +0 -1
  334. package/dist/src/global/A-Concept/A_Concept.types.d.ts +0 -103
  335. package/dist/src/global/A-Concept/A_Concept.types.js +0 -28
  336. package/dist/src/global/A-Concept/A_Concept.types.js.map +0 -1
  337. package/dist/src/global/A-Feature/A-FeatureCaller.class.d.ts +0 -22
  338. package/dist/src/global/A-Feature/A-FeatureCaller.class.js +0 -26
  339. package/dist/src/global/A-Feature/A-FeatureCaller.class.js.map +0 -1
  340. package/dist/src/global/A-Scope/A-Scope.constants.d.ts +0 -2
  341. package/dist/src/global/A-Scope/A-Scope.constants.js +0 -11
  342. package/dist/src/global/A-Scope/A-Scope.constants.js.map +0 -1
  343. package/dist/src/helpers/StepsManager.class.js.map +0 -1
  344. package/dist/src/types/A_Module.types.d.ts +0 -17
  345. package/dist/src/types/A_Module.types.js +0 -22
  346. package/dist/src/types/A_Module.types.js.map +0 -1
  347. package/examples/entity/concept.ts +0 -68
  348. package/examples/entity/entities/Task.entity.ts +0 -110
  349. package/examples/entity/entities/User.entity.ts +0 -62
  350. package/examples/fe-be/channels/Test.channel.ts +0 -27
  351. package/examples/fe-be/components/BE-Controller.component.ts +0 -20
  352. package/examples/fe-be/components/FE.component.ts +0 -13
  353. package/examples/fe-be/containers/ServerApp.container.ts +0 -8
  354. package/examples/fe-be/containers/WebApp.container.ts +0 -13
  355. package/examples/multi-container/channels/Direct.channel.ts +0 -39
  356. package/examples/multi-container/concept.ts +0 -0
  357. package/examples/multi-container/containers/Command.container.ts +0 -41
  358. package/examples/multi-container/containers/Schedule.container.ts +0 -52
  359. package/examples/simple/components/A.component.ts +0 -71
  360. package/examples/simple/components/B.component.ts +0 -68
  361. package/examples/simple/concept.ts +0 -87
  362. package/examples/simple/containers/Main.container.ts +0 -88
  363. package/examples/simple/containers/Secondary.container.ts +0 -26
  364. package/examples/simple/context/Fragment_A.context.ts +0 -25
  365. package/examples/simple/context/Fragment_B.context.ts +0 -19
  366. package/examples/simple/entities/EntityA.entity.ts +0 -32
  367. package/examples/simple-http-server/components/http-error-handler.component.ts +0 -47
  368. package/examples/simple-http-server/components/http-request-handler.component.ts +0 -13
  369. package/examples/simple-http-server/concept.ts +0 -35
  370. package/examples/simple-http-server/containers/http-server.container.ts +0 -57
  371. package/examples/simple-http-server/contexts/http-request.context.ts +0 -59
  372. package/examples/simple-http-server/contexts/http-server.context.types.ts +0 -0
  373. package/examples/simple-http-server/controllers/orders.controller.ts +0 -20
  374. package/examples/simple-http-server/controllers/users.controller.ts +0 -104
  375. package/examples/simple-http-server/test.ts +0 -290
  376. package/src/base/A-Config/A-Config.container.ts +0 -68
  377. package/src/base/A-Config/A-Config.context.ts +0 -114
  378. package/src/base/A-Config/A-Config.types.ts +0 -28
  379. package/src/base/A-Config/components/ConfigReader.component.ts +0 -68
  380. package/src/base/A-Config/components/ENVConfigReader.component.ts +0 -31
  381. package/src/base/A-Config/components/FileConfigReader.component.ts +0 -41
  382. package/src/base/A-Errors/A-Error.entity.ts +0 -10
  383. package/src/base/A-Errors/A-Errors.component.ts +0 -103
  384. package/src/base/A-Errors/A-Errors.context.ts +0 -90
  385. package/src/base/A-Errors/A-Errors.types.ts +0 -6
  386. package/src/base/A-Logger/A-Logger.component.ts +0 -192
  387. package/src/base/A-Logger/A-Logger.types.ts +0 -0
  388. package/src/base/A-Polyfill/A-Polyfill.component.ts +0 -18
  389. package/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.ts +0 -81
  390. package/src/decorators/A-Abstraction/A-Abstraction.decorator.types.ts +0 -21
  391. package/src/decorators/A-Connect/A-Connect.decorator.ts +0 -71
  392. package/src/decorators/A-Connect/A-Connect.decorator.types.ts +0 -6
  393. package/src/decorators/A-Entity/A-Entity-List.decorator.ts +0 -12
  394. package/src/decorators/A-Entity/A-Entity.decorator.types.ts +0 -18
  395. package/src/decorators/A-Feature/A-Feature-Extend.decorator.ts +0 -151
  396. package/src/decorators/A-Feature/A-Feature.decorator.types.ts +0 -142
  397. package/src/decorators/A-Inject/A-Inject.decorator.ts +0 -119
  398. package/src/decorators/A-Inject/A-Inject.decorator.types.ts +0 -85
  399. package/src/global/A-Channel/A-Channel.class.ts +0 -111
  400. package/src/global/A-Channel/A-Channel.types.ts +0 -114
  401. package/src/global/A-Command/A-Command.class.ts +0 -419
  402. package/src/global/A-Command/A-Command.constants.ts +0 -27
  403. package/src/global/A-Command/A-Command.meta.ts +0 -22
  404. package/src/global/A-Command/A-Command.types.ts +0 -73
  405. package/src/global/A-Command/context/A_Command.context.ts +0 -114
  406. package/src/global/A-Concept/A_Concept.class.ts +0 -298
  407. package/src/global/A-Concept/A_Concept.meta.ts +0 -32
  408. package/src/global/A-Concept/A_Concept.types.ts +0 -143
  409. package/src/global/A-Feature/A-FeatureCaller.class.ts +0 -38
  410. package/src/global/A-Scope/A-Scope.constants.ts +0 -9
  411. package/src/types/A_Module.types.ts +0 -23
  412. package/tests/A-Command.test.ts +0 -133
  413. package/tests/A-Config.test.ts +0 -172
  414. /package/dist/src/global/A-Concept/{A_Concept.meta.d.ts → A-Concept.meta.d.ts} +0 -0
  415. /package/dist/src/{base/A-Logger/A-Logger.types.d.ts → global/ASEID/ASEID.constants.d.ts} +0 -0
  416. /package/{examples/fe-be/concept.ts → src/global/ASEID/ASEID.constants.ts} +0 -0
@@ -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
  */
@@ -148,48 +143,6 @@ export class A_Entity<
148
143
  return this.aseid.id;
149
144
  }
150
145
 
151
- /**
152
- * Extracts the namespace from the ASEID
153
- * namespace is an application specific identifier from where the entity is coming from
154
- */
155
- get namespace(): string {
156
- return this.aseid.namespace
157
- }
158
-
159
- /**
160
- * Extracts the scope from the ASEID
161
- * scope is the scope of the entity from Application Namespace
162
- */
163
- get scope(): string {
164
- return this.aseid.scope;
165
- }
166
-
167
- /**
168
- * Extracts the entity from the ASEID
169
- * entity is the name of the entity from Application Namespace
170
- *
171
- */
172
- get entity(): string {
173
- return this.aseid.entity;
174
- }
175
-
176
- /**
177
- * Extracts the version from the ASEID
178
- * version is the version of the entity
179
- */
180
-
181
- get version(): string | undefined {
182
- return this.aseid.version;
183
- }
184
-
185
- /**
186
- * Extracts the shard from the ASEID
187
- * shard is the shard of the entity
188
- */
189
- get shard(): string | undefined {
190
- return this.aseid.shard;
191
- }
192
-
193
146
  // ====================================================================
194
147
  // ================== Constructor Helpers =============================
195
148
  // ====================================================================
@@ -283,7 +236,7 @@ export class A_Entity<
283
236
  }
284
237
 
285
238
  // none of the above -> throw consistent error
286
- throw new A_Error(A_CONSTANTS__DEFAULT_ERRORS.INCORRECT_A_ENTITY_CONSTRUCTOR);
239
+ throw new A_Entity_Error(A_Entity_Error.ValidationError, 'Unable to determine A-Entity constructor initialization method. Please check the provided parameters.');
287
240
  }
288
241
 
289
242
 
@@ -297,19 +250,14 @@ export class A_Entity<
297
250
  */
298
251
  async call(
299
252
  feature: string,
300
- scope: A_Scope = A_Context.scope(this)
253
+ scope?: A_Scope
301
254
  ) {
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);
255
+ const newFeature = new A_Feature({
256
+ name: feature,
257
+ component: this
258
+ });
311
259
 
312
- return await newFeature.process();
260
+ return await newFeature.process(scope);
313
261
  }
314
262
 
315
263
 
@@ -354,13 +302,10 @@ export class A_Entity<
354
302
  * @param aseid
355
303
  */
356
304
  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) {
305
+ if (aseid instanceof ASEID)
360
306
  this.aseid = aseid;
361
- } else {
362
- throw new A_Error(A_CONSTANTS__DEFAULT_ERRORS.INCORRECT_A_ENTITY_CONSTRUCTOR);
363
- }
307
+ else
308
+ this.aseid = new ASEID(aseid);
364
309
  }
365
310
 
366
311
  /**
@@ -373,7 +318,7 @@ export class A_Entity<
373
318
  */
374
319
  fromUndefined(): void {
375
320
  this.aseid = new ASEID({
376
- namespace: (this.constructor as typeof A_Entity).namespace,
321
+ concept: (this.constructor as typeof A_Entity).concept,
377
322
  scope: (this.constructor as typeof A_Entity).scope,
378
323
  entity: (this.constructor as typeof A_Entity).entity,
379
324
  id: A_IdentityHelper.generateTimeId()
@@ -391,7 +336,7 @@ export class A_Entity<
391
336
  */
392
337
  fromNew(newEntity: _ConstructorType): void {
393
338
  this.aseid = new ASEID({
394
- namespace: (this.constructor as typeof A_Entity).namespace,
339
+ concept: (this.constructor as typeof A_Entity).concept,
395
340
  scope: (this.constructor as typeof A_Entity).scope,
396
341
  entity: (this.constructor as typeof A_Entity).entity,
397
342
  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