@allgemein/mango-expressions 1.1.1 → 1.3.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/Constants.js +1 -2
- package/Constants.js.map +1 -1
- package/IMangoWalker.d.ts +8 -8
- package/IMangoWalker.js +1 -2
- package/IMangoWalker.js.map +1 -1
- package/LICENSE +1 -1
- package/MangoExpression.d.ts +8 -4
- package/MangoExpression.js +35 -25
- package/MangoExpression.js.map +1 -1
- package/ast/Bindings.d.ts +11 -0
- package/ast/Bindings.js +11 -0
- package/ast/Bindings.js.map +1 -0
- package/ast/Context.js +8 -9
- package/ast/Context.js.map +1 -1
- package/ast/KeyDesc.d.ts +10 -0
- package/ast/KeyDesc.js +20 -0
- package/ast/KeyDesc.js.map +1 -0
- package/ast/MultiArgs.js +1 -2
- package/ast/MultiArgs.js.map +1 -1
- package/ast/PArray.d.ts +3 -5
- package/ast/PArray.js +19 -17
- package/ast/PArray.js.map +1 -1
- package/ast/PAst.d.ts +23 -8
- package/ast/PAst.js +114 -8
- package/ast/PAst.js.map +1 -1
- package/ast/PObject.d.ts +10 -9
- package/ast/PObject.js +58 -33
- package/ast/PObject.js.map +1 -1
- package/ast/PValue.d.ts +4 -4
- package/ast/PValue.js +7 -5
- package/ast/PValue.js.map +1 -1
- package/ast/Selector.d.ts +6 -0
- package/ast/Selector.js +13 -0
- package/ast/Selector.js.map +1 -0
- package/ast/Unset.js +1 -2
- package/ast/Unset.js.map +1 -1
- package/ast/Value.js +1 -2
- package/ast/Value.js.map +1 -1
- package/ast/ValueRef.d.ts +1 -0
- package/ast/ValueRef.js +4 -2
- package/ast/ValueRef.js.map +1 -1
- package/browser.d.ts +5 -5
- package/browser.js +12 -10
- package/browser.js.map +1 -1
- package/index.d.ts +1 -1
- package/index.js +5 -6
- package/index.js.map +1 -1
- package/operators/AbstractOperator.d.ts +3 -7
- package/operators/AbstractOperator.js +24 -15
- package/operators/AbstractOperator.js.map +1 -1
- package/operators/Operators.d.ts +2 -1
- package/operators/Operators.js +7 -8
- package/operators/Operators.js.map +1 -1
- package/operators/arithmetic/Avg.d.ts +1 -1
- package/operators/arithmetic/Avg.js +1 -2
- package/operators/arithmetic/Avg.js.map +1 -1
- package/operators/arithmetic/Count.d.ts +1 -1
- package/operators/arithmetic/Count.js +1 -2
- package/operators/arithmetic/Count.js.map +1 -1
- package/operators/arithmetic/Max.d.ts +1 -1
- package/operators/arithmetic/Max.js +1 -2
- package/operators/arithmetic/Max.js.map +1 -1
- package/operators/arithmetic/Min.d.ts +1 -1
- package/operators/arithmetic/Min.js +1 -2
- package/operators/arithmetic/Min.js.map +1 -1
- package/operators/arithmetic/Multiply.d.ts +1 -1
- package/operators/arithmetic/Multiply.js +1 -2
- package/operators/arithmetic/Multiply.js.map +1 -1
- package/operators/arithmetic/Sum.d.ts +1 -1
- package/operators/arithmetic/Sum.js +1 -2
- package/operators/arithmetic/Sum.js.map +1 -1
- package/operators/array/First.d.ts +1 -2
- package/operators/array/First.js +4 -5
- package/operators/array/First.js.map +1 -1
- package/operators/array/Last.d.ts +1 -2
- package/operators/array/Last.js +4 -5
- package/operators/array/Last.js.map +1 -1
- package/operators/array/Map.d.ts +3 -3
- package/operators/array/Map.js +8 -9
- package/operators/array/Map.js.map +1 -1
- package/operators/compare/AbstractCompare.d.ts +2 -2
- package/operators/compare/AbstractCompare.js +4 -4
- package/operators/compare/AbstractCompare.js.map +1 -1
- package/operators/compare/EqualDesc.d.ts +10 -0
- package/operators/compare/EqualDesc.js +21 -0
- package/operators/compare/EqualDesc.js.map +1 -0
- package/operators/compare/EqualDescLookup.d.ts +5 -0
- package/operators/compare/EqualDescLookup.js +37 -0
- package/operators/compare/EqualDescLookup.js.map +1 -0
- package/operators/compare/GreaterThen.d.ts +1 -2
- package/operators/compare/GreaterThen.js +1 -2
- package/operators/compare/GreaterThen.js.map +1 -1
- package/operators/compare/GreaterThenEqual.d.ts +1 -2
- package/operators/compare/GreaterThenEqual.js +1 -2
- package/operators/compare/GreaterThenEqual.js.map +1 -1
- package/operators/compare/In.d.ts +1 -2
- package/operators/compare/In.js +1 -2
- package/operators/compare/In.js.map +1 -1
- package/operators/compare/IsNotNull.d.ts +1 -3
- package/operators/compare/IsNotNull.js +1 -2
- package/operators/compare/IsNotNull.js.map +1 -1
- package/operators/compare/IsNull.d.ts +1 -3
- package/operators/compare/IsNull.js +1 -2
- package/operators/compare/IsNull.js.map +1 -1
- package/operators/compare/LessThen.d.ts +1 -2
- package/operators/compare/LessThen.js +1 -2
- package/operators/compare/LessThen.js.map +1 -1
- package/operators/compare/LessThenEqual.d.ts +1 -2
- package/operators/compare/LessThenEqual.js +1 -2
- package/operators/compare/LessThenEqual.js.map +1 -1
- package/operators/compare/Like.d.ts +1 -2
- package/operators/compare/Like.js +1 -2
- package/operators/compare/Like.js.map +1 -1
- package/operators/compare/NotEqual.d.ts +1 -2
- package/operators/compare/NotEqual.js +1 -2
- package/operators/compare/NotEqual.js.map +1 -1
- package/operators/compare/NotIn.d.ts +1 -2
- package/operators/compare/NotIn.js +1 -2
- package/operators/compare/NotIn.js.map +1 -1
- package/operators/compare/Regex.d.ts +1 -2
- package/operators/compare/Regex.js +4 -5
- package/operators/compare/Regex.js.map +1 -1
- package/operators/date/Date.d.ts +1 -1
- package/operators/date/Date.js +1 -2
- package/operators/date/Date.js.map +1 -1
- package/operators/date/DateToString.d.ts +2 -3
- package/operators/date/DateToString.js +8 -9
- package/operators/date/DateToString.js.map +1 -1
- package/operators/date/Day.d.ts +1 -1
- package/operators/date/Day.js +1 -2
- package/operators/date/Day.js.map +1 -1
- package/operators/date/Month.d.ts +1 -1
- package/operators/date/Month.js +1 -2
- package/operators/date/Month.js.map +1 -1
- package/operators/date/Year.d.ts +1 -1
- package/operators/date/Year.js +1 -2
- package/operators/date/Year.js.map +1 -1
- package/operators/logic/AbstractLogic.d.ts +3 -0
- package/operators/logic/AbstractLogic.js +8 -0
- package/operators/logic/AbstractLogic.js.map +1 -0
- package/operators/logic/AndDesc.d.ts +10 -0
- package/operators/logic/AndDesc.js +31 -0
- package/operators/logic/AndDesc.js.map +1 -0
- package/operators/logic/AndDescLookup.d.ts +5 -0
- package/operators/logic/AndDescLookup.js +12 -0
- package/operators/logic/AndDescLookup.js.map +1 -0
- package/operators/logic/Not.d.ts +3 -2
- package/operators/logic/Not.js +3 -4
- package/operators/logic/Not.js.map +1 -1
- package/operators/logic/OrDesc.d.ts +10 -0
- package/operators/logic/OrDesc.js +31 -0
- package/operators/logic/OrDesc.js.map +1 -0
- package/operators/stage/Group.d.ts +3 -3
- package/operators/stage/Group.js +17 -11
- package/operators/stage/Group.js.map +1 -1
- package/operators/stage/Limit.d.ts +1 -5
- package/operators/stage/Limit.js +7 -6
- package/operators/stage/Limit.js.map +1 -1
- package/operators/stage/Match.d.ts +2 -2
- package/operators/stage/Match.js +7 -5
- package/operators/stage/Match.js.map +1 -1
- package/operators/stage/Project.d.ts +2 -2
- package/operators/stage/Project.js +9 -7
- package/operators/stage/Project.js.map +1 -1
- package/operators/stage/Skip.d.ts +2 -2
- package/operators/stage/Skip.js +7 -5
- package/operators/stage/Skip.js.map +1 -1
- package/operators/stage/Sort.d.ts +2 -2
- package/operators/stage/Sort.js +7 -5
- package/operators/stage/Sort.js.map +1 -1
- package/operators/string/Substr.d.ts +1 -2
- package/operators/string/Substr.js +5 -6
- package/operators/string/Substr.js.map +1 -1
- package/operators/string/ToFloat.d.ts +1 -1
- package/operators/string/ToFloat.js +4 -5
- package/operators/string/ToFloat.js.map +1 -1
- package/operators/string/ToInt.d.ts +1 -1
- package/operators/string/ToInt.js +4 -5
- package/operators/string/ToInt.js.map +1 -1
- package/operators/string/ToLower.d.ts +1 -1
- package/operators/string/ToLower.js +4 -5
- package/operators/string/ToLower.js.map +1 -1
- package/operators/string/ToUpper.d.ts +1 -2
- package/operators/string/ToUpper.js +4 -5
- package/operators/string/ToUpper.js.map +1 -1
- package/package.json +7 -62
- package/walker/lookup/ILookupFn.d.ts +4 -0
- package/walker/lookup/ILookupFn.js +3 -0
- package/walker/lookup/ILookupFn.js.map +1 -0
- package/walker/lookup/LookupWalker.d.ts +15 -0
- package/walker/lookup/LookupWalker.js +99 -0
- package/walker/lookup/LookupWalker.js.map +1 -0
- package/operators/compare/Equal.d.ts +0 -8
- package/operators/compare/Equal.js +0 -15
- package/operators/compare/Equal.js.map +0 -1
- package/operators/logic/And.d.ts +0 -7
- package/operators/logic/And.js +0 -23
- package/operators/logic/And.js.map +0 -1
- package/operators/logic/Or.d.ts +0 -7
- package/operators/logic/Or.js +0 -23
- package/operators/logic/Or.js.map +0 -1
package/ast/PAst.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/ast/PAst.ts"],"names":[],"mappings":";;;AAEA,uCAAkC;
|
|
1
|
+
{"version":3,"file":"PAst.js","sourceRoot":"","sources":["../../../src/ast/PAst.ts"],"names":[],"mappings":"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"}
|
package/ast/PObject.d.ts
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { PAst } from './PAst';
|
|
2
|
-
import { MangoExpression } from '../MangoExpression';
|
|
3
2
|
import { IMangoWalker } from '../IMangoWalker';
|
|
4
3
|
import { Context } from './Context';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
import { MangoExpression } from '../MangoExpression';
|
|
5
|
+
export declare class PObject extends PAst<{
|
|
6
|
+
[k: string]: PAst<any>;
|
|
7
|
+
}> {
|
|
9
8
|
_keys: string[];
|
|
10
|
-
|
|
11
|
-
getKey(key: string): PAst;
|
|
9
|
+
getByKey(key: string): PAst<any>;
|
|
12
10
|
keys(): string[];
|
|
13
11
|
visit(o: IMangoWalker): any;
|
|
14
|
-
getValues(): PAst[];
|
|
15
|
-
interprete(
|
|
12
|
+
getValues(): PAst<any>[];
|
|
13
|
+
interprete(e: MangoExpression, value: {
|
|
14
|
+
[k: string]: any;
|
|
15
|
+
}, p?: PAst<any>, ctxt?: Context): void;
|
|
16
|
+
toJson(): any;
|
|
16
17
|
}
|
package/ast/PObject.js
CHANGED
|
@@ -1,32 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PObject = void 0;
|
|
4
|
-
const
|
|
4
|
+
const lodash_1 = require("lodash");
|
|
5
5
|
const PAst_1 = require("./PAst");
|
|
6
6
|
const ValueRef_1 = require("./ValueRef");
|
|
7
7
|
const Unset_1 = require("./Unset");
|
|
8
|
-
const Equal_1 = require("../operators/compare/Equal");
|
|
9
8
|
const Context_1 = require("./Context");
|
|
10
9
|
const Constants_1 = require("../Constants");
|
|
11
10
|
class PObject extends PAst_1.PAst {
|
|
12
|
-
constructor(e, kv, p, ctxt) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
11
|
+
// constructor(e: MangoExpression, kv: any, p?: PAst, ctxt?: Context) {
|
|
12
|
+
// super(e, p, ctxt);
|
|
13
|
+
// this.interprete(kv);
|
|
14
|
+
// }
|
|
15
|
+
// create(){
|
|
16
|
+
//
|
|
17
|
+
// }
|
|
18
|
+
getByKey(key) {
|
|
19
|
+
if (this.getValue()[key]) {
|
|
20
|
+
return this.getValue()[key];
|
|
20
21
|
}
|
|
21
22
|
return null;
|
|
22
23
|
// throw new NotYetImplementedError();
|
|
23
24
|
}
|
|
24
25
|
keys() {
|
|
25
|
-
const prefix = (this.
|
|
26
|
+
const prefix = (this.getKeyString() && (0, lodash_1.isString)(this.getKeyString()) ? this.getKeyString() + '.' : '');
|
|
26
27
|
const keys = [];
|
|
27
28
|
for (const k of this._keys) {
|
|
28
|
-
|
|
29
|
-
subkey.
|
|
29
|
+
// @ts-ignore
|
|
30
|
+
const subkey = this.getValues()[k].keys();
|
|
31
|
+
subkey.forEach((x) => {
|
|
30
32
|
keys.push(prefix + x);
|
|
31
33
|
});
|
|
32
34
|
}
|
|
@@ -34,51 +36,74 @@ class PObject extends PAst_1.PAst {
|
|
|
34
36
|
}
|
|
35
37
|
visit(o) {
|
|
36
38
|
const state = {};
|
|
37
|
-
|
|
39
|
+
let r = {};
|
|
40
|
+
if (o.visitObject) {
|
|
41
|
+
r = o.visitObject(this, state);
|
|
42
|
+
}
|
|
38
43
|
if (state && state.abort) {
|
|
39
44
|
return r;
|
|
40
45
|
}
|
|
41
46
|
for (const k of this._keys) {
|
|
42
|
-
r[k] = this.
|
|
47
|
+
r[k] = this.value[k].visit(o);
|
|
48
|
+
}
|
|
49
|
+
if (o.leaveObject) {
|
|
50
|
+
return o.leaveObject(r, this);
|
|
43
51
|
}
|
|
44
|
-
return
|
|
52
|
+
return r;
|
|
45
53
|
}
|
|
46
54
|
getValues() {
|
|
47
|
-
return
|
|
55
|
+
return (0, lodash_1.values)(this.value);
|
|
48
56
|
}
|
|
49
|
-
interprete(
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
57
|
+
interprete(e, value, p, ctxt) {
|
|
58
|
+
// do not pass and interprete value
|
|
59
|
+
this.enviroment(e, p, ctxt);
|
|
60
|
+
this.value = {};
|
|
61
|
+
this._keys = (0, lodash_1.keys)(value);
|
|
62
|
+
const autoEqualSupport = !!this.getContext().get(Constants_1.AUTO_EQUAL_CONV_SUPPORT);
|
|
63
|
+
const numberProjectSupport = !!this.getContext().get(Constants_1.NUMBER_PROJECT_SUPPORT);
|
|
53
64
|
for (const k of this._keys) {
|
|
54
65
|
const ctxt = new Context_1.Context(k);
|
|
55
|
-
const v =
|
|
66
|
+
const v = value[k];
|
|
56
67
|
if (!autoEqualSupport) {
|
|
57
|
-
if (numberProjectSupport &&
|
|
68
|
+
if (numberProjectSupport && (0, lodash_1.isNumber)(v) && (v === 1 || v === 0)) {
|
|
58
69
|
if (v === 1) {
|
|
59
|
-
this.
|
|
70
|
+
this.value[k] = this.getRootExpression().create(ValueRef_1.ValueRef, k, this, ctxt);
|
|
60
71
|
}
|
|
61
72
|
else {
|
|
62
|
-
this.
|
|
73
|
+
this.value[k] = this.getRootExpression().create(Unset_1.Unset, k, this, ctxt);
|
|
63
74
|
}
|
|
64
75
|
}
|
|
65
76
|
else {
|
|
66
|
-
this.
|
|
77
|
+
this.value[k] = this.getRootExpression().interprete(v, this, ctxt);
|
|
67
78
|
}
|
|
68
79
|
}
|
|
69
80
|
else {
|
|
70
|
-
|
|
71
|
-
|
|
81
|
+
const isPrimative = (0, lodash_1.isDate)(v) || (0, lodash_1.isNumber)(v) || (0, lodash_1.isString)(v) || (0, lodash_1.isBoolean)() || (0, lodash_1.isNull)(v);
|
|
82
|
+
if (!isPrimative && ((0, lodash_1.isObjectLike)(v) || (0, lodash_1.isArray)(v))) {
|
|
83
|
+
this.value[k] = this.getRootExpression().interprete(v, this, ctxt);
|
|
72
84
|
}
|
|
73
85
|
else {
|
|
74
|
-
const eq =
|
|
75
|
-
this.
|
|
76
|
-
eq.validate(v);
|
|
86
|
+
const eq = this.getRootExpression().getOperator('$eq', v, value, this, ctxt);
|
|
87
|
+
this.value[k] = eq;
|
|
88
|
+
// eq.validate(v);
|
|
77
89
|
}
|
|
78
90
|
}
|
|
79
91
|
}
|
|
80
92
|
}
|
|
93
|
+
toJson() {
|
|
94
|
+
let obj = {};
|
|
95
|
+
for (const k of this._keys) {
|
|
96
|
+
if (this.value[k] instanceof PAst_1.PAst) {
|
|
97
|
+
// @ts-ignore
|
|
98
|
+
obj[k] = this.value[k].toJson();
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
// @ts-ignore
|
|
102
|
+
obj[k] = this.value[k];
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return obj;
|
|
106
|
+
}
|
|
81
107
|
}
|
|
82
108
|
exports.PObject = PObject;
|
|
83
|
-
|
|
84
|
-
//# sourceMappingURL=PObject.js.map
|
|
109
|
+
//# sourceMappingURL=PObject.js.map
|
package/ast/PObject.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/ast/PObject.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"PObject.js","sourceRoot":"","sources":["../../../src/ast/PObject.ts"],"names":[],"mappings":"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"}
|
package/ast/PValue.d.ts
CHANGED
|
@@ -2,9 +2,9 @@ import { PAst } from './PAst';
|
|
|
2
2
|
import { MangoExpression } from '../MangoExpression';
|
|
3
3
|
import { IMangoWalker } from '../IMangoWalker';
|
|
4
4
|
import { Context } from './Context';
|
|
5
|
-
export declare abstract class PValue extends PAst {
|
|
6
|
-
value: any;
|
|
7
|
-
|
|
8
|
-
getKey(key: string): PAst;
|
|
5
|
+
export declare abstract class PValue extends PAst<any> {
|
|
6
|
+
interprete(e: MangoExpression, value: any, p?: PAst<any>, ctxt?: Context): void;
|
|
7
|
+
getByKey(key: string): PAst<any>;
|
|
9
8
|
visit(o: IMangoWalker): any;
|
|
9
|
+
toJson(): any;
|
|
10
10
|
}
|
package/ast/PValue.js
CHANGED
|
@@ -4,17 +4,19 @@ exports.PValue = void 0;
|
|
|
4
4
|
const PAst_1 = require("./PAst");
|
|
5
5
|
const browser_1 = require("@allgemein/base/browser");
|
|
6
6
|
class PValue extends PAst_1.PAst {
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
interprete(e, value, p, ctxt) {
|
|
8
|
+
this.enviroment(e, p, ctxt);
|
|
9
9
|
this.value = value;
|
|
10
10
|
}
|
|
11
|
-
|
|
11
|
+
getByKey(key) {
|
|
12
12
|
throw new browser_1.NotYetImplementedError();
|
|
13
13
|
}
|
|
14
14
|
visit(o) {
|
|
15
15
|
return o.onValue(this);
|
|
16
16
|
}
|
|
17
|
+
toJson() {
|
|
18
|
+
return this.value;
|
|
19
|
+
}
|
|
17
20
|
}
|
|
18
21
|
exports.PValue = PValue;
|
|
19
|
-
|
|
20
|
-
//# sourceMappingURL=PValue.js.map
|
|
22
|
+
//# sourceMappingURL=PValue.js.map
|
package/ast/PValue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/ast/PValue.ts"],"names":[],"mappings":";;;AAAA,iCAA4B;AAG5B,qDAA+D;AAG/D,MAAsB,MAAO,SAAQ,
|
|
1
|
+
{"version":3,"file":"PValue.js","sourceRoot":"","sources":["../../../src/ast/PValue.ts"],"names":[],"mappings":";;;AAAA,iCAA4B;AAG5B,qDAA+D;AAG/D,MAAsB,MAAO,SAAQ,WAAS;IAE5C,UAAU,CAAC,CAAkB,EAAE,KAAU,EAAE,CAAa,EAAE,IAAc;QACtE,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,MAAM,IAAI,gCAAsB,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,CAAe;QACnB,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF;AAlBD,wBAkBC"}
|
package/ast/Selector.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Selector = void 0;
|
|
4
|
+
const PAst_1 = require("./PAst");
|
|
5
|
+
class Selector extends PAst_1.PAst {
|
|
6
|
+
getByKey(key) {
|
|
7
|
+
return undefined;
|
|
8
|
+
}
|
|
9
|
+
visit(o) {
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.Selector = Selector;
|
|
13
|
+
//# sourceMappingURL=Selector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Selector.js","sourceRoot":"","sources":["../../../src/ast/Selector.ts"],"names":[],"mappings":";;;AAAA,iCAA4B;AAG5B,MAAa,QAAS,SAAQ,WAAY;IAExC,QAAQ,CAAC,GAAW;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,CAAe;IACrB,CAAC;CAGF;AAVD,4BAUC"}
|
package/ast/Unset.js
CHANGED
package/ast/Unset.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/ast/Unset.ts"],"names":[],"mappings":";;;AAAA,qCAAgC;AAEhC,MAAa,KAAM,SAAQ,eAAM;CAEhC;AAFD,sBAEC"
|
|
1
|
+
{"version":3,"file":"Unset.js","sourceRoot":"","sources":["../../../src/ast/Unset.ts"],"names":[],"mappings":";;;AAAA,qCAAgC;AAEhC,MAAa,KAAM,SAAQ,eAAM;CAEhC;AAFD,sBAEC"}
|
package/ast/Value.js
CHANGED
package/ast/Value.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/ast/Value.ts"],"names":[],"mappings":";;;AAAA,qCAAgC;AAEhC,MAAa,KAAM,SAAQ,eAAM;CAEhC;AAFD,sBAEC"
|
|
1
|
+
{"version":3,"file":"Value.js","sourceRoot":"","sources":["../../../src/ast/Value.ts"],"names":[],"mappings":";;;AAAA,qCAAgC;AAEhC,MAAa,KAAM,SAAQ,eAAM;CAEhC;AAFD,sBAEC"}
|
package/ast/ValueRef.d.ts
CHANGED
package/ast/ValueRef.js
CHANGED
|
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ValueRef = void 0;
|
|
4
4
|
const PValue_1 = require("./PValue");
|
|
5
5
|
class ValueRef extends PValue_1.PValue {
|
|
6
|
+
toJson() {
|
|
7
|
+
return '$' + this.value;
|
|
8
|
+
}
|
|
6
9
|
}
|
|
7
10
|
exports.ValueRef = ValueRef;
|
|
8
|
-
|
|
9
|
-
//# sourceMappingURL=ValueRef.js.map
|
|
11
|
+
//# sourceMappingURL=ValueRef.js.map
|
package/ast/ValueRef.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/ast/ValueRef.ts"],"names":[],"mappings":";;;AAAA,qCAAgC;AAEhC,MAAa,QAAS,SAAQ,eAAM;
|
|
1
|
+
{"version":3,"file":"ValueRef.js","sourceRoot":"","sources":["../../../src/ast/ValueRef.ts"],"names":[],"mappings":";;;AAAA,qCAAgC;AAEhC,MAAa,QAAS,SAAQ,eAAM;IAClC,MAAM;QACJ,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;IAC1B,CAAC;CAEF;AALD,4BAKC"}
|
package/browser.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export { Unset } from './ast/Unset';
|
|
|
8
8
|
export { Value } from './ast/Value';
|
|
9
9
|
export { ValueRef } from './ast/ValueRef';
|
|
10
10
|
export { AUTO_EQUAL_CONV_SUPPORT, NUMBER_PROJECT_SUPPORT } from './Constants';
|
|
11
|
-
export { IMangoWalker } from './IMangoWalker';
|
|
11
|
+
export { IMangoWalker, IMangoWalkerControl } from './IMangoWalker';
|
|
12
12
|
export { MangoExpression } from './MangoExpression';
|
|
13
13
|
export { AbstractOperator } from './operators/AbstractOperator';
|
|
14
14
|
export { Avg } from './operators/arithmetic/Avg';
|
|
@@ -21,7 +21,7 @@ export { First } from './operators/array/First';
|
|
|
21
21
|
export { Last } from './operators/array/Last';
|
|
22
22
|
export { Map } from './operators/array/Map';
|
|
23
23
|
export { AbstractCompare } from './operators/compare/AbstractCompare';
|
|
24
|
-
export {
|
|
24
|
+
export { EqualDesc } from './operators/compare/EqualDesc';
|
|
25
25
|
export { GreaterThen } from './operators/compare/GreaterThen';
|
|
26
26
|
export { GreaterThenEqual } from './operators/compare/GreaterThenEqual';
|
|
27
27
|
export { In } from './operators/compare/In';
|
|
@@ -38,11 +38,11 @@ export { DateToString } from './operators/date/DateToString';
|
|
|
38
38
|
export { Day } from './operators/date/Day';
|
|
39
39
|
export { Month } from './operators/date/Month';
|
|
40
40
|
export { Year } from './operators/date/Year';
|
|
41
|
-
export { And } from './operators/logic/
|
|
41
|
+
export { AndDesc, And } from './operators/logic/AndDesc';
|
|
42
42
|
export { Not } from './operators/logic/Not';
|
|
43
|
-
export { Or } from './operators/logic/
|
|
43
|
+
export { OrDesc, Or } from './operators/logic/OrDesc';
|
|
44
44
|
export { Operators } from './operators/Operators';
|
|
45
|
-
export { Group } from './operators/stage/Group';
|
|
45
|
+
export { Group, GROUP_ID } from './operators/stage/Group';
|
|
46
46
|
export { Limit } from './operators/stage/Limit';
|
|
47
47
|
export { Match } from './operators/stage/Match';
|
|
48
48
|
export { Project } from './operators/stage/Project';
|
package/browser.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.ToUpper = exports.ToLower = exports.ToInt = exports.ToFloat = exports.Substr = void 0;
|
|
3
|
+
exports.Match = exports.Limit = exports.GROUP_ID = exports.Group = exports.Operators = exports.Or = exports.OrDesc = exports.Not = exports.And = exports.AndDesc = exports.Year = exports.Month = exports.Day = exports.DateToString = exports.Date = exports.Regex = exports.NotIn = exports.NotEqual = exports.Like = exports.LessThenEqual = exports.LessThen = exports.IsNull = exports.IsNotNull = exports.In = exports.GreaterThenEqual = exports.GreaterThen = exports.EqualDesc = exports.AbstractCompare = exports.Map = exports.Last = exports.First = exports.Sum = exports.Multiply = exports.Min = exports.Max = exports.Count = exports.Avg = exports.AbstractOperator = exports.MangoExpression = exports.NUMBER_PROJECT_SUPPORT = exports.AUTO_EQUAL_CONV_SUPPORT = exports.ValueRef = exports.Value = exports.Unset = exports.PValue = exports.PObject = exports.PAst = exports.PArray = exports.MultiArgs = exports.Context = void 0;
|
|
4
|
+
exports.ToUpper = exports.ToLower = exports.ToInt = exports.ToFloat = exports.Substr = exports.Sort = exports.Skip = exports.Project = void 0;
|
|
5
5
|
var Context_1 = require("./ast/Context");
|
|
6
6
|
Object.defineProperty(exports, "Context", { enumerable: true, get: function () { return Context_1.Context; } });
|
|
7
7
|
var MultiArgs_1 = require("./ast/MultiArgs");
|
|
@@ -47,8 +47,8 @@ var Map_1 = require("./operators/array/Map");
|
|
|
47
47
|
Object.defineProperty(exports, "Map", { enumerable: true, get: function () { return Map_1.Map; } });
|
|
48
48
|
var AbstractCompare_1 = require("./operators/compare/AbstractCompare");
|
|
49
49
|
Object.defineProperty(exports, "AbstractCompare", { enumerable: true, get: function () { return AbstractCompare_1.AbstractCompare; } });
|
|
50
|
-
var
|
|
51
|
-
Object.defineProperty(exports, "
|
|
50
|
+
var EqualDesc_1 = require("./operators/compare/EqualDesc");
|
|
51
|
+
Object.defineProperty(exports, "EqualDesc", { enumerable: true, get: function () { return EqualDesc_1.EqualDesc; } });
|
|
52
52
|
var GreaterThen_1 = require("./operators/compare/GreaterThen");
|
|
53
53
|
Object.defineProperty(exports, "GreaterThen", { enumerable: true, get: function () { return GreaterThen_1.GreaterThen; } });
|
|
54
54
|
var GreaterThenEqual_1 = require("./operators/compare/GreaterThenEqual");
|
|
@@ -81,16 +81,19 @@ var Month_1 = require("./operators/date/Month");
|
|
|
81
81
|
Object.defineProperty(exports, "Month", { enumerable: true, get: function () { return Month_1.Month; } });
|
|
82
82
|
var Year_1 = require("./operators/date/Year");
|
|
83
83
|
Object.defineProperty(exports, "Year", { enumerable: true, get: function () { return Year_1.Year; } });
|
|
84
|
-
var
|
|
85
|
-
Object.defineProperty(exports, "
|
|
84
|
+
var AndDesc_1 = require("./operators/logic/AndDesc");
|
|
85
|
+
Object.defineProperty(exports, "AndDesc", { enumerable: true, get: function () { return AndDesc_1.AndDesc; } });
|
|
86
|
+
Object.defineProperty(exports, "And", { enumerable: true, get: function () { return AndDesc_1.And; } });
|
|
86
87
|
var Not_1 = require("./operators/logic/Not");
|
|
87
88
|
Object.defineProperty(exports, "Not", { enumerable: true, get: function () { return Not_1.Not; } });
|
|
88
|
-
var
|
|
89
|
-
Object.defineProperty(exports, "
|
|
89
|
+
var OrDesc_1 = require("./operators/logic/OrDesc");
|
|
90
|
+
Object.defineProperty(exports, "OrDesc", { enumerable: true, get: function () { return OrDesc_1.OrDesc; } });
|
|
91
|
+
Object.defineProperty(exports, "Or", { enumerable: true, get: function () { return OrDesc_1.Or; } });
|
|
90
92
|
var Operators_1 = require("./operators/Operators");
|
|
91
93
|
Object.defineProperty(exports, "Operators", { enumerable: true, get: function () { return Operators_1.Operators; } });
|
|
92
94
|
var Group_1 = require("./operators/stage/Group");
|
|
93
95
|
Object.defineProperty(exports, "Group", { enumerable: true, get: function () { return Group_1.Group; } });
|
|
96
|
+
Object.defineProperty(exports, "GROUP_ID", { enumerable: true, get: function () { return Group_1.GROUP_ID; } });
|
|
94
97
|
var Limit_1 = require("./operators/stage/Limit");
|
|
95
98
|
Object.defineProperty(exports, "Limit", { enumerable: true, get: function () { return Limit_1.Limit; } });
|
|
96
99
|
var Match_1 = require("./operators/stage/Match");
|
|
@@ -111,5 +114,4 @@ var ToLower_1 = require("./operators/string/ToLower");
|
|
|
111
114
|
Object.defineProperty(exports, "ToLower", { enumerable: true, get: function () { return ToLower_1.ToLower; } });
|
|
112
115
|
var ToUpper_1 = require("./operators/string/ToUpper");
|
|
113
116
|
Object.defineProperty(exports, "ToUpper", { enumerable: true, get: function () { return ToUpper_1.ToUpper; } });
|
|
114
|
-
|
|
115
|
-
//# sourceMappingURL=browser.js.map
|
|
117
|
+
//# sourceMappingURL=browser.js.map
|
package/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/browser.ts"],"names":[],"mappings":";;;;AAAA,yCAAsC;AAA9B,kGAAA,OAAO,OAAA;AACf,6CAA0C;AAAlC,sGAAA,SAAS,OAAA;AACjB,uCAAoC;AAA5B,gGAAA,MAAM,OAAA;AACd,mCAAgC;AAAxB,4FAAA,IAAI,OAAA;AACZ,yCAAsC;AAA9B,kGAAA,OAAO,OAAA;AACf,uCAAoC;AAA5B,gGAAA,MAAM,OAAA;AACd,qCAAkC;AAA1B,8FAAA,KAAK,OAAA;AACb,qCAAkC;AAA1B,8FAAA,KAAK,OAAA;AACb,2CAAwC;AAAhC,oGAAA,QAAQ,OAAA;AAChB,yCAA4E;AAApE,oHAAA,uBAAuB,OAAA;AAAE,mHAAA,sBAAsB,OAAA;AAEvD,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,iEAA8D;AAAtD,oHAAA,gBAAgB,OAAA;AACxB,kDAA+C;AAAvC,0FAAA,GAAG,OAAA;AACX,sDAAmD;AAA3C,8FAAA,KAAK,OAAA;AACb,kDAA+C;AAAvC,0FAAA,GAAG,OAAA;AACX,kDAA+C;AAAvC,0FAAA,GAAG,OAAA;AACX,4DAAyD;AAAjD,oGAAA,QAAQ,OAAA;AAChB,kDAA+C;AAAvC,0FAAA,GAAG,OAAA;AACX,iDAA8C;AAAtC,8FAAA,KAAK,OAAA;AACb,+CAA4C;AAApC,4FAAA,IAAI,OAAA;AACZ,6CAA0C;AAAlC,0FAAA,GAAG,OAAA;AACX,uEAAoE;AAA5D,kHAAA,eAAe,OAAA;AACvB,2DAAwD;AAAhD,sGAAA,SAAS,OAAA;AACjB,+DAA4D;AAApD,0GAAA,WAAW,OAAA;AACnB,yEAAsE;AAA9D,oHAAA,gBAAgB,OAAA;AACxB,6CAA0C;AAAlC,wFAAA,EAAE,OAAA;AACV,2DAAwD;AAAhD,sGAAA,SAAS,OAAA;AACjB,qDAAkD;AAA1C,gGAAA,MAAM,OAAA;AACd,yDAAsD;AAA9C,oGAAA,QAAQ,OAAA;AAChB,mEAAgE;AAAxD,8GAAA,aAAa,OAAA;AACrB,iDAA8C;AAAtC,4FAAA,IAAI,OAAA;AACZ,yDAAsD;AAA9C,oGAAA,QAAQ,OAAA;AAChB,mDAAgD;AAAxC,8FAAA,KAAK,OAAA;AACb,mDAAgD;AAAxC,8FAAA,KAAK,OAAA;AACb,8CAA2C;AAAnC,4FAAA,IAAI,OAAA;AACZ,8DAA2D;AAAnD,4GAAA,YAAY,OAAA;AACpB,4CAAyC;AAAjC,0FAAA,GAAG,OAAA;AACX,gDAA6C;AAArC,8FAAA,KAAK,OAAA;AACb,8CAA2C;AAAnC,4FAAA,IAAI,OAAA;AACZ,qDAAuD;AAA/C,kGAAA,OAAO,OAAA;AAAE,8FAAA,GAAG,OAAA;AACpB,6CAA0C;AAAlC,0FAAA,GAAG,OAAA;AACX,mDAAoD;AAA5C,gGAAA,MAAM,OAAA;AAAE,4FAAA,EAAE,OAAA;AAClB,mDAAgD;AAAxC,sGAAA,SAAS,OAAA;AACjB,iDAAwD;AAAhD,8FAAA,KAAK,OAAA;AAAE,iGAAA,QAAQ,OAAA;AACvB,iDAA8C;AAAtC,8FAAA,KAAK,OAAA;AACb,iDAA8C;AAAtC,8FAAA,KAAK,OAAA;AACb,qDAAkD;AAA1C,kGAAA,OAAO,OAAA;AACf,+CAA4C;AAApC,4FAAA,IAAI,OAAA;AACZ,+CAA4C;AAApC,4FAAA,IAAI,OAAA;AACZ,oDAAiD;AAAzC,gGAAA,MAAM,OAAA;AACd,sDAAmD;AAA3C,kGAAA,OAAO,OAAA;AACf,kDAA+C;AAAvC,8FAAA,KAAK,OAAA;AACb,sDAAmD;AAA3C,kGAAA,OAAO,OAAA;AACf,sDAAmD;AAA3C,kGAAA,OAAO,OAAA"}
|
package/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { NUMBER_PROJECT_SUPPORT, AUTO_EQUAL_CONV_SUPPORT, Context, MangoExpression, Like, In,
|
|
1
|
+
export { NUMBER_PROJECT_SUPPORT, AUTO_EQUAL_CONV_SUPPORT, Context, MangoExpression, Like, In, AndDesc, Date, PAst, Not, PValue, AbstractCompare, PObject, AbstractOperator, Avg, Count, DateToString, Day, EqualDesc, First, GreaterThen, GreaterThenEqual, Group, IMangoWalker, IsNotNull, IsNull, Last, LessThen, LessThenEqual, Limit, Map, Match, Max, Min, Month, MultiArgs, Multiply, NotEqual, NotIn, Operators, OrDesc, PArray, Project, Regex, Skip, Sort, Substr, Sum, ToFloat, ToInt, ToLower, ToUpper, Unset, Value, ValueRef, Year, IMangoWalkerControl } from './browser';
|
package/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ToLower = exports.ToInt = exports.ToFloat = exports.Sum = exports.Substr = exports.Sort = exports.Skip = exports.Regex = exports.Project = exports.PArray = exports.
|
|
3
|
+
exports.ToLower = exports.ToInt = exports.ToFloat = exports.Sum = exports.Substr = exports.Sort = exports.Skip = exports.Regex = exports.Project = exports.PArray = exports.OrDesc = exports.Operators = exports.NotIn = exports.NotEqual = exports.Multiply = exports.MultiArgs = exports.Month = exports.Min = exports.Max = exports.Match = exports.Map = exports.Limit = exports.LessThenEqual = exports.LessThen = exports.Last = exports.IsNull = exports.IsNotNull = exports.Group = exports.GreaterThenEqual = exports.GreaterThen = exports.First = exports.EqualDesc = exports.Day = exports.DateToString = exports.Count = exports.Avg = exports.AbstractOperator = exports.PObject = exports.AbstractCompare = exports.PValue = exports.Not = exports.PAst = exports.Date = exports.AndDesc = exports.In = exports.Like = exports.MangoExpression = exports.Context = exports.AUTO_EQUAL_CONV_SUPPORT = exports.NUMBER_PROJECT_SUPPORT = void 0;
|
|
4
4
|
exports.Year = exports.ValueRef = exports.Value = exports.Unset = exports.ToUpper = void 0;
|
|
5
5
|
// ---- Generated by gulp taskRef ----
|
|
6
6
|
var browser_1 = require("./browser");
|
|
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "Context", { enumerable: true, get: function () {
|
|
|
10
10
|
Object.defineProperty(exports, "MangoExpression", { enumerable: true, get: function () { return browser_1.MangoExpression; } });
|
|
11
11
|
Object.defineProperty(exports, "Like", { enumerable: true, get: function () { return browser_1.Like; } });
|
|
12
12
|
Object.defineProperty(exports, "In", { enumerable: true, get: function () { return browser_1.In; } });
|
|
13
|
-
Object.defineProperty(exports, "
|
|
13
|
+
Object.defineProperty(exports, "AndDesc", { enumerable: true, get: function () { return browser_1.AndDesc; } });
|
|
14
14
|
Object.defineProperty(exports, "Date", { enumerable: true, get: function () { return browser_1.Date; } });
|
|
15
15
|
Object.defineProperty(exports, "PAst", { enumerable: true, get: function () { return browser_1.PAst; } });
|
|
16
16
|
Object.defineProperty(exports, "Not", { enumerable: true, get: function () { return browser_1.Not; } });
|
|
@@ -22,7 +22,7 @@ Object.defineProperty(exports, "Avg", { enumerable: true, get: function () { ret
|
|
|
22
22
|
Object.defineProperty(exports, "Count", { enumerable: true, get: function () { return browser_1.Count; } });
|
|
23
23
|
Object.defineProperty(exports, "DateToString", { enumerable: true, get: function () { return browser_1.DateToString; } });
|
|
24
24
|
Object.defineProperty(exports, "Day", { enumerable: true, get: function () { return browser_1.Day; } });
|
|
25
|
-
Object.defineProperty(exports, "
|
|
25
|
+
Object.defineProperty(exports, "EqualDesc", { enumerable: true, get: function () { return browser_1.EqualDesc; } });
|
|
26
26
|
Object.defineProperty(exports, "First", { enumerable: true, get: function () { return browser_1.First; } });
|
|
27
27
|
Object.defineProperty(exports, "GreaterThen", { enumerable: true, get: function () { return browser_1.GreaterThen; } });
|
|
28
28
|
Object.defineProperty(exports, "GreaterThenEqual", { enumerable: true, get: function () { return browser_1.GreaterThenEqual; } });
|
|
@@ -43,7 +43,7 @@ Object.defineProperty(exports, "Multiply", { enumerable: true, get: function ()
|
|
|
43
43
|
Object.defineProperty(exports, "NotEqual", { enumerable: true, get: function () { return browser_1.NotEqual; } });
|
|
44
44
|
Object.defineProperty(exports, "NotIn", { enumerable: true, get: function () { return browser_1.NotIn; } });
|
|
45
45
|
Object.defineProperty(exports, "Operators", { enumerable: true, get: function () { return browser_1.Operators; } });
|
|
46
|
-
Object.defineProperty(exports, "
|
|
46
|
+
Object.defineProperty(exports, "OrDesc", { enumerable: true, get: function () { return browser_1.OrDesc; } });
|
|
47
47
|
Object.defineProperty(exports, "PArray", { enumerable: true, get: function () { return browser_1.PArray; } });
|
|
48
48
|
Object.defineProperty(exports, "Project", { enumerable: true, get: function () { return browser_1.Project; } });
|
|
49
49
|
Object.defineProperty(exports, "Regex", { enumerable: true, get: function () { return browser_1.Regex; } });
|
|
@@ -59,5 +59,4 @@ Object.defineProperty(exports, "Unset", { enumerable: true, get: function () { r
|
|
|
59
59
|
Object.defineProperty(exports, "Value", { enumerable: true, get: function () { return browser_1.Value; } });
|
|
60
60
|
Object.defineProperty(exports, "ValueRef", { enumerable: true, get: function () { return browser_1.ValueRef; } });
|
|
61
61
|
Object.defineProperty(exports, "Year", { enumerable: true, get: function () { return browser_1.Year; } });
|
|
62
|
-
|
|
63
|
-
//# sourceMappingURL=index.js.map
|
|
62
|
+
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,sCAAsC;AACtC,qCAmDmB;AAlDjB,iHAAA,sBAAsB,OAAA;AACtB,kHAAA,uBAAuB,OAAA;AACvB,kGAAA,OAAO,OAAA;AACP,0GAAA,eAAe,OAAA;AACf,+FAAA,IAAI,OAAA;AACJ,6FAAA,EAAE,OAAA;AACF,kGAAA,OAAO,OAAA;AACP,+FAAA,IAAI,OAAA;AACJ,+FAAA,IAAI,OAAA;AACJ,8FAAA,GAAG,OAAA;AACH,iGAAA,MAAM,OAAA;AACN,0GAAA,eAAe,OAAA;AACf,kGAAA,OAAO,OAAA;AACP,2GAAA,gBAAgB,OAAA;AAChB,8FAAA,GAAG,OAAA;AACH,gGAAA,KAAK,OAAA;AACL,uGAAA,YAAY,OAAA;AACZ,8FAAA,GAAG,OAAA;AACH,oGAAA,SAAS,OAAA;AACT,gGAAA,KAAK,OAAA;AACL,sGAAA,WAAW,OAAA;AACX,2GAAA,gBAAgB,OAAA;AAChB,gGAAA,KAAK,OAAA;AAEL,oGAAA,SAAS,OAAA;AACT,iGAAA,MAAM,OAAA;AACN,+FAAA,IAAI,OAAA;AACJ,mGAAA,QAAQ,OAAA;AACR,wGAAA,aAAa,OAAA;AACb,gGAAA,KAAK,OAAA;AACL,8FAAA,GAAG,OAAA;AACH,gGAAA,KAAK,OAAA;AACL,8FAAA,GAAG,OAAA;AACH,8FAAA,GAAG,OAAA;AACH,gGAAA,KAAK,OAAA;AACL,oGAAA,SAAS,OAAA;AACT,mGAAA,QAAQ,OAAA;AACR,mGAAA,QAAQ,OAAA;AACR,gGAAA,KAAK,OAAA;AACL,oGAAA,SAAS,OAAA;AACT,iGAAA,MAAM,OAAA;AACN,iGAAA,MAAM,OAAA;AACN,kGAAA,OAAO,OAAA;AACP,gGAAA,KAAK,OAAA;AACL,+FAAA,IAAI,OAAA;AACJ,+FAAA,IAAI,OAAA;AACJ,iGAAA,MAAM,OAAA;AACN,8FAAA,GAAG,OAAA;AACH,kGAAA,OAAO,OAAA;AACP,gGAAA,KAAK,OAAA;AAAE,kGAAA,OAAO,OAAA;AAAE,kGAAA,OAAO,OAAA;AAAE,gGAAA,KAAK,OAAA;AAAE,gGAAA,KAAK,OAAA;AAAE,mGAAA,QAAQ,OAAA;AAAE,+FAAA,IAAI,OAAA"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
import { PAst } from '../ast/PAst';
|
|
2
|
-
import { MangoExpression } from '../MangoExpression';
|
|
3
2
|
import { IMangoWalker } from '../IMangoWalker';
|
|
4
|
-
|
|
5
|
-
export declare abstract class AbstractOperator extends PAst {
|
|
3
|
+
export declare abstract class AbstractOperator<X> extends PAst<X> {
|
|
6
4
|
readonly name: string;
|
|
7
|
-
|
|
8
|
-
constructor(e: MangoExpression, p?: PAst, ctxt?: Context);
|
|
9
|
-
getKey(key: string): PAst;
|
|
10
|
-
validate(def: any, full?: any): boolean;
|
|
5
|
+
getByKey(key: string): PAst<any>;
|
|
11
6
|
visit(o: IMangoWalker): any;
|
|
7
|
+
toJson(): any;
|
|
12
8
|
}
|
|
@@ -2,29 +2,38 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AbstractOperator = void 0;
|
|
4
4
|
const PAst_1 = require("../ast/PAst");
|
|
5
|
-
const Context_1 = require("../ast/Context");
|
|
6
5
|
class AbstractOperator extends PAst_1.PAst {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
getKey(key) {
|
|
11
|
-
if (key === this.name || key.replace(/^\$/, '') === this.name || this.key === key) {
|
|
6
|
+
getByKey(key) {
|
|
7
|
+
if (key === this.name || key.replace(/^\$/, '') === this.name || this.getKeyString() === key) {
|
|
12
8
|
return this;
|
|
13
9
|
}
|
|
14
10
|
return null;
|
|
15
11
|
}
|
|
16
|
-
validate(def, full) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
12
|
+
// validate(def: any, full?: any): boolean {
|
|
13
|
+
// // const ctxt = new Context(this.getKeyString());
|
|
14
|
+
// // this.setValue(this.getRootExpression().interprete(def, this, ctxt) as any as X);
|
|
15
|
+
// return true;
|
|
16
|
+
// }
|
|
21
17
|
visit(o) {
|
|
22
|
-
if (this.
|
|
23
|
-
return o.onOperator(this, this.
|
|
18
|
+
if (this.getValue()) {
|
|
19
|
+
return o.onOperator(this, this.getValue().visit(o));
|
|
24
20
|
}
|
|
25
21
|
return o.onOperator(this, null);
|
|
26
22
|
}
|
|
23
|
+
toJson() {
|
|
24
|
+
const v = this.getValue();
|
|
25
|
+
if (v instanceof PAst_1.PAst) {
|
|
26
|
+
const res = v.toJson();
|
|
27
|
+
return {
|
|
28
|
+
['$' + this.name]: res
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
return {
|
|
33
|
+
['$' + this.name]: v
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
}
|
|
27
37
|
}
|
|
28
38
|
exports.AbstractOperator = AbstractOperator;
|
|
29
|
-
|
|
30
|
-
//# sourceMappingURL=AbstractOperator.js.map
|
|
39
|
+
//# sourceMappingURL=AbstractOperator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/operators/AbstractOperator.ts"],"names":[],"mappings":";;;AAAA,sCAAiC;
|
|
1
|
+
{"version":3,"file":"AbstractOperator.js","sourceRoot":"","sources":["../../../src/operators/AbstractOperator.ts"],"names":[],"mappings":";;;AAAA,sCAAiC;AAKjC,MAAsB,gBAAoB,SAAQ,WAAO;IAIvD,QAAQ,CAAC,GAAW;QAClB,IAAI,GAAG,KAAK,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,KAAK,GAAG,EAAE,CAAC;YAC7F,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,4CAA4C;IAC5C,sDAAsD;IACtD,wFAAwF;IACxF,iBAAiB;IACjB,IAAI;IAEJ,KAAK,CAAC,CAAe;QACnB,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpB,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,EAAG,IAAI,CAAC,QAAQ,EAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAGD,MAAM;QACJ,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC1B,IAAG,CAAC,YAAY,WAAI,EAAC,CAAC;YACpB,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO;gBACL,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG;aACvB,CAAA;QACH,CAAC;aAAI,CAAC;YACJ,OAAO;gBACL,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;aACrB,CAAA;QACH,CAAC;IACH,CAAC;CAEF;AAxCD,4CAwCC"}
|