@allgemein/expressions 1.3.1 → 1.4.1
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/README.md +66 -0
- package/browser.d.ts +18 -18
- package/browser.js +17 -47
- package/browser.js.map +1 -1
- package/index.d.ts +1 -1
- package/index.js +1 -17
- package/index.js.map +1 -1
- package/libs/descriptors/AndDesc.d.ts +2 -2
- package/libs/descriptors/AndDesc.js +6 -11
- package/libs/descriptors/AndDesc.js.map +1 -1
- package/libs/descriptors/EqDesc.d.ts +3 -3
- package/libs/descriptors/EqDesc.js +8 -13
- package/libs/descriptors/EqDesc.js.map +1 -1
- package/libs/descriptors/ExprDesc.d.ts +1 -1
- package/libs/descriptors/ExprDesc.js +60 -64
- package/libs/descriptors/ExprDesc.js.map +1 -1
- package/libs/descriptors/GeDesc.d.ts +3 -3
- package/libs/descriptors/GeDesc.js +6 -11
- package/libs/descriptors/GeDesc.js.map +1 -1
- package/libs/descriptors/GroupDesc.d.ts +1 -1
- package/libs/descriptors/GroupDesc.js +2 -6
- package/libs/descriptors/GroupDesc.js.map +1 -1
- package/libs/descriptors/GtDesc.d.ts +3 -3
- package/libs/descriptors/GtDesc.js +6 -11
- package/libs/descriptors/GtDesc.js.map +1 -1
- package/libs/descriptors/IExpr.js +1 -2
- package/libs/descriptors/InDesc.d.ts +3 -3
- package/libs/descriptors/InDesc.js +7 -12
- package/libs/descriptors/InDesc.js.map +1 -1
- package/libs/descriptors/KeyDesc.d.ts +1 -1
- package/libs/descriptors/KeyDesc.js +3 -8
- package/libs/descriptors/KeyDesc.js.map +1 -1
- package/libs/descriptors/LeDesc.d.ts +3 -3
- package/libs/descriptors/LeDesc.js +6 -11
- package/libs/descriptors/LeDesc.js.map +1 -1
- package/libs/descriptors/LikeDesc.d.ts +3 -3
- package/libs/descriptors/LikeDesc.js +8 -13
- package/libs/descriptors/LikeDesc.js.map +1 -1
- package/libs/descriptors/LtDesc.d.ts +3 -3
- package/libs/descriptors/LtDesc.js +6 -11
- package/libs/descriptors/LtDesc.js.map +1 -1
- package/libs/descriptors/NeqDesc.d.ts +3 -3
- package/libs/descriptors/NeqDesc.js +7 -12
- package/libs/descriptors/NeqDesc.js.map +1 -1
- package/libs/descriptors/OpDesc.d.ts +3 -3
- package/libs/descriptors/OpDesc.js +4 -8
- package/libs/descriptors/OpDesc.js.map +1 -1
- package/libs/descriptors/OrDesc.d.ts +2 -2
- package/libs/descriptors/OrDesc.js +6 -11
- package/libs/descriptors/OrDesc.js.map +1 -1
- package/libs/descriptors/Selector.d.ts +1 -1
- package/libs/descriptors/Selector.js +1 -5
- package/libs/descriptors/Selector.js.map +1 -1
- package/libs/descriptors/ValueDesc.d.ts +1 -1
- package/libs/descriptors/ValueDesc.js +3 -8
- package/libs/descriptors/ValueDesc.js.map +1 -1
- package/libs/exceptions/ExpressionValidationError.js +1 -5
- package/libs/exceptions/ExpressionValidationError.js.map +1 -1
- package/libs/expressions/ExpressionInterpreter.d.ts +1 -1
- package/libs/expressions/ExpressionInterpreter.js +82 -70
- package/libs/expressions/ExpressionInterpreter.js.map +1 -1
- package/libs/expressions/Expressions.d.ts +11 -11
- package/libs/expressions/Expressions.js +86 -90
- package/libs/expressions/Expressions.js.map +1 -1
- package/package.json +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValueDesc.js","sourceRoot":"","sources":["../../../../src/libs/descriptors/ValueDesc.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ValueDesc.js","sourceRoot":"","sources":["../../../../src/libs/descriptors/ValueDesc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAEvC,MAAM,OAAO,SAAU,SAAQ,QAAQ;IAIrC,YAAY,KAAsB;QAChC,KAAK,EAAE,CAAC;QAJD,SAAI,GAAW,OAAO,CAAC;QAK9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CAEF;AAGD;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAC,CAAkB;IACtC,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ExpressionValidationError = void 0;
|
|
4
|
-
class ExpressionValidationError extends Error {
|
|
1
|
+
export class ExpressionValidationError extends Error {
|
|
5
2
|
constructor(msg) {
|
|
6
3
|
super(msg);
|
|
7
4
|
Object.setPrototypeOf(this, ExpressionValidationError.prototype);
|
|
8
5
|
}
|
|
9
6
|
}
|
|
10
|
-
exports.ExpressionValidationError = ExpressionValidationError;
|
|
11
7
|
//# sourceMappingURL=ExpressionValidationError.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpressionValidationError.js","sourceRoot":"","sources":["../../../../src/libs/exceptions/ExpressionValidationError.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ExpressionValidationError.js","sourceRoot":"","sources":["../../../../src/libs/exceptions/ExpressionValidationError.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAElD,YAAY,GAAW;QACrB,KAAK,CAAC,GAAG,CAAC,CAAC;QACX,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;CAEF"}
|
|
@@ -1,85 +1,98 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const OrDesc_1 = require("../descriptors/OrDesc");
|
|
17
|
-
const lodash_1 = require("lodash");
|
|
18
|
-
class ExpressionInterpreter {
|
|
1
|
+
import { Like } from '../descriptors/LikeDesc.js';
|
|
2
|
+
import { Lt } from '../descriptors/LtDesc.js';
|
|
3
|
+
import { Gt } from '../descriptors/GtDesc.js';
|
|
4
|
+
import { In } from '../descriptors/InDesc.js';
|
|
5
|
+
import { Neq } from '../descriptors/NeqDesc.js';
|
|
6
|
+
import { Eq } from '../descriptors/EqDesc.js';
|
|
7
|
+
import { Le } from '../descriptors/LeDesc.js';
|
|
8
|
+
import { Key } from '../descriptors/KeyDesc.js';
|
|
9
|
+
import { Value } from '../descriptors/ValueDesc.js';
|
|
10
|
+
import { Ge } from '../descriptors/GeDesc.js';
|
|
11
|
+
import { GroupDesc } from '../descriptors/GroupDesc.js';
|
|
12
|
+
import { And } from '../descriptors/AndDesc.js';
|
|
13
|
+
import { Or } from '../descriptors/OrDesc.js';
|
|
14
|
+
import { findIndex, first, isEmpty, isUndefined, last, remove } from '@allgemein/base';
|
|
15
|
+
export class ExpressionInterpreter {
|
|
19
16
|
constructor() {
|
|
20
|
-
//rootEntityDef:EntityDef;
|
|
17
|
+
// rootEntityDef:EntityDef;
|
|
21
18
|
this.groupLevel = 0;
|
|
22
19
|
this.ops = [
|
|
23
20
|
{
|
|
24
21
|
name: 'visitGroup',
|
|
25
22
|
regex: /\(/,
|
|
26
23
|
method: this.visitGroup,
|
|
27
|
-
after: [
|
|
24
|
+
after: [
|
|
25
|
+
null,
|
|
26
|
+
'visitGroup',
|
|
27
|
+
'onBool'
|
|
28
|
+
]
|
|
28
29
|
},
|
|
29
30
|
{
|
|
30
31
|
name: 'leaveGroup',
|
|
31
32
|
regex: /\)/,
|
|
32
33
|
method: this.leaveGroup,
|
|
33
|
-
condition: () =>
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
condition: () => this.groupLevel > 0,
|
|
35
|
+
after: [
|
|
36
|
+
'onValue',
|
|
37
|
+
'leaveGroup'
|
|
38
|
+
]
|
|
37
39
|
},
|
|
38
40
|
{
|
|
39
41
|
name: 'onKey',
|
|
40
42
|
regex: /('[^']+')|("[^"]+")|(\w|\.|\d)+/,
|
|
41
43
|
method: this.onKey,
|
|
42
44
|
skipIndex: 3,
|
|
43
|
-
after: [
|
|
45
|
+
after: [
|
|
46
|
+
null,
|
|
47
|
+
'visitGroup',
|
|
48
|
+
'onBool'
|
|
49
|
+
]
|
|
44
50
|
},
|
|
45
51
|
{
|
|
46
52
|
name: 'onBool',
|
|
47
53
|
regex: / (and|AND|or|OR) /,
|
|
48
54
|
method: this.onBool,
|
|
49
55
|
skipIndex: 1,
|
|
50
|
-
after: [
|
|
56
|
+
after: [
|
|
57
|
+
'leaveGroup',
|
|
58
|
+
'onValue'
|
|
59
|
+
]
|
|
51
60
|
},
|
|
52
61
|
{
|
|
53
62
|
name: 'onOperator',
|
|
54
63
|
regex: /(>=|<=|<>|>|<|=| in | IN | like | LIKE )/,
|
|
55
64
|
method: this.onOperator,
|
|
56
65
|
skipIndex: 1,
|
|
57
|
-
after: [
|
|
66
|
+
after: [
|
|
67
|
+
'onKey'
|
|
68
|
+
]
|
|
58
69
|
},
|
|
59
70
|
{
|
|
60
71
|
name: 'onValue',
|
|
61
72
|
regex: /('[^']*')|("[^"]*")|\d+|\d+.\d+|(\(((('[^']*')|("[^"]*")|\d+|\d+.\d+)\s*,?\s*)+\))/,
|
|
62
73
|
method: this.onValue,
|
|
63
74
|
skipIndex: 7,
|
|
64
|
-
after: [
|
|
75
|
+
after: [
|
|
76
|
+
'onOperator'
|
|
77
|
+
]
|
|
65
78
|
},
|
|
66
79
|
];
|
|
67
80
|
this.res = [];
|
|
68
81
|
this.queue = [];
|
|
69
|
-
//this.rootEntityDef = entityDef;
|
|
82
|
+
// this.rootEntityDef = entityDef;
|
|
70
83
|
}
|
|
71
84
|
interprete(str) {
|
|
72
85
|
this.fragmentize(str);
|
|
73
|
-
return
|
|
86
|
+
return first(this.res);
|
|
74
87
|
}
|
|
75
88
|
fragmentize(str) {
|
|
76
|
-
|
|
77
|
-
|
|
89
|
+
const lastState = last(this.queue);
|
|
90
|
+
const currentOps = this.ops.filter(x => {
|
|
78
91
|
let _true = true;
|
|
79
92
|
if (x.condition) {
|
|
80
93
|
_true = x.condition();
|
|
81
94
|
}
|
|
82
|
-
if (
|
|
95
|
+
if (isEmpty(x.after)) {
|
|
83
96
|
return _true;
|
|
84
97
|
}
|
|
85
98
|
if (!lastState) {
|
|
@@ -89,25 +102,25 @@ class ExpressionInterpreter {
|
|
|
89
102
|
return _true && x.after.indexOf(lastState.state) > -1;
|
|
90
103
|
}
|
|
91
104
|
});
|
|
92
|
-
//console.log(currentOps.map(x => x.name));
|
|
105
|
+
// console.log(currentOps.map(x => x.name));
|
|
93
106
|
let inc = 0;
|
|
94
|
-
|
|
107
|
+
const map = {};
|
|
95
108
|
currentOps.map((x, index) => {
|
|
96
109
|
map[inc] = index;
|
|
97
110
|
inc = x.skipIndex ? inc + x.skipIndex : inc + 1;
|
|
98
111
|
});
|
|
99
112
|
const regex = new RegExp('^\\s*' + currentOps.map(x => '(' + x.regex.source + ')').join('|'), 'gim');
|
|
100
|
-
|
|
113
|
+
const arr = regex.exec(str);
|
|
101
114
|
if (arr) {
|
|
102
115
|
// let index = arr.findIndex(x => !isUndefined(x));
|
|
103
|
-
|
|
116
|
+
const index = findIndex(arr, x => !isUndefined(x), 1) - 1;
|
|
104
117
|
if (index > -1) {
|
|
105
|
-
|
|
106
|
-
|
|
118
|
+
const opId = map[index];
|
|
119
|
+
const op = currentOps[opId];
|
|
107
120
|
// console.log(map, regex, arr, regex.lastIndex,op.name);
|
|
108
121
|
op.method.apply(this, [arr[index + 1], str]);
|
|
109
122
|
const nextStr = str.substring(regex.lastIndex);
|
|
110
|
-
if (!
|
|
123
|
+
if (!isEmpty(nextStr)) {
|
|
111
124
|
this.fragmentize(nextStr);
|
|
112
125
|
}
|
|
113
126
|
}
|
|
@@ -130,7 +143,7 @@ class ExpressionInterpreter {
|
|
|
130
143
|
}
|
|
131
144
|
*/
|
|
132
145
|
onKey(match, str) {
|
|
133
|
-
|
|
146
|
+
const key = match.replace(/^('|")|('|")$/g, '');
|
|
134
147
|
this.queue.push({
|
|
135
148
|
group: this.groupLevel,
|
|
136
149
|
value: key,
|
|
@@ -171,34 +184,34 @@ class ExpressionInterpreter {
|
|
|
171
184
|
return value2;
|
|
172
185
|
});
|
|
173
186
|
}
|
|
174
|
-
|
|
175
|
-
|
|
187
|
+
const op = this.queue.pop();
|
|
188
|
+
const key = this.queue.pop();
|
|
176
189
|
let erg;
|
|
177
|
-
if (op.state
|
|
190
|
+
if (op.state === 'onOperator' && key && key.state === 'onKey') {
|
|
178
191
|
switch (op.value.trim().toLowerCase()) {
|
|
179
192
|
case '=':
|
|
180
|
-
erg =
|
|
193
|
+
erg = Eq(Key(key.value), Value(value));
|
|
181
194
|
break;
|
|
182
195
|
case 'like':
|
|
183
|
-
erg =
|
|
196
|
+
erg = Like(Key(key.value), Value(value));
|
|
184
197
|
break;
|
|
185
198
|
case '<=':
|
|
186
|
-
erg =
|
|
199
|
+
erg = Le(Key(key.value), Value(value));
|
|
187
200
|
break;
|
|
188
201
|
case '>=':
|
|
189
|
-
erg =
|
|
202
|
+
erg = Ge(Key(key.value), Value(value));
|
|
190
203
|
break;
|
|
191
204
|
case '<':
|
|
192
|
-
erg =
|
|
205
|
+
erg = Lt(Key(key.value), Value(value));
|
|
193
206
|
break;
|
|
194
207
|
case '>':
|
|
195
|
-
erg =
|
|
208
|
+
erg = Gt(Key(key.value), Value(value));
|
|
196
209
|
break;
|
|
197
210
|
case 'in':
|
|
198
|
-
erg =
|
|
211
|
+
erg = In(Key(key.value), Value(value));
|
|
199
212
|
break;
|
|
200
213
|
case '<>':
|
|
201
|
-
erg =
|
|
214
|
+
erg = Neq(Key(key.value), Value(value));
|
|
202
215
|
break;
|
|
203
216
|
default:
|
|
204
217
|
throw new Error('operator not found');
|
|
@@ -215,8 +228,8 @@ class ExpressionInterpreter {
|
|
|
215
228
|
key: key,
|
|
216
229
|
desc: erg
|
|
217
230
|
});
|
|
218
|
-
|
|
219
|
-
if (res instanceof
|
|
231
|
+
const res = last(this.res);
|
|
232
|
+
if (res instanceof GroupDesc) {
|
|
220
233
|
res.values.push(erg);
|
|
221
234
|
}
|
|
222
235
|
else {
|
|
@@ -225,7 +238,7 @@ class ExpressionInterpreter {
|
|
|
225
238
|
}
|
|
226
239
|
visitGroup() {
|
|
227
240
|
this.groupLevel++;
|
|
228
|
-
|
|
241
|
+
const groupDesc = new GroupDesc();
|
|
229
242
|
groupDesc.id = this.groupLevel;
|
|
230
243
|
this.res.push(groupDesc);
|
|
231
244
|
this.queue.push({
|
|
@@ -235,12 +248,12 @@ class ExpressionInterpreter {
|
|
|
235
248
|
});
|
|
236
249
|
}
|
|
237
250
|
leaveGroup() {
|
|
238
|
-
|
|
239
|
-
if (group && group.type
|
|
240
|
-
|
|
251
|
+
const group = this.res.find(g => g instanceof GroupDesc ? g.id === this.groupLevel : false);
|
|
252
|
+
if (group && group.type === 'group') {
|
|
253
|
+
remove(this.res, g => g instanceof GroupDesc ? g.id === this.groupLevel : false);
|
|
241
254
|
// embedded withotu bool
|
|
242
|
-
|
|
243
|
-
|
|
255
|
+
const prevGid = this.groupLevel - 1;
|
|
256
|
+
const prevGroup = this.res.find(g => g instanceof GroupDesc ? g.id === prevGid : false);
|
|
244
257
|
if (prevGroup) {
|
|
245
258
|
group.values.forEach((v) => prevGroup.values.push(v));
|
|
246
259
|
group.values = [];
|
|
@@ -254,26 +267,26 @@ class ExpressionInterpreter {
|
|
|
254
267
|
state: 'leaveGroup',
|
|
255
268
|
desc: group
|
|
256
269
|
});
|
|
257
|
-
//this.
|
|
270
|
+
// this.
|
|
258
271
|
this.groupLevel--;
|
|
259
272
|
}
|
|
260
273
|
onBool(match) {
|
|
261
|
-
|
|
262
|
-
|
|
274
|
+
const bool = match.trim().toLocaleUpperCase();
|
|
275
|
+
const last = this.res.pop();
|
|
263
276
|
let group;
|
|
264
|
-
if (last instanceof
|
|
277
|
+
if (last instanceof GroupDesc && last.id === this.groupLevel && last.type.toLowerCase() === bool.toLowerCase()) {
|
|
265
278
|
// DO NOTTING
|
|
266
279
|
group = last;
|
|
267
280
|
this.res.push(group);
|
|
268
281
|
}
|
|
269
|
-
else if (last instanceof
|
|
282
|
+
else if (last instanceof GroupDesc && last.type === 'group') {
|
|
270
283
|
// undefined
|
|
271
284
|
switch (bool) {
|
|
272
285
|
case 'AND':
|
|
273
|
-
group =
|
|
286
|
+
group = And(...last.values);
|
|
274
287
|
break;
|
|
275
288
|
case 'OR':
|
|
276
|
-
group =
|
|
289
|
+
group = Or(...last.values);
|
|
277
290
|
break;
|
|
278
291
|
}
|
|
279
292
|
group.id = this.groupLevel;
|
|
@@ -282,10 +295,10 @@ class ExpressionInterpreter {
|
|
|
282
295
|
else {
|
|
283
296
|
switch (bool) {
|
|
284
297
|
case 'AND':
|
|
285
|
-
group =
|
|
298
|
+
group = And(last);
|
|
286
299
|
break;
|
|
287
300
|
case 'OR':
|
|
288
|
-
group =
|
|
301
|
+
group = Or(last);
|
|
289
302
|
break;
|
|
290
303
|
}
|
|
291
304
|
group.id = this.groupLevel;
|
|
@@ -299,5 +312,4 @@ class ExpressionInterpreter {
|
|
|
299
312
|
});
|
|
300
313
|
}
|
|
301
314
|
}
|
|
302
|
-
exports.ExpressionInterpreter = ExpressionInterpreter;
|
|
303
315
|
//# sourceMappingURL=ExpressionInterpreter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpressionInterpreter.js","sourceRoot":"","sources":["../../../../src/libs/expressions/ExpressionInterpreter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ExpressionInterpreter.js","sourceRoot":"","sources":["../../../../src/libs/expressions/ExpressionInterpreter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,4BAA4B,CAAC;AAChD,OAAO,EAAC,EAAE,EAAC,MAAM,0BAA0B,CAAC;AAC5C,OAAO,EAAC,EAAE,EAAC,MAAM,0BAA0B,CAAC;AAC5C,OAAO,EAAC,EAAE,EAAC,MAAM,0BAA0B,CAAC;AAC5C,OAAO,EAAC,GAAG,EAAC,MAAM,2BAA2B,CAAC;AAE9C,OAAO,EAAC,EAAE,EAAC,MAAM,0BAA0B,CAAC;AAC5C,OAAO,EAAC,EAAE,EAAC,MAAM,0BAA0B,CAAC;AAC5C,OAAO,EAAC,GAAG,EAAC,MAAM,2BAA2B,CAAC;AAC9C,OAAO,EAAC,KAAK,EAAC,MAAM,6BAA6B,CAAC;AAClD,OAAO,EAAC,EAAE,EAAC,MAAM,0BAA0B,CAAC;AAC5C,OAAO,EAAC,SAAS,EAAC,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAC,GAAG,EAAC,MAAM,2BAA2B,CAAC;AAC9C,OAAO,EAAC,EAAE,EAAC,MAAM,0BAA0B,CAAC;AAC5C,OAAO,EAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAGrF,MAAM,OAAO,qBAAqB;IA0EhC;QAxEA,2BAA2B;QAE3B,eAAU,GAAW,CAAC,CAAC;QAEvB,QAAG,GAAU;YACX;gBACE,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,KAAK,EAAE;oBACL,IAAI;oBACJ,YAAY;oBACZ,QAAQ;iBACT;aACF;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC;gBACpC,KAAK,EAAE;oBACL,SAAS;oBACT,YAAY;iBACb;aACF;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,iCAAiC;gBACxC,MAAM,EAAE,IAAI,CAAC,KAAK;gBAClB,SAAS,EAAE,CAAC;gBACZ,KAAK,EAAE;oBACL,IAAI;oBACJ,YAAY;oBACZ,QAAQ;iBACT;aACF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,mBAAmB;gBAC1B,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,SAAS,EAAE,CAAC;gBACZ,KAAK,EAAE;oBACL,YAAY;oBACZ,SAAS;iBACV;aACF;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,0CAA0C;gBACjD,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,SAAS,EAAE,CAAC;gBACZ,KAAK,EAAE;oBACL,OAAO;iBACR;aACF;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,oFAAoF;gBAC3F,MAAM,EAAE,IAAI,CAAC,OAAO;gBACpB,SAAS,EAAE,CAAC;gBACZ,KAAK,EAAE;oBACL,YAAY;iBACb;aACF;SACF,CAAC;QAEF,QAAG,GAAe,EAAE,CAAC;QAErB,UAAK,GAAU,EAAE,CAAC;QAKhB,kCAAkC;IACpC,CAAC;IAGD,UAAU,CAAC,GAAW;QACpB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACtB,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAGD,WAAW,CAAC,GAAW;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEnC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACrC,IAAI,KAAK,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;gBAChB,KAAK,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;YACxB,CAAC;YACD,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,OAAO,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YACxD,CAAC;QAEH,CAAC,CAAC,CAAC;QACH,4CAA4C;QAC5C,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YAC1B,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACjB,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QACrG,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,GAAG,EAAE,CAAC;YACR,mDAAmD;YACnD,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;YAE1D,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;gBACf,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;gBACxB,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC5B,yDAAyD;gBACzD,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC7C,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC/C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBACtB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,GAAG,GAAG,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED;;;;;;;;;MASE;IAEF,KAAK,CAAC,KAAa,EAAE,GAAW;QAC9B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACd,KAAK,EAAE,IAAI,CAAC,UAAU;YACtB,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,OAAO;SACf,CAAC,CAAC;IAEL,CAAC;IAGD,UAAU,CAAC,KAAa,EAAE,GAAW;QACnC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACd,KAAK,EAAE,IAAI,CAAC,UAAU;YACtB,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,YAAY;SACpB,CAAC,CAAC;IACL,CAAC;IAGD,OAAO,CAAC,KAAa,EAAE,GAAW;QAChC,IAAI,KAAU,CAAC;QACf,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;aAAM,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBAChE,GAAG,CAAC,CAAC,CAAC,EAAE;gBACP,IAAI,MAAM,GAAQ,CAAC,CAAC;gBACpB,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5B,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;gBAC3C,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3B,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC;qBAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBACzB,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC;QAGD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAG7B,IAAI,GAAa,CAAC;QAClB,IAAI,EAAE,CAAC,KAAK,KAAK,YAAY,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC9D,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;gBACtC,KAAK,GAAG;oBACN,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvC,MAAM;gBACR,KAAK,MAAM;oBACT,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;oBACzC,MAAM;gBACR,KAAK,IAAI;oBACP,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvC,MAAM;gBACR,KAAK,IAAI;oBACP,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvC,MAAM;gBACR,KAAK,GAAG;oBACN,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvC,MAAM;gBACR,KAAK,GAAG;oBACN,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvC,MAAM;gBACR,KAAK,IAAI;oBACP,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvC,MAAM;gBACR,KAAK,IAAI;oBACP,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;oBACxC,MAAM;gBACR;oBACE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QAGD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACd,KAAK,EAAE,IAAI,CAAC,UAAU;YACtB,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,EAAE;YACN,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,GAAG;SACV,CAAC,CAAC;QAGH,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,GAAG,YAAY,SAAS,EAAE,CAAC;YAC7B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAGD,UAAU;QACR,IAAI,CAAC,UAAU,EAAE,CAAC;QAGlB,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;QAClC,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACd,KAAK,EAAE,IAAI,CAAC,UAAU;YACtB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,YAAY;SACpB,CAAC,CAAC;IACL,CAAC;IAGD,UAAU;QAER,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC5F,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACjF,wBAAwB;YACxB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACpC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxF,IAAI,SAAS,EAAE,CAAC;gBACd,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAW,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChE,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACd,KAAK,EAAE,IAAI,CAAC,UAAU;YACtB,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QAGH,QAAQ;QAER,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,iBAAiB,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,KAAgB,CAAC;QAErB,IAAI,IAAI,YAAY,SAAS,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAC/G,aAAa;YACb,KAAK,GAAG,IAAI,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;aAAM,IAAI,IAAI,YAAY,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC9D,YAAY;YACZ,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,KAAK;oBACR,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC5B,MAAM;gBACR,KAAK,IAAI;oBACP,KAAK,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC3B,MAAM;YACV,CAAC;YACD,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,KAAK;oBACR,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;oBAClB,MAAM;gBACR,KAAK,IAAI;oBACP,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;oBACjB,MAAM;YACV,CAAC;YACD,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACd,KAAK,EAAE,IAAI,CAAC,UAAU;YACtB,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,iBAAiB,EAAE;YACvC,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IAEL,CAAC;CAGF"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { ExprDesc } from '../descriptors/ExprDesc';
|
|
2
|
-
import { KeyDesc } from '../descriptors/KeyDesc';
|
|
1
|
+
import { ExprDesc } from '../descriptors/ExprDesc.js';
|
|
2
|
+
import { KeyDesc } from '../descriptors/KeyDesc.js';
|
|
3
3
|
import { IClassRef, IEntityRef } from '@allgemein/schema-api';
|
|
4
|
-
import { Selector } from '../descriptors/Selector';
|
|
4
|
+
import { Selector } from '../descriptors/Selector.js';
|
|
5
5
|
export declare class Expressions {
|
|
6
6
|
static EXPR_REGISTRY: {
|
|
7
|
-
$eq: (k: KeyDesc, v: Selector) => import("../descriptors/EqDesc").EqDesc;
|
|
8
|
-
$ne: (k: KeyDesc, v: Selector) => import("../descriptors/NeqDesc").NeqDesc;
|
|
9
|
-
$le: (k: KeyDesc, v: Selector) => import("../descriptors/LeDesc").LeDesc;
|
|
10
|
-
$lt: (k: KeyDesc, v: Selector) => import("../descriptors/LtDesc").LtDesc;
|
|
11
|
-
$ge: (k: KeyDesc, v: Selector) => import("../descriptors/GeDesc").GeDesc;
|
|
12
|
-
$gt: (k: KeyDesc, v: Selector) => import("../descriptors/GtDesc").GtDesc;
|
|
13
|
-
$like: (k: KeyDesc, v: Selector) => import("../descriptors/LikeDesc").LikeDesc;
|
|
14
|
-
$in: (k: KeyDesc, v: Selector) => import("../descriptors/InDesc").InDesc;
|
|
7
|
+
$eq: (k: KeyDesc, v: Selector) => import("../descriptors/EqDesc.js").EqDesc;
|
|
8
|
+
$ne: (k: KeyDesc, v: Selector) => import("../descriptors/NeqDesc.js").NeqDesc;
|
|
9
|
+
$le: (k: KeyDesc, v: Selector) => import("../descriptors/LeDesc.js").LeDesc;
|
|
10
|
+
$lt: (k: KeyDesc, v: Selector) => import("../descriptors/LtDesc.js").LtDesc;
|
|
11
|
+
$ge: (k: KeyDesc, v: Selector) => import("../descriptors/GeDesc.js").GeDesc;
|
|
12
|
+
$gt: (k: KeyDesc, v: Selector) => import("../descriptors/GtDesc.js").GtDesc;
|
|
13
|
+
$like: (k: KeyDesc, v: Selector) => import("../descriptors/LikeDesc.js").LikeDesc;
|
|
14
|
+
$in: (k: KeyDesc, v: Selector) => import("../descriptors/InDesc.js").InDesc;
|
|
15
15
|
};
|
|
16
16
|
static parse(str: any): ExprDesc;
|
|
17
17
|
static exprKeys(): string[];
|