@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,38 +1,35 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const ExpressionInterpreter_1 = require("./ExpressionInterpreter");
|
|
18
|
-
const LikeDesc_1 = require("../descriptors/LikeDesc");
|
|
19
|
-
const lodash_1 = require("lodash");
|
|
1
|
+
import { NotSupportedError, NotYetImplementedError } from '@allgemein/base';
|
|
2
|
+
import { In } from '../descriptors/InDesc.js';
|
|
3
|
+
import { Neq } from '../descriptors/NeqDesc.js';
|
|
4
|
+
import { Lt } from '../descriptors/LtDesc.js';
|
|
5
|
+
import { Gt } from '../descriptors/GtDesc.js';
|
|
6
|
+
import { And } from '../descriptors/AndDesc.js';
|
|
7
|
+
import { Eq } from '../descriptors/EqDesc.js';
|
|
8
|
+
import { Ge } from '../descriptors/GeDesc.js';
|
|
9
|
+
import { Key } from '../descriptors/KeyDesc.js';
|
|
10
|
+
import { Le } from '../descriptors/LeDesc.js';
|
|
11
|
+
import { Or } from '../descriptors/OrDesc.js';
|
|
12
|
+
import { Value } from '../descriptors/ValueDesc.js';
|
|
13
|
+
import { GroupDesc } from '../descriptors/GroupDesc.js';
|
|
14
|
+
import { ExpressionInterpreter } from './ExpressionInterpreter.js';
|
|
15
|
+
import { Like } from '../descriptors/LikeDesc.js';
|
|
16
|
+
import { clone, first, has, isArray, isPlainObject, isString } from '@allgemein/base';
|
|
20
17
|
const REGEX_ID = /^(([\w_]+)=((\d+)|(\d+(\.|\,)\d+)|\'([^\']*)\'),?)$/;
|
|
21
18
|
const REGEX_ID_G = /^(([\w_]+)=((\d+)|(\d+(\.|\,)\d+)|\'([^\']*)\'),?)$ /g;
|
|
22
19
|
const REGEX_ID_K = /^((\d+)|(\d+(\.|\,)\d+),?)+$/;
|
|
23
20
|
const REGEX_ID_KG = /^((\d+)|(\d+(\.|\,)\d+),?)+$/g;
|
|
24
21
|
const REGEX_ID_W = /^(\'([^\']*)\',?)+$/;
|
|
25
|
-
class Expressions {
|
|
22
|
+
export class Expressions {
|
|
26
23
|
static parse(str) {
|
|
27
|
-
if (
|
|
24
|
+
if (isString(str)) {
|
|
28
25
|
// check if JSON string
|
|
29
26
|
try {
|
|
30
|
-
|
|
27
|
+
const obj = JSON.parse(str.trim());
|
|
31
28
|
return this.fromJson(obj);
|
|
32
29
|
}
|
|
33
30
|
catch (e) {
|
|
34
31
|
try {
|
|
35
|
-
|
|
32
|
+
const interpreter = new ExpressionInterpreter();
|
|
36
33
|
return interpreter.interprete(str);
|
|
37
34
|
}
|
|
38
35
|
catch (e) {
|
|
@@ -40,14 +37,14 @@ class Expressions {
|
|
|
40
37
|
}
|
|
41
38
|
}
|
|
42
39
|
}
|
|
43
|
-
else if (
|
|
40
|
+
else if (isPlainObject(str)) {
|
|
44
41
|
return this.fromJson(str);
|
|
45
42
|
}
|
|
46
43
|
else {
|
|
47
|
-
throw new
|
|
44
|
+
throw new NotSupportedError('object cant be interpreted to conditions, wrong format');
|
|
48
45
|
}
|
|
49
46
|
}
|
|
50
|
-
//static validate(entityDef:EntityDef, condition:CondDesc)
|
|
47
|
+
// static validate(entityDef:EntityDef, condition:CondDesc)
|
|
51
48
|
/*
|
|
52
49
|
static fromJson(object: any): CondDesc {
|
|
53
50
|
let cond: CondDesc;
|
|
@@ -58,14 +55,14 @@ class Expressions {
|
|
|
58
55
|
if (/^(\$and|\$or)$/.test(data.key) && isArray(data.value)) {
|
|
59
56
|
console.log(data.key);
|
|
60
57
|
|
|
61
|
-
if (data.key
|
|
58
|
+
if (data.key === '$and') {
|
|
62
59
|
op = And()
|
|
63
|
-
} else if (data.key
|
|
60
|
+
} else if (data.key === '$or') {
|
|
64
61
|
op = Or()
|
|
65
62
|
}
|
|
66
63
|
(<any>data).cond = op;
|
|
67
64
|
} else if (data.key.startsWith('$') && !isPlainObject(data.value)) {
|
|
68
|
-
if (data.key
|
|
65
|
+
if (data.key === '$eq') {
|
|
69
66
|
let value = null;
|
|
70
67
|
if (isPlainObject(data.value)) {
|
|
71
68
|
if (has(data.value, '$key')) {
|
|
@@ -103,97 +100,97 @@ class Expressions {
|
|
|
103
100
|
return Object.keys(this.EXPR_REGISTRY);
|
|
104
101
|
}
|
|
105
102
|
static fromJson(object, srcKey = null, parent = null) {
|
|
106
|
-
if (
|
|
107
|
-
if (!parent || !(parent instanceof
|
|
108
|
-
parent =
|
|
103
|
+
if (isArray(object)) {
|
|
104
|
+
if (!parent || !(parent instanceof GroupDesc)) {
|
|
105
|
+
parent = Or();
|
|
109
106
|
}
|
|
110
|
-
for (
|
|
111
|
-
|
|
112
|
-
if (!(sub instanceof
|
|
107
|
+
for (const obj of object) {
|
|
108
|
+
const sub = this.fromJson(obj, null, parent);
|
|
109
|
+
if (!(sub instanceof GroupDesc)) {
|
|
113
110
|
parent.values.push(sub);
|
|
114
111
|
}
|
|
115
112
|
}
|
|
116
113
|
return parent;
|
|
117
114
|
}
|
|
118
|
-
else if (
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
if (keys.length
|
|
122
|
-
|
|
123
|
-
if (op
|
|
124
|
-
if (
|
|
125
|
-
|
|
126
|
-
if (parent instanceof
|
|
115
|
+
else if (isPlainObject(object)) {
|
|
116
|
+
const keys = Object.keys(object);
|
|
117
|
+
const operator = keys.filter(k => k.startsWith('$'));
|
|
118
|
+
if (keys.length === 1 && operator.length === 1) {
|
|
119
|
+
const op = operator.shift();
|
|
120
|
+
if (op === '$or' || op === '$and') {
|
|
121
|
+
if (isArray(object[op])) {
|
|
122
|
+
const desc = op === '$or' ? Or() : And();
|
|
123
|
+
if (parent instanceof GroupDesc) {
|
|
127
124
|
parent.values.push(desc);
|
|
128
125
|
}
|
|
129
126
|
return this.fromJson(object[op], null, desc);
|
|
130
127
|
}
|
|
131
128
|
else {
|
|
132
|
-
throw new
|
|
129
|
+
throw new NotSupportedError('or|and must have an array as value ' + JSON.stringify(object, null, 2));
|
|
133
130
|
}
|
|
134
131
|
}
|
|
135
132
|
else if (this.exprKeys().indexOf(op) > -1) {
|
|
136
|
-
|
|
133
|
+
const key = Key(srcKey);
|
|
137
134
|
let value = null;
|
|
138
|
-
if (
|
|
139
|
-
value =
|
|
135
|
+
if (isArray(object[op])) {
|
|
136
|
+
value = Value(object[op]);
|
|
140
137
|
}
|
|
141
|
-
else if (
|
|
142
|
-
if (
|
|
143
|
-
value =
|
|
138
|
+
else if (isPlainObject(object[op])) {
|
|
139
|
+
if (has(object[op], '$key')) {
|
|
140
|
+
value = Key(object[op].$key);
|
|
144
141
|
}
|
|
145
142
|
else {
|
|
146
143
|
// ???
|
|
147
|
-
throw new
|
|
144
|
+
throw new NotSupportedError('object given but without known operator');
|
|
148
145
|
}
|
|
149
146
|
}
|
|
150
147
|
else {
|
|
151
|
-
value =
|
|
148
|
+
value = Value(object[op]);
|
|
152
149
|
}
|
|
153
150
|
// @ts-ignore
|
|
154
151
|
return this.EXPR_REGISTRY[op](key, value);
|
|
155
152
|
}
|
|
156
153
|
else {
|
|
157
|
-
throw new
|
|
154
|
+
throw new NotSupportedError('operator ' + op + ' not supported');
|
|
158
155
|
}
|
|
159
156
|
}
|
|
160
|
-
else if (operator.length
|
|
161
|
-
|
|
162
|
-
for (
|
|
157
|
+
else if (operator.length === 0) {
|
|
158
|
+
const desc = [];
|
|
159
|
+
for (const k of keys) {
|
|
163
160
|
desc.push(this.fromJson(object[k], k, null));
|
|
164
161
|
}
|
|
165
|
-
if (desc.length
|
|
162
|
+
if (desc.length === 1) {
|
|
166
163
|
return desc.shift();
|
|
167
164
|
}
|
|
168
165
|
else {
|
|
169
|
-
return
|
|
166
|
+
return And(...desc);
|
|
170
167
|
}
|
|
171
168
|
}
|
|
172
169
|
else {
|
|
173
|
-
throw new
|
|
170
|
+
throw new NotSupportedError('object has wrong keys ' + JSON.stringify(object, null, 2));
|
|
174
171
|
}
|
|
175
172
|
}
|
|
176
173
|
else {
|
|
177
174
|
if (srcKey) {
|
|
178
|
-
return
|
|
175
|
+
return Eq(Key(srcKey), object);
|
|
179
176
|
}
|
|
180
|
-
throw new
|
|
177
|
+
throw new NotSupportedError('object cant be resolved ' + JSON.stringify(object, null, 2));
|
|
181
178
|
}
|
|
182
179
|
}
|
|
183
180
|
static parseLookupConditions(ref, id) {
|
|
184
|
-
|
|
181
|
+
const idProps = ref.getPropertyRefs().filter(p => p.isIdentifier());
|
|
185
182
|
if (/^\(.*(\)\s*,\s*\()?.*\)$/.test(id)) {
|
|
186
|
-
|
|
183
|
+
const ids = id.replace(/^\(|\)$/g, '').split(/\)\s*,\s*\(/);
|
|
187
184
|
return ids.map((_id) => this.parseLookupConditions(ref, _id));
|
|
188
185
|
}
|
|
189
186
|
else if (REGEX_ID.test(id)) {
|
|
190
|
-
|
|
187
|
+
const cond = {};
|
|
191
188
|
let e;
|
|
192
|
-
|
|
189
|
+
const keys = {};
|
|
193
190
|
while ((e = REGEX_ID_G.exec(id)) !== null) {
|
|
194
191
|
keys[e[2]] = e[4] || e[5] || e[7];
|
|
195
192
|
}
|
|
196
|
-
for (
|
|
193
|
+
for (const idp of idProps) {
|
|
197
194
|
if (keys[idp.name]) {
|
|
198
195
|
cond[idp.name] = idp.convert(keys[idp.name]);
|
|
199
196
|
}
|
|
@@ -201,8 +198,8 @@ class Expressions {
|
|
|
201
198
|
return cond;
|
|
202
199
|
}
|
|
203
200
|
else if (/^\d+(,\d+)+$/.test(id)) {
|
|
204
|
-
|
|
205
|
-
return ids.map((_id) => this.parseLookupConditions(ref,
|
|
201
|
+
const ids = id.split(',');
|
|
202
|
+
return ids.map((_id) => this.parseLookupConditions(ref, isString(_id) ? parseInt(_id, 0) : _id));
|
|
206
203
|
}
|
|
207
204
|
else if (REGEX_ID_K.test(id)) {
|
|
208
205
|
if (/^\'.*\'$/.test(id)) {
|
|
@@ -213,12 +210,12 @@ class Expressions {
|
|
|
213
210
|
let e;
|
|
214
211
|
let c = 0;
|
|
215
212
|
while ((e = REGEX_ID_KG.exec(id)) !== null) {
|
|
216
|
-
|
|
217
|
-
|
|
213
|
+
const p = idProps[c];
|
|
214
|
+
const v = e[2] || e[3];
|
|
218
215
|
c += 1;
|
|
219
216
|
cond[p.name] = p.convert(v);
|
|
220
217
|
if (c >= idProps.length) {
|
|
221
|
-
conds.push(
|
|
218
|
+
conds.push(clone(cond));
|
|
222
219
|
cond = {};
|
|
223
220
|
c = 0;
|
|
224
221
|
}
|
|
@@ -226,8 +223,8 @@ class Expressions {
|
|
|
226
223
|
return conds.length === 1 ? conds.shift() : conds;
|
|
227
224
|
}
|
|
228
225
|
else {
|
|
229
|
-
if (idProps.length
|
|
230
|
-
const prop =
|
|
226
|
+
if (idProps.length === 1) {
|
|
227
|
+
const prop = first(idProps);
|
|
231
228
|
const ids = id.split(',').map((x) => x.trim());
|
|
232
229
|
const conds = [];
|
|
233
230
|
for (const _id of ids) {
|
|
@@ -240,12 +237,12 @@ class Expressions {
|
|
|
240
237
|
else {
|
|
241
238
|
}
|
|
242
239
|
}
|
|
243
|
-
throw new
|
|
240
|
+
throw new NotYetImplementedError('for ' + id);
|
|
244
241
|
}
|
|
245
242
|
static buildLookupConditions(ref, data) {
|
|
246
|
-
|
|
247
|
-
if (
|
|
248
|
-
|
|
243
|
+
const idProps = ref.getPropertyRefs().filter(p => p.isIdentifier());
|
|
244
|
+
if (isArray(data)) {
|
|
245
|
+
const collect = [];
|
|
249
246
|
data.forEach(d => {
|
|
250
247
|
collect.push(this._buildLookupconditions(idProps, d));
|
|
251
248
|
});
|
|
@@ -261,10 +258,10 @@ class Expressions {
|
|
|
261
258
|
}
|
|
262
259
|
}
|
|
263
260
|
static _buildLookupconditions(idProps, data) {
|
|
264
|
-
|
|
261
|
+
const idPk = [];
|
|
265
262
|
idProps.forEach(id => {
|
|
266
|
-
|
|
267
|
-
if (
|
|
263
|
+
const v = id.get(data);
|
|
264
|
+
if (isString(v)) {
|
|
268
265
|
idPk.push('\'' + v + '\'');
|
|
269
266
|
}
|
|
270
267
|
else {
|
|
@@ -274,15 +271,14 @@ class Expressions {
|
|
|
274
271
|
return idPk.join(',');
|
|
275
272
|
}
|
|
276
273
|
}
|
|
277
|
-
exports.Expressions = Expressions;
|
|
278
274
|
Expressions.EXPR_REGISTRY = {
|
|
279
|
-
'$eq': (k, v) =>
|
|
280
|
-
'$ne': (k, v) =>
|
|
281
|
-
'$le': (k, v) =>
|
|
282
|
-
'$lt': (k, v) =>
|
|
283
|
-
'$ge': (k, v) =>
|
|
284
|
-
'$gt': (k, v) =>
|
|
285
|
-
'$like': (k, v) =>
|
|
286
|
-
'$in': (k, v) =>
|
|
275
|
+
'$eq': (k, v) => Eq(k, v),
|
|
276
|
+
'$ne': (k, v) => Neq(k, v),
|
|
277
|
+
'$le': (k, v) => Le(k, v),
|
|
278
|
+
'$lt': (k, v) => Lt(k, v),
|
|
279
|
+
'$ge': (k, v) => Ge(k, v),
|
|
280
|
+
'$gt': (k, v) => Gt(k, v),
|
|
281
|
+
'$like': (k, v) => Like(k, v),
|
|
282
|
+
'$in': (k, v) => In(k, v)
|
|
287
283
|
};
|
|
288
284
|
//# sourceMappingURL=Expressions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Expressions.js","sourceRoot":"","sources":["../../../../src/libs/expressions/Expressions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Expressions.js","sourceRoot":"","sources":["../../../../src/libs/expressions/Expressions.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@allgemein/expressions",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.1",
|
|
4
|
+
"type": "module",
|
|
4
5
|
"description": "Library for mango expressions",
|
|
5
6
|
"main": "index.js",
|
|
6
7
|
"directories": {
|
|
@@ -25,8 +26,8 @@
|
|
|
25
26
|
},
|
|
26
27
|
"homepage": "https://github.com/allgemein-node/expressions#readme",
|
|
27
28
|
"devDependencies": {
|
|
28
|
-
"@allgemein/base": "^1.
|
|
29
|
-
"@allgemein/schema-api": "^1.
|
|
29
|
+
"@allgemein/base": "^1.10.1",
|
|
30
|
+
"@allgemein/schema-api": "^1.8.1",
|
|
30
31
|
"@types/json-schema": "^7.0.7",
|
|
31
32
|
"glob": "^11.0.0",
|
|
32
33
|
"reflect-metadata": "^0.2.2"
|