@adaas/a-concept 0.1.24 → 0.1.25

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 (227) hide show
  1. package/dist/index.cjs +3 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.mts +3952 -0
  4. package/dist/index.d.ts +3952 -50
  5. package/dist/index.mjs +3 -0
  6. package/dist/index.mjs.map +1 -0
  7. package/package.json +5 -6
  8. package/src/global/A-Abstraction/A-Abstraction-Extend.decorator.ts +2 -1
  9. package/src/global/A-Context/A-Context.class.ts +81 -7
  10. package/src/global/A-Context/A-Context.error.ts +4 -0
  11. package/src/global/A-Dependency/A-Dependency-Default.decorator.ts +75 -0
  12. package/src/global/A-Dependency/A-Dependency-Load.decorator.ts +80 -0
  13. package/src/global/A-Dependency/A-Dependency-Require.decorator.ts +68 -0
  14. package/src/global/A-Dependency/A-Dependency.class.ts +33 -0
  15. package/src/global/A-Dependency/A-Dependency.error.ts +13 -0
  16. package/src/global/A-Dependency/A-Dependency.types.ts +28 -0
  17. package/src/global/A-Feature/A-Feature-Define.decorator.ts +2 -1
  18. package/src/global/A-Feature/A-Feature-Extend.decorator.ts +2 -1
  19. package/src/global/A-Feature/A-Feature.class.ts +11 -0
  20. package/src/global/A-Inject/A-Inject.decorator.ts +4 -2
  21. package/src/global/A-Inject/A-Inject.types.ts +5 -3
  22. package/src/global/A-Scope/A-Scope.class.ts +85 -57
  23. package/src/global/A-Stage/A-Stage.class.ts +22 -2
  24. package/src/global/A-Stage/A-Stage.error.ts +2 -0
  25. package/src/helpers/A_Common.helper.ts +101 -0
  26. package/src/helpers/A_TypeGuards.helper.ts +8 -0
  27. package/src/index.ts +88 -0
  28. package/tests/A-Component.test.ts +1 -1
  29. package/tests/A-Concept.test.ts +5 -6
  30. package/tests/A-Dependency.test.ts +93 -0
  31. package/tests/A-Feature.test.ts +7 -7
  32. package/tests/A-Scope.test.ts +10 -10
  33. package/tsconfig.json +2 -2
  34. package/tsup.config.ts +32 -0
  35. package/dist/index.js +0 -112
  36. package/dist/index.js.map +0 -1
  37. package/dist/src/constants/env.constants.d.ts +0 -33
  38. package/dist/src/constants/env.constants.js +0 -47
  39. package/dist/src/constants/env.constants.js.map +0 -1
  40. package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.d.ts +0 -23
  41. package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.js +0 -96
  42. package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.js.map +0 -1
  43. package/dist/src/global/A-Abstraction/A-Abstraction.class.d.ts +0 -74
  44. package/dist/src/global/A-Abstraction/A-Abstraction.class.js +0 -130
  45. package/dist/src/global/A-Abstraction/A-Abstraction.class.js.map +0 -1
  46. package/dist/src/global/A-Abstraction/A-Abstraction.error.d.ts +0 -7
  47. package/dist/src/global/A-Abstraction/A-Abstraction.error.js +0 -12
  48. package/dist/src/global/A-Abstraction/A-Abstraction.error.js.map +0 -1
  49. package/dist/src/global/A-Abstraction/A-Abstraction.types.d.ts +0 -38
  50. package/dist/src/global/A-Abstraction/A-Abstraction.types.js +0 -3
  51. package/dist/src/global/A-Abstraction/A-Abstraction.types.js.map +0 -1
  52. package/dist/src/global/A-Caller/A_Caller.class.d.ts +0 -33
  53. package/dist/src/global/A-Caller/A_Caller.class.js +0 -44
  54. package/dist/src/global/A-Caller/A_Caller.class.js.map +0 -1
  55. package/dist/src/global/A-Caller/A_Caller.error.d.ts +0 -7
  56. package/dist/src/global/A-Caller/A_Caller.error.js +0 -12
  57. package/dist/src/global/A-Caller/A_Caller.error.js.map +0 -1
  58. package/dist/src/global/A-Caller/A_Caller.types.d.ts +0 -18
  59. package/dist/src/global/A-Caller/A_Caller.types.js +0 -3
  60. package/dist/src/global/A-Caller/A_Caller.types.js.map +0 -1
  61. package/dist/src/global/A-Component/A-Component.class.d.ts +0 -34
  62. package/dist/src/global/A-Component/A-Component.class.js +0 -56
  63. package/dist/src/global/A-Component/A-Component.class.js.map +0 -1
  64. package/dist/src/global/A-Component/A-Component.constants.d.ts +0 -6
  65. package/dist/src/global/A-Component/A-Component.constants.js +0 -11
  66. package/dist/src/global/A-Component/A-Component.constants.js.map +0 -1
  67. package/dist/src/global/A-Component/A-Component.meta.d.ts +0 -34
  68. package/dist/src/global/A-Component/A-Component.meta.js +0 -78
  69. package/dist/src/global/A-Component/A-Component.meta.js.map +0 -1
  70. package/dist/src/global/A-Component/A-Component.types.d.ts +0 -76
  71. package/dist/src/global/A-Component/A-Component.types.js +0 -4
  72. package/dist/src/global/A-Component/A-Component.types.js.map +0 -1
  73. package/dist/src/global/A-Concept/A-Concept.class.d.ts +0 -153
  74. package/dist/src/global/A-Concept/A-Concept.class.js +0 -260
  75. package/dist/src/global/A-Concept/A-Concept.class.js.map +0 -1
  76. package/dist/src/global/A-Concept/A-Concept.constants.d.ts +0 -33
  77. package/dist/src/global/A-Concept/A-Concept.constants.js +0 -39
  78. package/dist/src/global/A-Concept/A-Concept.constants.js.map +0 -1
  79. package/dist/src/global/A-Concept/A-Concept.meta.d.ts +0 -6
  80. package/dist/src/global/A-Concept/A-Concept.meta.js +0 -12
  81. package/dist/src/global/A-Concept/A-Concept.meta.js.map +0 -1
  82. package/dist/src/global/A-Concept/A-Concept.types.d.ts +0 -66
  83. package/dist/src/global/A-Concept/A-Concept.types.js +0 -3
  84. package/dist/src/global/A-Concept/A-Concept.types.js.map +0 -1
  85. package/dist/src/global/A-Container/A-Container.class.d.ts +0 -52
  86. package/dist/src/global/A-Container/A-Container.class.js +0 -78
  87. package/dist/src/global/A-Container/A-Container.class.js.map +0 -1
  88. package/dist/src/global/A-Container/A-Container.constants.d.ts +0 -6
  89. package/dist/src/global/A-Container/A-Container.constants.js +0 -11
  90. package/dist/src/global/A-Container/A-Container.constants.js.map +0 -1
  91. package/dist/src/global/A-Container/A-Container.meta.d.ts +0 -35
  92. package/dist/src/global/A-Container/A-Container.meta.js +0 -76
  93. package/dist/src/global/A-Container/A-Container.meta.js.map +0 -1
  94. package/dist/src/global/A-Container/A-Container.types.d.ts +0 -75
  95. package/dist/src/global/A-Container/A-Container.types.js +0 -4
  96. package/dist/src/global/A-Container/A-Container.types.js.map +0 -1
  97. package/dist/src/global/A-Context/A-Context.class.d.ts +0 -361
  98. package/dist/src/global/A-Context/A-Context.class.js +0 -603
  99. package/dist/src/global/A-Context/A-Context.class.js.map +0 -1
  100. package/dist/src/global/A-Context/A-Context.error.d.ts +0 -20
  101. package/dist/src/global/A-Context/A-Context.error.js +0 -25
  102. package/dist/src/global/A-Context/A-Context.error.js.map +0 -1
  103. package/dist/src/global/A-Context/A-Context.types.d.ts +0 -5
  104. package/dist/src/global/A-Context/A-Context.types.js +0 -3
  105. package/dist/src/global/A-Context/A-Context.types.js.map +0 -1
  106. package/dist/src/global/A-Dependency/A-DependencyReference.class.d.ts +0 -0
  107. package/dist/src/global/A-Dependency/A-DependencyReference.class.js +0 -49
  108. package/dist/src/global/A-Dependency/A-DependencyReference.class.js.map +0 -1
  109. package/dist/src/global/A-Dependency/A-DependencyReference.types.d.ts +0 -0
  110. package/dist/src/global/A-Dependency/A-DependencyReference.types.js +0 -58
  111. package/dist/src/global/A-Dependency/A-DependencyReference.types.js.map +0 -1
  112. package/dist/src/global/A-Entity/A-Entity.class.d.ts +0 -214
  113. package/dist/src/global/A-Entity/A-Entity.class.js +0 -282
  114. package/dist/src/global/A-Entity/A-Entity.class.js.map +0 -1
  115. package/dist/src/global/A-Entity/A-Entity.constants.d.ts +0 -11
  116. package/dist/src/global/A-Entity/A-Entity.constants.js +0 -17
  117. package/dist/src/global/A-Entity/A-Entity.constants.js.map +0 -1
  118. package/dist/src/global/A-Entity/A-Entity.error.d.ts +0 -7
  119. package/dist/src/global/A-Entity/A-Entity.error.js +0 -12
  120. package/dist/src/global/A-Entity/A-Entity.error.js.map +0 -1
  121. package/dist/src/global/A-Entity/A-Entity.meta.d.ts +0 -11
  122. package/dist/src/global/A-Entity/A-Entity.meta.js +0 -18
  123. package/dist/src/global/A-Entity/A-Entity.meta.js.map +0 -1
  124. package/dist/src/global/A-Entity/A-Entity.types.d.ts +0 -56
  125. package/dist/src/global/A-Entity/A-Entity.types.js +0 -5
  126. package/dist/src/global/A-Entity/A-Entity.types.js.map +0 -1
  127. package/dist/src/global/A-Error/A_Error.class.d.ts +0 -229
  128. package/dist/src/global/A-Error/A_Error.class.js +0 -296
  129. package/dist/src/global/A-Error/A_Error.class.js.map +0 -1
  130. package/dist/src/global/A-Error/A_Error.constants.d.ts +0 -5
  131. package/dist/src/global/A-Error/A_Error.constants.js +0 -9
  132. package/dist/src/global/A-Error/A_Error.constants.js.map +0 -1
  133. package/dist/src/global/A-Error/A_Error.types.d.ts +0 -93
  134. package/dist/src/global/A-Error/A_Error.types.js +0 -3
  135. package/dist/src/global/A-Error/A_Error.types.js.map +0 -1
  136. package/dist/src/global/A-Feature/A-Feature-Define.decorator.d.ts +0 -15
  137. package/dist/src/global/A-Feature/A-Feature-Define.decorator.js +0 -76
  138. package/dist/src/global/A-Feature/A-Feature-Define.decorator.js.map +0 -1
  139. package/dist/src/global/A-Feature/A-Feature-Extend.decorator.d.ts +0 -56
  140. package/dist/src/global/A-Feature/A-Feature-Extend.decorator.js +0 -128
  141. package/dist/src/global/A-Feature/A-Feature-Extend.decorator.js.map +0 -1
  142. package/dist/src/global/A-Feature/A-Feature.class.d.ts +0 -175
  143. package/dist/src/global/A-Feature/A-Feature.class.js +0 -318
  144. package/dist/src/global/A-Feature/A-Feature.class.js.map +0 -1
  145. package/dist/src/global/A-Feature/A-Feature.error.d.ts +0 -25
  146. package/dist/src/global/A-Feature/A-Feature.error.js +0 -33
  147. package/dist/src/global/A-Feature/A-Feature.error.js.map +0 -1
  148. package/dist/src/global/A-Feature/A-Feature.types.d.ts +0 -334
  149. package/dist/src/global/A-Feature/A-Feature.types.js +0 -26
  150. package/dist/src/global/A-Feature/A-Feature.types.js.map +0 -1
  151. package/dist/src/global/A-Fragment/A-Fragment.class.d.ts +0 -36
  152. package/dist/src/global/A-Fragment/A-Fragment.class.js +0 -46
  153. package/dist/src/global/A-Fragment/A-Fragment.class.js.map +0 -1
  154. package/dist/src/global/A-Fragment/A-Fragment.types.d.ts +0 -21
  155. package/dist/src/global/A-Fragment/A-Fragment.types.js +0 -6
  156. package/dist/src/global/A-Fragment/A-Fragment.types.js.map +0 -1
  157. package/dist/src/global/A-Inject/A-Inject.decorator.d.ts +0 -80
  158. package/dist/src/global/A-Inject/A-Inject.decorator.js +0 -49
  159. package/dist/src/global/A-Inject/A-Inject.decorator.js.map +0 -1
  160. package/dist/src/global/A-Inject/A-Inject.error.d.ts +0 -5
  161. package/dist/src/global/A-Inject/A-Inject.error.js +0 -10
  162. package/dist/src/global/A-Inject/A-Inject.error.js.map +0 -1
  163. package/dist/src/global/A-Inject/A-Inject.types.d.ts +0 -42
  164. package/dist/src/global/A-Inject/A-Inject.types.js +0 -3
  165. package/dist/src/global/A-Inject/A-Inject.types.js.map +0 -1
  166. package/dist/src/global/A-Meta/A-Meta.class.d.ts +0 -97
  167. package/dist/src/global/A-Meta/A-Meta.class.js +0 -164
  168. package/dist/src/global/A-Meta/A-Meta.class.js.map +0 -1
  169. package/dist/src/global/A-Meta/A-Meta.types.d.ts +0 -14
  170. package/dist/src/global/A-Meta/A-Meta.types.js +0 -3
  171. package/dist/src/global/A-Meta/A-Meta.types.js.map +0 -1
  172. package/dist/src/global/A-Scope/A-Scope.class.d.ts +0 -466
  173. package/dist/src/global/A-Scope/A-Scope.class.js +0 -791
  174. package/dist/src/global/A-Scope/A-Scope.class.js.map +0 -1
  175. package/dist/src/global/A-Scope/A-Scope.error.d.ts +0 -8
  176. package/dist/src/global/A-Scope/A-Scope.error.js +0 -13
  177. package/dist/src/global/A-Scope/A-Scope.error.js.map +0 -1
  178. package/dist/src/global/A-Scope/A-Scope.types.d.ts +0 -81
  179. package/dist/src/global/A-Scope/A-Scope.types.js +0 -3
  180. package/dist/src/global/A-Scope/A-Scope.types.js.map +0 -1
  181. package/dist/src/global/A-Stage/A-Stage.class.d.ts +0 -112
  182. package/dist/src/global/A-Stage/A-Stage.class.js +0 -240
  183. package/dist/src/global/A-Stage/A-Stage.class.js.map +0 -1
  184. package/dist/src/global/A-Stage/A-Stage.error.d.ts +0 -4
  185. package/dist/src/global/A-Stage/A-Stage.error.js +0 -11
  186. package/dist/src/global/A-Stage/A-Stage.error.js.map +0 -1
  187. package/dist/src/global/A-Stage/A-Stage.types.d.ts +0 -101
  188. package/dist/src/global/A-Stage/A-Stage.types.js +0 -43
  189. package/dist/src/global/A-Stage/A-Stage.types.js.map +0 -1
  190. package/dist/src/global/A-StepManager/A-StepManager.class.d.ts +0 -20
  191. package/dist/src/global/A-StepManager/A-StepManager.class.js +0 -112
  192. package/dist/src/global/A-StepManager/A-StepManager.class.js.map +0 -1
  193. package/dist/src/global/A-StepManager/A-StepManager.error.d.ts +0 -4
  194. package/dist/src/global/A-StepManager/A-StepManager.error.js +0 -9
  195. package/dist/src/global/A-StepManager/A-StepManager.error.js.map +0 -1
  196. package/dist/src/global/ASEID/ASEID.class.d.ts +0 -130
  197. package/dist/src/global/ASEID/ASEID.class.js +0 -167
  198. package/dist/src/global/ASEID/ASEID.class.js.map +0 -1
  199. package/dist/src/global/ASEID/ASEID.constants.d.ts +0 -0
  200. package/dist/src/global/ASEID/ASEID.constants.js +0 -2
  201. package/dist/src/global/ASEID/ASEID.constants.js.map +0 -1
  202. package/dist/src/global/ASEID/ASEID.error.d.ts +0 -5
  203. package/dist/src/global/ASEID/ASEID.error.js +0 -10
  204. package/dist/src/global/ASEID/ASEID.error.js.map +0 -1
  205. package/dist/src/global/ASEID/ASEID.types.d.ts +0 -65
  206. package/dist/src/global/ASEID/ASEID.types.js +0 -5
  207. package/dist/src/global/ASEID/ASEID.types.js.map +0 -1
  208. package/dist/src/helpers/A_Common.helper.d.ts +0 -28
  209. package/dist/src/helpers/A_Common.helper.js +0 -170
  210. package/dist/src/helpers/A_Common.helper.js.map +0 -1
  211. package/dist/src/helpers/A_Formatter.helper.d.ts +0 -35
  212. package/dist/src/helpers/A_Formatter.helper.js +0 -62
  213. package/dist/src/helpers/A_Formatter.helper.js.map +0 -1
  214. package/dist/src/helpers/A_Identity.helper.d.ts +0 -29
  215. package/dist/src/helpers/A_Identity.helper.js +0 -43
  216. package/dist/src/helpers/A_Identity.helper.js.map +0 -1
  217. package/dist/src/helpers/A_TypeGuards.helper.d.ts +0 -207
  218. package/dist/src/helpers/A_TypeGuards.helper.js +0 -296
  219. package/dist/src/helpers/A_TypeGuards.helper.js.map +0 -1
  220. package/dist/src/types/A_Common.types.d.ts +0 -36
  221. package/dist/src/types/A_Common.types.js +0 -3
  222. package/dist/src/types/A_Common.types.js.map +0 -1
  223. package/index.ts +0 -81
  224. package/src/global/A-Dependency/A-DependencyReference.class.ts +0 -61
  225. package/src/global/A-Dependency/A-DependencyReference.types.ts +0 -61
  226. package/trace-require.js +0 -46
  227. package/tsconfig.build.json +0 -58
