@adaas/a-concept 0.1.23 → 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 (234) 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 +18 -13
  9. package/src/global/A-Component/A-Component.meta.ts +3 -2
  10. package/src/global/A-Container/A-Container.meta.ts +5 -8
  11. package/src/global/A-Context/A-Context.class.ts +81 -7
  12. package/src/global/A-Context/A-Context.error.ts +4 -0
  13. package/src/global/A-Dependency/A-Dependency-Default.decorator.ts +75 -0
  14. package/src/global/A-Dependency/A-Dependency-Load.decorator.ts +80 -0
  15. package/src/global/A-Dependency/A-Dependency-Require.decorator.ts +68 -0
  16. package/src/global/A-Dependency/A-Dependency.class.ts +33 -0
  17. package/src/global/A-Dependency/A-Dependency.error.ts +13 -0
  18. package/src/global/A-Dependency/A-Dependency.types.ts +28 -0
  19. package/src/global/A-Entity/A-Entity.class.ts +2 -1
  20. package/src/global/A-Feature/A-Feature-Define.decorator.ts +7 -4
  21. package/src/global/A-Feature/A-Feature-Extend.decorator.ts +23 -17
  22. package/src/global/A-Feature/A-Feature.class.ts +12 -1
  23. package/src/global/A-Feature/A-Feature.types.ts +33 -8
  24. package/src/global/A-Inject/A-Inject.decorator.ts +4 -2
  25. package/src/global/A-Inject/A-Inject.types.ts +5 -3
  26. package/src/global/A-Scope/A-Scope.class.ts +85 -57
  27. package/src/global/A-Stage/A-Stage.class.ts +22 -2
  28. package/src/global/A-Stage/A-Stage.error.ts +2 -0
  29. package/src/global/A-Stage/A-Stage.types.ts +7 -2
  30. package/src/global/A-StepManager/A-StepManager.class.ts +19 -13
  31. package/src/helpers/A_Common.helper.ts +101 -0
  32. package/src/helpers/A_TypeGuards.helper.ts +8 -0
  33. package/src/index.ts +88 -0
  34. package/tests/A-Component.test.ts +1 -1
  35. package/tests/A-Concept.test.ts +58 -10
  36. package/tests/A-Dependency.test.ts +93 -0
  37. package/tests/A-Feature.test.ts +11 -11
  38. package/tests/A-Scope.test.ts +10 -10
  39. package/tests/A-StepManager.test.ts +60 -11
  40. package/tsconfig.json +2 -2
  41. package/tsup.config.ts +32 -0
  42. package/dist/index.js +0 -112
  43. package/dist/index.js.map +0 -1
  44. package/dist/src/constants/env.constants.d.ts +0 -33
  45. package/dist/src/constants/env.constants.js +0 -47
  46. package/dist/src/constants/env.constants.js.map +0 -1
  47. package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.d.ts +0 -23
  48. package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.js +0 -89
  49. package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.js.map +0 -1
  50. package/dist/src/global/A-Abstraction/A-Abstraction.class.d.ts +0 -74
  51. package/dist/src/global/A-Abstraction/A-Abstraction.class.js +0 -130
  52. package/dist/src/global/A-Abstraction/A-Abstraction.class.js.map +0 -1
  53. package/dist/src/global/A-Abstraction/A-Abstraction.error.d.ts +0 -7
  54. package/dist/src/global/A-Abstraction/A-Abstraction.error.js +0 -12
  55. package/dist/src/global/A-Abstraction/A-Abstraction.error.js.map +0 -1
  56. package/dist/src/global/A-Abstraction/A-Abstraction.types.d.ts +0 -38
  57. package/dist/src/global/A-Abstraction/A-Abstraction.types.js +0 -3
  58. package/dist/src/global/A-Abstraction/A-Abstraction.types.js.map +0 -1
  59. package/dist/src/global/A-Caller/A_Caller.class.d.ts +0 -33
  60. package/dist/src/global/A-Caller/A_Caller.class.js +0 -44
  61. package/dist/src/global/A-Caller/A_Caller.class.js.map +0 -1
  62. package/dist/src/global/A-Caller/A_Caller.error.d.ts +0 -7
  63. package/dist/src/global/A-Caller/A_Caller.error.js +0 -12
  64. package/dist/src/global/A-Caller/A_Caller.error.js.map +0 -1
  65. package/dist/src/global/A-Caller/A_Caller.types.d.ts +0 -18
  66. package/dist/src/global/A-Caller/A_Caller.types.js +0 -3
  67. package/dist/src/global/A-Caller/A_Caller.types.js.map +0 -1
  68. package/dist/src/global/A-Component/A-Component.class.d.ts +0 -34
  69. package/dist/src/global/A-Component/A-Component.class.js +0 -56
  70. package/dist/src/global/A-Component/A-Component.class.js.map +0 -1
  71. package/dist/src/global/A-Component/A-Component.constants.d.ts +0 -6
  72. package/dist/src/global/A-Component/A-Component.constants.js +0 -11
  73. package/dist/src/global/A-Component/A-Component.constants.js.map +0 -1
  74. package/dist/src/global/A-Component/A-Component.meta.d.ts +0 -34
  75. package/dist/src/global/A-Component/A-Component.meta.js +0 -77
  76. package/dist/src/global/A-Component/A-Component.meta.js.map +0 -1
  77. package/dist/src/global/A-Component/A-Component.types.d.ts +0 -76
  78. package/dist/src/global/A-Component/A-Component.types.js +0 -4
  79. package/dist/src/global/A-Component/A-Component.types.js.map +0 -1
  80. package/dist/src/global/A-Concept/A-Concept.class.d.ts +0 -153
  81. package/dist/src/global/A-Concept/A-Concept.class.js +0 -260
  82. package/dist/src/global/A-Concept/A-Concept.class.js.map +0 -1
  83. package/dist/src/global/A-Concept/A-Concept.constants.d.ts +0 -33
  84. package/dist/src/global/A-Concept/A-Concept.constants.js +0 -39
  85. package/dist/src/global/A-Concept/A-Concept.constants.js.map +0 -1
  86. package/dist/src/global/A-Concept/A-Concept.meta.d.ts +0 -6
  87. package/dist/src/global/A-Concept/A-Concept.meta.js +0 -12
  88. package/dist/src/global/A-Concept/A-Concept.meta.js.map +0 -1
  89. package/dist/src/global/A-Concept/A-Concept.types.d.ts +0 -66
  90. package/dist/src/global/A-Concept/A-Concept.types.js +0 -3
  91. package/dist/src/global/A-Concept/A-Concept.types.js.map +0 -1
  92. package/dist/src/global/A-Container/A-Container.class.d.ts +0 -52
  93. package/dist/src/global/A-Container/A-Container.class.js +0 -78
  94. package/dist/src/global/A-Container/A-Container.class.js.map +0 -1
  95. package/dist/src/global/A-Container/A-Container.constants.d.ts +0 -6
  96. package/dist/src/global/A-Container/A-Container.constants.js +0 -11
  97. package/dist/src/global/A-Container/A-Container.constants.js.map +0 -1
  98. package/dist/src/global/A-Container/A-Container.meta.d.ts +0 -35
  99. package/dist/src/global/A-Container/A-Container.meta.js +0 -83
  100. package/dist/src/global/A-Container/A-Container.meta.js.map +0 -1
  101. package/dist/src/global/A-Container/A-Container.types.d.ts +0 -75
  102. package/dist/src/global/A-Container/A-Container.types.js +0 -4
  103. package/dist/src/global/A-Container/A-Container.types.js.map +0 -1
  104. package/dist/src/global/A-Context/A-Context.class.d.ts +0 -361
  105. package/dist/src/global/A-Context/A-Context.class.js +0 -603
  106. package/dist/src/global/A-Context/A-Context.class.js.map +0 -1
  107. package/dist/src/global/A-Context/A-Context.error.d.ts +0 -20
  108. package/dist/src/global/A-Context/A-Context.error.js +0 -25
  109. package/dist/src/global/A-Context/A-Context.error.js.map +0 -1
  110. package/dist/src/global/A-Context/A-Context.types.d.ts +0 -5
  111. package/dist/src/global/A-Context/A-Context.types.js +0 -3
  112. package/dist/src/global/A-Context/A-Context.types.js.map +0 -1
  113. package/dist/src/global/A-Dependency/A-DependencyReference.class.d.ts +0 -0
  114. package/dist/src/global/A-Dependency/A-DependencyReference.class.js +0 -49
  115. package/dist/src/global/A-Dependency/A-DependencyReference.class.js.map +0 -1
  116. package/dist/src/global/A-Dependency/A-DependencyReference.types.d.ts +0 -0
  117. package/dist/src/global/A-Dependency/A-DependencyReference.types.js +0 -58
  118. package/dist/src/global/A-Dependency/A-DependencyReference.types.js.map +0 -1
  119. package/dist/src/global/A-Entity/A-Entity.class.d.ts +0 -214
  120. package/dist/src/global/A-Entity/A-Entity.class.js +0 -281
  121. package/dist/src/global/A-Entity/A-Entity.class.js.map +0 -1
  122. package/dist/src/global/A-Entity/A-Entity.constants.d.ts +0 -11
  123. package/dist/src/global/A-Entity/A-Entity.constants.js +0 -17
  124. package/dist/src/global/A-Entity/A-Entity.constants.js.map +0 -1
  125. package/dist/src/global/A-Entity/A-Entity.error.d.ts +0 -7
  126. package/dist/src/global/A-Entity/A-Entity.error.js +0 -12
  127. package/dist/src/global/A-Entity/A-Entity.error.js.map +0 -1
  128. package/dist/src/global/A-Entity/A-Entity.meta.d.ts +0 -11
  129. package/dist/src/global/A-Entity/A-Entity.meta.js +0 -18
  130. package/dist/src/global/A-Entity/A-Entity.meta.js.map +0 -1
  131. package/dist/src/global/A-Entity/A-Entity.types.d.ts +0 -56
  132. package/dist/src/global/A-Entity/A-Entity.types.js +0 -5
  133. package/dist/src/global/A-Entity/A-Entity.types.js.map +0 -1
  134. package/dist/src/global/A-Error/A_Error.class.d.ts +0 -229
  135. package/dist/src/global/A-Error/A_Error.class.js +0 -296
  136. package/dist/src/global/A-Error/A_Error.class.js.map +0 -1
  137. package/dist/src/global/A-Error/A_Error.constants.d.ts +0 -5
  138. package/dist/src/global/A-Error/A_Error.constants.js +0 -9
  139. package/dist/src/global/A-Error/A_Error.constants.js.map +0 -1
  140. package/dist/src/global/A-Error/A_Error.types.d.ts +0 -93
  141. package/dist/src/global/A-Error/A_Error.types.js +0 -3
  142. package/dist/src/global/A-Error/A_Error.types.js.map +0 -1
  143. package/dist/src/global/A-Feature/A-Feature-Define.decorator.d.ts +0 -15
  144. package/dist/src/global/A-Feature/A-Feature-Define.decorator.js +0 -76
  145. package/dist/src/global/A-Feature/A-Feature-Define.decorator.js.map +0 -1
  146. package/dist/src/global/A-Feature/A-Feature-Extend.decorator.d.ts +0 -56
  147. package/dist/src/global/A-Feature/A-Feature-Extend.decorator.js +0 -119
  148. package/dist/src/global/A-Feature/A-Feature-Extend.decorator.js.map +0 -1
  149. package/dist/src/global/A-Feature/A-Feature.class.d.ts +0 -175
  150. package/dist/src/global/A-Feature/A-Feature.class.js +0 -318
  151. package/dist/src/global/A-Feature/A-Feature.class.js.map +0 -1
  152. package/dist/src/global/A-Feature/A-Feature.error.d.ts +0 -25
  153. package/dist/src/global/A-Feature/A-Feature.error.js +0 -33
  154. package/dist/src/global/A-Feature/A-Feature.error.js.map +0 -1
  155. package/dist/src/global/A-Feature/A-Feature.types.d.ts +0 -310
  156. package/dist/src/global/A-Feature/A-Feature.types.js +0 -26
  157. package/dist/src/global/A-Feature/A-Feature.types.js.map +0 -1
  158. package/dist/src/global/A-Fragment/A-Fragment.class.d.ts +0 -36
  159. package/dist/src/global/A-Fragment/A-Fragment.class.js +0 -46
  160. package/dist/src/global/A-Fragment/A-Fragment.class.js.map +0 -1
  161. package/dist/src/global/A-Fragment/A-Fragment.types.d.ts +0 -21
  162. package/dist/src/global/A-Fragment/A-Fragment.types.js +0 -6
  163. package/dist/src/global/A-Fragment/A-Fragment.types.js.map +0 -1
  164. package/dist/src/global/A-Inject/A-Inject.decorator.d.ts +0 -80
  165. package/dist/src/global/A-Inject/A-Inject.decorator.js +0 -49
  166. package/dist/src/global/A-Inject/A-Inject.decorator.js.map +0 -1
  167. package/dist/src/global/A-Inject/A-Inject.error.d.ts +0 -5
  168. package/dist/src/global/A-Inject/A-Inject.error.js +0 -10
  169. package/dist/src/global/A-Inject/A-Inject.error.js.map +0 -1
  170. package/dist/src/global/A-Inject/A-Inject.types.d.ts +0 -42
  171. package/dist/src/global/A-Inject/A-Inject.types.js +0 -3
  172. package/dist/src/global/A-Inject/A-Inject.types.js.map +0 -1
  173. package/dist/src/global/A-Meta/A-Meta.class.d.ts +0 -97
  174. package/dist/src/global/A-Meta/A-Meta.class.js +0 -164
  175. package/dist/src/global/A-Meta/A-Meta.class.js.map +0 -1
  176. package/dist/src/global/A-Meta/A-Meta.types.d.ts +0 -14
  177. package/dist/src/global/A-Meta/A-Meta.types.js +0 -3
  178. package/dist/src/global/A-Meta/A-Meta.types.js.map +0 -1
  179. package/dist/src/global/A-Scope/A-Scope.class.d.ts +0 -466
  180. package/dist/src/global/A-Scope/A-Scope.class.js +0 -791
  181. package/dist/src/global/A-Scope/A-Scope.class.js.map +0 -1
  182. package/dist/src/global/A-Scope/A-Scope.error.d.ts +0 -8
  183. package/dist/src/global/A-Scope/A-Scope.error.js +0 -13
  184. package/dist/src/global/A-Scope/A-Scope.error.js.map +0 -1
  185. package/dist/src/global/A-Scope/A-Scope.types.d.ts +0 -81
  186. package/dist/src/global/A-Scope/A-Scope.types.js +0 -3
  187. package/dist/src/global/A-Scope/A-Scope.types.js.map +0 -1
  188. package/dist/src/global/A-Stage/A-Stage.class.d.ts +0 -112
  189. package/dist/src/global/A-Stage/A-Stage.class.js +0 -240
  190. package/dist/src/global/A-Stage/A-Stage.class.js.map +0 -1
  191. package/dist/src/global/A-Stage/A-Stage.error.d.ts +0 -4
  192. package/dist/src/global/A-Stage/A-Stage.error.js +0 -11
  193. package/dist/src/global/A-Stage/A-Stage.error.js.map +0 -1
  194. package/dist/src/global/A-Stage/A-Stage.types.d.ts +0 -97
  195. package/dist/src/global/A-Stage/A-Stage.types.js +0 -43
  196. package/dist/src/global/A-Stage/A-Stage.types.js.map +0 -1
  197. package/dist/src/global/A-StepManager/A-StepManager.class.d.ts +0 -20
  198. package/dist/src/global/A-StepManager/A-StepManager.class.js +0 -111
  199. package/dist/src/global/A-StepManager/A-StepManager.class.js.map +0 -1
  200. package/dist/src/global/A-StepManager/A-StepManager.error.d.ts +0 -4
  201. package/dist/src/global/A-StepManager/A-StepManager.error.js +0 -9
  202. package/dist/src/global/A-StepManager/A-StepManager.error.js.map +0 -1
  203. package/dist/src/global/ASEID/ASEID.class.d.ts +0 -130
  204. package/dist/src/global/ASEID/ASEID.class.js +0 -167
  205. package/dist/src/global/ASEID/ASEID.class.js.map +0 -1
  206. package/dist/src/global/ASEID/ASEID.constants.d.ts +0 -0
  207. package/dist/src/global/ASEID/ASEID.constants.js +0 -2
  208. package/dist/src/global/ASEID/ASEID.constants.js.map +0 -1
  209. package/dist/src/global/ASEID/ASEID.error.d.ts +0 -5
  210. package/dist/src/global/ASEID/ASEID.error.js +0 -10
  211. package/dist/src/global/ASEID/ASEID.error.js.map +0 -1
  212. package/dist/src/global/ASEID/ASEID.types.d.ts +0 -65
  213. package/dist/src/global/ASEID/ASEID.types.js +0 -5
  214. package/dist/src/global/ASEID/ASEID.types.js.map +0 -1
  215. package/dist/src/helpers/A_Common.helper.d.ts +0 -28
  216. package/dist/src/helpers/A_Common.helper.js +0 -170
  217. package/dist/src/helpers/A_Common.helper.js.map +0 -1
  218. package/dist/src/helpers/A_Formatter.helper.d.ts +0 -35
  219. package/dist/src/helpers/A_Formatter.helper.js +0 -62
  220. package/dist/src/helpers/A_Formatter.helper.js.map +0 -1
  221. package/dist/src/helpers/A_Identity.helper.d.ts +0 -29
  222. package/dist/src/helpers/A_Identity.helper.js +0 -43
  223. package/dist/src/helpers/A_Identity.helper.js.map +0 -1
  224. package/dist/src/helpers/A_TypeGuards.helper.d.ts +0 -207
  225. package/dist/src/helpers/A_TypeGuards.helper.js +0 -296
  226. package/dist/src/helpers/A_TypeGuards.helper.js.map +0 -1
  227. package/dist/src/types/A_Common.types.d.ts +0 -36
  228. package/dist/src/types/A_Common.types.js +0 -3
  229. package/dist/src/types/A_Common.types.js.map +0 -1
  230. package/index.ts +0 -81
  231. package/src/global/A-Dependency/A-DependencyReference.class.ts +0 -61
  232. package/src/global/A-Dependency/A-DependencyReference.types.ts +0 -61
  233. package/trace-require.js +0 -46
  234. package/tsconfig.build.json +0 -58
