@data7expressions/3xpr 5.0.0

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 (213) hide show
  1. package/CHANGELOG.md +78 -0
  2. package/LICENSE +201 -0
  3. package/README.md +144 -0
  4. package/expression/application/expressions.d.ts +69 -0
  5. package/expression/application/expressions.d.ts.map +1 -0
  6. package/expression/application/expressions.js +157 -0
  7. package/expression/application/expressions.js.map +1 -0
  8. package/expression/application/index.d.ts +4 -0
  9. package/expression/application/index.d.ts.map +1 -0
  10. package/expression/application/index.js +20 -0
  11. package/expression/application/index.js.map +1 -0
  12. package/expression/application/useCases/convert.d.ts +8 -0
  13. package/expression/application/useCases/convert.d.ts.map +1 -0
  14. package/expression/application/useCases/convert.js +25 -0
  15. package/expression/application/useCases/convert.js.map +1 -0
  16. package/expression/application/useCases/executor.d.ts +11 -0
  17. package/expression/application/useCases/executor.d.ts.map +1 -0
  18. package/expression/application/useCases/executor.js +23 -0
  19. package/expression/application/useCases/executor.js.map +1 -0
  20. package/expression/application/useCases/executorObserveDecorator.d.ts +16 -0
  21. package/expression/application/useCases/executorObserveDecorator.d.ts.map +1 -0
  22. package/expression/application/useCases/executorObserveDecorator.js +98 -0
  23. package/expression/application/useCases/executorObserveDecorator.js.map +1 -0
  24. package/expression/domain/expressions.d.ts +29 -0
  25. package/expression/domain/expressions.d.ts.map +1 -0
  26. package/expression/domain/expressions.js +3 -0
  27. package/expression/domain/expressions.js.map +1 -0
  28. package/expression/domain/index.d.ts +2 -0
  29. package/expression/domain/index.d.ts.map +1 -0
  30. package/expression/domain/index.js +18 -0
  31. package/expression/domain/index.js.map +1 -0
  32. package/expression/infrastructure/convertFrom/convertFromFunction.d.ts +15 -0
  33. package/expression/infrastructure/convertFrom/convertFromFunction.d.ts.map +1 -0
  34. package/expression/infrastructure/convertFrom/convertFromFunction.js +45 -0
  35. package/expression/infrastructure/convertFrom/convertFromFunction.js.map +1 -0
  36. package/expression/infrastructure/convertFrom/convertFromGraphql.d.ts +5 -0
  37. package/expression/infrastructure/convertFrom/convertFromGraphql.d.ts.map +1 -0
  38. package/expression/infrastructure/convertFrom/convertFromGraphql.js +96 -0
  39. package/expression/infrastructure/convertFrom/convertFromGraphql.js.map +1 -0
  40. package/expression/infrastructure/expressionsBuilder.d.ts +8 -0
  41. package/expression/infrastructure/expressionsBuilder.d.ts.map +1 -0
  42. package/expression/infrastructure/expressionsBuilder.js +28 -0
  43. package/expression/infrastructure/expressionsBuilder.js.map +1 -0
  44. package/expression/infrastructure/helper.d.ts +7 -0
  45. package/expression/infrastructure/helper.d.ts.map +1 -0
  46. package/expression/infrastructure/helper.js +34 -0
  47. package/expression/infrastructure/helper.js.map +1 -0
  48. package/expression/infrastructure/index.d.ts +2 -0
  49. package/expression/infrastructure/index.d.ts.map +1 -0
  50. package/expression/infrastructure/index.js +18 -0
  51. package/expression/infrastructure/index.js.map +1 -0
  52. package/expression/infrastructure/library.d.ts +30 -0
  53. package/expression/infrastructure/library.d.ts.map +1 -0
  54. package/expression/infrastructure/library.js +1813 -0
  55. package/expression/infrastructure/library.js.map +1 -0
  56. package/index.d.ts +31 -0
  57. package/index.d.ts.map +1 -0
  58. package/index.js +64 -0
  59. package/index.js.map +1 -0
  60. package/jest-unit-config.json +15 -0
  61. package/model/application/index.d.ts +2 -0
  62. package/model/application/index.d.ts.map +1 -0
  63. package/model/application/index.js +18 -0
  64. package/model/application/index.js.map +1 -0
  65. package/model/application/modelService.d.ts +42 -0
  66. package/model/application/modelService.d.ts.map +1 -0
  67. package/model/application/modelService.js +329 -0
  68. package/model/application/modelService.js.map +1 -0
  69. package/model/domain/index.d.ts +3 -0
  70. package/model/domain/index.d.ts.map +1 -0
  71. package/model/domain/index.js +19 -0
  72. package/model/domain/index.js.map +1 -0
  73. package/model/domain/library.d.ts +5 -0
  74. package/model/domain/library.d.ts.map +1 -0
  75. package/model/domain/library.js +3 -0
  76. package/model/domain/library.js.map +1 -0
  77. package/model/domain/services.d.ts +32 -0
  78. package/model/domain/services.d.ts.map +1 -0
  79. package/model/domain/services.js +3 -0
  80. package/model/domain/services.js.map +1 -0
  81. package/operand/application/facade.d.ts +27 -0
  82. package/operand/application/facade.d.ts.map +1 -0
  83. package/operand/application/facade.js +42 -0
  84. package/operand/application/facade.js.map +1 -0
  85. package/operand/application/index.d.ts +15 -0
  86. package/operand/application/index.d.ts.map +1 -0
  87. package/operand/application/index.js +31 -0
  88. package/operand/application/index.js.map +1 -0
  89. package/operand/application/services/builder.d.ts +17 -0
  90. package/operand/application/services/builder.d.ts.map +1 -0
  91. package/operand/application/services/builder.js +30 -0
  92. package/operand/application/services/builder.js.map +1 -0
  93. package/operand/application/services/builderCacheDecorator.d.ts +14 -0
  94. package/operand/application/services/builderCacheDecorator.d.ts.map +1 -0
  95. package/operand/application/services/builderCacheDecorator.js +29 -0
  96. package/operand/application/services/builderCacheDecorator.js.map +1 -0
  97. package/operand/application/services/factory.d.ts +10 -0
  98. package/operand/application/services/factory.d.ts.map +1 -0
  99. package/operand/application/services/factory.js +24 -0
  100. package/operand/application/services/factory.js.map +1 -0
  101. package/operand/application/services/normalizer.d.ts +4 -0
  102. package/operand/application/services/normalizer.d.ts.map +1 -0
  103. package/operand/application/services/normalizer.js +51 -0
  104. package/operand/application/services/normalizer.js.map +1 -0
  105. package/operand/application/services/parameterService.d.ts +6 -0
  106. package/operand/application/services/parameterService.d.ts.map +1 -0
  107. package/operand/application/services/parameterService.js +23 -0
  108. package/operand/application/services/parameterService.js.map +1 -0
  109. package/operand/application/services/parser.d.ts +49 -0
  110. package/operand/application/services/parser.d.ts.map +1 -0
  111. package/operand/application/services/parser.js +751 -0
  112. package/operand/application/services/parser.js.map +1 -0
  113. package/operand/application/services/serializer.d.ts +10 -0
  114. package/operand/application/services/serializer.d.ts.map +1 -0
  115. package/operand/application/services/serializer.js +40 -0
  116. package/operand/application/services/serializer.js.map +1 -0
  117. package/operand/application/services/typeService.d.ts +37 -0
  118. package/operand/application/services/typeService.d.ts.map +1 -0
  119. package/operand/application/services/typeService.js +392 -0
  120. package/operand/application/services/typeService.js.map +1 -0
  121. package/operand/application/useCases/build.d.ts +10 -0
  122. package/operand/application/useCases/build.d.ts.map +1 -0
  123. package/operand/application/useCases/build.js +25 -0
  124. package/operand/application/useCases/build.js.map +1 -0
  125. package/operand/application/useCases/clone.d.ts +10 -0
  126. package/operand/application/useCases/clone.d.ts.map +1 -0
  127. package/operand/application/useCases/clone.js +34 -0
  128. package/operand/application/useCases/clone.js.map +1 -0
  129. package/operand/application/useCases/complete.d.ts +9 -0
  130. package/operand/application/useCases/complete.d.ts.map +1 -0
  131. package/operand/application/useCases/complete.js +26 -0
  132. package/operand/application/useCases/complete.js.map +1 -0
  133. package/operand/application/useCases/normalize.d.ts +9 -0
  134. package/operand/application/useCases/normalize.d.ts.map +1 -0
  135. package/operand/application/useCases/normalize.js +43 -0
  136. package/operand/application/useCases/normalize.js.map +1 -0
  137. package/operand/application/useCases/reduce.d.ts +11 -0
  138. package/operand/application/useCases/reduce.d.ts.map +1 -0
  139. package/operand/application/useCases/reduce.js +57 -0
  140. package/operand/application/useCases/reduce.js.map +1 -0
  141. package/operand/domain/constBuilder.d.ts +5 -0
  142. package/operand/domain/constBuilder.d.ts.map +1 -0
  143. package/operand/domain/constBuilder.js +3 -0
  144. package/operand/domain/constBuilder.js.map +1 -0
  145. package/operand/domain/entities.d.ts +60 -0
  146. package/operand/domain/entities.d.ts.map +1 -0
  147. package/operand/domain/entities.js +38 -0
  148. package/operand/domain/entities.js.map +1 -0
  149. package/operand/domain/index.d.ts +4 -0
  150. package/operand/domain/index.d.ts.map +1 -0
  151. package/operand/domain/index.js +20 -0
  152. package/operand/domain/index.js.map +1 -0
  153. package/operand/domain/services.d.ts +39 -0
  154. package/operand/domain/services.d.ts.map +1 -0
  155. package/operand/domain/services.js +3 -0
  156. package/operand/domain/services.js.map +1 -0
  157. package/operand/infrastructure/constBuilder.d.ts +6 -0
  158. package/operand/infrastructure/constBuilder.d.ts.map +1 -0
  159. package/operand/infrastructure/constBuilder.js +15 -0
  160. package/operand/infrastructure/constBuilder.js.map +1 -0
  161. package/operand/infrastructure/executors/expression.d.ts +34 -0
  162. package/operand/infrastructure/executors/expression.d.ts.map +1 -0
  163. package/operand/infrastructure/executors/expression.js +534 -0
  164. package/operand/infrastructure/executors/expression.js.map +1 -0
  165. package/operand/infrastructure/executors/task.d.ts +8 -0
  166. package/operand/infrastructure/executors/task.d.ts.map +1 -0
  167. package/operand/infrastructure/executors/task.js +492 -0
  168. package/operand/infrastructure/executors/task.js.map +1 -0
  169. package/operand/infrastructure/facadeBuilder.d.ts +10 -0
  170. package/operand/infrastructure/facadeBuilder.d.ts.map +1 -0
  171. package/operand/infrastructure/facadeBuilder.js +35 -0
  172. package/operand/infrastructure/facadeBuilder.js.map +1 -0
  173. package/operand/infrastructure/helper.d.ts +20 -0
  174. package/operand/infrastructure/helper.d.ts.map +1 -0
  175. package/operand/infrastructure/helper.js +272 -0
  176. package/operand/infrastructure/helper.js.map +1 -0
  177. package/operand/infrastructure/index.d.ts +4 -0
  178. package/operand/infrastructure/index.d.ts.map +1 -0
  179. package/operand/infrastructure/index.js +20 -0
  180. package/operand/infrastructure/index.js.map +1 -0
  181. package/package.json +39 -0
  182. package/shared/domain/base.d.ts +32 -0
  183. package/shared/domain/base.d.ts.map +1 -0
  184. package/shared/domain/base.js +12 -0
  185. package/shared/domain/base.js.map +1 -0
  186. package/shared/domain/context.d.ts +37 -0
  187. package/shared/domain/context.d.ts.map +1 -0
  188. package/shared/domain/context.js +93 -0
  189. package/shared/domain/context.js.map +1 -0
  190. package/shared/domain/index.d.ts +6 -0
  191. package/shared/domain/index.d.ts.map +1 -0
  192. package/shared/domain/index.js +22 -0
  193. package/shared/domain/index.js.map +1 -0
  194. package/shared/domain/observer.d.ts +15 -0
  195. package/shared/domain/observer.d.ts.map +1 -0
  196. package/shared/domain/observer.js +11 -0
  197. package/shared/domain/observer.js.map +1 -0
  198. package/shared/domain/operand.d.ts +55 -0
  199. package/shared/domain/operand.d.ts.map +1 -0
  200. package/shared/domain/operand.js +69 -0
  201. package/shared/domain/operand.js.map +1 -0
  202. package/shared/domain/signals.d.ts +8 -0
  203. package/shared/domain/signals.d.ts.map +1 -0
  204. package/shared/domain/signals.js +3 -0
  205. package/shared/domain/signals.js.map +1 -0
  206. package/shared/infrastructure/helper.d.ts +9 -0
  207. package/shared/infrastructure/helper.d.ts.map +1 -0
  208. package/shared/infrastructure/helper.js +16 -0
  209. package/shared/infrastructure/helper.js.map +1 -0
  210. package/shared/infrastructure/index.d.ts +2 -0
  211. package/shared/infrastructure/index.d.ts.map +1 -0
  212. package/shared/infrastructure/index.js +18 -0
  213. package/shared/infrastructure/index.js.map +1 -0
