@adaas/a-concept 0.0.29 → 0.0.30

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 (175) hide show
  1. package/dist/examples/fe-be/channels/Test.channel.d.ts +6 -0
  2. package/dist/examples/fe-be/channels/Test.channel.js +14 -0
  3. package/dist/examples/fe-be/channels/Test.channel.js.map +1 -0
  4. package/dist/examples/fe-be/components/BE-Controller.component.d.ts +4 -0
  5. package/dist/examples/fe-be/components/BE-Controller.component.js +24 -0
  6. package/dist/examples/fe-be/components/BE-Controller.component.js.map +1 -0
  7. package/dist/examples/fe-be/components/FE.component.d.ts +4 -0
  8. package/dist/examples/fe-be/components/FE.component.js +31 -0
  9. package/dist/examples/fe-be/components/FE.component.js.map +1 -0
  10. package/dist/examples/fe-be/components/UserActions.component.d.ts +5 -0
  11. package/dist/examples/fe-be/components/UserActions.component.js +25 -0
  12. package/dist/examples/fe-be/components/UserActions.component.js.map +1 -0
  13. package/dist/examples/fe-be/concept.d.ts +0 -0
  14. package/dist/examples/fe-be/concept.js +2 -0
  15. package/dist/examples/fe-be/concept.js.map +1 -0
  16. package/dist/examples/fe-be/containers/ServerApp.container.d.ts +3 -0
  17. package/dist/examples/fe-be/containers/ServerApp.container.js +8 -0
  18. package/dist/examples/fe-be/containers/ServerApp.container.js.map +1 -0
  19. package/dist/examples/fe-be/containers/WebApp.container.d.ts +3 -0
  20. package/dist/examples/fe-be/containers/WebApp.container.js +8 -0
  21. package/dist/examples/fe-be/containers/WebApp.container.js.map +1 -0
  22. package/dist/examples/multi-container/channels/Direct.channel.d.ts +9 -0
  23. package/dist/examples/multi-container/channels/Direct.channel.js +32 -0
  24. package/dist/examples/multi-container/channels/Direct.channel.js.map +1 -0
  25. package/dist/examples/multi-container/concept.d.ts +0 -0
  26. package/dist/examples/multi-container/concept.js +2 -0
  27. package/dist/examples/multi-container/concept.js.map +1 -0
  28. package/dist/examples/multi-container/containers/Command.container.d.ts +11 -0
  29. package/dist/examples/multi-container/containers/Command.container.js +51 -0
  30. package/dist/examples/multi-container/containers/Command.container.js.map +1 -0
  31. package/dist/examples/multi-container/containers/Schedule.container.d.ts +15 -0
  32. package/dist/examples/multi-container/containers/Schedule.container.js +67 -0
  33. package/dist/examples/multi-container/containers/Schedule.container.js.map +1 -0
  34. package/dist/examples/simple/components/A.component.js.map +1 -1
  35. package/dist/examples/simple/containers/Main.container.js +7 -3
  36. package/dist/examples/simple/containers/Main.container.js.map +1 -1
  37. package/dist/examples/simple/entities/EntityA.entity.d.ts +8 -0
  38. package/dist/examples/simple/entities/EntityA.entity.js +22 -0
  39. package/dist/examples/simple/entities/EntityA.entity.js.map +1 -0
  40. package/dist/examples/simple-http-server/contexts/http-request.context.d.ts +0 -1
  41. package/dist/examples/simple-http-server/contexts/http-request.context.js +6 -8
  42. package/dist/examples/simple-http-server/contexts/http-request.context.js.map +1 -1
  43. package/dist/index.d.ts +8 -2
  44. package/dist/index.js +16 -7
  45. package/dist/index.js.map +1 -1
  46. package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.d.ts +14 -0
  47. package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.js +53 -0
  48. package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.js.map +1 -0
  49. package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.d.ts +2 -0
  50. package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.js +3 -0
  51. package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.js.map +1 -0
  52. package/dist/src/decorators/A-Connect/A-Connect.decorator.d.ts +19 -0
  53. package/dist/src/decorators/A-Connect/A-Connect.decorator.js +31 -0
  54. package/dist/src/decorators/A-Connect/A-Connect.decorator.js.map +1 -0
  55. package/dist/src/decorators/A-Connect/A-Connect.decorator.types.d.ts +1 -0
  56. package/dist/src/decorators/A-Connect/A-Connect.decorator.types.js +3 -0
  57. package/dist/src/decorators/A-Connect/A-Connect.decorator.types.js.map +1 -0
  58. package/dist/src/decorators/A-Entity/A-Entity-List.decorator.d.ts +1 -0
  59. package/dist/src/decorators/A-Entity/A-Entity-List.decorator.js +8 -0
  60. package/dist/src/decorators/A-Entity/A-Entity-List.decorator.js.map +1 -0
  61. package/dist/src/decorators/A-Entity/A-Entity.decorator.types.d.ts +14 -0
  62. package/dist/src/decorators/A-Entity/A-Entity.decorator.types.js +3 -0
  63. package/dist/src/decorators/A-Entity/A-Entity.decorator.types.js.map +1 -0
  64. package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js +9 -0
  65. package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js.map +1 -1
  66. package/dist/src/decorators/A-Feature/A-Feature.decorator.types.d.ts +28 -0
  67. package/dist/src/decorators/A-Inject/A-Inject.decorator.d.ts +2 -3
  68. package/dist/src/decorators/A-Inject/A-Inject.decorator.js.map +1 -1
  69. package/dist/src/decorators/A-Inject/A-Inject.decorator.types.d.ts +44 -0
  70. package/dist/src/global/A-Channel/A-Channel.class.d.ts +8 -10
  71. package/dist/src/global/A-Channel/A-Channel.class.js +12 -26
  72. package/dist/src/global/A-Channel/A-Channel.class.js.map +1 -1
  73. package/dist/src/global/A-Channel/A-Channel.types.d.ts +32 -0
  74. package/dist/src/global/A-Component/A-Component.class.d.ts +2 -1
  75. package/dist/src/global/A-Component/A-Component.class.js +1 -0
  76. package/dist/src/global/A-Component/A-Component.class.js.map +1 -1
  77. package/dist/src/global/A-Component/A-Component.meta.d.ts +8 -0
  78. package/dist/src/global/A-Component/A-Component.meta.js +27 -1
  79. package/dist/src/global/A-Component/A-Component.meta.js.map +1 -1
  80. package/dist/src/global/A-Component/A-Component.types.d.ts +19 -34
  81. package/dist/src/global/A-Component/A-Component.types.js +1 -7
  82. package/dist/src/global/A-Component/A-Component.types.js.map +1 -1
  83. package/dist/src/global/A-Concept/A_Concept.class.d.ts +7 -7
  84. package/dist/src/global/A-Concept/A_Concept.class.js +30 -30
  85. package/dist/src/global/A-Concept/A_Concept.class.js.map +1 -1
  86. package/dist/src/global/A-Concept/A_Concept.types.d.ts +42 -2
  87. package/dist/src/global/A-Concept/A_Concept.types.js.map +1 -1
  88. package/dist/src/global/A-Container/A-Container.class.d.ts +1 -8
  89. package/dist/src/global/A-Container/A-Container.class.js +1 -31
  90. package/dist/src/global/A-Container/A-Container.class.js.map +1 -1
  91. package/dist/src/global/A-Container/A-Container.meta.d.ts +8 -0
  92. package/dist/src/global/A-Container/A-Container.meta.js +29 -0
  93. package/dist/src/global/A-Container/A-Container.meta.js.map +1 -1
  94. package/dist/src/global/A-Container/A-Container.types.d.ts +23 -7
  95. package/dist/src/global/A-Container/A-Container.types.js +2 -1
  96. package/dist/src/global/A-Container/A-Container.types.js.map +1 -1
  97. package/dist/src/global/A-Context/A-Context.class.js +6 -35
  98. package/dist/src/global/A-Context/A-Context.class.js.map +1 -1
  99. package/dist/src/global/A-Entity/A-Entity.class.d.ts +1 -2
  100. package/dist/src/global/A-Entity/A-Entity.class.js +6 -7
  101. package/dist/src/global/A-Entity/A-Entity.class.js.map +1 -1
  102. package/dist/src/global/A-Entity/A-Entity.types.d.ts +4 -5
  103. package/dist/src/global/A-Entity/A-Entity.types.js.map +1 -1
  104. package/dist/src/global/A-Feature/A-Feature.class.d.ts +30 -6
  105. package/dist/src/global/A-Feature/A-Feature.class.js +49 -40
  106. package/dist/src/global/A-Feature/A-Feature.class.js.map +1 -1
  107. package/dist/src/global/A-Feature/A-Feature.types.d.ts +2 -24
  108. package/dist/src/global/A-Feature/A-Feature.types.js +21 -0
  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 +8 -0
  111. package/dist/src/global/A-Fragment/A-Fragment.class.js +10 -0
  112. package/dist/src/global/A-Fragment/A-Fragment.class.js.map +1 -1
  113. package/dist/src/global/A-Scope/A-Scope.class.d.ts +7 -5
  114. package/dist/src/global/A-Scope/A-Scope.class.js +33 -10
  115. package/dist/src/global/A-Scope/A-Scope.class.js.map +1 -1
  116. package/dist/src/global/A-Scope/A-Scope.types.d.ts +2 -1
  117. package/dist/src/global/A-Stage/A-Stage.class.d.ts +69 -0
  118. package/dist/src/global/A-Stage/A-Stage.class.js +176 -0
  119. package/dist/src/global/A-Stage/A-Stage.class.js.map +1 -0
  120. package/dist/src/global/A-Stage/A-Stage.types.d.ts +83 -0
  121. package/dist/src/global/A-Stage/A-Stage.types.js +59 -0
  122. package/dist/src/global/A-Stage/A-Stage.types.js.map +1 -0
  123. package/dist/src/helpers/StepsManager.class.d.ts +15 -0
  124. package/dist/src/helpers/StepsManager.class.js +85 -0
  125. package/dist/src/helpers/StepsManager.class.js.map +1 -0
  126. package/examples/fe-be/channels/Test.channel.ts +24 -0
  127. package/examples/fe-be/components/BE-Controller.component.ts +20 -0
  128. package/examples/fe-be/components/FE.component.ts +13 -0
  129. package/examples/fe-be/concept.ts +0 -0
  130. package/examples/fe-be/containers/ServerApp.container.ts +8 -0
  131. package/examples/fe-be/containers/WebApp.container.ts +13 -0
  132. package/examples/multi-container/channels/Direct.channel.ts +39 -0
  133. package/examples/multi-container/concept.ts +0 -0
  134. package/examples/multi-container/containers/Command.container.ts +41 -0
  135. package/examples/multi-container/containers/Schedule.container.ts +57 -0
  136. package/examples/simple/components/A.component.ts +2 -1
  137. package/examples/simple/containers/Main.container.ts +11 -3
  138. package/examples/simple/entities/EntityA.entity.ts +16 -0
  139. package/examples/simple-http-server/contexts/http-request.context.ts +6 -6
  140. package/index.ts +12 -3
  141. package/package.json +1 -1
  142. package/src/decorators/A-Abstraction/A-Abstraction.decorator.ts +82 -0
  143. package/src/decorators/{A-Stage/A-Stage.decorator.types.ts → A-Abstraction/A-Abstraction.decorator.types.ts} +1 -3
  144. package/src/decorators/A-Connect/A-Connect.decorator.ts +71 -0
  145. package/src/decorators/A-Connect/A-Connect.decorator.types.ts +6 -0
  146. package/src/decorators/A-Entity/A-Entity-List.decorator.ts +12 -0
  147. package/src/decorators/A-Entity/A-Entity.decorator.types.ts +18 -0
  148. package/src/decorators/A-Feature/A-Feature-Extend.decorator.ts +10 -0
  149. package/src/decorators/A-Feature/A-Feature.decorator.types.ts +36 -0
  150. package/src/decorators/A-Inject/A-Inject.decorator.ts +7 -7
  151. package/src/decorators/A-Inject/A-Inject.decorator.types.ts +47 -1
  152. package/src/global/A-Channel/A-Channel.class.ts +25 -28
  153. package/src/global/A-Channel/A-Channel.types.ts +53 -0
  154. package/src/global/A-Component/A-Component.class.ts +10 -2
  155. package/src/global/A-Component/A-Component.meta.ts +42 -1
  156. package/src/global/A-Component/A-Component.types.ts +20 -40
  157. package/src/global/A-Concept/A_Concept.class.ts +52 -31
  158. package/src/global/A-Concept/A_Concept.types.ts +48 -3
  159. package/src/global/A-Container/A-Container.class.ts +3 -39
  160. package/src/global/A-Container/A-Container.meta.ts +41 -4
  161. package/src/global/A-Container/A-Container.types.ts +28 -7
  162. package/src/global/A-Context/A-Context.class.ts +9 -49
  163. package/src/global/A-Entity/A-Entity.class.ts +8 -6
  164. package/src/global/A-Entity/A-Entity.types.ts +4 -5
  165. package/src/global/A-Feature/A-Feature.class.ts +73 -61
  166. package/src/global/A-Feature/A-Feature.types.ts +24 -23
  167. package/src/global/A-Fragment/A-Fragment.class.ts +15 -0
  168. package/src/global/A-Scope/A-Scope.class.ts +58 -25
  169. package/src/global/A-Scope/A-Scope.types.ts +2 -1
  170. package/src/global/A-Stage/A-Stage.class.ts +225 -0
  171. package/src/global/A-Stage/A-Stage.types.ts +106 -0
  172. package/src/helpers/StepsManager.class.ts +104 -0
  173. package/tests/channel.ts +213 -0
  174. package/tests/log.ts +88 -40
  175. package/src/decorators/A-Stage/A-Stage.decorator.ts +0 -84