@@ -1,130 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.A_Abstraction = void 0;
13
- const A_Abstraction_Extend_decorator_1 = require("./A-Abstraction-Extend.decorator");
14
- const A_Feature_class_1 = require("../A-Feature/A-Feature.class");
15
- const A_Context_class_1 = require("../A-Context/A-Context.class");
16
- class A_Abstraction {
17
- /**
18
- * Allows to extends A-Abstraction with additional methods
19
- */
20
- static get Extend() {
21
- return A_Abstraction_Extend_decorator_1.A_Abstraction_Extend;
22
- }
23
- /**
24
- * A-Abstraction is an object that is common for any application.
25
- * By providing components and creating abstraction extensions it's possible to create a unique behavior of the whole solution.
26
- *
27
- * Every application has basic abstractions like 'start', 'stop', 'deploy', 'test', etc.
28
- * They can be easily extended with additional logic from both containers and components.
29
- *
30
- *
31
- * @param params
32
- */
33
- constructor(
34
- /**
35
- * Parameters to define the A-Abstraction
36
- */
37
- params) {
38
- /**
39
- * List of features that are part of this Abstraction
40
- */
41
- this._features = [];
42
- /**
43
- * Actual Index of the current Feature being processed
44
- */
45
- this._index = 0;
46
- this._name = params.name;
47
- this._features = params.containers.map(container => {
48
- const template = A_Context_class_1.A_Context.abstractionTemplate(this._name, container);
49
- return new A_Feature_class_1.A_Feature({
50
- name: this._name,
51
- component: container,
52
- template
53
- });
54
- });
55
- this._current = this._features[0];
56
- }
57
- /**
58
- * Returns the name of the Abstraction
59
- */
60
- get name() { return this._name; }
61
- /**
62
- * Returns the current Feature being processed
63
- */
64
- get feature() {
65
- return this._current;
66
- }
67
- /**
68
- * This method checks if the A-Feature is done
69
- *
70
- * @returns
71
- */
72
- get isDone() {
73
- return !this.feature
74
- || this._index >= this._features.length;
75
- }
76
- [Symbol.iterator]() {
77
- return {
78
- // Custom next method
79
- next: () => {
80
- if (!this.isDone) {
81
- this._current = this._features[this._index];
82
- return {
83
- value: this._current,
84
- done: false
85
- };
86
- }
87
- else {
88
- this._current = undefined; // Reset current on end
89
- return {
90
- value: undefined,
91
- done: true
92
- };
93
- }
94
- }
95
- };
96
- }
97
- /**
98
- * This method moves the Abstraction processing to the next Feature in the list
99
- *
100
- * @param stage
101
- */
102
- next(stage) {
103
- if (this._index >= this._features.length) {
104
- return;
105
- }
106
- const stageIndex = this._features.indexOf(stage);
107
- this._index = stageIndex + 1;
108
- }
109
- /**
110
- * Allows to process all stages of the Abstraction
111
- *
112
- * @returns
113
- */
114
- process(
115
- /**
116
- * Allows to override the scope in which the Abstraction will be processed
117
- *
118
- */
119
- scope) {
120
- return __awaiter(this, void 0, void 0, function* () {
121
- if (this.isDone)
122
- return;
123
- for (const feature of this._features) {
124
- yield feature.process(scope);
125
- }
126
- });
127
- }
128
- }
129
- exports.A_Abstraction = A_Abstraction;
130
- //# sourceMappingURL=A-Abstraction.class.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"A-Abstraction.class.js","sourceRoot":"","sources":["../../../../src/global/A-Abstraction/A-Abstraction.class.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yHAA4G;AAC5G,kEAAyD;AAGzD,kEAAyD;AAKzD,MAAa,aAAa;IAoBtB;;OAEG;IACH,MAAM,KAAK,MAAM;QACb,OAAO,qDAAoB,CAAC;IAChC,CAAC;IAED;;;;;;;;;OASG;IACH;IACI;;OAEG;IACH,MAAiC;QAnCrC;;WAEG;QACO,cAAS,GAAgB,EAAE,CAAC;QAKtC;;WAEG;QACO,WAAM,GAAW,CAAC,CAAC;QA0BzB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;QAEzB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YAC/C,MAAM,QAAQ,GAAG,2BAAS,CAAC,mBAAmB,CAC1C,IAAI,CAAC,KAAK,EACV,SAAS,CACZ,CAAC;YACF,OAAO,IAAI,2BAAS,CAAC;gBACjB,IAAI,EAAE,IAAI,CAAC,KAAK;gBAChB,SAAS,EAAE,SAAS;gBACpB,QAAQ;aACX,CAAC,CAAA;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,IAAI,IAAI,KAAa,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACzC;;OAEG;IACH,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IACD;;;;OAIG;IACH,IAAI,MAAM;QACN,OAAO,CAAC,IAAI,CAAC,OAAO;eACb,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAA;IAE/C,CAAC;IAGD,CAAC,MAAM,CAAC,QAAQ,CAAC;QACb,OAAO;YACH,qBAAqB;YACrB,IAAI,EAAE,GAAmC,EAAE;gBACvC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBAEf,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAE5C,OAAO;wBACH,KAAK,EAAE,IAAI,CAAC,QAAQ;wBACpB,IAAI,EAAE,KAAK;qBACd,CAAC;gBACN,CAAC;qBAAM,CAAC;oBAEJ,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,uBAAuB;oBAElD,OAAO;wBACH,KAAK,EAAE,SAAS;wBAChB,IAAI,EAAE,IAAI;qBACb,CAAC;gBACN,CAAC;YACL,CAAC;SACJ,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,KAAK;QACN,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACvC,OAAO;QACX,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEjD,IAAI,CAAC,MAAM,GAAG,UAAU,GAAG,CAAC,CAAC;IACjC,CAAC;IAID;;;;OAIG;IACG,OAAO;IACT;;;OAGG;IACH,KAAe;;YAEf,IAAI,IAAI,CAAC,MAAM;gBACX,OAAO;YAEX,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBAEnC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;QACL,CAAC;KAAA;CACJ;AAhJD,sCAgJC"}
@@ -1,7 +0,0 @@
1
- import { A_Error } from "../A-Error/A_Error.class";
2
- export declare class A_AbstractionError extends A_Error {
3
- /**
4
- * This error code indicates that there was an issue extending the abstraction execution
5
- */
6
- static readonly AbstractionExtensionError = "Unable to extend abstraction execution";
7
- }
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.A_AbstractionError = void 0;
4
- const A_Error_class_1 = require("../A-Error/A_Error.class");
5
- class A_AbstractionError extends A_Error_class_1.A_Error {
6
- }
7
- exports.A_AbstractionError = A_AbstractionError;
8
- /**
9
- * This error code indicates that there was an issue extending the abstraction execution
10
- */
11
- A_AbstractionError.AbstractionExtensionError = 'Unable to extend abstraction execution';
12
- //# sourceMappingURL=A-Abstraction.error.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"A-Abstraction.error.js","sourceRoot":"","sources":["../../../../src/global/A-Abstraction/A-Abstraction.error.ts"],"names":[],"mappings":";;;AAAA,4DAAmD;AAEnD,MAAa,kBAAmB,SAAQ,uBAAO;;AAA/C,gDAMC;AALG;;GAEG;AACa,4CAAyB,GAAG,wCAAwC,CAAC"}
@@ -1,38 +0,0 @@
1
- import { A_Component } from "../A-Component/A-Component.class";
2
- import { A_TYPES__ConceptAbstractions } from "../A-Concept/A-Concept.constants";
3
- import { A_Container } from "../A-Container/A-Container.class";
4
- import { A_TYPES__FeatureExtendDecoratorConfig } from "../A-Feature/A-Feature.types";
5
- import { A_Abstraction } from "./A-Abstraction.class";
6
- /**
7
- * Abstraction constructor type
8
- * Uses the generic type T to specify the type of the abstraction
9
- */
10
- export type A_TYPES__Abstraction_Constructor<T = A_Abstraction> = new (...args: any[]) => T;
11
- /**
12
- * Abstraction initialization type
13
- */
14
- export type A_TYPES__Abstraction_Init = {
15
- /**
16
- * Name of the A-Abstraction
17
- */
18
- name: A_TYPES__ConceptAbstractions;
19
- /**
20
- * Features that compose the A-Abstraction
21
- */
22
- containers: Array<A_Container>;
23
- };
24
- /**
25
- * Abstraction serialized type
26
- */
27
- export type A_TYPES__Abstraction_Serialized = {
28
- /**
29
- * The ASEID of the abstraction
30
- */
31
- aseid: string;
32
- };
33
- /**
34
- * Components that can extend Abstractions
35
- */
36
- export type A_TYPES__AbstractionAvailableComponents = A_Component | A_Container;
37
- export type A_TYPES__AbstractionDecoratorDescriptor = TypedPropertyDescriptor<() => any> | TypedPropertyDescriptor<(...args: any[]) => any> | TypedPropertyDescriptor<(...args: any[]) => Promise<any>> | TypedPropertyDescriptor<() => Promise<any>>;
38
- export type A_TYPES__AbstractionDecoratorConfig = A_TYPES__FeatureExtendDecoratorConfig;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=A-Abstraction.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"A-Abstraction.types.js","sourceRoot":"","sources":["../../../../src/global/A-Abstraction/A-Abstraction.types.ts"],"names":[],"mappings":""}
@@ -1,33 +0,0 @@
1
- import { A_TYPES__FeatureAvailableComponents } from "../A-Feature/A-Feature.types";
2
- /**
3
- * This is a common class that uses to return an entity that initiates a feature call
4
- *
5
- * It can be used then in @A_Inject(A_Caller) to get the entity that initiated the feature call
6
- *
7
- * [!] the class itself may be retrieved, but may require additional processing inside the feature
8
- *
9
- */
10
- export declare class A_Caller<T extends A_TYPES__FeatureAvailableComponents = A_TYPES__FeatureAvailableComponents> {
11
- /**
12
- * The component that initiated the feature call
13
- */
14
- protected _component: T;
15
- /**
16
- * A_Caller allows to get the component that initiated the feature call
17
- *
18
- * It can be used then in @A_Inject(A_Caller) to get the entity that initiated the feature call
19
- *
20
- * [!] If Scope is not provided, a new empty scope will be created and inherited from the global scope
21
- *
22
- * @param component
23
- * @param scope
24
- */
25
- constructor(component: T);
26
- get component(): T;
27
- /**
28
- * Validates the provided parameters and Ensures that the component is of an allowed type
29
- *
30
- * @param component
31
- */
32
- protected validateParams(component: T): void;
33
- }
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.A_Caller = void 0;
4
- const A_TypeGuards_helper_1 = require("../../helpers/A_TypeGuards.helper");
5
- const A_Caller_error_1 = require("./A_Caller.error");
6
- /**
7
- * This is a common class that uses to return an entity that initiates a feature call
8
- *
9
- * It can be used then in @A_Inject(A_Caller) to get the entity that initiated the feature call
10
- *
11
- * [!] the class itself may be retrieved, but may require additional processing inside the feature
12
- *
13
- */
14
- class A_Caller {
15
- /**
16
- * A_Caller allows to get the component that initiated the feature call
17
- *
18
- * It can be used then in @A_Inject(A_Caller) to get the entity that initiated the feature call
19
- *
20
- * [!] If Scope is not provided, a new empty scope will be created and inherited from the global scope
21
- *
22
- * @param component
23
- * @param scope
24
- */
25
- constructor(component) {
26
- this.validateParams(component);
27
- this._component = component;
28
- }
29
- get component() {
30
- return this._component;
31
- }
32
- /**
33
- * Validates the provided parameters and Ensures that the component is of an allowed type
34
- *
35
- * @param component
36
- */
37
- validateParams(component) {
38
- if (!A_TypeGuards_helper_1.A_TypeGuards.isAllowedForFeatureCall(component)) {
39
- throw new A_Caller_error_1.A_CallerError(A_Caller_error_1.A_CallerError.CallerInitializationError, `Invalid A-Caller component provided of type: ${typeof component} with value: ${JSON.stringify(component).slice(0, 100)}...`);
40
- }
41
- }
42
- }
43
- exports.A_Caller = A_Caller;
44
- //# sourceMappingURL=A_Caller.class.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"A_Caller.class.js","sourceRoot":"","sources":["../../../../src/global/A-Caller/A_Caller.class.ts"],"names":[],"mappings":";;;AAAA,sFAA4E;AAE5E,qDAAiD;AAIjD;;;;;;;GAOG;AACH,MAAa,QAAQ;IAQjB;;;;;;;;;OASG;IACH,YACI,SAAY;QAEZ,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAE/B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAChC,CAAC;IAED,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAGD;;;;OAIG;IACO,cAAc,CACpB,SAAY;QAEZ,IAAI,CAAC,kCAAY,CAAC,uBAAuB,CAAC,SAAS,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,8BAAa,CACnB,8BAAa,CAAC,yBAAyB,EACvC,gDAAgD,OAAO,SAAS,gBAAgB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAC/H,CAAC;QACN,CAAC;IACL,CAAC;CACJ;AA9CD,4BA8CC"}
@@ -1,7 +0,0 @@
1
- import { A_Error } from "../A-Error/A_Error.class";
2
- export declare class A_CallerError extends A_Error {
3
- /**
4
- * This error code indicates that there was an issue initializing the A-Caller
5
- */
6
- static readonly CallerInitializationError = "Unable to initialize A-Caller";
7
- }
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.A_CallerError = void 0;
4
- const A_Error_class_1 = require("../A-Error/A_Error.class");
5
- class A_CallerError extends A_Error_class_1.A_Error {
6
- }
7
- exports.A_CallerError = A_CallerError;
8
- /**
9
- * This error code indicates that there was an issue initializing the A-Caller
10
- */
11
- A_CallerError.CallerInitializationError = 'Unable to initialize A-Caller';
12
- //# sourceMappingURL=A_Caller.error.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"A_Caller.error.js","sourceRoot":"","sources":["../../../../src/global/A-Caller/A_Caller.error.ts"],"names":[],"mappings":";;;AAAA,4DAAmD;AAGnD,MAAa,aAAc,SAAQ,uBAAO;;AAA1C,sCAMC;AAJG;;GAEG;AACa,uCAAyB,GAAG,+BAA+B,CAAC"}
@@ -1,18 +0,0 @@
1
- import { A_Component } from "../A-Component/A-Component.class";
2
- import { A_Container } from "../A-Container/A-Container.class";
3
- import { A_Entity } from "../A-Entity/A-Entity.class";
4
- import { A_Caller } from "./A_Caller.class";
5
- export type A_TYPES__CallerComponent = A_Container | A_Component | A_Entity;
6
- /**
7
- * Caller constructor type
8
- * Uses the generic type T to specify the type of the caller component
9
- */
10
- export type A_TYPES__Caller_Constructor<T = A_Caller> = new (...args: any[]) => T;
11
- /**
12
- * Caller initialization type
13
- */
14
- export type A_TYPES__Caller_Init = {};
15
- /**
16
- * Caller serialized type
17
- */
18
- export type A_TYPES__Caller_Serialized = {};
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=A_Caller.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"A_Caller.types.js","sourceRoot":"","sources":["../../../../src/global/A-Caller/A_Caller.types.ts"],"names":[],"mappings":""}
@@ -1,34 +0,0 @@
1
- import { A_Scope } from "../A-Scope/A-Scope.class";
2
- /**
3
- * A-Component is a primary "extendable" object in the system
4
- * A unique combination of Components creates completely new functionality
5
- *
6
- * The most important thing is that A-Component is STATELESS, it means that it doesn't store any state in itself
7
- *
8
- *
9
- * [!] Every A-Component is a singleton, so if you need to create multiple instances of the same logic - use A-Container
10
- * [!] So one scope can have only one instance of the same A-Component
11
- * [!] Every A-Component can be extended by features and extensions
12
- * [!] ONLY A-Component can have A-Feature extensions
13
- *
14
- */
15
- export declare class A_Component {
16
- /**
17
- * Calls the feature with the given name in the given scope
18
- *
19
- * [!] Note: This method creates a new instance of the feature every time it is called
20
- *
21
- * @param feature - the name of the feature to call
22
- * @param scope - the scope in which to call the feature
23
- * @returns - void
24
- */
25
- call(
26
- /**
27
- * Name of the feature to call
28
- */
29
- feature: string,
30
- /**
31
- * Scope in which the feature will be executed
32
- */
33
- scope?: A_Scope): Promise<void>;
34
- }
@@ -1,56 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.A_Component = void 0;
13
- const A_Feature_class_1 = require("../A-Feature/A-Feature.class");
14
- /**
15
- * A-Component is a primary "extendable" object in the system
16
- * A unique combination of Components creates completely new functionality
17
- *
18
- * The most important thing is that A-Component is STATELESS, it means that it doesn't store any state in itself
19
- *
20
- *
21
- * [!] Every A-Component is a singleton, so if you need to create multiple instances of the same logic - use A-Container
22
- * [!] So one scope can have only one instance of the same A-Component
23
- * [!] Every A-Component can be extended by features and extensions
24
- * [!] ONLY A-Component can have A-Feature extensions
25
- *
26
- */
27
- class A_Component {
28
- /**
29
- * Calls the feature with the given name in the given scope
30
- *
31
- * [!] Note: This method creates a new instance of the feature every time it is called
32
- *
33
- * @param feature - the name of the feature to call
34
- * @param scope - the scope in which to call the feature
35
- * @returns - void
36
- */
37
- call(
38
- /**
39
- * Name of the feature to call
40
- */
41
- feature,
42
- /**
43
- * Scope in which the feature will be executed
44
- */
45
- scope) {
46
- return __awaiter(this, void 0, void 0, function* () {
47
- const newFeature = new A_Feature_class_1.A_Feature({
48
- name: feature,
49
- component: this
50
- });
51
- return yield newFeature.process(scope);
52
- });
53
- }
54
- }
55
- exports.A_Component = A_Component;
56
- //# sourceMappingURL=A-Component.class.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"A-Component.class.js","sourceRoot":"","sources":["../../../../src/global/A-Component/A-Component.class.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,kEAAyD;AAKzD;;;;;;;;;;;;GAYG;AACH,MAAa,WAAW;IAGpB;;;;;;;;OAQG;IACG,IAAI;IACN;;OAEG;IACH,OAAe;IACf;;OAEG;IACH,KAAe;;YAEf,MAAM,UAAU,GAAG,IAAI,2BAAS,CAAC;gBAC7B,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,IAAI;aAClB,CAAC,CAAC;YAEH,OAAO,MAAM,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;KAAA;CACJ;AA7BD,kCA6BC"}
@@ -1,6 +0,0 @@
1
- export declare enum A_TYPES__ComponentMetaKey {
2
- EXTENSIONS = "a-component-extensions",
3
- FEATURES = "a-component-features",
4
- INJECTIONS = "a-component-injections",
5
- ABSTRACTIONS = "a-component-abstractions"
6
- }
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.A_TYPES__ComponentMetaKey = void 0;
4
- var A_TYPES__ComponentMetaKey;
5
- (function (A_TYPES__ComponentMetaKey) {
6
- A_TYPES__ComponentMetaKey["EXTENSIONS"] = "a-component-extensions";
7
- A_TYPES__ComponentMetaKey["FEATURES"] = "a-component-features";
8
- A_TYPES__ComponentMetaKey["INJECTIONS"] = "a-component-injections";
9
- A_TYPES__ComponentMetaKey["ABSTRACTIONS"] = "a-component-abstractions";
10
- })(A_TYPES__ComponentMetaKey || (exports.A_TYPES__ComponentMetaKey = A_TYPES__ComponentMetaKey = {}));
11
- //# sourceMappingURL=A-Component.constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"A-Component.constants.js","sourceRoot":"","sources":["../../../../src/global/A-Component/A-Component.constants.ts"],"names":[],"mappings":";;;AAGA,IAAY,yBAKX;AALD,WAAY,yBAAyB;IACjC,kEAAqC,CAAA;IACrC,8DAAiC,CAAA;IACjC,kEAAqC,CAAA;IACrC,sEAAyC,CAAA;AAC7C,CAAC,EALW,yBAAyB,yCAAzB,yBAAyB,QAKpC"}
@@ -1,34 +0,0 @@
1
- import { A_TYPES__A_InjectDecorator_Meta } from "../A-Inject/A-Inject.types";
2
- import { A_TYPES__ConceptAbstractionMeta } from "../A-Concept/A-Concept.types";
3
- import { A_Meta } from "../A-Meta/A-Meta.class";
4
- import { A_TYPES__ComponentMeta, A_TYPES__ComponentMetaExtension } from "./A-Component.types";
5
- import { A_TYPES__FeatureDefineDecoratorMeta } from "../A-Feature/A-Feature.types";
6
- export declare class A_ComponentMeta extends A_Meta<A_TYPES__ComponentMeta> {
7
- /**
8
- * Allows to get all the injections for a given handler
9
- *
10
- * @param handler
11
- * @returns
12
- */
13
- injections(handler: string): A_TYPES__A_InjectDecorator_Meta;
14
- /**
15
- * Allows to get all the extensions for a given feature
16
- *
17
- * @param feature
18
- * @returns
19
- */
20
- extensions(feature: string): A_TYPES__ComponentMetaExtension[];
21
- /**
22
- * Returns all features defined in the Component
23
- *
24
- * @returns
25
- */
26
- features(): Array<A_TYPES__FeatureDefineDecoratorMeta>;
27
- /**
28
- * Returns a set of instructions to run proper methods in Component during A-Concept Stage
29
- *
30
- * @param stage
31
- * @returns
32
- */
33
- abstractions(abstraction: any): A_TYPES__ConceptAbstractionMeta[];
34
- }
@@ -1,77 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.A_ComponentMeta = void 0;
4
- const A_Meta_class_1 = require("../A-Meta/A-Meta.class");
5
- const A_Component_constants_1 = require("./A-Component.constants");
6
- class A_ComponentMeta extends A_Meta_class_1.A_Meta {
7
- /**
8
- * Allows to get all the injections for a given handler
9
- *
10
- * @param handler
11
- * @returns
12
- */
13
- injections(handler) {
14
- const injections = this.get(A_Component_constants_1.A_TYPES__ComponentMetaKey.INJECTIONS);
15
- const args = (injections === null || injections === void 0 ? void 0 : injections.get(handler)) || [];
16
- return args;
17
- }
18
- /**
19
- * Allows to get all the extensions for a given feature
20
- *
21
- * @param feature
22
- * @returns
23
- */
24
- extensions(feature) {
25
- const steps = [];
26
- const extensions = this.get(A_Component_constants_1.A_TYPES__ComponentMetaKey.EXTENSIONS);
27
- extensions === null || extensions === void 0 ? void 0 : extensions
28
- // returns all extensions that match the feature
29
- .find(feature).forEach(([handler, extensions]) => {
30
- extensions.forEach(extension => {
31
- steps.push({
32
- // component: constructor,
33
- name: extension.name,
34
- handler: extension.handler,
35
- behavior: extension.behavior,
36
- before: extension.before || [],
37
- after: extension.after || [],
38
- throwOnError: extension.throwOnError || true,
39
- });
40
- });
41
- });
42
- return steps;
43
- }
44
- /**
45
- * Returns all features defined in the Component
46
- *
47
- * @returns
48
- */
49
- features() {
50
- const features = this.get(A_Component_constants_1.A_TYPES__ComponentMetaKey.FEATURES);
51
- return (features === null || features === void 0 ? void 0 : features.toArray().map(([, feature]) => feature)) || [];
52
- }
53
- /**
54
- * Returns a set of instructions to run proper methods in Component during A-Concept Stage
55
- *
56
- * @param stage
57
- * @returns
58
- */
59
- abstractions(abstraction) {
60
- const steps = [];
61
- const abstractions = this.get(A_Component_constants_1.A_TYPES__ComponentMetaKey.ABSTRACTIONS);
62
- const injections = this.get(A_Component_constants_1.A_TYPES__ComponentMetaKey.INJECTIONS);
63
- abstractions === null || abstractions === void 0 ? void 0 : abstractions
64
- // returns all extensions that match the feature
65
- .find(`CONCEPT_ABSTRACTION::${abstraction}`).forEach(([handler, extensions]) => {
66
- extensions.forEach(extension => {
67
- const args = (injections === null || injections === void 0 ? void 0 : injections.get(extension.handler)) || [];
68
- steps.push(Object.assign(Object.assign({}, extension), {
69
- // component: constructor,
70
- args }));
71
- });
72
- });
73
- return steps;
74
- }
75
- }
76
- exports.A_ComponentMeta = A_ComponentMeta;
77
- //# sourceMappingURL=A-Component.meta.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"A-Component.meta.js","sourceRoot":"","sources":["../../../../src/global/A-Component/A-Component.meta.ts"],"names":[],"mappings":";;;AAEA,yDAAgD;AAEhD,mEAAoE;AAIpE,MAAa,eAAgB,SAAQ,qBAA8B;IAE/D;;;;;OAKG;IACH,UAAU,CACN,OAAe;QAEf,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,iDAAyB,CAAC,UAAU,CAAC,CAAC;QAElE,MAAM,IAAI,GAAG,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,GAAG,CAAC,OAAO,CAAC,KAAI,EAAE,CAAC;QAE5C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,UAAU,CACN,OAAe;QAEf,MAAM,KAAK,GAAsC,EAAE,CAAC;QAEpD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,iDAAyB,CAAC,UAAU,CAAC,CAAC;QAElE,UAAU,aAAV,UAAU,uBAAV,UAAU;QACN,gDAAgD;SAC9C,IAAI,CAAC,OAAO,EACb,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE;YAC/B,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC3B,KAAK,CAAC,IAAI,CAAC;oBACP,0BAA0B;oBAC1B,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,EAAE;oBAC9B,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,EAAE;oBAC5B,YAAY,EAAE,SAAS,CAAC,YAAY,IAAI,IAAI;iBAC/C,CAAC,CAAC;YAEP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAGP,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,QAAQ;QAEJ,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,iDAAyB,CAAC,QAAQ,CAAC,CAAC;QAE9D,OAAO,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,GAEnB,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAI,EAAE,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACH,YAAY,CACR,WAAgB;QAEhB,MAAM,KAAK,GAAsC,EAAE,CAAC;QAEpD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,iDAAyB,CAAC,YAAY,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,iDAAyB,CAAC,UAAU,CAAC,CAAC;QAElE,YAAY,aAAZ,YAAY,uBAAZ,YAAY;QACR,gDAAgD;SAC9C,IAAI,CAAC,wBAAwB,WAAW,EAAE,EAC3C,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE;YAC/B,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC3B,MAAM,IAAI,GAAG,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,KAAI,EAAE,CAAC;gBAEtD,KAAK,CAAC,IAAI,iCACH,SAAS;oBACZ,0BAA0B;oBAC1B,IAAI,IACN,CAAC;YAEP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAGP,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AApGD,0CAoGC"}