@@ -1,603 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.A_Context = void 0;
4
- const A_Component_class_1 = require("../A-Component/A-Component.class");
5
- const A_Container_class_1 = require("../A-Container/A-Container.class");
6
- const A_Scope_class_1 = require("../A-Scope/A-Scope.class");
7
- const A_Meta_class_1 = require("../A-Meta/A-Meta.class");
8
- const A_Component_meta_1 = require("../A-Component/A-Component.meta");
9
- const A_Container_meta_1 = require("../A-Container/A-Container.meta");
10
- const A_Entity_class_1 = require("../A-Entity/A-Entity.class");
11
- const A_Entity_meta_1 = require("../A-Entity/A-Entity.meta");
12
- const env_constants_1 = require("../../constants/env.constants");
13
- const A_Entity_constants_1 = require("../A-Entity/A-Entity.constants");
14
- const A_Container_constants_1 = require("../A-Container/A-Container.constants");
15
- const A_Component_constants_1 = require("../A-Component/A-Component.constants");
16
- const A_TypeGuards_helper_1 = require("../../helpers/A_TypeGuards.helper");
17
- const A_Context_error_1 = require("./A-Context.error");
18
- const A_Formatter_helper_1 = require("../../helpers/A_Formatter.helper");
19
- class A_Context {
20
- // ====================================================================================================
21
- // ================================ STATIC PROPERTIES =================================================
22
- // ====================================================================================================
23
- /**
24
- * Default name of the application from environment variable A_CONCEPT_NAME
25
- *
26
- * [!] If environment variable is not set, it will default to 'a-concept'
27
- */
28
- static get concept() {
29
- return process.env[env_constants_1.A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_NAME] || 'a-concept';
30
- }
31
- /**
32
- * Root scope of the application from environment variable A_CONCEPT_ROOT_SCOPE
33
- *
34
- * [!] If environment variable is not set, it will default to 'root'
35
- */
36
- static get root() {
37
- return this.getInstance()._root;
38
- }
39
- /**
40
- * Environment the application is running in.
41
- * Can be either 'server' or 'browser'.
42
- * [!] Determined by checking if 'window' object is available.
43
- */
44
- static get environment() {
45
- let testEnvironment = 'browser';
46
- try {
47
- testEnvironment = window.location ? 'browser' : 'server';
48
- }
49
- catch (error) {
50
- testEnvironment = 'server';
51
- }
52
- return testEnvironment;
53
- }
54
- /**
55
- * Private constructor to enforce singleton pattern.
56
- *
57
- * [!] This class should not be instantiated directly. Use A_Context.getInstance() instead.
58
- */
59
- constructor() {
60
- /**
61
- * A registry that keeps track of scopes for all components (Containers, Features, Commands)
62
- * Which can issue a scope allocation.
63
- */
64
- this._registry = new WeakMap();
65
- /**
66
- * This is a registry that stores an issuer of each scope allocation.
67
- * It helps to track which component (Container, Feature, Command) allocated a specific scope.
68
- */
69
- this._scopeIssuers = new WeakMap();
70
- /**
71
- * Stores a context associated with a specific component that depends on a scope.
72
- * uses for quick retrieval of the scope for the component.
73
- */
74
- this._scopeStorage = new WeakMap();
75
- /**
76
- * Stores meta information for different component types by their constructors.
77
- * Meta provides to store extra information about the class behavior and configuration.
78
- */
79
- this._metaStorage = new Map();
80
- let name = 'root';
81
- if (A_Context.environment === 'server')
82
- name = process.env[env_constants_1.A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_ROOT_SCOPE] || 'root';
83
- if (A_Context.environment === 'browser')
84
- name = window[env_constants_1.A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_ROOT_SCOPE] || 'root';
85
- this._root = new A_Scope_class_1.A_Scope({ name });
86
- }
87
- /**
88
- * Get the instance of the Namespace Provider.
89
- *
90
- * If the instance does not exist, it will be created.
91
- *
92
- * @returns
93
- */
94
- static getInstance() {
95
- if (!A_Context._instance) {
96
- A_Context._instance = new A_Context();
97
- }
98
- return A_Context._instance;
99
- }
100
- /**
101
- * Register method allows to register a component with a specific scope in the context.
102
- *
103
- * @param component - Component to register with a specific scope. Can be either A_Container, A_Feature.
104
- * @param scope - Scope to associate the component with.
105
- * @returns
106
- */
107
- static register(
108
- /**
109
- * Provide the scope that will be associated with the component.
110
- */
111
- scope,
112
- /**
113
- * Provide a component that needs to be registered with a specific scope.
114
- */
115
- component) {
116
- var _a;
117
- // uses only for error messages
118
- const componentName = ((_a = component === null || component === void 0 ? void 0 : component.constructor) === null || _a === void 0 ? void 0 : _a.name) || String(component);
119
- const instance = this.getInstance();
120
- if (!component)
121
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidRegisterParameterError, `Unable to register component. Component cannot be null or undefined.`);
122
- if (!scope)
123
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidRegisterParameterError, `Unable to register component. Scope cannot be null or undefined.`);
124
- if (!this.isAllowedToBeRegistered(component))
125
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.NotAllowedForScopeAllocationError, `Component ${componentName} is not allowed for scope allocation.`);
126
- instance._scopeStorage.set(component, scope);
127
- return scope;
128
- }
129
- static allocate(component, importing) {
130
- var _a;
131
- // uses only for error messages
132
- const componentName = ((_a = component === null || component === void 0 ? void 0 : component.constructor) === null || _a === void 0 ? void 0 : _a.name) || String(component);
133
- // ---------------------------------------------------------------------
134
- // ----------------------Input Validation-------------------------------
135
- // ---------------------------------------------------------------------
136
- // 1) check if component is valid
137
- if (!this.isAllowedForScopeAllocation(component))
138
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.NotAllowedForScopeAllocationError, `Component of type ${componentName} is not allowed for scope allocation. Only A_Container, A_Feature are allowed.`);
139
- const instance = this.getInstance();
140
- // 2) check if component already has a scope allocated
141
- if (instance._registry.has(component))
142
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.ComponentAlreadyHasScopeAllocatedError, `Component ${componentName} already has a scope allocated.`);
143
- // 3) Create a new scope for the component
144
- const newScope = A_TypeGuards_helper_1.A_TypeGuards.isScopeInstance(importing)
145
- ? importing
146
- : new A_Scope_class_1.A_Scope(importing || {
147
- name: componentName + '-scope'
148
- }, importing);
149
- // 4) Make sure that the new scope inherits from the root scope
150
- if (!newScope.isInheritedFrom(A_Context.root))
151
- newScope.inherit(A_Context.root);
152
- // 5) Register the component in the appropriate storage
153
- instance._registry.set(component, newScope);
154
- // Also register the issuer of the scope for faster tracking
155
- instance._scopeIssuers.set(newScope, component);
156
- // 6) Return the newly created scope
157
- return newScope;
158
- }
159
- static meta(param1) {
160
- var _a;
161
- // Get the component name for error messages
162
- const componentName = ((_a = param1 === null || param1 === void 0 ? void 0 : param1.constructor) === null || _a === void 0 ? void 0 : _a.name) || String(param1);
163
- // Get the instance of the context
164
- const instance = this.getInstance();
165
- if (!param1)
166
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidMetaParameterError, `Invalid parameter provided to get meta. Parameter cannot be null or undefined.`);
167
- // Check if the parameter is allowed for meta storage
168
- if (!(this.isAllowedForMeta(param1)
169
- || this.isAllowedForMetaConstructor(param1)
170
- || A_TypeGuards_helper_1.A_TypeGuards.isString(param1)
171
- || A_TypeGuards_helper_1.A_TypeGuards.isFunction(param1)))
172
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidMetaParameterError, `Invalid parameter provided to get meta. Component of type ${componentName} is not allowed for meta storage. Only A_Container, A_Component and A_Entity are allowed.`);
173
- let property;
174
- let metaType;
175
- switch (true) {
176
- // 1) If param1 is instance of A_Container
177
- case A_TypeGuards_helper_1.A_TypeGuards.isContainerInstance(param1): {
178
- property = param1.constructor;
179
- metaType = A_Container_meta_1.A_ContainerMeta;
180
- break;
181
- }
182
- // 2) If param1 is class of A_Container
183
- case A_TypeGuards_helper_1.A_TypeGuards.isContainerConstructor(param1): {
184
- property = param1;
185
- metaType = A_Container_meta_1.A_ContainerMeta;
186
- break;
187
- }
188
- // 3) If param1 is instance of A_Component
189
- case A_TypeGuards_helper_1.A_TypeGuards.isComponentInstance(param1): {
190
- property = param1.constructor;
191
- metaType = A_Component_meta_1.A_ComponentMeta;
192
- break;
193
- }
194
- // 4) If param1 is class of A_Component
195
- case A_TypeGuards_helper_1.A_TypeGuards.isComponentConstructor(param1): {
196
- property = param1;
197
- metaType = A_Component_meta_1.A_ComponentMeta;
198
- break;
199
- }
200
- // 5) If param1 is instance of A_Entity
201
- case A_TypeGuards_helper_1.A_TypeGuards.isEntityInstance(param1): {
202
- property = param1.constructor;
203
- metaType = A_Component_meta_1.A_ComponentMeta;
204
- break;
205
- }
206
- // 6) If param1 is class of A_Entity
207
- case A_TypeGuards_helper_1.A_TypeGuards.isEntityConstructor(param1): {
208
- property = param1;
209
- metaType = A_Entity_meta_1.A_EntityMeta;
210
- break;
211
- }
212
- // 7) If param1 is string then we need to find the component by its name
213
- case typeof param1 === 'string': {
214
- const found = Array.from(instance._metaStorage)
215
- .find(([c]) => c.name === param1
216
- || c.name === A_Formatter_helper_1.A_FormatterHelper.toKebabCase(param1)
217
- || c.name === A_Formatter_helper_1.A_FormatterHelper.toPascalCase(param1));
218
- if (!(found && found.length))
219
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidMetaParameterError, `Invalid parameter provided to get meta. Component with name ${param1} not found in the meta storage.`);
220
- property = found[0];
221
- metaType = A_Component_meta_1.A_ComponentMeta;
222
- break;
223
- }
224
- // 8) If param1 is any other class or function
225
- default: {
226
- property = param1;
227
- metaType = A_Meta_class_1.A_Meta;
228
- break;
229
- }
230
- }
231
- // Check if the meta already exists for the property, if not create a new one
232
- if (!instance._metaStorage.has(property)) {
233
- const inheritMeta = instance._metaStorage.get(Object.getPrototypeOf(property)) || new metaType();
234
- instance._metaStorage.set(property, new metaType().from(inheritMeta));
235
- }
236
- // Return the meta for the property
237
- return instance._metaStorage.get(property);
238
- }
239
- /**
240
- *
241
- * This method allows to get the issuer of a specific scope.
242
- *
243
- * @param scope - Scope to get the issuer for.
244
- * @returns - Component that issued the scope.
245
- */
246
- static issuer(
247
- /**
248
- * Provide the scope to get its issuer.
249
- */
250
- scope) {
251
- const instance = this.getInstance();
252
- if (!scope)
253
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidComponentParameterError, `Invalid parameter provided to get scope issuer. Parameter cannot be null or undefined.`);
254
- if (!instance._scopeIssuers.has(scope))
255
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.ScopeNotFoundError, `Invalid parameter provided to get scope issuer. Provided scope does not have an issuer registered.`);
256
- return instance._scopeIssuers.get(scope);
257
- }
258
- static scope(param1) {
259
- var _a;
260
- // for error messages
261
- const name = ((_a = param1 === null || param1 === void 0 ? void 0 : param1.constructor) === null || _a === void 0 ? void 0 : _a.name) || String(param1);
262
- // Get the instance of the context
263
- const instance = this.getInstance();
264
- // Input validation
265
- if (!param1)
266
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidScopeParameterError, `Invalid parameter provided to get scope. Parameter cannot be null or undefined.`);
267
- // Check if the parameter is allowed for scope allocation
268
- if (!this.isAllowedForScopeAllocation(param1)
269
- && !this.isAllowedToBeRegistered(param1))
270
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidScopeParameterError, `Invalid parameter provided to get scope. Component of type ${name} is not allowed for scope allocation.`);
271
- switch (true) {
272
- case this.isAllowedForScopeAllocation(param1):
273
- // Check if the parameter has a scope allocated
274
- if (!instance._registry.has(param1))
275
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.ScopeNotFoundError, `Invalid parameter provided to get scope. Component of type ${name} does not have a scope allocated. Make sure to allocate a scope using A_Context.allocate() method before trying to get the scope.`);
276
- // If the parameter is allowed for scope allocation, return the scope
277
- return instance._registry.get(param1);
278
- case this.isAllowedToBeRegistered(param1):
279
- // Check if the parameter has a scope registered
280
- if (!instance._scopeStorage.has(param1))
281
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.ScopeNotFoundError, `Invalid parameter provided to get scope. Component of type ${name} does not have a scope registered. Make sure to register the component using A_Context.register() method before trying to get the scope.`);
282
- // If the parameter is allowed to be registered, return the scope from the storage
283
- return instance._scopeStorage.get(param1);
284
- default:
285
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidScopeParameterError, `Invalid parameter provided to get scope. Component of type ${name} is not allowed to be registered.`);
286
- }
287
- }
288
- // ==========================================================================================================
289
- // ================================== FEATURE MANAGEMENT ====================================================
290
- // ==========================================================================================================
291
- // ----------------------------------------------------------------------------------------------------------
292
- // -----------------------------------Primary Methods -------------------------------------------------------
293
- // ----------------------------------------------------------------------------------------------------------
294
- /**
295
- * Returns a template of the feature that can be then used to create a new A-Feature Instance
296
- *
297
- * [!] Note: Steps/Stages included are fully dependent on the scope provided since it dictates which components are active and can provide extensions for the feature.
298
- *
299
- * @param name
300
- */
301
- static featureTemplate(
302
- /**
303
- * Provide the name of the feature to get the template for. Regular expressions are also supported to match multiple features.
304
- */
305
- name,
306
- /**
307
- * Provide the component to get the feature template from.
308
- */
309
- component,
310
- /**
311
- * Provide the scope that dictates which components are active and can provide extensions for the feature.
312
- */
313
- scope = this.scope(component)) {
314
- var _a;
315
- // name for error messages
316
- const componentName = ((_a = component === null || component === void 0 ? void 0 : component.constructor) === null || _a === void 0 ? void 0 : _a.name) || String(component);
317
- // Input validation
318
- if (!component)
319
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidFeatureTemplateParameterError, `Unable to get feature template. Component cannot be null or undefined.`);
320
- if (!name)
321
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidFeatureTemplateParameterError, `Unable to get feature template. Feature name cannot be null or undefined.`);
322
- // Check if the parameter is allowed for feature definition
323
- if (!A_TypeGuards_helper_1.A_TypeGuards.isAllowedForFeatureDefinition(component))
324
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidFeatureTemplateParameterError, `Unable to get feature template. Component of type ${componentName} is not allowed for feature definition.`);
325
- const steps = [
326
- // 1) Get the base feature definition from the component
327
- ...this.featureDefinition(name, component),
328
- // 2) Get all extensions for the feature from other components in the scope
329
- ...this.featureExtensions(name, component, scope)
330
- ];
331
- return steps;
332
- }
333
- // ----------------------------------------------------------------------------------------------------------
334
- // -----------------------------------Helper Methods --------------------------------------------------------
335
- // ----------------------------------------------------------------------------------------------------------
336
- /**
337
- * Returns all extensions for the specific feature in the specific component within the provided scope.
338
- * Scope dictates which components are active and can provide extensions for the feature.
339
- *
340
- * [!] This method only returns extensions, not the base feature definition.
341
- *
342
- * @param scope
343
- * @returns
344
- */
345
- static featureExtensions(
346
- /**
347
- * Provide the name of the feature to get the template for. Regular expressions are also supported to match multiple features.
348
- */
349
- name,
350
- /**
351
- * Provide the component to get the feature template from.
352
- */
353
- component,
354
- /**
355
- * Provide the scope that dictates which components are active and can provide extensions for the feature.
356
- */
357
- scope) {
358
- var _a;
359
- const instance = this.getInstance();
360
- // name for error messages
361
- const componentName = ((_a = component === null || component === void 0 ? void 0 : component.constructor) === null || _a === void 0 ? void 0 : _a.name) || String(component);
362
- // Input validation
363
- if (!component)
364
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidFeatureExtensionParameterError, `Unable to get feature template. Component cannot be null or undefined.`);
365
- if (!name)
366
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidFeatureExtensionParameterError, `Unable to get feature template. Feature name cannot be null or undefined.`);
367
- // Check if the parameter is allowed for feature definition
368
- if (!A_TypeGuards_helper_1.A_TypeGuards.isAllowedForFeatureDefinition(component))
369
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidFeatureExtensionParameterError, `Unable to get feature template. Component of type ${componentName} is not allowed for feature definition.`);
370
- const callName = `${component.constructor.name}.${name}`;
371
- const steps = [];
372
- // We need to get all components that has extensions for the feature in component
373
- for (const [cmp, meta] of instance._metaStorage) {
374
- // Just try to make sure that component not only Indexed but also presented in scope
375
- if (scope.has(cmp) && (A_TypeGuards_helper_1.A_TypeGuards.isComponentMetaInstance(meta)
376
- || A_TypeGuards_helper_1.A_TypeGuards.isContainerMetaInstance(meta))) {
377
- // Get all extensions for the feature
378
- meta
379
- .extensions(callName)
380
- .forEach((declaration) => {
381
- steps.push(Object.assign({ component: cmp }, declaration));
382
- });
383
- }
384
- }
385
- return instance.filterToMostDerived(scope, steps);
386
- }
387
- /**
388
- * method helps to filter steps in a way that only the most derived classes are kept.
389
- *
390
- * @param scope
391
- * @param items
392
- * @returns
393
- */
394
- filterToMostDerived(scope, items) {
395
- return items.filter(item => {
396
- const currentClass = typeof item.component === 'string'
397
- ? scope.resolveConstructor(item.component)
398
- : A_TypeGuards_helper_1.A_TypeGuards.isContainerInstance(item.component)
399
- ? item.component.constructor : item.component;
400
- // Check if this class is parent of any other in the list
401
- const isParentOfAnother = items.some(other => {
402
- if (other === item)
403
- return false;
404
- const otherClass = typeof other.component === 'string'
405
- ? scope.resolveConstructor(other.component)
406
- : A_TypeGuards_helper_1.A_TypeGuards.isContainerInstance(other.component)
407
- ? other.component.constructor
408
- : other.component;
409
- return currentClass.prototype.isPrototypeOf(otherClass.prototype);
410
- });
411
- // Keep only classes that are not parent of any other
412
- return !isParentOfAnother;
413
- });
414
- }
415
- /**
416
- * This method returns the feature template definition without any extensions.
417
- * It can be used to retrieve the base template for a feature before any modifications are applied.
418
- *
419
- * [!] This method does not consider extensions from other components.
420
- *
421
- * @param feature
422
- * @param component
423
- * @returns
424
- */
425
- static featureDefinition(
426
- /**
427
- * Name of the feature to get the template for.
428
- * Regular expressions are also supported to match multiple features.
429
- */
430
- feature,
431
- /**
432
- * Component to get the feature template from.
433
- */
434
- component) {
435
- var _a, _b;
436
- let metaKey;
437
- if (!feature)
438
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidFeatureTemplateParameterError, `Unable to get feature template. Feature name cannot be null or undefined.`);
439
- if (!component)
440
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidFeatureTemplateParameterError, `Unable to get feature template. Component cannot be null or undefined.`);
441
- switch (true) {
442
- case component instanceof A_Entity_class_1.A_Entity:
443
- metaKey = A_Entity_constants_1.A_TYPES__EntityMetaKey.FEATURES;
444
- break;
445
- case component instanceof A_Container_class_1.A_Container:
446
- metaKey = A_Container_constants_1.A_TYPES__ContainerMetaKey.FEATURES;
447
- break;
448
- case component instanceof A_Component_class_1.A_Component:
449
- metaKey = A_Component_constants_1.A_TYPES__ComponentMetaKey.FEATURES;
450
- break;
451
- default:
452
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidFeatureTemplateParameterError, `A-Feature cannot be defined on the ${component} level`);
453
- }
454
- const featureDefinition = (_b = (_a = this.meta(component)) === null || _a === void 0 ? void 0 : _a.get(metaKey)) === null || _b === void 0 ? void 0 : _b.get(feature);
455
- return [
456
- ...((featureDefinition === null || featureDefinition === void 0 ? void 0 : featureDefinition.template) || [])
457
- ];
458
- }
459
- // ==========================================================================================================
460
- // ================================== ABSTRACTION MANAGEMENT =================================================
461
- // ==========================================================================================================
462
- // ----------------------------------------------------------------------------------------------------------
463
- // -----------------------------------Primary Methods -------------------------------------------------------
464
- // ----------------------------------------------------------------------------------------------------------
465
- /**
466
- * Returns a definition of the abstraction that can be then used to create a new A-Feature Instance
467
- *
468
- * [!] Note: Steps/Stages included are fully dependent on the scope provided since it dictates which components are active and can provide extensions for the abstraction.
469
- *
470
- * @param abstraction
471
- */
472
- static abstractionTemplate(
473
- /**
474
- * Provide the abstraction stage to get the definition for.
475
- */
476
- abstraction,
477
- /**
478
- * Provide the component to get the abstraction definition from.
479
- */
480
- component) {
481
- var _a;
482
- // name for error messages
483
- const componentName = ((_a = component === null || component === void 0 ? void 0 : component.constructor) === null || _a === void 0 ? void 0 : _a.name) || String(component);
484
- // Input validation
485
- if (!component)
486
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidAbstractionTemplateParameterError, `Unable to get feature template. Component cannot be null or undefined.`);
487
- if (!abstraction)
488
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidAbstractionTemplateParameterError, `Unable to get feature template. Abstraction stage cannot be null or undefined.`);
489
- // Check if the parameter is allowed for feature definition
490
- if (!A_TypeGuards_helper_1.A_TypeGuards.isAllowedForAbstractionDefinition(component))
491
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidAbstractionTemplateParameterError, `Unable to get feature template. Component of type ${componentName} is not allowed for feature definition.`);
492
- const steps = [
493
- // 1) Get the base abstraction definition from the component
494
- // [!] No abstraction Definitions -> They are limited to Concept Abstractions ONLY
495
- // ...this.abstractionDefinition(abstraction, component),
496
- // 2) Get all extensions for the abstraction from other components in the scope
497
- ...this.abstractionExtensions(abstraction, component)
498
- ];
499
- return steps;
500
- }
501
- // ----------------------------------------------------------------------------------------------------------
502
- // -----------------------------------Helper Methods --------------------------------------------------------
503
- // ----------------------------------------------------------------------------------------------------------
504
- static abstractionExtensions(
505
- /**
506
- * Provide the abstraction name to get the definition for.
507
- */
508
- abstraction,
509
- /**
510
- * Provide the component to get the abstraction definition from.
511
- */
512
- component) {
513
- var _a;
514
- const instance = this.getInstance();
515
- // name for error messages
516
- const componentName = ((_a = component === null || component === void 0 ? void 0 : component.constructor) === null || _a === void 0 ? void 0 : _a.name) || String(component);
517
- // Input validation
518
- if (!component)
519
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidAbstractionExtensionParameterError, `Unable to get feature template. Component cannot be null or undefined.`);
520
- if (!abstraction)
521
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidAbstractionExtensionParameterError, `Unable to get feature template. Abstraction stage cannot be null or undefined.`);
522
- // Check if the parameter is allowed for feature definition
523
- if (!A_TypeGuards_helper_1.A_TypeGuards.isAllowedForAbstractionDefinition(component))
524
- throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidAbstractionExtensionParameterError, `Unable to get feature template. Component of type ${componentName} is not allowed for feature definition.`);
525
- const steps = [];
526
- const scope = this.scope(component);
527
- // We need to get all components that has extensions for the feature in component
528
- for (const [cmp, meta] of instance._metaStorage) {
529
- // Just try to make sure that component not only Indexed but also presented in scope
530
- if (scope.has(cmp) && (A_TypeGuards_helper_1.A_TypeGuards.isComponentMetaInstance(meta)
531
- || A_TypeGuards_helper_1.A_TypeGuards.isContainerMetaInstance(meta))) {
532
- // Get all extensions for the feature
533
- meta
534
- .abstractions(abstraction)
535
- .forEach((declaration) => {
536
- steps.push(Object.assign({ component: cmp }, declaration));
537
- });
538
- }
539
- }
540
- return instance.filterToMostDerived(scope, steps);
541
- }
542
- /**
543
- * Resets the Context to its initial state.
544
- */
545
- static reset() {
546
- const instance = A_Context.getInstance();
547
- instance._registry = new WeakMap();
548
- let name = 'root';
549
- if (A_Context.environment === 'server')
550
- name = process.env[env_constants_1.A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_ROOT_SCOPE] || 'root';
551
- if (A_Context.environment === 'browser')
552
- name = window[env_constants_1.A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_ROOT_SCOPE] || 'root';
553
- instance._root = new A_Scope_class_1.A_Scope({ name });
554
- }
555
- // ====================================================================================================================
556
- // ====================================== HELPERS & GUARDS ============================================================
557
- // ====================================================================================================================
558
- /**
559
- * Type guard to check if the param is allowed for scope allocation.
560
- *
561
- * @param param
562
- * @returns
563
- */
564
- static isAllowedForScopeAllocation(param) {
565
- return A_TypeGuards_helper_1.A_TypeGuards.isContainerInstance(param)
566
- || A_TypeGuards_helper_1.A_TypeGuards.isFeatureInstance(param);
567
- }
568
- /**
569
- * Type guard to check if the param is allowed to be registered in the context.
570
- *
571
- * @param param
572
- * @returns
573
- */
574
- static isAllowedToBeRegistered(param) {
575
- return A_TypeGuards_helper_1.A_TypeGuards.isEntityInstance(param)
576
- || A_TypeGuards_helper_1.A_TypeGuards.isComponentInstance(param)
577
- || A_TypeGuards_helper_1.A_TypeGuards.isFragmentInstance(param);
578
- }
579
- /**
580
- * Type guard to check if the param is allowed for meta storage.
581
- *
582
- * @param param
583
- * @returns
584
- */
585
- static isAllowedForMeta(param) {
586
- return A_TypeGuards_helper_1.A_TypeGuards.isContainerInstance(param)
587
- || A_TypeGuards_helper_1.A_TypeGuards.isComponentInstance(param)
588
- || A_TypeGuards_helper_1.A_TypeGuards.isEntityInstance(param);
589
- }
590
- /**
591
- * Type guard to check if the param is allowed for meta storage by constructor.
592
- *
593
- * @param param
594
- * @returns
595
- */
596
- static isAllowedForMetaConstructor(param) {
597
- return A_TypeGuards_helper_1.A_TypeGuards.isContainerConstructor(param)
598
- || A_TypeGuards_helper_1.A_TypeGuards.isComponentConstructor(param)
599
- || A_TypeGuards_helper_1.A_TypeGuards.isEntityConstructor(param);
600
- }
601
- }
602
- exports.A_Context = A_Context;
603
- //# sourceMappingURL=A-Context.class.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"A-Context.class.js","sourceRoot":"","sources":["../../../../src/global/A-Context/A-Context.class.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- import { A_Error } from "../A-Error/A_Error.class";
2
- export declare class A_ContextError extends A_Error {
3
- static NotAllowedForScopeAllocationError: string;
4
- static ComponentAlreadyHasScopeAllocatedError: string;
5
- static InvalidMetaParameterError: string;
6
- static InvalidScopeParameterError: string;
7
- static ScopeNotFoundError: string;
8
- static InvalidFeatureParameterError: string;
9
- static InvalidFeatureDefinitionParameterError: string;
10
- static InvalidFeatureTemplateParameterError: string;
11
- static InvalidFeatureExtensionParameterError: string;
12
- static InvalidAbstractionParameterError: string;
13
- static InvalidAbstractionDefinitionParameterError: string;
14
- static InvalidAbstractionTemplateParameterError: string;
15
- static InvalidAbstractionExtensionParameterError: string;
16
- static InvalidInjectionParameterError: string;
17
- static InvalidExtensionParameterError: string;
18
- static InvalidRegisterParameterError: string;
19
- static InvalidComponentParameterError: string;
20
- }