@@ -1 +1 @@
1
- {"version":3,"file":"A-Scope.class.js","sourceRoot":"","sources":["../../../../src/global/A-Scope/A-Scope.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"A-Scope.class.js","sourceRoot":"","sources":["../../../../src/global/A-Scope/A-Scope.class.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { A_Component } from "../A-Component/A-Component.class";
1
2
  import { A_Fragment } from "../A-Fragment/A-Fragment.class";
2
3
  import { A_Scope } from "./A-Scope.class";
3
4
  export type A_TYPES__ScopeConstructor = {
@@ -13,7 +14,7 @@ export type A_TYPES__ScopeConstructor = {
13
14
  * A set of Components available in the Scope
14
15
  */
15
16
  components: Array<{
16
- new (...args: any[]): any;
17
+ new (...args: any[]): A_Component;
17
18
  }>;
18
19
  /**
19
20
  * A list of Features/Lifecycle Hooks available in the Scope
@@ -0,0 +1,69 @@
1
+ import { A_Error } from "@adaas/a-utils";
2
+ import { A_Feature } from "../A-Feature/A-Feature.class";
3
+ import { A_TYPES__A_Stage_JSON, A_TYPES__A_Stage_Status, A_TYPES__A_StageStep } from "./A-Stage.types";
4
+ import { A_Container } from "../A-Container/A-Container.class";
5
+ /**
6
+ * A_Stage is a set of A_Functions within A_Feature that should be run in a specific order.
7
+ * Each stage may contain one or more functions.
8
+ * [!] That always run in parallel (in NodeJS asynchronously), independently of each other.
9
+ *
10
+ * A-Stage is a common object that uses to simplify logic and re-use of A-Feature internals for better composition.
11
+ */
12
+ export declare class A_Stage {
13
+ private feature;
14
+ private steps;
15
+ constructor(feature: A_Feature, steps?: A_TYPES__A_StageStep[]);
16
+ status: A_TYPES__A_Stage_Status;
17
+ /**
18
+ * Promise that will be resolved when the stage is Processed
19
+ */
20
+ processed: Promise<void> | undefined;
21
+ get before(): string[];
22
+ get after(): string[];
23
+ /**
24
+ * Resolves the arguments of the step
25
+ *
26
+ * @param step
27
+ * @returns
28
+ */
29
+ protected getStepArgs(step: A_TYPES__A_StageStep): Promise<Promise<import("../A-Fragment/A-Fragment.class").A_Fragment | import("../A-Entity/A-Entity.class").A_Entity<any, any, any> | import("../A-Component/A-Component.class").A_Component<any> | import("../A-Scope/A-Scope.class").A_Scope | A_Container<any> | A_Feature | this>[]>;
30
+ /**
31
+ * Adds a step to the stage
32
+ *
33
+ * @param step
34
+ * @returns
35
+ */
36
+ add(step: A_TYPES__A_StageStep): this;
37
+ /**
38
+ * Resolves the component of the step
39
+ *
40
+ * @param step
41
+ * @returns
42
+ */
43
+ protected getStepInstance(step: A_TYPES__A_StageStep): A_Container<any> | import("../A-Component/A-Component.class").A_Component<string[]>;
44
+ /**
45
+ * Calls the handler of the step
46
+ *
47
+ * @param step
48
+ * @returns
49
+ */
50
+ protected getStepHandler(step: A_TYPES__A_StageStep): Promise<any>;
51
+ /**
52
+ * Runs async all the steps of the stage
53
+ *
54
+ * @returns
55
+ */
56
+ process(): Promise<void>;
57
+ /**
58
+ * Skips the stage
59
+ *
60
+ */
61
+ skip(): void;
62
+ protected completed(): void;
63
+ protected failed(error: Error | A_Error | unknown): void;
64
+ /**
65
+ * Serializes the stage to JSON
66
+ *
67
+ */
68
+ toJSON(): A_TYPES__A_Stage_JSON;
69
+ }
@@ -0,0 +1,176 @@
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_Stage = void 0;
13
+ const a_utils_1 = require("@adaas/a-utils");
14
+ const A_Context_class_1 = require("../A-Context/A-Context.class");
15
+ const A_Feature_class_1 = require("../A-Feature/A-Feature.class");
16
+ const A_Stage_types_1 = require("./A-Stage.types");
17
+ const A_Container_class_1 = require("../A-Container/A-Container.class");
18
+ /**
19
+ * A_Stage is a set of A_Functions within A_Feature that should be run in a specific order.
20
+ * Each stage may contain one or more functions.
21
+ * [!] That always run in parallel (in NodeJS asynchronously), independently of each other.
22
+ *
23
+ * A-Stage is a common object that uses to simplify logic and re-use of A-Feature internals for better composition.
24
+ */
25
+ class A_Stage {
26
+ constructor(feature, steps = []) {
27
+ this.feature = feature;
28
+ this.steps = steps;
29
+ this.status = A_Stage_types_1.A_TYPES__A_Stage_Status.INITIALIZED;
30
+ }
31
+ get before() {
32
+ return this.steps.reduce((acc, step) => ([
33
+ ...acc,
34
+ ...step.before
35
+ ]), []);
36
+ }
37
+ get after() {
38
+ return this.steps.reduce((acc, step) => ([
39
+ ...acc,
40
+ ...step.after
41
+ ]), []);
42
+ }
43
+ /**
44
+ * Resolves the arguments of the step
45
+ *
46
+ * @param step
47
+ * @returns
48
+ */
49
+ getStepArgs(step) {
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ return step.args.map((arg) => __awaiter(this, void 0, void 0, function* () {
52
+ // In case if the target is a feature step then pass the current feature
53
+ return a_utils_1.A_CommonHelper.isInheritedFrom(arg.target, A_Feature_class_1.A_Feature)
54
+ ? this
55
+ : A_Context_class_1.A_Context.scope(this.feature).resolve(arg.target);
56
+ }));
57
+ });
58
+ }
59
+ /**
60
+ * Adds a step to the stage
61
+ *
62
+ * @param step
63
+ * @returns
64
+ */
65
+ add(step) {
66
+ this.steps.push(step);
67
+ return this;
68
+ }
69
+ /**
70
+ * Resolves the component of the step
71
+ *
72
+ * @param step
73
+ * @returns
74
+ */
75
+ getStepInstance(step) {
76
+ const { component, handler } = step;
77
+ // TODO: probably would be better to do it another way. let's think about it
78
+ const instance = component instanceof A_Container_class_1.A_Container
79
+ ? component
80
+ : A_Context_class_1.A_Context.scope(this.feature).resolve(component);
81
+ if (!instance)
82
+ throw new Error(`Unable to resolve component ${component.name}`);
83
+ if (!instance[handler])
84
+ throw new Error(`Handler ${handler} not found in ${instance.constructor.name}`);
85
+ return instance;
86
+ }
87
+ /**
88
+ * Calls the handler of the step
89
+ *
90
+ * @param step
91
+ * @returns
92
+ */
93
+ getStepHandler(step) {
94
+ return __awaiter(this, void 0, void 0, function* () {
95
+ const instance = this.getStepInstance(step);
96
+ const callArgs = yield this.getStepArgs(step);
97
+ return instance[step.handler](...callArgs);
98
+ });
99
+ }
100
+ /**
101
+ * Runs async all the steps of the stage
102
+ *
103
+ * @returns
104
+ */
105
+ process() {
106
+ return __awaiter(this, void 0, void 0, function* () {
107
+ if (!this.processed)
108
+ this.processed = new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
109
+ try {
110
+ this.status = A_Stage_types_1.A_TYPES__A_Stage_Status.PROCESSING;
111
+ const syncSteps = this.steps.filter(step => step.behavior === 'sync');
112
+ const asyncSteps = this.steps.filter(step => step.behavior === 'async');
113
+ // Run sync steps
114
+ yield Promise
115
+ .all([
116
+ // Run async steps that are independent of each other
117
+ ...asyncSteps.map(step => this.getStepHandler(step)),
118
+ // Run sync steps that are dependent on each other
119
+ new Promise((r, j) => __awaiter(this, void 0, void 0, function* () {
120
+ try {
121
+ for (const step of syncSteps) {
122
+ yield this.getStepHandler(step);
123
+ }
124
+ return r();
125
+ }
126
+ catch (error) {
127
+ return j(error);
128
+ }
129
+ }))
130
+ ]);
131
+ this.completed();
132
+ return resolve();
133
+ }
134
+ catch (error) {
135
+ this.failed(error);
136
+ return reject(error);
137
+ }
138
+ }));
139
+ return this.processed;
140
+ });
141
+ }
142
+ /**
143
+ * Skips the stage
144
+ *
145
+ */
146
+ skip() {
147
+ this.status = A_Stage_types_1.A_TYPES__A_Stage_Status.SKIPPED;
148
+ this.feature.next(this);
149
+ }
150
+ // ==========================================
151
+ // ============ Status methods =============
152
+ // ==========================================
153
+ completed() {
154
+ this.status = A_Stage_types_1.A_TYPES__A_Stage_Status.COMPLETED;
155
+ this.feature.next(this);
156
+ }
157
+ failed(error) {
158
+ this.status = A_Stage_types_1.A_TYPES__A_Stage_Status.FAILED;
159
+ this.feature.failed(error);
160
+ }
161
+ // ==========================================
162
+ // ============ Serialization ===============
163
+ // ==========================================
164
+ /**
165
+ * Serializes the stage to JSON
166
+ *
167
+ */
168
+ toJSON() {
169
+ return {
170
+ name: 'A_Stage',
171
+ status: this.status,
172
+ };
173
+ }
174
+ }
175
+ exports.A_Stage = A_Stage;
176
+ //# sourceMappingURL=A-Stage.class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A-Stage.class.js","sourceRoot":"","sources":["../../../../src/global/A-Stage/A-Stage.class.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAyD;AACzD,kEAAyD;AACzD,kEAAyD;AACzD,mDAAuG;AACvG,wEAA+D;AAI/D;;;;;;GAMG;AACH,MAAa,OAAO;IAIhB,YACY,OAAkB,EAClB,QAAgC,EAAE;QADlC,YAAO,GAAP,OAAO,CAAW;QAClB,UAAK,GAAL,KAAK,CAA6B;QAK9C,WAAM,GAA4B,uCAAuB,CAAC,WAAW,CAAC;IAFtE,CAAC;IASD,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YACrC,GAAG,GAAG;YACN,GAAG,IAAI,CAAC,MAAM;SACjB,CAAC,EAAE,EAAc,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YACrC,GAAG,GAAG;YACN,GAAG,IAAI,CAAC,KAAK;SAChB,CAAC,EAAE,EAAc,CAAC,CAAC;IACxB,CAAC;IAGD;;;;;OAKG;IACa,WAAW,CAAC,IAA0B;;YAClD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAM,GAAG,EAAC,EAAE;gBAC7B,wEAAwE;gBACxE,OAAA,wBAAc,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,2BAAS,CAAC;oBACjD,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,2BAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;cAAA,CAC1D,CAAC;QACN,CAAC;KAAA;IAGD;;;;;OAKG;IACH,GAAG,CACC,IAA0B;QAE1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAGD;;;;;OAKG;IACO,eAAe,CAAC,IAA0B;QAChD,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAEpC,4EAA4E;QAC5E,MAAM,QAAQ,GAAG,SAAS,YAAY,+BAAW;YAC7C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,2BAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEvD,IAAI,CAAC,QAAQ;YACT,MAAM,IAAI,KAAK,CAAC,+BAA+B,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAErE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,iBAAiB,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QAEpF,OAAO,QAAQ,CAAC;IACpB,CAAC;IAID;;;;;OAKG;IACa,cAAc,CAAC,IAA0B;;YAErD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE9C,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC;QAE/C,CAAC;KAAA;IAGD;;;;OAIG;IACG,OAAO;;YACT,IAAI,CAAC,IAAI,CAAC,SAAS;gBACf,IAAI,CAAC,SAAS,GAAG,IAAI,OAAO,CACxB,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;oBACtB,IAAI,CAAC;wBACD,IAAI,CAAC,MAAM,GAAG,uCAAuB,CAAC,UAAU,CAAC;wBAEjD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC;wBACtE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;wBAExE,iBAAiB;wBAEjB,MAAM,OAAO;6BACR,GAAG,CAAC;4BAED,qDAAqD;4BACrD,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;4BAEpD,kDAAkD;4BAClD,IAAI,OAAO,CACP,CAAO,CAAC,EAAE,CAAC,EAAE,EAAE;gCACX,IAAI,CAAC;oCACD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;wCAC3B,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;oCACpC,CAAC;oCAED,OAAO,CAAC,EAAE,CAAC;gCACf,CAAC;gCAAC,OAAO,KAAK,EAAE,CAAC;oCACb,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;gCACpB,CAAC;4BACL,CAAC,CAAA,CACJ;yBACJ,CAAC,CAAC;wBAEP,IAAI,CAAC,SAAS,EAAE,CAAC;wBAEjB,OAAO,OAAO,EAAE,CAAC;oBAErB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAEnB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;oBACzB,CAAC;gBACL,CAAC,CAAA,CAAC,CAAC;YAGX,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1B,CAAC;KAAA;IAGD;;;OAGG;IACH,IAAI;QACA,IAAI,CAAC,MAAM,GAAG,uCAAuB,CAAC,OAAO,CAAC;QAE9C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAKD,6CAA6C;IAC7C,4CAA4C;IAC5C,6CAA6C;IAEnC,SAAS;QACf,IAAI,CAAC,MAAM,GAAG,uCAAuB,CAAC,SAAS,CAAC;QAEhD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAES,MAAM,CACZ,KAAgC;QAEhC,IAAI,CAAC,MAAM,GAAG,uCAAuB,CAAC,MAAM,CAAC;QAE7C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAID,6CAA6C;IAC7C,6CAA6C;IAC7C,6CAA6C;IAG7C;;;OAGG;IACH,MAAM;QAEF,OAAO;YACH,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;SACtB,CAAA;IACL,CAAC;CACJ;AAjND,0BAiNC"}
@@ -0,0 +1,83 @@
1
+ import { A_TYPES__A_InjectDecorator_Meta } from "../../decorators/A-Inject/A-Inject.decorator.types";
2
+ import { A_Component } from "../A-Component/A-Component.class";
3
+ import { A_Container } from "../A-Container/A-Container.class";
4
+ import { A_TYPES__A_ExtendDecorator_BehaviorConfig } from "../../decorators/A-Feature/A-Feature.decorator.types";
5
+ export declare enum A_TYPES__A_Stage_Status {
6
+ /**
7
+ * The stage is currently being processed
8
+ */
9
+ PROCESSING = "PROCESSING",
10
+ /**
11
+ * The stage has been completed
12
+ */
13
+ COMPLETED = "COMPLETED",
14
+ /**
15
+ * The stage has failed
16
+ */
17
+ FAILED = "FAILED",
18
+ /**
19
+ * The stage has been skipped
20
+ */
21
+ SKIPPED = "SKIPPED",
22
+ /**
23
+ * The stage has been paused
24
+ */
25
+ /**
26
+ * The stage has been stopped
27
+ */
28
+ /**
29
+ * The stage has been started
30
+ */
31
+ /**
32
+ * The stage has been initialized
33
+ */
34
+ INITIALIZED = "INITIALIZED",
35
+ /**
36
+ * The stage has been reset
37
+ */
38
+ /**
39
+ * The stage has been resumed
40
+ */
41
+ /**
42
+ * The stage has been suspended
43
+ */
44
+ /**
45
+ * The stage has been terminated
46
+ */
47
+ /**
48
+ * The stage has been aborted
49
+ */
50
+ ABORTED = "ABORTED"
51
+ }
52
+ export type A_TYPES__A_StageStep = {
53
+ /**
54
+ * The component to be called
55
+ */
56
+ component: typeof A_Component | typeof A_Container | A_Container<any>;
57
+ /**
58
+ * The method to be called on the component
59
+ */
60
+ handler: string;
61
+ /**
62
+ * Original Feature Extension name
63
+ *
64
+ * [!] could be string or regex
65
+ *
66
+ */
67
+ name: string;
68
+ /**
69
+ * Arguments to be passed to the method
70
+ */
71
+ args: A_TYPES__A_InjectDecorator_Meta;
72
+ } & A_TYPES__A_ExtendDecorator_BehaviorConfig;
73
+ export type A_TYPES__A_Stage_JSON = {
74
+ /**
75
+ * The name of the stage
76
+ */
77
+ name: string;
78
+ /**
79
+ * The status of the stage
80
+ *
81
+ */
82
+ status: A_TYPES__A_Stage_Status;
83
+ };
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.A_TYPES__A_Stage_Status = void 0;
4
+ var A_TYPES__A_Stage_Status;
5
+ (function (A_TYPES__A_Stage_Status) {
6
+ /**
7
+ * The stage is currently being processed
8
+ */
9
+ A_TYPES__A_Stage_Status["PROCESSING"] = "PROCESSING";
10
+ /**
11
+ * The stage has been completed
12
+ */
13
+ A_TYPES__A_Stage_Status["COMPLETED"] = "COMPLETED";
14
+ /**
15
+ * The stage has failed
16
+ */
17
+ A_TYPES__A_Stage_Status["FAILED"] = "FAILED";
18
+ /**
19
+ * The stage has been skipped
20
+ */
21
+ A_TYPES__A_Stage_Status["SKIPPED"] = "SKIPPED";
22
+ /**
23
+ * The stage has been paused
24
+ */
25
+ // PAUSED = 'PAUSED',
26
+ /**
27
+ * The stage has been stopped
28
+ */
29
+ // STOPPED = 'STOPPED',
30
+ /**
31
+ * The stage has been started
32
+ */
33
+ // STARTED = 'STARTED',
34
+ /**
35
+ * The stage has been initialized
36
+ */
37
+ A_TYPES__A_Stage_Status["INITIALIZED"] = "INITIALIZED";
38
+ /**
39
+ * The stage has been reset
40
+ */
41
+ // RESET = 'RESET',
42
+ /**
43
+ * The stage has been resumed
44
+ */
45
+ // RESUMED = 'RESUMED',
46
+ /**
47
+ * The stage has been suspended
48
+ */
49
+ // SUSPENDED = 'SUSPENDED',
50
+ /**
51
+ * The stage has been terminated
52
+ */
53
+ // TERMINATED = 'TERMINATED',
54
+ /**
55
+ * The stage has been aborted
56
+ */
57
+ A_TYPES__A_Stage_Status["ABORTED"] = "ABORTED";
58
+ })(A_TYPES__A_Stage_Status || (exports.A_TYPES__A_Stage_Status = A_TYPES__A_Stage_Status = {}));
59
+ //# sourceMappingURL=A-Stage.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A-Stage.types.js","sourceRoot":"","sources":["../../../../src/global/A-Stage/A-Stage.types.ts"],"names":[],"mappings":";;;AAOA,IAAY,uBAqDX;AArDD,WAAY,uBAAuB;IAC/B;;OAEG;IACH,oDAAyB,CAAA;IACzB;;OAEG;IACH,kDAAuB,CAAA;IACvB;;OAEG;IACH,4CAAiB,CAAA;IACjB;;OAEG;IACH,8CAAmB,CAAA;IACnB;;OAEG;IACH,qBAAqB;IACrB;;OAEG;IACH,uBAAuB;IACvB;;OAEG;IACH,uBAAuB;IACvB;;OAEG;IACH,sDAA2B,CAAA;IAC3B;;OAEG;IACH,mBAAmB;IACnB;;OAEG;IACH,uBAAuB;IACvB;;OAEG;IACH,2BAA2B;IAC3B;;OAEG;IACH,6BAA6B;IAC7B;;OAEG;IACH,8CAAmB,CAAA;AACvB,CAAC,EArDW,uBAAuB,uCAAvB,uBAAuB,QAqDlC"}
@@ -0,0 +1,15 @@
1
+ import { A_Feature } from "../global/A-Feature/A-Feature.class";
2
+ import { A_Stage } from "../global/A-Stage/A-Stage.class";
3
+ import { A_TYPES__A_StageStep } from "../global/A-Stage/A-Stage.types";
4
+ export declare class StepsManager {
5
+ entities: A_TYPES__A_StageStep[];
6
+ graph: Map<string, Set<string>>;
7
+ visited: Set<string>;
8
+ tempMark: Set<string>;
9
+ sortedEntities: string[];
10
+ constructor(entities: A_TYPES__A_StageStep[]);
11
+ private buildGraph;
12
+ private matchEntities;
13
+ private visit;
14
+ toStages(feature: A_Feature): Array<A_Stage>;
15
+ }
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StepsManager = void 0;
4
+ const A_Stage_class_1 = require("../global/A-Stage/A-Stage.class");
5
+ class StepsManager {
6
+ constructor(entities) {
7
+ this.entities = entities;
8
+ this.graph = new Map();
9
+ this.visited = new Set();
10
+ this.tempMark = new Set();
11
+ this.sortedEntities = [];
12
+ }
13
+ buildGraph() {
14
+ // Initialize graph nodes
15
+ this.entities.forEach(entity => this.graph.set(entity.name, new Set()));
16
+ // Add directed edges based on 'before' and 'after'
17
+ this.entities.forEach(entity => {
18
+ const { name, before = [], after = [] } = entity;
19
+ // Add edges for 'before' dependencies
20
+ before.forEach(dep => {
21
+ const targets = this.matchEntities(dep);
22
+ targets.forEach(target => {
23
+ if (!this.graph.has(target))
24
+ this.graph.set(target, new Set());
25
+ this.graph.get(target).add(name); // target -> name (target should be before name)
26
+ });
27
+ });
28
+ // Add edges for 'after' dependencies
29
+ after.forEach(dep => {
30
+ const sources = this.matchEntities(dep);
31
+ sources.forEach(source => {
32
+ if (!this.graph.has(name))
33
+ this.graph.set(name, new Set());
34
+ this.graph.get(name).add(source); // name -> source (name should be before source)
35
+ });
36
+ });
37
+ });
38
+ }
39
+ // Match entities by name or regex
40
+ matchEntities(pattern) {
41
+ const regex = new RegExp(`^${pattern}$`);
42
+ return this.entities
43
+ .filter(entity => regex.test(entity.name))
44
+ .map(entity => entity.name);
45
+ }
46
+ // Topological sort with cycle detection
47
+ visit(node) {
48
+ if (this.tempMark.has(node))
49
+ throw new Error("Circular dependency detected");
50
+ if (!this.visited.has(node)) {
51
+ this.tempMark.add(node);
52
+ (this.graph.get(node) || []).forEach(neighbor => this.visit(neighbor));
53
+ this.tempMark.delete(node);
54
+ this.visited.add(node);
55
+ this.sortedEntities.push(node);
56
+ }
57
+ }
58
+ // Sort the entities based on dependencies
59
+ toStages(feature) {
60
+ this.buildGraph();
61
+ // Start topological sort
62
+ this.entities.forEach(entity => {
63
+ if (!this.visited.has(entity.name))
64
+ this.visit(entity.name);
65
+ });
66
+ const stages = [];
67
+ // Map sorted names back to entity objects
68
+ this.sortedEntities
69
+ .map(name => {
70
+ const step = this.entities.find(entity => entity.name === name);
71
+ let stage = stages.find(stage => {
72
+ return stage.after.every(after => step.after.includes(after))
73
+ && step.before.every(before => stage.after.includes(before));
74
+ });
75
+ if (!stage) {
76
+ stage = new A_Stage_class_1.A_Stage(feature);
77
+ stages.push(stage);
78
+ }
79
+ stage.add(step);
80
+ });
81
+ return stages;
82
+ }
83
+ }
84
+ exports.StepsManager = StepsManager;
85
+ //# sourceMappingURL=StepsManager.class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StepsManager.class.js","sourceRoot":"","sources":["../../../src/helpers/StepsManager.class.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { A_Channel } from "@adaas/a-concept/global/A-Channel/A-Channel.class";
2
+
3
+
4
+ export class TestChannel extends A_Channel<any> {
5
+
6
+
7
+ getVersion(
8
+ params
9
+ ) {
10
+
11
+ }
12
+
13
+
14
+ getUser() {
15
+
16
+ }
17
+
18
+
19
+ getPage() {
20
+ }
21
+
22
+
23
+
24
+ }
@@ -0,0 +1,20 @@
1
+ import { A_Component } from "@adaas/a-concept/global/A-Component/A-Component.class";
2
+ import { A_Feature } from "@adaas/a-concept/global/A-Feature/A-Feature.class";
3
+
4
+
5
+
6
+ export class BEController extends A_Component {
7
+
8
+
9
+
10
+ @A_Feature.Define({
11
+ name: 'getOrdersCount',
12
+ // channel
13
+ })
14
+ getOrdersCount() {
15
+
16
+ return 0;
17
+ }
18
+
19
+
20
+ }
@@ -0,0 +1,13 @@
1
+ import { A_Component } from "@adaas/a-concept/global/A-Component/A-Component.class";
2
+ import { A_Concept } from "@adaas/a-concept/global/A-Concept/A_Concept.class";
3
+
4
+
5
+
6
+ export class FEComponent extends A_Component {
7
+
8
+
9
+ @A_Concept.Load()
10
+ async renderHomePage() {
11
+
12
+ }
13
+ }
File without changes
@@ -0,0 +1,8 @@
1
+ import { A_Container } from "@adaas/a-concept/global/A-Container/A-Container.class";
2
+
3
+
4
+ export class ServerApp extends A_Container {
5
+
6
+
7
+
8
+ }
@@ -0,0 +1,13 @@
1
+ import { A_Container } from "@adaas/a-concept/global/A-Container/A-Container.class";
2
+
3
+
4
+
5
+ export class WebApp extends A_Container {
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+ }