@@ -0,0 +1,492 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TaskEvaluatorFactoryBuilder = void 0;
4
+ const h3lp_1 = require("@data7expressions/h3lp");
5
+ const domain_1 = require("../../domain");
6
+ const domain_2 = require("../../../shared/domain");
7
+ const expression_1 = require("./expression");
8
+ const application_1 = require("../../application");
9
+ class ConstTaskEvaluatorBuilder {
10
+ build(operand) {
11
+ return new expression_1.ConstEvaluator(operand);
12
+ }
13
+ }
14
+ class VarTaskEvaluatorBuilder {
15
+ build(operand) {
16
+ return new expression_1.VarEvaluator(operand);
17
+ }
18
+ }
19
+ class EnvTaskEvaluatorBuilder {
20
+ build(operand) {
21
+ return new expression_1.EnvEvaluator(operand);
22
+ }
23
+ }
24
+ class TemplateTaskEvaluatorBuilder {
25
+ build(operand) {
26
+ return new expression_1.TemplateEvaluator(operand);
27
+ }
28
+ }
29
+ class BreakTaskEvaluatorBuilder {
30
+ build(operand) {
31
+ return new expression_1.NotImplementedEvaluator(operand);
32
+ }
33
+ }
34
+ class ContinueTaskEvaluatorBuilder {
35
+ build(operand) {
36
+ return new expression_1.NotImplementedEvaluator(operand);
37
+ }
38
+ }
39
+ class ReturnTaskEvaluatorBuilder {
40
+ build(operand) {
41
+ return new expression_1.NotImplementedEvaluator(operand);
42
+ }
43
+ }
44
+ class PropertyTaskEvaluator extends domain_1.Evaluator {
45
+ eval(context) {
46
+ const value = this.operand.children[0].eval(context);
47
+ if (value === undefined || value === null)
48
+ return null;
49
+ return h3lp_1.h3lp.obj.getValue(value, this.operand.name);
50
+ }
51
+ async evalAsync(context) {
52
+ return Promise.resolve(this.eval(context));
53
+ }
54
+ }
55
+ class PropertyTaskEvaluatorBuilder {
56
+ build(operand) {
57
+ return new PropertyTaskEvaluator(operand);
58
+ }
59
+ }
60
+ class TaskEvaluator {
61
+ // eslint-disable-next-line no-useless-constructor
62
+ constructor(operand) {
63
+ this.operand = operand;
64
+ }
65
+ solveChildren(context, step) {
66
+ if (step === undefined) {
67
+ throw new Error('step undefined');
68
+ }
69
+ for (let i = step.values.length - 1; i < this.operand.children.length; i++) {
70
+ const value = this.operand.children[i].eval(context);
71
+ if (context.token.isBreak) {
72
+ return value;
73
+ }
74
+ step.values.push(value);
75
+ }
76
+ return step.values;
77
+ }
78
+ async evalAsync(context) {
79
+ return Promise.resolve(this.eval(context));
80
+ }
81
+ }
82
+ class StackEvaluator extends domain_1.Evaluator {
83
+ // eslint-disable-next-line no-useless-constructor
84
+ constructor(operand, child) {
85
+ super(operand);
86
+ this.operand = operand;
87
+ this.child = child;
88
+ }
89
+ eval(context) {
90
+ if (this.operand.id === undefined) {
91
+ throw new Error(`Operand ${this.operand.name} id undefined`);
92
+ }
93
+ let step = context.token.stack[this.operand.id];
94
+ if (step === undefined) {
95
+ step = new domain_2.Step(this.operand.name, this.operand.id);
96
+ context.token.stack[this.operand.id] = step;
97
+ }
98
+ const result = this.child.eval(context, step);
99
+ if (!context.token.isBreak) {
100
+ // remove stack
101
+ delete context.token.stack[this.operand.id];
102
+ }
103
+ return result;
104
+ }
105
+ async evalAsync(context) {
106
+ return Promise.resolve(this.eval(context));
107
+ }
108
+ }
109
+ class ListTaskEvaluator extends TaskEvaluator {
110
+ eval(context, step) {
111
+ return this.solveChildren(context, step);
112
+ }
113
+ }
114
+ class ListTaskEvaluatorBuilder {
115
+ build(operand) {
116
+ return new ListTaskEvaluator(operand);
117
+ }
118
+ }
119
+ class ObjTaskEvaluator extends TaskEvaluator {
120
+ eval(context, step) {
121
+ const result = this.solveChildren(context, step);
122
+ if (context.token.isBreak) {
123
+ return result;
124
+ }
125
+ const obj = {};
126
+ for (let i = 0; i < result.length; i++) {
127
+ obj[this.operand.children[i].name] = result;
128
+ }
129
+ return obj;
130
+ }
131
+ }
132
+ class ObjTaskEvaluatorBuilder {
133
+ build(operand) {
134
+ return new ObjTaskEvaluator(operand);
135
+ }
136
+ }
137
+ class CallFuncTaskEvaluator extends TaskEvaluator {
138
+ // eslint-disable-next-line no-useless-constructor, @typescript-eslint/ban-types
139
+ constructor(operand, _function) {
140
+ super(operand);
141
+ this.operand = operand;
142
+ this._function = _function;
143
+ }
144
+ eval(context, step) {
145
+ const result = this.solveChildren(context, step);
146
+ if (context.token.isBreak) {
147
+ return result;
148
+ }
149
+ return this._function(...result);
150
+ }
151
+ }
152
+ class OperatorTaskEvaluatorBuilder {
153
+ // eslint-disable-next-line no-useless-constructor
154
+ constructor(model) {
155
+ this.model = model;
156
+ }
157
+ build(operand) {
158
+ const operatorMetadata = this.model.getOperator(operand.name, operand.children.length);
159
+ if (operatorMetadata.custom) {
160
+ // En el caso custom no sera posible acceder a la pila
161
+ return operatorMetadata.custom.clone(operand);
162
+ }
163
+ else if (operatorMetadata.function !== undefined) {
164
+ return new StackEvaluator(operand, new CallFuncTaskEvaluator(operand, operatorMetadata.function));
165
+ }
166
+ else {
167
+ throw new Error(`Function ${name} not implemented`);
168
+ }
169
+ }
170
+ }
171
+ class FunctionTaskEvaluatorBuilder {
172
+ // eslint-disable-next-line no-useless-constructor
173
+ constructor(model) {
174
+ this.model = model;
175
+ }
176
+ build(operand) {
177
+ const operatorMetadata = this.model.getFunction(operand.name);
178
+ if (operatorMetadata.custom) {
179
+ // En el caso custom no sera posible acceder a la pila
180
+ return operatorMetadata.custom.clone(operand);
181
+ }
182
+ else if (operatorMetadata.function !== undefined) {
183
+ return new StackEvaluator(operand, new CallFuncTaskEvaluator(operand, operatorMetadata.function));
184
+ }
185
+ else {
186
+ throw new Error(`Function ${name} not implemented`);
187
+ }
188
+ }
189
+ }
190
+ class ChildFuncTaskEvaluatorBuilder extends FunctionTaskEvaluatorBuilder {
191
+ }
192
+ class ArrowTaskEvaluatorBuilder extends FunctionTaskEvaluatorBuilder {
193
+ }
194
+ class BlockTaskEvaluator extends TaskEvaluator {
195
+ eval(context, step) {
196
+ const result = this.solveChildren(context, step);
197
+ if (context.token.isBreak) {
198
+ return result;
199
+ }
200
+ if (result.length > 0) {
201
+ return result[result.length - 1];
202
+ }
203
+ return null;
204
+ }
205
+ }
206
+ class BlockTaskEvaluatorBuilder {
207
+ build(operand) {
208
+ return new BlockTaskEvaluator(operand);
209
+ }
210
+ }
211
+ class IfTaskEvaluator extends TaskEvaluator {
212
+ eval(context, step) {
213
+ if (step === undefined) {
214
+ throw new Error('step undefined');
215
+ }
216
+ if (step.values.length === 0) {
217
+ const condition = this.operand.children[0].eval(context);
218
+ if (context.token.isBreak) {
219
+ return condition;
220
+ }
221
+ step.values.push(condition);
222
+ }
223
+ if (step.values[0]) {
224
+ // if condition is true evaluate block if
225
+ const value = this.operand.children[1].eval(context);
226
+ if (!context.token.isBreak) {
227
+ step.values.push(value);
228
+ }
229
+ return value;
230
+ }
231
+ else if (this.operand.children.length > 2) {
232
+ // if had else if or else , evaluate them
233
+ let value;
234
+ for (let i = step.values.length - 1; i < this.operand.children.length; i++) {
235
+ if (this.operand.children[i].type === domain_2.OperandType.ElseIf) {
236
+ const elseIfCondition = this.operand.children[i].children[0].eval(context);
237
+ if (elseIfCondition) {
238
+ value = this.operand.children[i].children[1].eval(context);
239
+ }
240
+ }
241
+ else {
242
+ // else block
243
+ value = this.operand.children[i].eval(context);
244
+ }
245
+ if (context.token.isBreak) {
246
+ return value;
247
+ }
248
+ step.values.push(value);
249
+ }
250
+ return value;
251
+ }
252
+ }
253
+ }
254
+ class IfTaskEvaluatorBuilder {
255
+ build(operand) {
256
+ return new IfTaskEvaluator(operand);
257
+ }
258
+ }
259
+ class WhileTaskEvaluator extends TaskEvaluator {
260
+ eval(context, step) {
261
+ if (step === undefined) {
262
+ throw new Error('step undefined');
263
+ }
264
+ const condition = this.operand.children[0];
265
+ const block = this.operand.children[1];
266
+ let blockResult = null;
267
+ // evaluate condition
268
+ if (step.values.length === 0) {
269
+ const conditionResult = condition.eval(context);
270
+ if (context.token.isBreak) {
271
+ return conditionResult;
272
+ }
273
+ step.values.push(conditionResult);
274
+ }
275
+ while (step.values[0]) {
276
+ // evaluate condition
277
+ if (step.values.length === 1) {
278
+ blockResult = block.eval(context);
279
+ if (context.token.isBreak) {
280
+ return blockResult;
281
+ }
282
+ step.values.push(blockResult);
283
+ }
284
+ // clear values for next evaluations
285
+ step.values = [];
286
+ // evaluate condition
287
+ const conditionResult = condition.eval(context);
288
+ if (context.token.isBreak) {
289
+ return conditionResult;
290
+ }
291
+ step.values.push(conditionResult);
292
+ }
293
+ return blockResult;
294
+ }
295
+ }
296
+ class WhileTaskEvaluatorBuilder {
297
+ build(operand) {
298
+ return new WhileTaskEvaluator(operand);
299
+ }
300
+ }
301
+ class ForTaskEvaluator extends TaskEvaluator {
302
+ eval(context, step) {
303
+ if (step === undefined) {
304
+ throw new Error('step undefined');
305
+ }
306
+ let lastValue = null;
307
+ const initialize = this.operand.children[0];
308
+ const condition = this.operand.children[1];
309
+ const increment = this.operand.children[2];
310
+ const block = this.operand.children[3];
311
+ // evaluate initialize
312
+ if (step.values.length === 0) {
313
+ const initializeResult = initialize.eval(context);
314
+ if (context.token.isBreak) {
315
+ return initializeResult;
316
+ }
317
+ step.values.push(initializeResult);
318
+ }
319
+ // evaluate condition
320
+ if (step.values.length === 1) {
321
+ const conditionResult = condition.eval(context);
322
+ if (context.token.isBreak) {
323
+ return conditionResult;
324
+ }
325
+ step.values.push(conditionResult);
326
+ }
327
+ while (step.values[1]) {
328
+ // evaluate block
329
+ if (step.values.length === 2) {
330
+ lastValue = block.eval(context);
331
+ if (context.token.isBreak) {
332
+ return lastValue;
333
+ }
334
+ step.values.push(lastValue);
335
+ }
336
+ // evaluate increment
337
+ if (step.values.length === 3) {
338
+ const incrementResult = increment.eval(context);
339
+ if (context.token.isBreak) {
340
+ return incrementResult;
341
+ }
342
+ step.values.push(incrementResult);
343
+ }
344
+ // clear values for next evaluations
345
+ step.values = [step.values[0]];
346
+ // evaluate condition
347
+ const conditionResult = condition.eval(context);
348
+ if (context.token.isBreak) {
349
+ return conditionResult;
350
+ }
351
+ step.values.push(conditionResult);
352
+ }
353
+ return lastValue;
354
+ }
355
+ }
356
+ class ForTaskEvaluatorBuilder {
357
+ build(operand) {
358
+ return new ForTaskEvaluator(operand);
359
+ }
360
+ }
361
+ class ForInTaskEvaluator extends TaskEvaluator {
362
+ eval(context, step) {
363
+ if (step === undefined) {
364
+ throw new Error('step undefined');
365
+ }
366
+ let lastValue = null;
367
+ const item = this.operand.children[0];
368
+ const list = this.operand.children[1];
369
+ const block = this.operand.children[2];
370
+ let listResult = [];
371
+ // evaluate list
372
+ if (step.values.length === 0) {
373
+ listResult = list.eval(context);
374
+ if (context.token.isBreak) {
375
+ return listResult;
376
+ }
377
+ step.values.push(listResult);
378
+ }
379
+ for (let i = step.values.length - 1; i < listResult.length; i++) {
380
+ const value = listResult[i];
381
+ if (context) {
382
+ context.data.set(item.name, value);
383
+ }
384
+ lastValue = block.eval(context);
385
+ if (context.token.isBreak) {
386
+ return lastValue;
387
+ }
388
+ step.values.push(lastValue);
389
+ }
390
+ return lastValue;
391
+ }
392
+ }
393
+ class ForInTaskEvaluatorBuilder {
394
+ build(operand) {
395
+ return new ForInTaskEvaluator(operand);
396
+ }
397
+ }
398
+ class SwitchTaskEvaluator extends TaskEvaluator {
399
+ eval(context, step) {
400
+ if (step === undefined) {
401
+ throw new Error('step undefined');
402
+ }
403
+ // evaluate
404
+ let value;
405
+ if (step.values.length === 0) {
406
+ value = this.operand.children[0].eval(context);
407
+ if (context.token.isBreak) {
408
+ return value;
409
+ }
410
+ step.values.push(value);
411
+ }
412
+ else {
413
+ value = step.values[0];
414
+ }
415
+ for (let i = 1; i < this.operand.children.length; i++) {
416
+ const option = this.operand.children[i];
417
+ if (option.type === domain_2.OperandType.Case) {
418
+ if (option.name === value) {
419
+ return option.children[0].eval(context);
420
+ }
421
+ }
422
+ else if (option.type === domain_2.OperandType.Default) {
423
+ return option.children[0].eval(context);
424
+ }
425
+ }
426
+ }
427
+ }
428
+ class SwitchTaskEvaluatorBuilder {
429
+ build(operand) {
430
+ return new SwitchTaskEvaluator(operand);
431
+ }
432
+ }
433
+ class FuncTaskEvaluatorBuilder {
434
+ build(operand) {
435
+ return new expression_1.NotImplementedEvaluator(operand);
436
+ }
437
+ }
438
+ class TryTaskEvaluatorBuilder {
439
+ build(operand) {
440
+ return new expression_1.NotImplementedEvaluator(operand);
441
+ }
442
+ }
443
+ class CatchTaskEvaluatorBuilder {
444
+ build(operand) {
445
+ return new expression_1.NotImplementedEvaluator(operand);
446
+ }
447
+ }
448
+ class ThrowTaskEvaluatorBuilder {
449
+ build(operand) {
450
+ return new expression_1.NotImplementedEvaluator(operand);
451
+ }
452
+ }
453
+ class TaskEvaluatorFactoryBuilder {
454
+ // eslint-disable-next-line no-useless-constructor
455
+ constructor(model) {
456
+ this.model = model;
457
+ }
458
+ build() {
459
+ return new application_1.EvaluatorFactoryImpl()
460
+ .add(domain_2.OperandType.Const, new ConstTaskEvaluatorBuilder())
461
+ .add(domain_2.OperandType.Var, new VarTaskEvaluatorBuilder())
462
+ .add(domain_2.OperandType.Operator, new OperatorTaskEvaluatorBuilder(this.model))
463
+ .add(domain_2.OperandType.CallFunc, new FunctionTaskEvaluatorBuilder(this.model))
464
+ .add(domain_2.OperandType.ChildFunc, new ChildFuncTaskEvaluatorBuilder(this.model))
465
+ .add(domain_2.OperandType.Arrow, new ArrowTaskEvaluatorBuilder(this.model))
466
+ .add(domain_2.OperandType.Env, new EnvTaskEvaluatorBuilder())
467
+ .add(domain_2.OperandType.Template, new TemplateTaskEvaluatorBuilder())
468
+ .add(domain_2.OperandType.Property, new PropertyTaskEvaluatorBuilder())
469
+ .add(domain_2.OperandType.List, new ListTaskEvaluatorBuilder())
470
+ .add(domain_2.OperandType.Obj, new ObjTaskEvaluatorBuilder())
471
+ // .add(OperandType.KeyVal, new KeyValEvaluatorBuilder())
472
+ .add(domain_2.OperandType.Block, new BlockTaskEvaluatorBuilder())
473
+ .add(domain_2.OperandType.If, new IfTaskEvaluatorBuilder())
474
+ // .add(OperandType.Else, new ElseEvaluatorBuilder())
475
+ // .add(OperandType.ElseIf, new ElseIfEvaluatorBuilder())
476
+ .add(domain_2.OperandType.Switch, new SwitchTaskEvaluatorBuilder())
477
+ .add(domain_2.OperandType.While, new WhileTaskEvaluatorBuilder())
478
+ .add(domain_2.OperandType.For, new ForTaskEvaluatorBuilder())
479
+ .add(domain_2.OperandType.ForIn, new ForInTaskEvaluatorBuilder())
480
+ .add(domain_2.OperandType.Break, new BreakTaskEvaluatorBuilder())
481
+ .add(domain_2.OperandType.Continue, new ContinueTaskEvaluatorBuilder())
482
+ .add(domain_2.OperandType.Func, new FuncTaskEvaluatorBuilder())
483
+ .add(domain_2.OperandType.Return, new ReturnTaskEvaluatorBuilder())
484
+ .add(domain_2.OperandType.Try, new TryTaskEvaluatorBuilder())
485
+ .add(domain_2.OperandType.Catch, new CatchTaskEvaluatorBuilder())
486
+ .add(domain_2.OperandType.Throw, new ThrowTaskEvaluatorBuilder());
487
+ // .add(OperandType.Default, new DefaultEvaluatorBuilder())
488
+ // .add(OperandType.Case, new CaseTaskEvaluatorBuilder())
489
+ }
490
+ }
491
+ exports.TaskEvaluatorFactoryBuilder = TaskEvaluatorFactoryBuilder;
492
+ //# sourceMappingURL=task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../../../../../src/lib/operand/infrastructure/executors/task.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { ModelService } from '../../model/domain';
2
+ import { OperandFacade } from '../domain';
3
+ import { H3lp } from '@data7expressions/h3lp';
4
+ export declare class OperandFacadeBuilder {
5
+ private readonly model;
6
+ private readonly h3lp;
7
+ constructor(model: ModelService, h3lp: H3lp);
8
+ build(): OperandFacade;
9
+ }
10
+ //# sourceMappingURL=facadeBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"facadeBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/lib/operand/infrastructure/facadeBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AASzC,OAAO,EAAE,IAAI,EAAe,MAAM,wBAAwB,CAAA;AAI1D,qBAAa,oBAAoB;IAEnB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAgB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAA1C,KAAK,EAAE,YAAY,EAAmB,IAAI,EAAC,IAAI;IAEtE,KAAK,IAAI,aAAa;CAoB7B"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OperandFacadeBuilder = void 0;
4
+ const builder_1 = require("../application/services/builder");
5
+ const builderCacheDecorator_1 = require("../application/services/builderCacheDecorator");
6
+ const parameterService_1 = require("../application/services/parameterService");
7
+ const serializer_1 = require("../application/services/serializer");
8
+ const build_1 = require("../application/useCases/build");
9
+ const clone_1 = require("../application/useCases/clone");
10
+ const constBuilder_1 = require("./constBuilder");
11
+ const expression_1 = require("./executors/expression");
12
+ const h3lp_1 = require("@data7expressions/h3lp");
13
+ const application_1 = require("../application");
14
+ const task_1 = require("./executors/task");
15
+ class OperandFacadeBuilder {
16
+ // eslint-disable-next-line no-useless-constructor
17
+ constructor(model, h3lp) {
18
+ this.model = model;
19
+ this.h3lp = h3lp;
20
+ }
21
+ build() {
22
+ const constBuilder = new constBuilder_1.ConstBuilderImpl();
23
+ const expressionEvaluatorFactory = new expression_1.ExpressionEvaluatorFactoryBuilder(this.model).build();
24
+ const taskEvaluatorFactory = new task_1.TaskEvaluatorFactoryBuilder(this.model).build();
25
+ const operandClone = new clone_1.OperandClone([['expression', expressionEvaluatorFactory], ['task', taskEvaluatorFactory]]);
26
+ const parameterService = new parameterService_1.ParameterServiceImpl();
27
+ const operandSerializer = new serializer_1.OperandSerializerImpl();
28
+ const operandBuild = new build_1.OperandBuild()
29
+ .add('expression', new builderCacheDecorator_1.OperandBuilderCacheDecorator(new builder_1.OperandBuilderImpl(expressionEvaluatorFactory, this.model, constBuilder), new h3lp_1.MemoryCache(), operandSerializer, this.h3lp.utils))
30
+ .add('task', new builderCacheDecorator_1.OperandBuilderCacheDecorator(new builder_1.OperandBuilderImpl(taskEvaluatorFactory, this.model, constBuilder), new h3lp_1.MemoryCache(), operandSerializer, this.h3lp.utils));
31
+ return new application_1.OperandFacadeImpl(constBuilder, parameterService, operandBuild, operandClone);
32
+ }
33
+ }
34
+ exports.OperandFacadeBuilder = OperandFacadeBuilder;
35
+ //# sourceMappingURL=facadeBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"facadeBuilder.js","sourceRoot":"","sources":["../../../../../src/lib/operand/infrastructure/facadeBuilder.ts"],"names":[],"mappings":";;;AAEA,6DAAoE;AACpE,yFAA4F;AAC5F,+EAA+E;AAC/E,mEAA0E;AAC1E,yDAA4D;AAC5D,yDAA4D;AAC5D,iDAAiD;AACjD,uDAA0E;AAC1E,iDAA0D;AAC1D,gDAAkD;AAClD,2CAA8D;AAE9D,MAAa,oBAAoB;IAChC,kDAAkD;IAClD,YAA8B,KAAmB,EAAmB,IAAS;QAA/C,UAAK,GAAL,KAAK,CAAc;QAAmB,SAAI,GAAJ,IAAI,CAAK;IAAG,CAAC;IAE1E,KAAK;QACX,MAAM,YAAY,GAAG,IAAI,+BAAgB,EAAE,CAAA;QAC3C,MAAM,0BAA0B,GAAG,IAAI,8CAAiC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAA;QAC5F,MAAM,oBAAoB,GAAG,IAAI,kCAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAA;QAChF,MAAM,YAAY,GAAG,IAAI,oBAAY,CAAC,CAAC,CAAC,YAAY,EAAE,0BAA0B,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAA;QACnH,MAAM,gBAAgB,GAAG,IAAI,uCAAoB,EAAE,CAAA;QACnD,MAAM,iBAAiB,GAAG,IAAI,kCAAqB,EAAE,CAAA;QACrD,MAAM,YAAY,GAAG,IAAI,oBAAY,EAAE;aACrC,GAAG,CAAC,YAAY,EAChB,IAAI,oDAA4B,CAC/B,IAAI,4BAAkB,CAAC,0BAA0B,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,EAC5E,IAAI,kBAAW,EAAkB,EACjC,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACrC,GAAG,CAAC,MAAM,EAAE,IAAI,oDAA4B,CAC5C,IAAI,4BAAkB,CAAC,oBAAoB,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,EACtE,IAAI,kBAAW,EAAkB,EACjC,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;QAEtC,OAAO,IAAI,+BAAiB,CAAC,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,CAAC,CAAA;IACzF,CAAC;CACD;AAxBD,oDAwBC"}
@@ -0,0 +1,20 @@
1
+ import { Context, Operand } from '../../shared/domain';
2
+ import { ConstBuilder } from '../domain/constBuilder';
3
+ export declare class OperandHelper {
4
+ private readonly constBuilder;
5
+ constructor(constBuilder: ConstBuilder);
6
+ toExpression(operand: Operand): string;
7
+ objectKey(obj: any): any;
8
+ getKeys(variable: Operand, fields: Operand[], list: any[], context: Context): any[];
9
+ haveAggregates(operand: Operand): boolean;
10
+ findAggregates(operand: Operand): Operand[];
11
+ solveAggregates(list: any[], variable: Operand, operand: Operand, context: Context): Operand;
12
+ count(list: any[], variable: Operand, aggregate: Operand, context: Context): number;
13
+ first(list: any[], variable: Operand, aggregate: Operand, context: Context): any;
14
+ last(list: any[], variable: Operand, aggregate: Operand, context: Context): any;
15
+ max(list: any[], variable: Operand, aggregate: Operand, context: Context): any;
16
+ min(list: any[], variable: Operand, aggregate: Operand, context: Context): any;
17
+ avg(list: any[], variable: Operand, aggregate: Operand, context: Context): number;
18
+ sum(list: any[], variable: Operand, aggregate: Operand, context: Context): number;
19
+ }
20
+ //# sourceMappingURL=helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../../../src/lib/operand/infrastructure/helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAe,MAAM,qBAAqB,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAErD,qBAAa,aAAa;IAEZ,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAEjD,YAAY,CAAE,OAAO,EAAE,OAAO,GAAG,MAAM;IA0EvC,SAAS,CAAE,GAAG,EAAC,GAAG,GAAI,GAAG;IAUzB,OAAO,CAAE,QAAQ,EAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,GAAG,EAAE;IA6BnF,cAAc,CAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IAa1C,cAAc,CAAE,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE;IAgB5C,eAAe,CAAE,IAAI,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IAmC7F,KAAK,CAAE,IAAI,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM;IAYpF,KAAK,CAAE,IAAI,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,GAAG;IAWjF,IAAI,CAAE,IAAI,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,GAAG;IAYhF,GAAG,CAAE,IAAI,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,GAAG;IAa/E,GAAG,CAAE,IAAI,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,GAAG;IAa/E,GAAG,CAAE,IAAI,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM;IAalF,GAAG,CAAE,IAAI,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM;CAYzF"}