@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.
- package/CHANGELOG.md +78 -0
- package/LICENSE +201 -0
- package/README.md +144 -0
- package/expression/application/expressions.d.ts +69 -0
- package/expression/application/expressions.d.ts.map +1 -0
- package/expression/application/expressions.js +157 -0
- package/expression/application/expressions.js.map +1 -0
- package/expression/application/index.d.ts +4 -0
- package/expression/application/index.d.ts.map +1 -0
- package/expression/application/index.js +20 -0
- package/expression/application/index.js.map +1 -0
- package/expression/application/useCases/convert.d.ts +8 -0
- package/expression/application/useCases/convert.d.ts.map +1 -0
- package/expression/application/useCases/convert.js +25 -0
- package/expression/application/useCases/convert.js.map +1 -0
- package/expression/application/useCases/executor.d.ts +11 -0
- package/expression/application/useCases/executor.d.ts.map +1 -0
- package/expression/application/useCases/executor.js +23 -0
- package/expression/application/useCases/executor.js.map +1 -0
- package/expression/application/useCases/executorObserveDecorator.d.ts +16 -0
- package/expression/application/useCases/executorObserveDecorator.d.ts.map +1 -0
- package/expression/application/useCases/executorObserveDecorator.js +98 -0
- package/expression/application/useCases/executorObserveDecorator.js.map +1 -0
- package/expression/domain/expressions.d.ts +29 -0
- package/expression/domain/expressions.d.ts.map +1 -0
- package/expression/domain/expressions.js +3 -0
- package/expression/domain/expressions.js.map +1 -0
- package/expression/domain/index.d.ts +2 -0
- package/expression/domain/index.d.ts.map +1 -0
- package/expression/domain/index.js +18 -0
- package/expression/domain/index.js.map +1 -0
- package/expression/infrastructure/convertFrom/convertFromFunction.d.ts +15 -0
- package/expression/infrastructure/convertFrom/convertFromFunction.d.ts.map +1 -0
- package/expression/infrastructure/convertFrom/convertFromFunction.js +45 -0
- package/expression/infrastructure/convertFrom/convertFromFunction.js.map +1 -0
- package/expression/infrastructure/convertFrom/convertFromGraphql.d.ts +5 -0
- package/expression/infrastructure/convertFrom/convertFromGraphql.d.ts.map +1 -0
- package/expression/infrastructure/convertFrom/convertFromGraphql.js +96 -0
- package/expression/infrastructure/convertFrom/convertFromGraphql.js.map +1 -0
- package/expression/infrastructure/expressionsBuilder.d.ts +8 -0
- package/expression/infrastructure/expressionsBuilder.d.ts.map +1 -0
- package/expression/infrastructure/expressionsBuilder.js +28 -0
- package/expression/infrastructure/expressionsBuilder.js.map +1 -0
- package/expression/infrastructure/helper.d.ts +7 -0
- package/expression/infrastructure/helper.d.ts.map +1 -0
- package/expression/infrastructure/helper.js +34 -0
- package/expression/infrastructure/helper.js.map +1 -0
- package/expression/infrastructure/index.d.ts +2 -0
- package/expression/infrastructure/index.d.ts.map +1 -0
- package/expression/infrastructure/index.js +18 -0
- package/expression/infrastructure/index.js.map +1 -0
- package/expression/infrastructure/library.d.ts +30 -0
- package/expression/infrastructure/library.d.ts.map +1 -0
- package/expression/infrastructure/library.js +1813 -0
- package/expression/infrastructure/library.js.map +1 -0
- package/index.d.ts +31 -0
- package/index.d.ts.map +1 -0
- package/index.js +64 -0
- package/index.js.map +1 -0
- package/jest-unit-config.json +15 -0
- package/model/application/index.d.ts +2 -0
- package/model/application/index.d.ts.map +1 -0
- package/model/application/index.js +18 -0
- package/model/application/index.js.map +1 -0
- package/model/application/modelService.d.ts +42 -0
- package/model/application/modelService.d.ts.map +1 -0
- package/model/application/modelService.js +329 -0
- package/model/application/modelService.js.map +1 -0
- package/model/domain/index.d.ts +3 -0
- package/model/domain/index.d.ts.map +1 -0
- package/model/domain/index.js +19 -0
- package/model/domain/index.js.map +1 -0
- package/model/domain/library.d.ts +5 -0
- package/model/domain/library.d.ts.map +1 -0
- package/model/domain/library.js +3 -0
- package/model/domain/library.js.map +1 -0
- package/model/domain/services.d.ts +32 -0
- package/model/domain/services.d.ts.map +1 -0
- package/model/domain/services.js +3 -0
- package/model/domain/services.js.map +1 -0
- package/operand/application/facade.d.ts +27 -0
- package/operand/application/facade.d.ts.map +1 -0
- package/operand/application/facade.js +42 -0
- package/operand/application/facade.js.map +1 -0
- package/operand/application/index.d.ts +15 -0
- package/operand/application/index.d.ts.map +1 -0
- package/operand/application/index.js +31 -0
- package/operand/application/index.js.map +1 -0
- package/operand/application/services/builder.d.ts +17 -0
- package/operand/application/services/builder.d.ts.map +1 -0
- package/operand/application/services/builder.js +30 -0
- package/operand/application/services/builder.js.map +1 -0
- package/operand/application/services/builderCacheDecorator.d.ts +14 -0
- package/operand/application/services/builderCacheDecorator.d.ts.map +1 -0
- package/operand/application/services/builderCacheDecorator.js +29 -0
- package/operand/application/services/builderCacheDecorator.js.map +1 -0
- package/operand/application/services/factory.d.ts +10 -0
- package/operand/application/services/factory.d.ts.map +1 -0
- package/operand/application/services/factory.js +24 -0
- package/operand/application/services/factory.js.map +1 -0
- package/operand/application/services/normalizer.d.ts +4 -0
- package/operand/application/services/normalizer.d.ts.map +1 -0
- package/operand/application/services/normalizer.js +51 -0
- package/operand/application/services/normalizer.js.map +1 -0
- package/operand/application/services/parameterService.d.ts +6 -0
- package/operand/application/services/parameterService.d.ts.map +1 -0
- package/operand/application/services/parameterService.js +23 -0
- package/operand/application/services/parameterService.js.map +1 -0
- package/operand/application/services/parser.d.ts +49 -0
- package/operand/application/services/parser.d.ts.map +1 -0
- package/operand/application/services/parser.js +751 -0
- package/operand/application/services/parser.js.map +1 -0
- package/operand/application/services/serializer.d.ts +10 -0
- package/operand/application/services/serializer.d.ts.map +1 -0
- package/operand/application/services/serializer.js +40 -0
- package/operand/application/services/serializer.js.map +1 -0
- package/operand/application/services/typeService.d.ts +37 -0
- package/operand/application/services/typeService.d.ts.map +1 -0
- package/operand/application/services/typeService.js +392 -0
- package/operand/application/services/typeService.js.map +1 -0
- package/operand/application/useCases/build.d.ts +10 -0
- package/operand/application/useCases/build.d.ts.map +1 -0
- package/operand/application/useCases/build.js +25 -0
- package/operand/application/useCases/build.js.map +1 -0
- package/operand/application/useCases/clone.d.ts +10 -0
- package/operand/application/useCases/clone.d.ts.map +1 -0
- package/operand/application/useCases/clone.js +34 -0
- package/operand/application/useCases/clone.js.map +1 -0
- package/operand/application/useCases/complete.d.ts +9 -0
- package/operand/application/useCases/complete.d.ts.map +1 -0
- package/operand/application/useCases/complete.js +26 -0
- package/operand/application/useCases/complete.js.map +1 -0
- package/operand/application/useCases/normalize.d.ts +9 -0
- package/operand/application/useCases/normalize.d.ts.map +1 -0
- package/operand/application/useCases/normalize.js +43 -0
- package/operand/application/useCases/normalize.js.map +1 -0
- package/operand/application/useCases/reduce.d.ts +11 -0
- package/operand/application/useCases/reduce.d.ts.map +1 -0
- package/operand/application/useCases/reduce.js +57 -0
- package/operand/application/useCases/reduce.js.map +1 -0
- package/operand/domain/constBuilder.d.ts +5 -0
- package/operand/domain/constBuilder.d.ts.map +1 -0
- package/operand/domain/constBuilder.js +3 -0
- package/operand/domain/constBuilder.js.map +1 -0
- package/operand/domain/entities.d.ts +60 -0
- package/operand/domain/entities.d.ts.map +1 -0
- package/operand/domain/entities.js +38 -0
- package/operand/domain/entities.js.map +1 -0
- package/operand/domain/index.d.ts +4 -0
- package/operand/domain/index.d.ts.map +1 -0
- package/operand/domain/index.js +20 -0
- package/operand/domain/index.js.map +1 -0
- package/operand/domain/services.d.ts +39 -0
- package/operand/domain/services.d.ts.map +1 -0
- package/operand/domain/services.js +3 -0
- package/operand/domain/services.js.map +1 -0
- package/operand/infrastructure/constBuilder.d.ts +6 -0
- package/operand/infrastructure/constBuilder.d.ts.map +1 -0
- package/operand/infrastructure/constBuilder.js +15 -0
- package/operand/infrastructure/constBuilder.js.map +1 -0
- package/operand/infrastructure/executors/expression.d.ts +34 -0
- package/operand/infrastructure/executors/expression.d.ts.map +1 -0
- package/operand/infrastructure/executors/expression.js +534 -0
- package/operand/infrastructure/executors/expression.js.map +1 -0
- package/operand/infrastructure/executors/task.d.ts +8 -0
- package/operand/infrastructure/executors/task.d.ts.map +1 -0
- package/operand/infrastructure/executors/task.js +492 -0
- package/operand/infrastructure/executors/task.js.map +1 -0
- package/operand/infrastructure/facadeBuilder.d.ts +10 -0
- package/operand/infrastructure/facadeBuilder.d.ts.map +1 -0
- package/operand/infrastructure/facadeBuilder.js +35 -0
- package/operand/infrastructure/facadeBuilder.js.map +1 -0
- package/operand/infrastructure/helper.d.ts +20 -0
- package/operand/infrastructure/helper.d.ts.map +1 -0
- package/operand/infrastructure/helper.js +272 -0
- package/operand/infrastructure/helper.js.map +1 -0
- package/operand/infrastructure/index.d.ts +4 -0
- package/operand/infrastructure/index.d.ts.map +1 -0
- package/operand/infrastructure/index.js +20 -0
- package/operand/infrastructure/index.js.map +1 -0
- package/package.json +39 -0
- package/shared/domain/base.d.ts +32 -0
- package/shared/domain/base.d.ts.map +1 -0
- package/shared/domain/base.js +12 -0
- package/shared/domain/base.js.map +1 -0
- package/shared/domain/context.d.ts +37 -0
- package/shared/domain/context.d.ts.map +1 -0
- package/shared/domain/context.js +93 -0
- package/shared/domain/context.js.map +1 -0
- package/shared/domain/index.d.ts +6 -0
- package/shared/domain/index.d.ts.map +1 -0
- package/shared/domain/index.js +22 -0
- package/shared/domain/index.js.map +1 -0
- package/shared/domain/observer.d.ts +15 -0
- package/shared/domain/observer.d.ts.map +1 -0
- package/shared/domain/observer.js +11 -0
- package/shared/domain/observer.js.map +1 -0
- package/shared/domain/operand.d.ts +55 -0
- package/shared/domain/operand.d.ts.map +1 -0
- package/shared/domain/operand.js +69 -0
- package/shared/domain/operand.js.map +1 -0
- package/shared/domain/signals.d.ts +8 -0
- package/shared/domain/signals.d.ts.map +1 -0
- package/shared/domain/signals.js +3 -0
- package/shared/domain/signals.js.map +1 -0
- package/shared/infrastructure/helper.d.ts +9 -0
- package/shared/infrastructure/helper.d.ts.map +1 -0
- package/shared/infrastructure/helper.js +16 -0
- package/shared/infrastructure/helper.js.map +1 -0
- package/shared/infrastructure/index.d.ts +2 -0
- package/shared/infrastructure/index.d.ts.map +1 -0
- package/shared/infrastructure/index.js +18 -0
- package/shared/infrastructure/index.js.map +1 -0
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ModelServiceImpl = void 0;
|
|
4
|
+
/* eslint-disable @typescript-eslint/ban-types */
|
|
5
|
+
const domain_1 = require("../../operand/domain");
|
|
6
|
+
class ModelServiceImpl {
|
|
7
|
+
constructor() {
|
|
8
|
+
this._enums = {};
|
|
9
|
+
this._constants = {};
|
|
10
|
+
this._formats = {};
|
|
11
|
+
this._operators = {};
|
|
12
|
+
this._functions = {};
|
|
13
|
+
this._operatorAlias = {};
|
|
14
|
+
this._functionAlias = {};
|
|
15
|
+
}
|
|
16
|
+
get operatorAlias() {
|
|
17
|
+
return Object.entries(this._operatorAlias);
|
|
18
|
+
}
|
|
19
|
+
get functionAlias() {
|
|
20
|
+
return Object.entries(this._functionAlias);
|
|
21
|
+
}
|
|
22
|
+
get constants() {
|
|
23
|
+
return Object.entries(this._constants);
|
|
24
|
+
}
|
|
25
|
+
get formats() {
|
|
26
|
+
return Object.entries(this._formats);
|
|
27
|
+
}
|
|
28
|
+
get enums() {
|
|
29
|
+
return Object.entries(this._enums);
|
|
30
|
+
}
|
|
31
|
+
get operators() {
|
|
32
|
+
const operators = [];
|
|
33
|
+
for (const entry of Object.entries(this._operators)) {
|
|
34
|
+
for (const q of Object.values(entry[1])) {
|
|
35
|
+
operators.push([entry[0], q]);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
for (const entry of Object.entries(this._operatorAlias)) {
|
|
39
|
+
const key = entry[1];
|
|
40
|
+
for (const q of Object.values(this._operators[key])) {
|
|
41
|
+
operators.push([entry[0], q]);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return operators;
|
|
45
|
+
}
|
|
46
|
+
get functions() {
|
|
47
|
+
let list = [];
|
|
48
|
+
list = Object.entries(this._functions);
|
|
49
|
+
for (const entry of Object.entries(this._functionAlias)) {
|
|
50
|
+
const key = entry[1];
|
|
51
|
+
list.push([entry[0], this._functions[key]]);
|
|
52
|
+
}
|
|
53
|
+
return list;
|
|
54
|
+
}
|
|
55
|
+
addEnum(name, values) {
|
|
56
|
+
if (Array.isArray(values)) {
|
|
57
|
+
if (values.length > 0) {
|
|
58
|
+
this._enums[name] = values;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
else if (typeof values === 'object') {
|
|
62
|
+
const _values = [];
|
|
63
|
+
for (const entry of Object.entries(values)) {
|
|
64
|
+
_values.push([entry[0], entry[1]]);
|
|
65
|
+
}
|
|
66
|
+
this._enums[name] = _values;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
throw new Error(`enum ${name} invalid values`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
addFormat(key, pattern) {
|
|
73
|
+
this._formats[key] = { name: key, pattern, regExp: new RegExp(pattern) };
|
|
74
|
+
}
|
|
75
|
+
addConstant(key, value) {
|
|
76
|
+
this._constants[key] = value;
|
|
77
|
+
}
|
|
78
|
+
addOperatorAlias(alias, reference) {
|
|
79
|
+
this._operatorAlias[alias] = reference;
|
|
80
|
+
}
|
|
81
|
+
addFunctionAlias(alias, reference) {
|
|
82
|
+
this._functionAlias[alias] = reference;
|
|
83
|
+
}
|
|
84
|
+
addLibrary(library) {
|
|
85
|
+
library.load(this);
|
|
86
|
+
}
|
|
87
|
+
addOperator(sing, source, additionalInfo) {
|
|
88
|
+
const singInfo = this.getSing(sing);
|
|
89
|
+
const metadata = {
|
|
90
|
+
priority: additionalInfo.priority,
|
|
91
|
+
deterministic: false,
|
|
92
|
+
operands: singInfo.params.length,
|
|
93
|
+
doc: additionalInfo.doc ? additionalInfo.doc : { description: additionalInfo.description || sing },
|
|
94
|
+
params: singInfo.params,
|
|
95
|
+
returnType: singInfo.returnType,
|
|
96
|
+
async: additionalInfo.async || false
|
|
97
|
+
};
|
|
98
|
+
if (source instanceof domain_1.PrototypeEvaluator) {
|
|
99
|
+
metadata.custom = source;
|
|
100
|
+
}
|
|
101
|
+
else if (typeof source === 'function') {
|
|
102
|
+
metadata.function = source;
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
throw new Error(`operator ${singInfo.name} source not supported`);
|
|
106
|
+
}
|
|
107
|
+
if (additionalInfo && additionalInfo.doc) {
|
|
108
|
+
metadata.doc = additionalInfo.doc;
|
|
109
|
+
}
|
|
110
|
+
if (this._operators[singInfo.name] === undefined) {
|
|
111
|
+
this._operators[singInfo.name] = {};
|
|
112
|
+
}
|
|
113
|
+
this._operators[singInfo.name][metadata.operands] = metadata;
|
|
114
|
+
}
|
|
115
|
+
addFunction(sing, source, additionalInfo) {
|
|
116
|
+
const singInfo = this.getSing(sing);
|
|
117
|
+
const metadata = {
|
|
118
|
+
deterministic: (additionalInfo === null || additionalInfo === void 0 ? void 0 : additionalInfo.deterministic) !== false,
|
|
119
|
+
operands: singInfo.params.length,
|
|
120
|
+
params: singInfo.params,
|
|
121
|
+
returnType: singInfo.returnType,
|
|
122
|
+
doc: additionalInfo.doc ? additionalInfo.doc : { description: additionalInfo.description || sing },
|
|
123
|
+
async: additionalInfo && additionalInfo.async ? additionalInfo.async : false
|
|
124
|
+
};
|
|
125
|
+
if (source instanceof domain_1.PrototypeEvaluator) {
|
|
126
|
+
metadata.custom = source;
|
|
127
|
+
}
|
|
128
|
+
else if (typeof source === 'function') {
|
|
129
|
+
metadata.function = source;
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
throw new Error(`function ${singInfo.name} source not supported`);
|
|
133
|
+
}
|
|
134
|
+
if (additionalInfo && additionalInfo.doc) {
|
|
135
|
+
metadata.doc = additionalInfo.doc;
|
|
136
|
+
}
|
|
137
|
+
this._functions[singInfo.name] = metadata;
|
|
138
|
+
}
|
|
139
|
+
getEnumValue(name, option) {
|
|
140
|
+
if (this._enums[name] === undefined) {
|
|
141
|
+
throw new Error(`enum: ${name} not found `);
|
|
142
|
+
}
|
|
143
|
+
const values = this._enums[name];
|
|
144
|
+
const value = values.find(p => p[0] === option);
|
|
145
|
+
if (value === undefined) {
|
|
146
|
+
throw new Error(`option ${option} in enum: ${name} not found `);
|
|
147
|
+
}
|
|
148
|
+
return value[1];
|
|
149
|
+
}
|
|
150
|
+
getEnum(name) {
|
|
151
|
+
return this._enums[name];
|
|
152
|
+
}
|
|
153
|
+
getConstantValue(name) {
|
|
154
|
+
return this._constants[name];
|
|
155
|
+
}
|
|
156
|
+
getFormat(name) {
|
|
157
|
+
return this._formats[name];
|
|
158
|
+
}
|
|
159
|
+
getOperator(name, operands) {
|
|
160
|
+
let operators = this._operators[name];
|
|
161
|
+
if (operators === undefined) {
|
|
162
|
+
const key = this._operatorAlias[name];
|
|
163
|
+
if (key) {
|
|
164
|
+
operators = this._operators[key];
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
throw new Error(`operator: ${name} not found `);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
if (operands !== undefined) {
|
|
171
|
+
const operator = operators[operands];
|
|
172
|
+
if (operator === undefined) {
|
|
173
|
+
throw new Error(`operator ${name} with ${operands} operands not found `);
|
|
174
|
+
}
|
|
175
|
+
return operator;
|
|
176
|
+
}
|
|
177
|
+
else if (Object.keys(operators).length === 1) {
|
|
178
|
+
return Object.values(operators)[0];
|
|
179
|
+
}
|
|
180
|
+
else if (operators[2] !== undefined) {
|
|
181
|
+
return operators[2];
|
|
182
|
+
}
|
|
183
|
+
throw new Error(`it is necessary to determine the number of operands for the operator ${name}`);
|
|
184
|
+
}
|
|
185
|
+
getFunction(name) {
|
|
186
|
+
let metadata = this._functions[name];
|
|
187
|
+
if (metadata === undefined) {
|
|
188
|
+
const key = this._functionAlias[name];
|
|
189
|
+
if (key) {
|
|
190
|
+
metadata = this._functions[key];
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
throw new Error(`function: ${name} not found `);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
return metadata;
|
|
197
|
+
}
|
|
198
|
+
isEnum(name) {
|
|
199
|
+
const names = name.split('.');
|
|
200
|
+
return this._enums[names[0]] !== undefined;
|
|
201
|
+
}
|
|
202
|
+
isConstant(name) {
|
|
203
|
+
return this._constants[name] !== undefined;
|
|
204
|
+
}
|
|
205
|
+
isOperator(name, operands) {
|
|
206
|
+
let operators = this._operators[name];
|
|
207
|
+
if (operators === undefined) {
|
|
208
|
+
const key = this._operatorAlias[name];
|
|
209
|
+
if (key) {
|
|
210
|
+
operators = this._operators[key];
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
return false;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
if (operands !== undefined) {
|
|
217
|
+
return operators && operators[operands] !== undefined;
|
|
218
|
+
}
|
|
219
|
+
return true;
|
|
220
|
+
}
|
|
221
|
+
isFunction(name) {
|
|
222
|
+
return this._functions[name] !== undefined || this._functionAlias[name] !== undefined;
|
|
223
|
+
}
|
|
224
|
+
priority(name, cardinality) {
|
|
225
|
+
const metadata = this.getOperator(name, cardinality);
|
|
226
|
+
return metadata && metadata.priority ? metadata.priority : -1;
|
|
227
|
+
}
|
|
228
|
+
getSing(sing) {
|
|
229
|
+
const buffer = Array.from(sing);
|
|
230
|
+
const length = buffer.length;
|
|
231
|
+
let index = 0;
|
|
232
|
+
let functionName = '';
|
|
233
|
+
let prefix = '';
|
|
234
|
+
let _return = '';
|
|
235
|
+
let chars = [];
|
|
236
|
+
// Clear begin spaces
|
|
237
|
+
while (buffer[index] === ' ') {
|
|
238
|
+
index++;
|
|
239
|
+
}
|
|
240
|
+
for (; buffer[index] !== '('; index++) {
|
|
241
|
+
if (buffer[index] === ' ' && buffer[index + 1] !== ' ' && buffer[index + 1] !== '(') {
|
|
242
|
+
prefix = chars.join('');
|
|
243
|
+
chars = [];
|
|
244
|
+
}
|
|
245
|
+
else if (buffer[index] !== ' ') {
|
|
246
|
+
chars.push(buffer[index]);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
functionName = chars.join('');
|
|
250
|
+
chars = [];
|
|
251
|
+
const params = [];
|
|
252
|
+
let name = '';
|
|
253
|
+
let type = '';
|
|
254
|
+
let _default = '';
|
|
255
|
+
let hadDefault = false;
|
|
256
|
+
let multiple = false;
|
|
257
|
+
for (index++; index < length; index++) {
|
|
258
|
+
if (buffer[index] === ',' || buffer[index] === ')') {
|
|
259
|
+
if (hadDefault) {
|
|
260
|
+
_default = chars.join('');
|
|
261
|
+
if (type === '') {
|
|
262
|
+
type = this.getTypeFromValue(_default);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
else {
|
|
266
|
+
type = chars.join('');
|
|
267
|
+
}
|
|
268
|
+
if (name.startsWith('...')) {
|
|
269
|
+
multiple = true;
|
|
270
|
+
name = name.replace('...', '');
|
|
271
|
+
}
|
|
272
|
+
// Add Param
|
|
273
|
+
params.push({ name, type: type !== '' ? type : 'any', default: _default !== '' ? _default : undefined, multiple });
|
|
274
|
+
if (buffer[index] === ')') {
|
|
275
|
+
break;
|
|
276
|
+
}
|
|
277
|
+
chars = [];
|
|
278
|
+
name = '';
|
|
279
|
+
type = '';
|
|
280
|
+
_default = '';
|
|
281
|
+
hadDefault = false;
|
|
282
|
+
multiple = false;
|
|
283
|
+
}
|
|
284
|
+
else if (buffer[index] === ':') {
|
|
285
|
+
name = chars.join('');
|
|
286
|
+
chars = [];
|
|
287
|
+
}
|
|
288
|
+
else if (buffer[index] === '=') {
|
|
289
|
+
hadDefault = true;
|
|
290
|
+
if (name === '') {
|
|
291
|
+
name = chars.join('');
|
|
292
|
+
}
|
|
293
|
+
else {
|
|
294
|
+
type = chars.join('');
|
|
295
|
+
}
|
|
296
|
+
chars = [];
|
|
297
|
+
}
|
|
298
|
+
else if (buffer[index] !== ' ') {
|
|
299
|
+
chars.push(buffer[index]);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
chars = [];
|
|
303
|
+
let hadReturn = false;
|
|
304
|
+
for (index++; index < length; index++) {
|
|
305
|
+
if (buffer[index] === ':') {
|
|
306
|
+
hadReturn = true;
|
|
307
|
+
continue;
|
|
308
|
+
}
|
|
309
|
+
else if (buffer[index] !== ' ') {
|
|
310
|
+
chars.push(buffer[index]);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
if (hadReturn) {
|
|
314
|
+
_return = chars.join('');
|
|
315
|
+
}
|
|
316
|
+
return {
|
|
317
|
+
name: functionName,
|
|
318
|
+
returnType: _return !== '' ? _return : 'void',
|
|
319
|
+
params,
|
|
320
|
+
isAsync: prefix === 'async'
|
|
321
|
+
};
|
|
322
|
+
}
|
|
323
|
+
getTypeFromValue(type) {
|
|
324
|
+
// TODO:
|
|
325
|
+
return type;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
exports.ModelServiceImpl = ModelServiceImpl;
|
|
329
|
+
//# sourceMappingURL=modelService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modelService.js","sourceRoot":"","sources":["../../../../../src/lib/model/application/modelService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/model/domain/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
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("./services"), exports);
|
|
18
|
+
__exportStar(require("./library"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/model/domain/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,4CAAyB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../../../../../src/lib/model/domain/library.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,CAAA;AAEhC,MAAM,WAAW,OAAO;IACvB,IAAI,CAAE,KAAK,EAAE,YAAY,GAAE,IAAI,CAAA;CAC/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"library.js","sourceRoot":"","sources":["../../../../../src/lib/model/domain/library.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Format } from '../../shared/domain';
|
|
2
|
+
import { OperatorAdditionalInfo, FunctionAdditionalInfo, OperatorMetadata } from '../../operand/domain/entities';
|
|
3
|
+
import { Library } from './library';
|
|
4
|
+
export interface ModelService {
|
|
5
|
+
get operatorAlias(): [string, any][];
|
|
6
|
+
get functionAlias(): [string, any][];
|
|
7
|
+
get enums(): [string, [string, any][]][];
|
|
8
|
+
get formats(): [string, Format][];
|
|
9
|
+
get constants(): [string, any][];
|
|
10
|
+
get operators(): [string, OperatorMetadata][];
|
|
11
|
+
get functions(): [string, OperatorMetadata][];
|
|
12
|
+
addEnum(name: string, values: [string, any][] | any): void;
|
|
13
|
+
addConstant(key: string, value: any): void;
|
|
14
|
+
addFormat(key: string, pattern: string): void;
|
|
15
|
+
addOperator(sing: string, source: any, additionalInfo: OperatorAdditionalInfo): void;
|
|
16
|
+
addFunction(sing: string, source: any, additionalInfo: FunctionAdditionalInfo): void;
|
|
17
|
+
addOperatorAlias(alias: string, reference: string): void;
|
|
18
|
+
addFunctionAlias(alias: string, reference: string): void;
|
|
19
|
+
addLibrary(library: Library): void;
|
|
20
|
+
getConstantValue(name: string): any | undefined;
|
|
21
|
+
getEnumValue(name: string, option: string): any;
|
|
22
|
+
getEnum(name: string): any;
|
|
23
|
+
getFormat(name: string): Format | undefined;
|
|
24
|
+
getOperator(operator: string, operands?: number): OperatorMetadata;
|
|
25
|
+
getFunction(name: string): OperatorMetadata;
|
|
26
|
+
priority(name: string, cardinality?: number): number;
|
|
27
|
+
isEnum(name: string): boolean;
|
|
28
|
+
isConstant(name: string): boolean;
|
|
29
|
+
isOperator(name: string, operands?: number): boolean;
|
|
30
|
+
isFunction(name: string): boolean;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=services.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../../../../src/lib/model/domain/services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,MAAM,WAAW,YAAY;IAC5B,IAAI,aAAa,IAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAA;IACnC,IAAI,aAAa,IAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAA;IACnC,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAA;IACxC,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;IACjC,IAAI,SAAS,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAA;IAChC,IAAI,SAAS,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,CAAA;IAC7C,IAAI,SAAS,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,CAAA;IAE7C,OAAO,CAAE,IAAI,EAAC,MAAM,EAAE,MAAM,EAAC,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,GAAE,IAAI,CAAA;IACxD,WAAW,CAAE,GAAG,EAAC,MAAM,EAAE,KAAK,EAAC,GAAG,GAAE,IAAI,CAAA;IACxC,SAAS,CAAE,GAAG,EAAC,MAAM,EAAE,OAAO,EAAC,MAAM,GAAE,IAAI,CAAA;IAC3C,WAAW,CAAE,IAAI,EAAC,MAAM,EAAE,MAAM,EAAC,GAAG,EAAE,cAAc,EAAE,sBAAsB,GAAE,IAAI,CAAA;IAClF,WAAW,CAAE,IAAI,EAAC,MAAM,EAAE,MAAM,EAAC,GAAG,EAAE,cAAc,EAAE,sBAAsB,GAAE,IAAI,CAAA;IAClF,gBAAgB,CAAE,KAAK,EAAC,MAAM,EAAE,SAAS,EAAC,MAAM,GAAE,IAAI,CAAA;IACtD,gBAAgB,CAAE,KAAK,EAAC,MAAM,EAAE,SAAS,EAAC,MAAM,GAAE,IAAI,CAAA;IAEtD,UAAU,CAAE,OAAO,EAAC,OAAO,GAAE,IAAI,CAAA;IACjC,gBAAgB,CAAE,IAAI,EAAC,MAAM,GAAG,GAAG,GAAG,SAAS,CAAA;IAC/C,YAAY,CAAE,IAAI,EAAC,MAAM,EAAE,MAAM,EAAC,MAAM,GAAE,GAAG,CAAA;IAC7C,OAAO,CAAE,IAAI,EAAC,MAAM,GAAE,GAAG,CAAA;IACzB,SAAS,CAAE,IAAI,EAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IAC3C,WAAW,CAAE,QAAQ,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAC,MAAM,GAAG,gBAAgB,CAAA;IACjE,WAAW,CAAE,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAA;IAC5C,QAAQ,CAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAC,MAAM,GAAG,MAAM,CAAA;IACpD,MAAM,CAAE,IAAI,EAAC,MAAM,GAAE,OAAO,CAAA;IAC5B,UAAU,CAAE,IAAI,EAAC,MAAM,GAAE,OAAO,CAAA;IAChC,UAAU,CAAE,IAAI,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAC,MAAM,GAAE,OAAO,CAAA;IAClD,UAAU,CAAE,IAAI,EAAC,MAAM,GAAE,OAAO,CAAA;CAEhC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"services.js","sourceRoot":"","sources":["../../../../../src/lib/model/domain/services.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ConstBuilder, OperandBuilder, OperandFacade, ParameterService } from '../domain';
|
|
2
|
+
import { OperandBuild } from '../application/useCases/build';
|
|
3
|
+
import { OperandClone } from '../application/useCases/clone';
|
|
4
|
+
import { Operand, Parameter } from '../../shared/domain';
|
|
5
|
+
export declare class OperandFacadeImpl implements OperandFacade {
|
|
6
|
+
readonly constBuilder: ConstBuilder;
|
|
7
|
+
private readonly parameterService;
|
|
8
|
+
private readonly operandBuild;
|
|
9
|
+
private readonly operandClone;
|
|
10
|
+
constructor(constBuilder: ConstBuilder, parameterService: ParameterService, operandBuild: OperandBuild, operandClone: OperandClone);
|
|
11
|
+
getBuilder(key: string): OperandBuilder;
|
|
12
|
+
/**
|
|
13
|
+
* Get parameters of expression
|
|
14
|
+
* @param expression expression
|
|
15
|
+
* @returns Parameters of expression
|
|
16
|
+
*/
|
|
17
|
+
parameters(expression: string): Parameter[];
|
|
18
|
+
/**
|
|
19
|
+
* Get type of expression
|
|
20
|
+
* @param expression expression
|
|
21
|
+
* @returns Type of expression
|
|
22
|
+
*/
|
|
23
|
+
type(expression: string): string;
|
|
24
|
+
build(expression: string, key?: string): Operand;
|
|
25
|
+
clone(source: Operand, key?: string): Operand;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=facade.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"facade.d.ts","sourceRoot":"","sources":["../../../../../src/lib/operand/application/facade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAGxD,qBAAa,iBAAkB,YAAW,aAAa;aAEzB,YAAY,EAAE,YAAY;IACvD,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAHA,YAAY,EAAE,YAAY,EACtC,gBAAgB,EAAC,gBAAgB,EACjC,YAAY,EAAC,YAAY,EACzB,YAAY,EAAC,YAAY;IAEnC,UAAU,CAAE,GAAG,EAAC,MAAM,GAAE,cAAc;IAI7C;;;;OAIG;IACI,UAAU,CAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE;IAKnD;;;;OAIG;IACI,IAAI,CAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAKjC,KAAK,CAAE,UAAU,EAAE,MAAM,EAAE,GAAG,SAAe,GAAG,OAAO;IAIvD,KAAK,CAAE,MAAM,EAAC,OAAO,EAAE,GAAG,SAAe,GAAE,OAAO;CAGzD"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OperandFacadeImpl = void 0;
|
|
4
|
+
const typ3s_1 = require("@data7expressions/typ3s");
|
|
5
|
+
class OperandFacadeImpl {
|
|
6
|
+
// eslint-disable-next-line no-useless-constructor
|
|
7
|
+
constructor(constBuilder, parameterService, operandBuild, operandClone) {
|
|
8
|
+
this.constBuilder = constBuilder;
|
|
9
|
+
this.parameterService = parameterService;
|
|
10
|
+
this.operandBuild = operandBuild;
|
|
11
|
+
this.operandClone = operandClone;
|
|
12
|
+
}
|
|
13
|
+
getBuilder(key) {
|
|
14
|
+
return this.operandBuild.get(key);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Get parameters of expression
|
|
18
|
+
* @param expression expression
|
|
19
|
+
* @returns Parameters of expression
|
|
20
|
+
*/
|
|
21
|
+
parameters(expression) {
|
|
22
|
+
const operand = this.operandBuild.build(expression, 'expression');
|
|
23
|
+
return this.parameterService.parameters(operand);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Get type of expression
|
|
27
|
+
* @param expression expression
|
|
28
|
+
* @returns Type of expression
|
|
29
|
+
*/
|
|
30
|
+
type(expression) {
|
|
31
|
+
const operand = this.operandBuild.build(expression, 'expression');
|
|
32
|
+
return typ3s_1.Type.stringify(operand.returnType);
|
|
33
|
+
}
|
|
34
|
+
build(expression, key = 'expression') {
|
|
35
|
+
return this.operandBuild.build(expression, key);
|
|
36
|
+
}
|
|
37
|
+
clone(source, key = 'expression') {
|
|
38
|
+
return this.operandClone.clone(source, key);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.OperandFacadeImpl = OperandFacadeImpl;
|
|
42
|
+
//# sourceMappingURL=facade.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"facade.js","sourceRoot":"","sources":["../../../../../src/lib/operand/application/facade.ts"],"names":[],"mappings":";;;AAIA,mDAA8C;AAE9C,MAAa,iBAAiB;IAC7B,kDAAkD;IAClD,YAA6B,YAA0B,EACtC,gBAAiC,EACjC,YAAyB,EACzB,YAAyB;QAHb,iBAAY,GAAZ,YAAY,CAAc;QACtC,qBAAgB,GAAhB,gBAAgB,CAAiB;QACjC,iBAAY,GAAZ,YAAY,CAAa;QACzB,iBAAY,GAAZ,YAAY,CAAa;IAAG,CAAC;IAEvC,UAAU,CAAE,GAAU;QAC5B,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAClC,CAAC;IAED;;;;OAIG;IACI,UAAU,CAAE,UAAkB;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;QACjE,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IACjD,CAAC;IAED;;;;OAIG;IACI,IAAI,CAAE,UAAkB;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;QACjE,OAAO,YAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAC1C,CAAC;IAEM,KAAK,CAAE,UAAkB,EAAE,GAAG,GAAG,YAAY;QACnD,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;IAChD,CAAC;IAEM,KAAK,CAAE,MAAc,EAAE,GAAG,GAAG,YAAY;QAC/C,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5C,CAAC;CACD;AAtCD,8CAsCC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export * from './services/factory';
|
|
2
|
+
export * from './useCases/reduce';
|
|
3
|
+
export * from './useCases/normalize';
|
|
4
|
+
export * from './useCases/complete';
|
|
5
|
+
export * from './useCases/clone';
|
|
6
|
+
export * from './services/serializer';
|
|
7
|
+
export * from './services/typeService';
|
|
8
|
+
export * from './useCases/build';
|
|
9
|
+
export * from './services/parameterService';
|
|
10
|
+
export * from './services/parser';
|
|
11
|
+
export * from './services/builder';
|
|
12
|
+
export * from './services/builderCacheDecorator';
|
|
13
|
+
export * from './services/normalizer';
|
|
14
|
+
export * from './facade';
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/operand/application/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kCAAkC,CAAA;AAChD,cAAc,uBAAuB,CAAA;AACrC,cAAc,UAAU,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
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("./services/factory"), exports);
|
|
18
|
+
__exportStar(require("./useCases/reduce"), exports);
|
|
19
|
+
__exportStar(require("./useCases/normalize"), exports);
|
|
20
|
+
__exportStar(require("./useCases/complete"), exports);
|
|
21
|
+
__exportStar(require("./useCases/clone"), exports);
|
|
22
|
+
__exportStar(require("./services/serializer"), exports);
|
|
23
|
+
__exportStar(require("./services/typeService"), exports);
|
|
24
|
+
__exportStar(require("./useCases/build"), exports);
|
|
25
|
+
__exportStar(require("./services/parameterService"), exports);
|
|
26
|
+
__exportStar(require("./services/parser"), exports);
|
|
27
|
+
__exportStar(require("./services/builder"), exports);
|
|
28
|
+
__exportStar(require("./services/builderCacheDecorator"), exports);
|
|
29
|
+
__exportStar(require("./services/normalizer"), exports);
|
|
30
|
+
__exportStar(require("./facade"), exports);
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/operand/application/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAkC;AAClC,oDAAiC;AACjC,uDAAoC;AACpC,sDAAmC;AACnC,mDAAgC;AAChC,wDAAqC;AACrC,yDAAsC;AACtC,mDAAgC;AAChC,8DAA2C;AAC3C,oDAAiC;AACjC,qDAAkC;AAClC,mEAAgD;AAChD,wDAAqC;AACrC,2CAAwB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Operand } from '../../../shared/domain';
|
|
2
|
+
import { ConstBuilder, EvaluatorFactory, OperandBuilder } from '../../domain';
|
|
3
|
+
import { ModelService } from '../../../model/domain';
|
|
4
|
+
export declare class OperandBuilderImpl implements OperandBuilder {
|
|
5
|
+
readonly evaluatorFactory: EvaluatorFactory;
|
|
6
|
+
private readonly model;
|
|
7
|
+
private readonly constBuilder;
|
|
8
|
+
private parse;
|
|
9
|
+
private normalize;
|
|
10
|
+
private operandNormalize;
|
|
11
|
+
private operandComplete;
|
|
12
|
+
private operandReduce;
|
|
13
|
+
private typeService;
|
|
14
|
+
constructor(evaluatorFactory: EvaluatorFactory, model: ModelService, constBuilder: ConstBuilder);
|
|
15
|
+
build(expression: string): Operand;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/operand/application/services/builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAGhD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAe,MAAM,cAAc,CAAA;AAE1F,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEpD,qBAAa,kBAAmB,YAAW,cAAc;aAO3B,gBAAgB,EAAC,gBAAgB;IAC7D,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAR9B,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,gBAAgB,CAAiB;IACzC,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,WAAW,CAAY;gBACF,gBAAgB,EAAC,gBAAgB,EAC5C,KAAK,EAAE,YAAY,EACnB,YAAY,EAAE,YAAY;IAUrC,KAAK,CAAE,UAAU,EAAE,MAAM,GAAG,OAAO;CAS1C"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OperandBuilderImpl = void 0;
|
|
4
|
+
const parser_1 = require("./parser");
|
|
5
|
+
const normalizer_1 = require("./normalizer");
|
|
6
|
+
const __1 = require("..");
|
|
7
|
+
class OperandBuilderImpl {
|
|
8
|
+
constructor(evaluatorFactory, model, constBuilder) {
|
|
9
|
+
this.evaluatorFactory = evaluatorFactory;
|
|
10
|
+
this.model = model;
|
|
11
|
+
this.constBuilder = constBuilder;
|
|
12
|
+
this.parse = new parser_1.ExpressionParse(this.model);
|
|
13
|
+
this.normalize = new normalizer_1.ExpressionNormalizer();
|
|
14
|
+
this.operandNormalize = new __1.OperandNormalize(this.model);
|
|
15
|
+
this.operandComplete = new __1.OperandComplete(this.evaluatorFactory);
|
|
16
|
+
this.operandReduce = new __1.OperandReduce(this.model, this.constBuilder);
|
|
17
|
+
this.typeService = new __1.TypeServiceImpl(this.model);
|
|
18
|
+
}
|
|
19
|
+
build(expression) {
|
|
20
|
+
const expressionNormalized = this.normalize.normalize(expression);
|
|
21
|
+
const operand = this.parse.parse(expressionNormalized);
|
|
22
|
+
const normalized = this.operandNormalize.normalize(operand);
|
|
23
|
+
const completed = this.operandComplete.complete(normalized);
|
|
24
|
+
const reduced = this.operandReduce.reduce(completed);
|
|
25
|
+
reduced.returnType = this.typeService.getType(reduced);
|
|
26
|
+
return reduced;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.OperandBuilderImpl = OperandBuilderImpl;
|
|
30
|
+
//# sourceMappingURL=builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../../../src/lib/operand/application/services/builder.ts"],"names":[],"mappings":";;;AAEA,qCAA0C;AAC1C,6CAAmD;AAEnD,0BAAsF;AAGtF,MAAa,kBAAkB;IAO9B,YAA6B,gBAAiC,EAC5C,KAAmB,EACnB,YAA0B;QAFf,qBAAgB,GAAhB,gBAAgB,CAAiB;QAC5C,UAAK,GAAL,KAAK,CAAc;QACnB,iBAAY,GAAZ,YAAY,CAAc;QAE3C,IAAI,CAAC,KAAK,GAAG,IAAI,wBAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5C,IAAI,CAAC,SAAS,GAAG,IAAI,iCAAoB,EAAE,CAAA;QAC3C,IAAI,CAAC,gBAAgB,GAAG,IAAI,oBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxD,IAAI,CAAC,eAAe,GAAG,IAAI,mBAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QACjE,IAAI,CAAC,aAAa,GAAG,IAAI,iBAAa,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QACrE,IAAI,CAAC,WAAW,GAAG,IAAI,mBAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACnD,CAAC;IAEM,KAAK,CAAE,UAAkB;QAC/B,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;QACjE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;QACtD,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACpD,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACtD,OAAO,OAAO,CAAA;IACf,CAAC;CACD;AA5BD,gDA4BC"}
|