@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,272 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OperandHelper = void 0;
4
+ const domain_1 = require("../../shared/domain");
5
+ class OperandHelper {
6
+ // eslint-disable-next-line no-useless-constructor
7
+ constructor(constBuilder) {
8
+ this.constBuilder = constBuilder;
9
+ }
10
+ toExpression(operand) {
11
+ const list = [];
12
+ switch (operand.type) {
13
+ case domain_1.OperandType.Const:
14
+ case domain_1.OperandType.Var:
15
+ case domain_1.OperandType.Property:
16
+ list.push(operand.name);
17
+ break;
18
+ case domain_1.OperandType.List:
19
+ list.push('[');
20
+ for (let i = 0; i < operand.children.length; i++) {
21
+ if (i > 0)
22
+ list.push(',');
23
+ list.push(this.toExpression(operand.children[i]));
24
+ }
25
+ list.push(']');
26
+ break;
27
+ case domain_1.OperandType.KeyVal:
28
+ list.push(operand.name + ':');
29
+ list.push(this.toExpression(operand.children[0]));
30
+ break;
31
+ case domain_1.OperandType.Obj:
32
+ list.push('{');
33
+ for (let i = 0; i < operand.children.length; i++) {
34
+ if (i > 0)
35
+ list.push(',');
36
+ list.push(this.toExpression(operand.children[i]));
37
+ }
38
+ list.push('}');
39
+ break;
40
+ case domain_1.OperandType.Operator:
41
+ if (operand.children.length === 1) {
42
+ list.push(operand.name);
43
+ list.push(this.toExpression(operand.children[0]));
44
+ }
45
+ else if (operand.children.length === 2) {
46
+ list.push('(');
47
+ list.push(this.toExpression(operand.children[0]));
48
+ list.push(operand.name);
49
+ list.push(this.toExpression(operand.children[1]));
50
+ list.push(')');
51
+ }
52
+ break;
53
+ case domain_1.OperandType.CallFunc:
54
+ list.push(operand.name);
55
+ list.push('(');
56
+ for (let i = 0; i < operand.children.length; i++) {
57
+ if (i > 0)
58
+ list.push(',');
59
+ list.push(this.toExpression(operand.children[i]));
60
+ }
61
+ list.push(')');
62
+ break;
63
+ case domain_1.OperandType.ChildFunc:
64
+ list.push(this.toExpression(operand.children[0]));
65
+ list.push('.' + operand.name);
66
+ list.push('(');
67
+ for (let i = 1; i < operand.children.length; i++) {
68
+ if (i > 1)
69
+ list.push(',');
70
+ list.push(this.toExpression(operand.children[i]));
71
+ }
72
+ list.push(')');
73
+ break;
74
+ case domain_1.OperandType.Arrow:
75
+ list.push(this.toExpression(operand.children[0]));
76
+ list.push('.' + operand.name);
77
+ list.push('(');
78
+ list.push(operand.children[1].name);
79
+ list.push('=>');
80
+ list.push(this.toExpression(operand.children[2]));
81
+ list.push(')');
82
+ break;
83
+ default:
84
+ throw new Error('node: ' + operand.type + ' not supported');
85
+ }
86
+ return list.join('');
87
+ }
88
+ objectKey(obj) {
89
+ const keys = Object.keys(obj).sort();
90
+ const list = [];
91
+ for (const key of keys) {
92
+ list.push(key);
93
+ list.push(obj[key].toString());
94
+ }
95
+ return list.join('|');
96
+ }
97
+ getKeys(variable, fields, list, context) {
98
+ const keys = [];
99
+ // loop through the list and group by the grouper fields
100
+ for (const item of list) {
101
+ let key = '';
102
+ const values = [];
103
+ for (const keyValue of fields) {
104
+ context.data.set(variable.name, item);
105
+ // variable.set(item)
106
+ const value = keyValue.children[0].eval(context);
107
+ if (typeof value === 'object') {
108
+ throw new Error(`Property value ${keyValue.name} is an object, so it cannot be grouped`);
109
+ }
110
+ key = key === '' ? value : `${key}-${value}`;
111
+ values.push({ name: keyValue.name, value });
112
+ }
113
+ // find if the key already exists in the list of keys
114
+ const keyItem = keys.find((p) => p.key === key);
115
+ if (keyItem) {
116
+ // if the key exists add the item
117
+ keyItem.items.push(item);
118
+ }
119
+ else {
120
+ // if the key does not exist add the key, the values and the item
121
+ keys.push({ key, values, items: [item], summarizers: [] });
122
+ }
123
+ }
124
+ return keys;
125
+ }
126
+ haveAggregates(operand) {
127
+ if (!(operand.type === domain_1.OperandType.Arrow) && operand.type === domain_1.OperandType.CallFunc && ['avg', 'count', 'first', 'last', 'max', 'min', 'sum'].indexOf(operand.name) > -1) {
128
+ return true;
129
+ }
130
+ else if (operand.children && operand.children.length > 0) {
131
+ for (const child of operand.children) {
132
+ if (this.haveAggregates(child)) {
133
+ return true;
134
+ }
135
+ }
136
+ }
137
+ return false;
138
+ }
139
+ findAggregates(operand) {
140
+ if (!(operand.type === domain_1.OperandType.Arrow) && operand.type === domain_1.OperandType.CallFunc && ['avg', 'count', 'first', 'last', 'max', 'min', 'sum'].indexOf(operand.name) > -1) {
141
+ return [operand];
142
+ }
143
+ else if (operand.children && operand.children.length > 0) {
144
+ let aggregates = [];
145
+ for (const child of operand.children) {
146
+ const childAggregates = this.findAggregates(child);
147
+ if (childAggregates.length > 0) {
148
+ aggregates = aggregates.concat(childAggregates);
149
+ }
150
+ }
151
+ return aggregates;
152
+ }
153
+ return [];
154
+ }
155
+ solveAggregates(list, variable, operand, context) {
156
+ if (!(operand.type === domain_1.OperandType.Arrow) && operand.type === domain_1.OperandType.CallFunc && ['avg', 'count', 'first', 'last', 'max', 'min', 'sum'].indexOf(operand.name) > -1) {
157
+ let value;
158
+ switch (operand.name) {
159
+ case 'avg':
160
+ value = this.avg(list, variable, operand.children[0], context);
161
+ break;
162
+ case 'count':
163
+ value = this.count(list, variable, operand.children[0], context);
164
+ break;
165
+ case 'first':
166
+ value = this.first(list, variable, operand.children[0], context);
167
+ break;
168
+ case 'last':
169
+ value = this.last(list, variable, operand.children[0], context);
170
+ break;
171
+ case 'max':
172
+ value = this.max(list, variable, operand.children[0], context);
173
+ break;
174
+ case 'min':
175
+ value = this.min(list, variable, operand.children[0], context);
176
+ break;
177
+ case 'sum':
178
+ value = this.sum(list, variable, operand.children[0], context);
179
+ break;
180
+ }
181
+ return this.constBuilder.build(operand.pos, value);
182
+ }
183
+ else if (operand.children && operand.children.length > 0) {
184
+ for (let i = 0; i < operand.children.length; i++) {
185
+ operand.children[i] = this.solveAggregates(list, variable, operand.children[i], context);
186
+ }
187
+ }
188
+ return operand;
189
+ }
190
+ count(list, variable, aggregate, context) {
191
+ let count = 0;
192
+ for (const item of list) {
193
+ // variable.set(item)
194
+ context.data.set(variable.name, item);
195
+ if (aggregate.eval(context)) {
196
+ count++;
197
+ }
198
+ }
199
+ return count;
200
+ }
201
+ first(list, variable, aggregate, context) {
202
+ for (const item of list) {
203
+ // variable.set(item)
204
+ context.data.set(variable.name, item);
205
+ if (aggregate.eval(context)) {
206
+ return item;
207
+ }
208
+ }
209
+ return null;
210
+ }
211
+ last(list, variable, aggregate, context) {
212
+ for (let i = list.length - 1; i >= 0; i--) {
213
+ const item = list[i];
214
+ // variable.set(item)
215
+ context.data.set(variable.name, item);
216
+ if (aggregate.eval(context)) {
217
+ return item;
218
+ }
219
+ }
220
+ return null;
221
+ }
222
+ max(list, variable, aggregate, context) {
223
+ let max;
224
+ for (const item of list) {
225
+ // variable.set(item)
226
+ context.data.set(variable.name, item);
227
+ const value = aggregate.eval(context);
228
+ if (max === undefined || (value !== null && value > max)) {
229
+ max = value;
230
+ }
231
+ }
232
+ return max;
233
+ }
234
+ min(list, variable, aggregate, context) {
235
+ let min;
236
+ for (const item of list) {
237
+ // variable.set(item)
238
+ context.data.set(variable.name, item);
239
+ const value = aggregate.eval(context);
240
+ if (min === undefined || (value !== null && value < min)) {
241
+ min = value;
242
+ }
243
+ }
244
+ return min;
245
+ }
246
+ avg(list, variable, aggregate, context) {
247
+ let sum = 0;
248
+ for (const item of list) {
249
+ // variable.set(item)
250
+ context.data.set(variable.name, item);
251
+ const value = aggregate.eval(context);
252
+ if (value !== null) {
253
+ sum = sum + value;
254
+ }
255
+ }
256
+ return list.length > 0 ? sum / list.length : 0;
257
+ }
258
+ sum(list, variable, aggregate, context) {
259
+ let sum = 0;
260
+ for (const item of list) {
261
+ // variable.set(item)
262
+ context.data.set(variable.name, item);
263
+ const value = aggregate.eval(context);
264
+ if (value !== null) {
265
+ sum = sum + value;
266
+ }
267
+ }
268
+ return sum;
269
+ }
270
+ }
271
+ exports.OperandHelper = OperandHelper;
272
+ //# sourceMappingURL=helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../../../src/lib/operand/infrastructure/helper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './helper';
2
+ export * from './facadeBuilder';
3
+ export * from './constBuilder';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/operand/infrastructure/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./helper"), exports);
18
+ __exportStar(require("./facadeBuilder"), exports);
19
+ __exportStar(require("./constBuilder"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/operand/infrastructure/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,kDAA+B;AAC/B,iDAA8B"}
package/package.json ADDED
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "@data7expressions/3xpr",
3
+ "version": "5.0.0",
4
+ "description": "expressions",
5
+ "author": "Flavio Lionel Rita <flaviolrita@proton.me>",
6
+ "license": "Apache-2.0 License",
7
+ "main": "index.js",
8
+ "types": "index.d.ts",
9
+ "publishConfig": {
10
+ "access": "public"
11
+ },
12
+ "homepage": "https://data7expressions.github.com/wiki/3xpr",
13
+ "bugs": {
14
+ "url": "https://github.com/data7expressions/wiki/issues"
15
+ },
16
+ "scripts": {
17
+ "test": "npx jest --config jest-unit-config.json"
18
+ },
19
+ "dependencies": {
20
+ "@data7expressions/h3lp": "^5.0.0",
21
+ "@data7expressions/typ3s": "^5.0.0"
22
+ },
23
+ "keywords": [
24
+ "expression",
25
+ "expressions",
26
+ "exp",
27
+ "parser",
28
+ "eval",
29
+ "evaluator"
30
+ ],
31
+ "tags": [
32
+ "expression",
33
+ "expressions",
34
+ "exp",
35
+ "parser",
36
+ "eval",
37
+ "evaluator"
38
+ ]
39
+ }
@@ -0,0 +1,32 @@
1
+ export interface ISerializer<T> {
2
+ serialize(value: T): any;
3
+ deserialize(value: any): T;
4
+ clone(value: T): T;
5
+ }
6
+ export interface IBuilder<T> {
7
+ build(): T;
8
+ }
9
+ export interface Parameter {
10
+ name: string;
11
+ type?: string;
12
+ default?: any;
13
+ value?: any;
14
+ multiple?: boolean;
15
+ }
16
+ export interface Sing {
17
+ name: string;
18
+ params: Parameter[];
19
+ returnType: string;
20
+ isAsync: boolean;
21
+ }
22
+ export interface Format {
23
+ name: string;
24
+ pattern: string;
25
+ regExp: RegExp;
26
+ }
27
+ export declare class Position {
28
+ readonly ln: number;
29
+ readonly col: number;
30
+ constructor(ln: number, col: number);
31
+ }
32
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/lib/shared/domain/base.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW,CAAC,CAAC;IAC7B,SAAS,CAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAA;IACzB,WAAW,CAAE,KAAK,EAAE,GAAG,GAAG,CAAC,CAAA;IAC3B,KAAK,CAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAA;CACnB;AACD,MAAM,WAAW,QAAQ,CAAC,CAAC;IAC1B,KAAK,IAAK,CAAC,CAAA;CACX;AACD,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,GAAG,CAAA;IACb,KAAK,CAAC,EAAC,GAAG,CAAC;IACX,QAAQ,CAAC,EAAC,OAAO,CAAA;CACjB;AACD,MAAM,WAAW,IAAI;IACpB,IAAI,EAAC,MAAM,CAAA;IACX,MAAM,EAAC,SAAS,EAAE,CAAA;IAClB,UAAU,EAAC,MAAM,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;CAChB;AACD,MAAM,WAAW,MAAM;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACd;AAED,qBAAa,QAAQ;IAEA,QAAQ,CAAC,EAAE,EAAE,MAAM;IAAE,QAAQ,CAAC,GAAG,EAAC,MAAM;gBAA/B,EAAE,EAAE,MAAM,EAAW,GAAG,EAAC,MAAM;CAC5D"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Position = void 0;
4
+ class Position {
5
+ // eslint-disable-next-line no-useless-constructor
6
+ constructor(ln, col) {
7
+ this.ln = ln;
8
+ this.col = col;
9
+ }
10
+ }
11
+ exports.Position = Position;
12
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/lib/shared/domain/base.ts"],"names":[],"mappings":";;;AA2BA,MAAa,QAAQ;IACpB,kDAAkD;IAClD,YAA6B,EAAU,EAAW,GAAU;QAA/B,OAAE,GAAF,EAAE,CAAQ;QAAW,QAAG,GAAH,GAAG,CAAO;IAAG,CAAC;CAChE;AAHD,4BAGC"}
@@ -0,0 +1,37 @@
1
+ export declare class Data {
2
+ data: any;
3
+ parent?: Data | undefined;
4
+ constructor(data?: any, parent?: Data | undefined);
5
+ newData(): Data;
6
+ getData(variable: string): any;
7
+ contains(name: string): boolean;
8
+ get(name: string): any;
9
+ set(name: string, value: any): boolean;
10
+ init(name: string, value: any): void;
11
+ }
12
+ export declare class Step {
13
+ readonly name: string;
14
+ readonly id: string;
15
+ values: any[];
16
+ constructor(name: string, id: string);
17
+ }
18
+ export declare class Token {
19
+ id: string;
20
+ stack: any;
21
+ isBreak: boolean;
22
+ listeners: string[];
23
+ signals: string[];
24
+ constructor();
25
+ addListener(value: string): void;
26
+ clearListeners(): void;
27
+ addSignal(value: string): void;
28
+ clearSignals(): void;
29
+ }
30
+ export declare class Context {
31
+ data: Data;
32
+ token: Token;
33
+ parent?: Context;
34
+ constructor(data?: Data, token?: Token, parent?: Context);
35
+ newContext(): Context;
36
+ }
37
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../src/lib/shared/domain/context.ts"],"names":[],"mappings":"AAGA,qBAAa,IAAI;IAEW,IAAI,EAAC,GAAG;IAAc,MAAM,CAAC,EAAC,IAAI;gBAAlC,IAAI,GAAC,GAAQ,EAAS,MAAM,CAAC,EAAC,IAAI,YAAA;IAE7D,OAAO,IAAI,IAAI;IAIf,OAAO,CAAE,QAAQ,EAAC,MAAM,GAAE,GAAG;IAM7B,QAAQ,CAAE,IAAI,EAAC,MAAM,GAAE,OAAO;IAU9B,GAAG,CAAE,IAAI,EAAC,MAAM,GAAE,GAAG;IAMrB,GAAG,CAAE,IAAI,EAAC,MAAM,EAAE,KAAK,EAAC,GAAG,GAAE,OAAO;IAMpC,IAAI,CAAE,IAAI,EAAC,MAAM,EAAE,KAAK,EAAC,GAAG,GAAE,IAAI;CAGlC;AAED,qBAAa,IAAI;aAGoB,IAAI,EAAC,MAAM;aAAkB,EAAE,EAAC,MAAM;IAFnE,MAAM,EAAC,GAAG,EAAE,CAAK;gBAEY,IAAI,EAAC,MAAM,EAAkB,EAAE,EAAC,MAAM;CAC1E;AAED,qBAAa,KAAK;IACV,EAAE,EAAC,MAAM,CAAA;IACT,KAAK,EAAC,GAAG,CAAA;IACT,OAAO,EAAC,OAAO,CAAA;IACf,SAAS,EAAC,MAAM,EAAE,CAAA;IAClB,OAAO,EAAC,MAAM,EAAE,CAAA;;IAUhB,WAAW,CAAE,KAAK,EAAC,MAAM;IAKzB,cAAc;IAKd,SAAS,CAAE,KAAK,EAAC,MAAM;IAIvB,YAAY;CAGnB;AAED,qBAAa,OAAO;IACZ,IAAI,EAAC,IAAI,CAAA;IACT,KAAK,EAAE,KAAK,CAAA;IAEZ,MAAM,CAAC,EAAE,OAAO,CAAA;gBACV,IAAI,CAAC,EAAC,IAAI,EAAE,KAAK,CAAC,EAAC,KAAK,EAAE,MAAM,CAAC,EAAC,OAAO;IAM/C,UAAU,IAAI,OAAO;CAG5B"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Context = exports.Token = exports.Step = exports.Data = void 0;
7
+ const h3lp_1 = require("@data7expressions/h3lp");
8
+ const crypto_1 = __importDefault(require("crypto"));
9
+ class Data {
10
+ // eslint-disable-next-line no-useless-constructor
11
+ constructor(data = {}, parent) {
12
+ this.data = data;
13
+ this.parent = parent;
14
+ }
15
+ newData() {
16
+ return new Data({}, this);
17
+ }
18
+ getData(variable) {
19
+ if (this.data[variable] !== undefined || this.parent == null)
20
+ return this.data;
21
+ const _context = this.parent.getData(variable);
22
+ return _context || this.data;
23
+ }
24
+ contains(name) {
25
+ const names = name.split('.');
26
+ let value = this.getData(names[0]);
27
+ for (const n in names) {
28
+ if (value[n] === undefined)
29
+ return false;
30
+ value = value[n];
31
+ }
32
+ return true;
33
+ }
34
+ get(name) {
35
+ const names = h3lp_1.h3lp.obj.names(name);
36
+ const data = this.getData(names[0]);
37
+ return h3lp_1.h3lp.obj.getValue(data, name);
38
+ }
39
+ set(name, value) {
40
+ const names = h3lp_1.h3lp.obj.names(name);
41
+ const data = this.getData(names[0]);
42
+ return h3lp_1.h3lp.obj.setValue(data, name, value);
43
+ }
44
+ init(name, value) {
45
+ this.data[name] = value;
46
+ }
47
+ }
48
+ exports.Data = Data;
49
+ class Step {
50
+ // eslint-disable-next-line no-useless-constructor
51
+ constructor(name, id) {
52
+ this.name = name;
53
+ this.id = id;
54
+ this.values = [];
55
+ }
56
+ }
57
+ exports.Step = Step;
58
+ class Token {
59
+ constructor() {
60
+ this.id = crypto_1.default.randomUUID();
61
+ this.stack = {};
62
+ this.isBreak = false;
63
+ this.listeners = [];
64
+ this.signals = [];
65
+ }
66
+ addListener(value) {
67
+ this.isBreak = true;
68
+ this.listeners.push(value);
69
+ }
70
+ clearListeners() {
71
+ this.isBreak = false;
72
+ this.listeners = [];
73
+ }
74
+ addSignal(value) {
75
+ this.signals.push(value);
76
+ }
77
+ clearSignals() {
78
+ this.signals = [];
79
+ }
80
+ }
81
+ exports.Token = Token;
82
+ class Context {
83
+ constructor(data, token, parent) {
84
+ this.data = data || new Data({});
85
+ this.token = token || new Token();
86
+ this.parent = parent;
87
+ }
88
+ newContext() {
89
+ return new Context(this.data.newData(), this.token, this);
90
+ }
91
+ }
92
+ exports.Context = Context;
93
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../src/lib/shared/domain/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export * from './base';
2
+ export * from './context';
3
+ export * from './observer';
4
+ export * from './signals';
5
+ export * from './operand';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/shared/domain/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./base"), exports);
18
+ __exportStar(require("./context"), exports);
19
+ __exportStar(require("./observer"), exports);
20
+ __exportStar(require("./signals"), exports);
21
+ __exportStar(require("./operand"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/shared/domain/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAsB;AACtB,4CAAyB;AACzB,6CAA0B;AAC1B,4CAAyB;AACzB,4CAAyB"}
@@ -0,0 +1,15 @@
1
+ import { Context } from '../../shared/domain';
2
+ export interface ActionObserverArgs {
3
+ expression: string;
4
+ context: Context;
5
+ result?: any;
6
+ error?: any;
7
+ }
8
+ export declare abstract class ActionObserver {
9
+ readonly condition?: string | undefined;
10
+ constructor(condition?: string | undefined);
11
+ abstract before(args: ActionObserverArgs): void;
12
+ abstract after(args: ActionObserverArgs): void;
13
+ abstract error(args: ActionObserverArgs): void;
14
+ }
15
+ //# sourceMappingURL=observer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observer.d.ts","sourceRoot":"","sources":["../../../../../src/lib/shared/domain/observer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,MAAM,WAAW,kBAAkB;IAClC,UAAU,EAAC,MAAM,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAC,GAAG,CAAA;IACX,KAAK,CAAC,EAAC,GAAG,CAAA;CACV;AACD,8BAAsB,cAAc;aAEC,SAAS,CAAC,EAAC,MAAM;gBAAjB,SAAS,CAAC,EAAC,MAAM,YAAA;aACrC,MAAM,CAAE,IAAI,EAAC,kBAAkB,GAAE,IAAI;aACrC,KAAK,CAAE,IAAI,EAAC,kBAAkB,GAAE,IAAI;aACpC,KAAK,CAAE,IAAI,EAAC,kBAAkB,GAAE,IAAI;CACpD"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ActionObserver = void 0;
4
+ class ActionObserver {
5
+ // eslint-disable-next-line no-useless-constructor
6
+ constructor(condition) {
7
+ this.condition = condition;
8
+ }
9
+ }
10
+ exports.ActionObserver = ActionObserver;
11
+ //# sourceMappingURL=observer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observer.js","sourceRoot":"","sources":["../../../../../src/lib/shared/domain/observer.ts"],"names":[],"mappings":";;;AAOA,MAAsB,cAAc;IACnC,kDAAkD;IAClD,YAAoC,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;IAAG,CAAC;CAIzD;AAND,wCAMC"}