@allgemein/mango-expressions 1.4.0 → 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/AExpr.d.ts +3 -3
- package/AExpr.js +4 -4
- package/AExpr.js.map +1 -1
- package/Constants.d.ts +1 -3
- package/ast/AbstractValue.d.ts +2 -2
- package/ast/AbstractValue.js +1 -1
- package/ast/AbstractValue.js.map +1 -1
- package/ast/Constan.d.ts +1 -1
- package/ast/Expr.d.ts +2 -2
- package/ast/Expr.js +1 -1
- package/ast/Expr.js.map +1 -1
- package/ast/IExpr.d.ts +1 -1
- package/ast/IParser.d.ts +2 -2
- package/ast/IStackEntry.d.ts +2 -2
- package/ast/JsonParser.d.ts +5 -5
- package/ast/JsonParser.js +6 -6
- package/ast/JsonParser.js.map +1 -1
- package/ast/KeyDesc.d.ts +1 -1
- package/ast/KeyDesc.js +1 -1
- package/ast/Selector.d.ts +2 -2
- package/ast/Selector.js.map +1 -1
- package/ast/StackEntry.d.ts +4 -4
- package/ast/StackEntry.js +14 -14
- package/ast/StackEntry.js.map +1 -1
- package/ast/StringParser.js +27 -29
- package/ast/StringParser.js.map +1 -1
- package/ast/functions.js +1 -1
- package/ast/functions.js.map +1 -1
- package/errors/InvalidValueError.d.ts +1 -1
- package/errors/NotYetImplementedError.js +1 -1
- package/errors/UnsupportedInputError.js +1 -1
- package/functions.d.ts +1 -1
- package/functions.js +2 -2
- package/functions.js.map +1 -1
- package/operators/AbstractCompare.d.ts +2 -2
- package/operators/AbstractCompare.js +7 -7
- package/operators/AbstractCompare.js.map +1 -1
- package/operators/AbstractFunction.d.ts +2 -2
- package/operators/AbstractFunction.js +3 -3
- package/operators/AbstractJunctor.d.ts +2 -2
- package/operators/AbstractJunctor.js +2 -2
- package/operators/AbstractJunctorArray.d.ts +3 -3
- package/operators/AbstractJunctorArray.js +8 -8
- package/operators/AbstractJunctorArray.js.map +1 -1
- package/operators/AbstractOperator.d.ts +1 -1
- package/operators/AbstractOperator.js +1 -1
- package/operators/AbstractOperator.js.map +1 -1
- package/operators/Components.d.ts +1 -1
- package/operators/Components.js.map +1 -1
- package/operators/arithmetic/Avg.d.ts +1 -1
- package/operators/arithmetic/Avg.js +1 -1
- package/operators/arithmetic/Avg.js.map +1 -1
- package/operators/arithmetic/Count.d.ts +1 -1
- package/operators/arithmetic/Count.js +1 -1
- package/operators/arithmetic/Count.js.map +1 -1
- package/operators/arithmetic/Max.d.ts +1 -1
- package/operators/arithmetic/Max.js +1 -1
- package/operators/arithmetic/Max.js.map +1 -1
- package/operators/arithmetic/Min.d.ts +1 -1
- package/operators/arithmetic/Min.js +1 -1
- package/operators/arithmetic/Min.js.map +1 -1
- package/operators/arithmetic/Multiply.d.ts +1 -1
- package/operators/arithmetic/Multiply.js +1 -1
- package/operators/arithmetic/Multiply.js.map +1 -1
- package/operators/arithmetic/Sum.d.ts +1 -1
- package/operators/arithmetic/Sum.js +1 -1
- package/operators/arithmetic/Sum.js.map +1 -1
- package/operators/array/First.d.ts +1 -1
- package/operators/array/First.js +1 -1
- package/operators/array/First.js.map +1 -1
- package/operators/array/Last.d.ts +1 -1
- package/operators/array/Last.js +1 -1
- package/operators/array/Last.js.map +1 -1
- package/operators/array/Map.d.ts +1 -1
- package/operators/array/Map.js +1 -1
- package/operators/array/Map.js.map +1 -1
- package/operators/compare/EqualDesc.js +2 -2
- package/operators/compare/EqualDesc.js.map +1 -1
- package/operators/compare/EqualDescLookup.js.map +1 -1
- package/operators/compare/GreaterThen.js.map +1 -1
- package/operators/compare/GreaterThenEqual.js.map +1 -1
- package/operators/compare/In.js.map +1 -1
- package/operators/compare/IsNotNull.js.map +1 -1
- package/operators/compare/IsNull.js.map +1 -1
- package/operators/compare/LessThen.js.map +1 -1
- package/operators/compare/LessThenEqual.js.map +1 -1
- package/operators/compare/Like.js.map +1 -1
- package/operators/compare/NotEqual.js.map +1 -1
- package/operators/compare/NotIn.js.map +1 -1
- package/operators/compare/Regex.js.map +1 -1
- package/operators/date/Date.d.ts +1 -1
- package/operators/date/Date.js +1 -1
- package/operators/date/Date.js.map +1 -1
- package/operators/date/DateToString.d.ts +1 -1
- package/operators/date/DateToString.js +1 -1
- package/operators/date/DateToString.js.map +1 -1
- package/operators/date/Day.d.ts +1 -1
- package/operators/date/Day.js +1 -1
- package/operators/date/Day.js.map +1 -1
- package/operators/date/Month.js.map +1 -1
- package/operators/date/Year.js.map +1 -1
- package/operators/logic/AndDesc.js.map +1 -1
- package/operators/logic/NotDesc.d.ts +2 -2
- package/operators/logic/NotDesc.js +1 -1
- package/operators/logic/NotDesc.js.map +1 -1
- package/operators/logic/OrDesc.js.map +1 -1
- package/operators/stage/AbstractSection.d.ts +3 -3
- package/operators/stage/AbstractSection.js +2 -2
- package/operators/stage/AbstractSection.js.map +1 -1
- package/operators/stage/Group.js.map +1 -1
- package/operators/stage/Limit.js.map +1 -1
- package/operators/stage/Match.d.ts +1 -1
- package/operators/stage/Match.js +1 -1
- package/operators/stage/Match.js.map +1 -1
- package/operators/stage/Project.js.map +1 -1
- package/operators/stage/Skip.js.map +1 -1
- package/operators/stage/Sort.js.map +1 -1
- package/operators/string/Substr.js.map +1 -1
- package/operators/string/ToFloat.js.map +1 -1
- package/operators/string/ToInt.js.map +1 -1
- package/operators/string/ToLower.js.map +1 -1
- package/operators/string/ToUpper.js.map +1 -1
- package/package.json +1 -1
package/AExpr.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Expr } from
|
|
2
|
-
import { KeyDesc } from
|
|
3
|
-
import { RefDesc } from
|
|
1
|
+
import { Expr } from './ast/Expr.js';
|
|
2
|
+
import { KeyDesc } from './ast/KeyDesc.js';
|
|
3
|
+
import { RefDesc } from './ast/RefDesc.js';
|
|
4
4
|
export declare class AExpr {
|
|
5
5
|
private expr;
|
|
6
6
|
static from(expr: Expr): AExpr;
|
package/AExpr.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { KeyDesc } from
|
|
2
|
-
import { RefDesc } from
|
|
3
|
-
import { AbstractCompare } from
|
|
4
|
-
import { ValueDesc } from
|
|
1
|
+
import { KeyDesc } from './ast/KeyDesc.js';
|
|
2
|
+
import { RefDesc } from './ast/RefDesc.js';
|
|
3
|
+
import { AbstractCompare } from './operators/AbstractCompare.js';
|
|
4
|
+
import { ValueDesc } from './ast/ValueDesc.js';
|
|
5
5
|
export class AExpr {
|
|
6
6
|
static from(expr) {
|
|
7
7
|
return new AExpr(expr);
|
package/AExpr.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AExpr.js","sourceRoot":"","sources":["../../src/AExpr.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAE7C,MAAM,OAAO,KAAK;IAGhB,MAAM,CAAC,IAAI,CAAC,IAAU;QACpB,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,YAAoB,IAAU;
|
|
1
|
+
{"version":3,"file":"AExpr.js","sourceRoot":"","sources":["../../src/AExpr.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAE7C,MAAM,OAAO,KAAK;IAGhB,MAAM,CAAC,IAAI,CAAC,IAAU;QACpB,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,YAAoB,IAAU;oBAAV,IAAI;IAExB,CAAC;IAGD,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,OAAO,CAAc,CAAC;IACnE,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,OAAO,CAAc,CAAC;IACnE,CAAC;IAGD,cAAc,CAAC,YAAY,GAAG,IAAI;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,eAAe,CAAsB,CAAC;QAC5F,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;YACtC,IAAI,GAAG,YAAY,OAAO,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC;gBACrC,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;oBAC/B,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,YAAY,EAAE,CAAC;gBACtE,CAAC;qBAAM,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;oBACpC,GAAG,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF"}
|
package/Constants.d.ts
CHANGED
package/ast/AbstractValue.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Expr } from './Expr.js';
|
|
2
|
-
import { IStackEntry } from
|
|
3
|
-
import { IExpr } from
|
|
2
|
+
import { IStackEntry } from './IStackEntry.js';
|
|
3
|
+
import { IExpr } from './IExpr.js';
|
|
4
4
|
export declare abstract class AbstractValue extends Expr {
|
|
5
5
|
parse(entry: IStackEntry, parital: any): IExpr;
|
|
6
6
|
toJson(): any;
|
package/ast/AbstractValue.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Expr } from './Expr.js';
|
|
2
|
-
import { AbstractCompare } from
|
|
2
|
+
import { AbstractCompare } from '../operators/AbstractCompare.js';
|
|
3
3
|
export class AbstractValue extends Expr {
|
|
4
4
|
parse(entry, parital) {
|
|
5
5
|
const parent = entry.getParentComp();
|
package/ast/AbstractValue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractValue.js","sourceRoot":"","sources":["../../../src/ast/AbstractValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAE/B,OAAO,EAAC,eAAe,EAAC,MAAM,iCAAiC,CAAC;AAGhE,MAAM,OAAgB,aAAc,SAAQ,IAAI;IAE9C,KAAK,CAAC,KAAkB,EAAE,OAAY;QACpC,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"AbstractValue.js","sourceRoot":"","sources":["../../../src/ast/AbstractValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAE/B,OAAO,EAAC,eAAe,EAAC,MAAM,iCAAiC,CAAC;AAGhE,MAAM,OAAgB,aAAc,SAAQ,IAAI;IAE9C,KAAK,CAAC,KAAkB,EAAE,OAAY;QACpC,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QACrC,IAAI,MAAM,YAAY,eAAe,EAAE,CAAC;YACtC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,MAAM,YAAY,IAAI,EAAE,CAAC;YAClC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gCAAgC;IAChC,wCAAwC;IACxC,IAAI;IACJ,EAAE;IACF,2BAA2B;IAC3B,4BAA4B;IAC5B,IAAI;IAEJ,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF"}
|
package/ast/Constan.d.ts
CHANGED
package/ast/Expr.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IExpr } from
|
|
2
|
-
import { IStackEntry } from
|
|
1
|
+
import { IExpr } from './IExpr.js';
|
|
2
|
+
import { IStackEntry } from './IStackEntry.js';
|
|
3
3
|
export declare abstract class Expr implements IExpr {
|
|
4
4
|
/**
|
|
5
5
|
* Reference to the root expression
|
package/ast/Expr.js
CHANGED
package/ast/Expr.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Expr.js","sourceRoot":"","sources":["../../../src/ast/Expr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AAK5D,MAAM,OAAgB,IAAI;IAkBxB,KAAK,CAAC,KAAkB,EAAE,OAAY,EAAE,GAAoB;QAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"Expr.js","sourceRoot":"","sources":["../../../src/ast/Expr.ts"],"names":[],"mappings":"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"}
|
package/ast/IExpr.d.ts
CHANGED
package/ast/IParser.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IStackEntry, CALLBACK } from
|
|
2
|
-
import { IHint, PATH_KEY } from
|
|
1
|
+
import { IStackEntry, CALLBACK } from './IStackEntry.js';
|
|
2
|
+
import { IHint, PATH_KEY } from './Constan.js';
|
|
3
3
|
export interface IParser {
|
|
4
4
|
/**
|
|
5
5
|
* Add new partial in queue with
|
package/ast/IStackEntry.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IExpr } from
|
|
2
|
-
import { IHint, PATH_KEY } from
|
|
1
|
+
import { IExpr } from './IExpr.js';
|
|
2
|
+
import { IHint, PATH_KEY } from './Constan.js';
|
|
3
3
|
export type CALLBACK = (result: IStackEntry) => void;
|
|
4
4
|
export interface IStackEntry {
|
|
5
5
|
parent: IStackEntry;
|
package/ast/JsonParser.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { IExpr } from
|
|
2
|
-
import { IParser } from
|
|
3
|
-
import { CALLBACK, IStackEntry } from
|
|
4
|
-
import { StackEntry } from
|
|
5
|
-
import { IHint } from
|
|
1
|
+
import { IExpr } from './IExpr.js';
|
|
2
|
+
import { IParser } from './IParser.js';
|
|
3
|
+
import { CALLBACK, IStackEntry } from './IStackEntry.js';
|
|
4
|
+
import { StackEntry } from './StackEntry.js';
|
|
5
|
+
import { IHint } from './Constan.js';
|
|
6
6
|
/**
|
|
7
7
|
* Parser iterate over mango object and build the AST
|
|
8
8
|
*
|
package/ast/JsonParser.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { isArray, isNull, isObjectLike, isUndefined } from
|
|
2
|
-
import { UnsupportedInputError } from
|
|
3
|
-
import { StackEntry } from
|
|
4
|
-
import { InvalidValueError } from
|
|
1
|
+
import { isArray, isNull, isObjectLike, isUndefined } from '@allgemein/base';
|
|
2
|
+
import { UnsupportedInputError } from '../errors/UnsupportedInputError.js';
|
|
3
|
+
import { StackEntry } from './StackEntry.js';
|
|
4
|
+
import { InvalidValueError } from '../errors/InvalidValueError.js';
|
|
5
5
|
/**
|
|
6
6
|
* Parser iterate over mango object and build the AST
|
|
7
7
|
*
|
|
@@ -21,10 +21,10 @@ export class JsonParser {
|
|
|
21
21
|
if ((isNull(partial) || isUndefined(partial))) {
|
|
22
22
|
throw new UnsupportedInputError(partial);
|
|
23
23
|
}
|
|
24
|
-
if (isArray(partial) && partial.length
|
|
24
|
+
if (isArray(partial) && partial.length === 0) {
|
|
25
25
|
throw new UnsupportedInputError(partial);
|
|
26
26
|
}
|
|
27
|
-
if (isObjectLike(partial) && Object.keys(partial).length
|
|
27
|
+
if (isObjectLike(partial) && Object.keys(partial).length === 0) {
|
|
28
28
|
throw new UnsupportedInputError(partial);
|
|
29
29
|
}
|
|
30
30
|
// Put first entry in stack
|
package/ast/JsonParser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonParser.js","sourceRoot":"","sources":["../../../src/ast/JsonParser.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAqB,MAAM,EAAY,YAAY,EAAY,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAClH,OAAO,EAAC,qBAAqB,EAAC,MAAM,oCAAoC,CAAC;AAGzE,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAG3C,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AAIjE;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,UAAU;IAMrB,8BAA8B;IAG9B,YAAY,OAAY;QALxB,YAAO,GAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"JsonParser.js","sourceRoot":"","sources":["../../../src/ast/JsonParser.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAqB,MAAM,EAAY,YAAY,EAAY,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAClH,OAAO,EAAC,qBAAqB,EAAC,MAAM,oCAAoC,CAAC;AAGzE,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAG3C,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AAIjE;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,UAAU;IAMrB,8BAA8B;IAG9B,YAAY,OAAY;QALxB,YAAO,GAAiB,EAAE,CAAC;QAMzB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QAED,2BAA2B;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAGD,OAAO,CAAC,OAAY,EAAE,IAAc,EAAE,QAAmB,EAAE,IAAY;QACrE,IAAG,CAAC,OAAO,EAAC,CAAC;YACX,MAAM,IAAI,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,gCAAgC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IAGD,IAAI,CAAC,KAAiB;QACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAGD,KAAK;QACH,4BAA4B;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjC,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC;QACD,EAAE;QACF,qCAAqC;QACrC,uCAAuC;QACvC,iBAAiB;QACjB,IAAI;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC5C,CAAC;CAGF"}
|
package/ast/KeyDesc.d.ts
CHANGED
package/ast/KeyDesc.js
CHANGED
package/ast/Selector.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Expr } from './Expr.js';
|
|
2
|
-
import { IExpr } from
|
|
3
|
-
import { IStackEntry } from
|
|
2
|
+
import { IExpr } from './IExpr.js';
|
|
3
|
+
import { IStackEntry } from './IStackEntry.js';
|
|
4
4
|
export declare class Selector extends Expr {
|
|
5
5
|
/**
|
|
6
6
|
* Parse from Selector perspective:
|
package/ast/Selector.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Selector.js","sourceRoot":"","sources":["../../../src/ast/Selector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAI/B,MAAM,OAAO,QAAS,SAAQ,IAAI;IAEhC;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,KAAkB,EAAE,OAAY,EAAE,GAAoB;QAC1D,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"Selector.js","sourceRoot":"","sources":["../../../src/ast/Selector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAI/B,MAAM,OAAO,QAAS,SAAQ,IAAI;IAEhC;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,KAAkB,EAAE,OAAY,EAAE,GAAoB;QAC1D,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QACrC,IAAI,MAAM,IAAI,MAAM,YAAY,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;QAED,OAAO;QACP,EAAE;QACF,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,KAAsB;QAC3B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;CAGF"}
|
package/ast/StackEntry.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { CALLBACK, IStackEntry } from
|
|
2
|
-
import { IExpr } from
|
|
3
|
-
import { IParser } from
|
|
4
|
-
import { IHint, PATH_KEY } from
|
|
1
|
+
import { CALLBACK, IStackEntry } from './IStackEntry.js';
|
|
2
|
+
import { IExpr } from './IExpr.js';
|
|
3
|
+
import { IParser } from './IParser.js';
|
|
4
|
+
import { IHint, PATH_KEY } from './Constan.js';
|
|
5
5
|
export declare class StackEntry implements IStackEntry {
|
|
6
6
|
private parserRef;
|
|
7
7
|
comp: IExpr;
|
package/ast/StackEntry.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { clone, isArray, isObjectLike, isString } from
|
|
2
|
-
import { Selector } from
|
|
3
|
-
import { Components } from
|
|
4
|
-
import { create } from
|
|
5
|
-
import { isPrimative } from
|
|
6
|
-
import { RefDesc } from
|
|
7
|
-
import { ValueDesc } from
|
|
8
|
-
import { UnsupportedInputError } from
|
|
9
|
-
import { AndDesc } from
|
|
10
|
-
import { KeyDesc } from
|
|
11
|
-
import { NotYetImplementedError } from
|
|
1
|
+
import { clone, isArray, isObjectLike, isString } from '@allgemein/base';
|
|
2
|
+
import { Selector } from './Selector.js';
|
|
3
|
+
import { Components } from '../operators/Components.js';
|
|
4
|
+
import { create } from '../functions.js';
|
|
5
|
+
import { isPrimative } from './functions.js';
|
|
6
|
+
import { RefDesc } from './RefDesc.js';
|
|
7
|
+
import { ValueDesc } from './ValueDesc.js';
|
|
8
|
+
import { UnsupportedInputError } from '../errors/UnsupportedInputError.js';
|
|
9
|
+
import { AndDesc } from '../operators/logic/AndDesc.js';
|
|
10
|
+
import { KeyDesc } from './KeyDesc.js';
|
|
11
|
+
import { NotYetImplementedError } from '../errors/NotYetImplementedError.js';
|
|
12
12
|
export class StackEntry {
|
|
13
13
|
constructor(parserRef, partial, pathToPartial, callback, hint) {
|
|
14
14
|
this.parserRef = parserRef;
|
|
@@ -41,11 +41,11 @@ export class StackEntry {
|
|
|
41
41
|
*/
|
|
42
42
|
resolve() {
|
|
43
43
|
const partial = this.partial;
|
|
44
|
-
let follow
|
|
45
|
-
let followKey
|
|
44
|
+
let follow;
|
|
45
|
+
let followKey;
|
|
46
46
|
if (this.hint) {
|
|
47
47
|
this.comp = create(this.hint.comp);
|
|
48
|
-
|
|
48
|
+
const [_followKey, _follow] = this.hint.resolve(partial);
|
|
49
49
|
followKey = _followKey;
|
|
50
50
|
follow = _follow;
|
|
51
51
|
}
|
package/ast/StackEntry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StackEntry.js","sourceRoot":"","sources":["../../../src/ast/StackEntry.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,UAAU,EAAC,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AACrC,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAC,qBAAqB,EAAC,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAC,OAAO,EAAC,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AACrC,OAAO,EAAC,sBAAsB,EAAC,MAAM,qCAAqC,CAAC;AAI3E,MAAM,OAAO,UAAU;IAkBrB,YAAoB,SAAkB,EAAE,OAAY,EAAE,aAAyB,EAAE,QAAmB,EAAE,IAAY;QAA9F,cAAS,GAAT,SAAS,CAAS;QAdtC,UAAK,GAAG,KAAK,CAAC;QAId,WAAM,GAAgB,IAAI,CAAC;QAE3B,aAAQ,GAAkB,EAAE,CAAC;QAS3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAGD,aAAa;QACX,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;IAC3B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC;IACrC,CAAC;IAED,OAAO,CAAC,OAAY,EAAE,IAAe,EAAE,QAAmB,EAAE,IAAY;QACtE,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,IAAI,IAAI,EAAE,CAAC;YACT,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACjE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAGD;;;OAGG;IACH,OAAO;QACL,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"StackEntry.js","sourceRoot":"","sources":["../../../src/ast/StackEntry.ts"],"names":[],"mappings":"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"}
|
package/ast/StringParser.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { first, isEmpty, isUndefined, last, remove } from
|
|
1
|
+
import { first, isEmpty, isUndefined, last, remove } from '@allgemein/base';
|
|
2
2
|
export class StringParser {
|
|
3
3
|
constructor() {
|
|
4
4
|
this.groupLevel = 0;
|
|
@@ -17,9 +17,7 @@ export class StringParser {
|
|
|
17
17
|
name: 'leaveGroup',
|
|
18
18
|
regex: /\)/,
|
|
19
19
|
method: this.leaveGroup,
|
|
20
|
-
condition: () =>
|
|
21
|
-
return this.groupLevel > 0;
|
|
22
|
-
},
|
|
20
|
+
condition: () => this.groupLevel > 0,
|
|
23
21
|
after: [
|
|
24
22
|
'onValue',
|
|
25
23
|
'leaveGroup'
|
|
@@ -67,15 +65,15 @@ export class StringParser {
|
|
|
67
65
|
];
|
|
68
66
|
this.res = [];
|
|
69
67
|
this.queue = [];
|
|
70
|
-
//this.rootEntityDef = entityDef;
|
|
68
|
+
// this.rootEntityDef = entityDef;
|
|
71
69
|
}
|
|
72
70
|
interprete(str) {
|
|
73
71
|
this.fragmentize(str);
|
|
74
72
|
return first(this.res);
|
|
75
73
|
}
|
|
76
74
|
fragmentize(str) {
|
|
77
|
-
|
|
78
|
-
|
|
75
|
+
const lastState = last(this.queue);
|
|
76
|
+
const currentOps = this.ops.filter(x => {
|
|
79
77
|
let _true = true;
|
|
80
78
|
if (x.condition) {
|
|
81
79
|
_true = x.condition();
|
|
@@ -90,21 +88,21 @@ export class StringParser {
|
|
|
90
88
|
return _true && x.after.indexOf(lastState.state) > -1;
|
|
91
89
|
}
|
|
92
90
|
});
|
|
93
|
-
//console.log(currentOps.map(x => x.name));
|
|
91
|
+
// console.log(currentOps.map(x => x.name));
|
|
94
92
|
let inc = 0;
|
|
95
|
-
|
|
93
|
+
const map = {};
|
|
96
94
|
currentOps.map((x, index) => {
|
|
97
95
|
map[inc] = index;
|
|
98
96
|
inc = x.skipIndex ? inc + x.skipIndex : inc + 1;
|
|
99
97
|
});
|
|
100
98
|
const regex = new RegExp('^\\s*' + currentOps.map(x => '(' + x.regex.source + ')').join('|'), 'gim');
|
|
101
|
-
|
|
99
|
+
const arr = regex.exec(str);
|
|
102
100
|
if (arr) {
|
|
103
101
|
// let index = arr.findIndex(x => !isUndefined(x));
|
|
104
|
-
|
|
102
|
+
const index = arr.findIndex(x => !isUndefined(x), 1) - 1;
|
|
105
103
|
if (index > -1) {
|
|
106
|
-
|
|
107
|
-
|
|
104
|
+
const opId = map[index];
|
|
105
|
+
const op = currentOps[opId];
|
|
108
106
|
// console.log(map, regex, arr, regex.lastIndex,op.name);
|
|
109
107
|
op.method.apply(this, [arr[index + 1], str]);
|
|
110
108
|
const nextStr = str.substring(regex.lastIndex);
|
|
@@ -131,7 +129,7 @@ export class StringParser {
|
|
|
131
129
|
}
|
|
132
130
|
*/
|
|
133
131
|
onKey(match, str) {
|
|
134
|
-
|
|
132
|
+
const key = match.replace(/^('|")|('|")$/g, '');
|
|
135
133
|
this.queue.push({
|
|
136
134
|
group: this.groupLevel,
|
|
137
135
|
value: key,
|
|
@@ -172,10 +170,10 @@ export class StringParser {
|
|
|
172
170
|
return value2;
|
|
173
171
|
});
|
|
174
172
|
}
|
|
175
|
-
|
|
176
|
-
|
|
173
|
+
const op = this.queue.pop();
|
|
174
|
+
const key = this.queue.pop();
|
|
177
175
|
let erg;
|
|
178
|
-
if (op.state
|
|
176
|
+
if (op.state === 'onOperator' && key && key.state === 'onKey') {
|
|
179
177
|
switch (op.value.trim().toLowerCase()) {
|
|
180
178
|
case '=':
|
|
181
179
|
erg = Eq(Key(key.value), Value(value));
|
|
@@ -216,7 +214,7 @@ export class StringParser {
|
|
|
216
214
|
key: key,
|
|
217
215
|
desc: erg
|
|
218
216
|
});
|
|
219
|
-
|
|
217
|
+
const res = last(this.res);
|
|
220
218
|
if (res instanceof GroupDesc) {
|
|
221
219
|
res.values.push(erg);
|
|
222
220
|
}
|
|
@@ -226,7 +224,7 @@ export class StringParser {
|
|
|
226
224
|
}
|
|
227
225
|
visitGroup() {
|
|
228
226
|
this.groupLevel++;
|
|
229
|
-
|
|
227
|
+
const groupDesc = new GroupDesc();
|
|
230
228
|
groupDesc.id = this.groupLevel;
|
|
231
229
|
this.res.push(groupDesc);
|
|
232
230
|
this.queue.push({
|
|
@@ -236,12 +234,12 @@ export class StringParser {
|
|
|
236
234
|
});
|
|
237
235
|
}
|
|
238
236
|
leaveGroup() {
|
|
239
|
-
|
|
240
|
-
if (group && group.type
|
|
241
|
-
remove(this.res, g => g instanceof GroupDesc ? g.id
|
|
237
|
+
const group = this.res.find(g => g instanceof GroupDesc ? g.id === this.groupLevel : false);
|
|
238
|
+
if (group && group.type === 'group') {
|
|
239
|
+
remove(this.res, g => g instanceof GroupDesc ? g.id === this.groupLevel : false);
|
|
242
240
|
// embedded withotu bool
|
|
243
|
-
|
|
244
|
-
|
|
241
|
+
const prevGid = this.groupLevel - 1;
|
|
242
|
+
const prevGroup = this.res.find(g => g instanceof GroupDesc ? g.id === prevGid : false);
|
|
245
243
|
if (prevGroup) {
|
|
246
244
|
group.values.forEach((v) => prevGroup.values.push(v));
|
|
247
245
|
group.values = [];
|
|
@@ -255,19 +253,19 @@ export class StringParser {
|
|
|
255
253
|
state: 'leaveGroup',
|
|
256
254
|
desc: group
|
|
257
255
|
});
|
|
258
|
-
//this.
|
|
256
|
+
// this.
|
|
259
257
|
this.groupLevel--;
|
|
260
258
|
}
|
|
261
259
|
onBool(match) {
|
|
262
|
-
|
|
263
|
-
|
|
260
|
+
const bool = match.trim().toLocaleUpperCase();
|
|
261
|
+
const last = this.res.pop();
|
|
264
262
|
let group;
|
|
265
|
-
if (last instanceof GroupDesc && last.id
|
|
263
|
+
if (last instanceof GroupDesc && last.id === this.groupLevel && last.type.toLowerCase() === bool.toLowerCase()) {
|
|
266
264
|
// DO NOTTING
|
|
267
265
|
group = last;
|
|
268
266
|
this.res.push(group);
|
|
269
267
|
}
|
|
270
|
-
else if (last instanceof GroupDesc && last.type
|
|
268
|
+
else if (last instanceof GroupDesc && last.type === 'group') {
|
|
271
269
|
// undefined
|
|
272
270
|
switch (bool) {
|
|
273
271
|
case 'AND':
|
package/ast/StringParser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StringParser.js","sourceRoot":"","sources":["../../../src/ast/StringParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"StringParser.js","sourceRoot":"","sources":["../../../src/ast/StringParser.ts"],"names":[],"mappings":"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"}
|
package/ast/functions.js
CHANGED
package/ast/functions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/ast/functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AAEtE,MAAM,UAAU,WAAW,CAAC,OAAY;IACtC,OAAO,QAAQ,CAAC,OAAO,CAAC;QACtB,QAAQ,CAAC,OAAO,CAAC;QACjB,MAAM,CAAC,OAAO,CAAC;QACf,SAAS,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/ast/functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AAEtE,MAAM,UAAU,WAAW,CAAC,OAAY;IACtC,OAAO,QAAQ,CAAC,OAAO,CAAC;QACtB,QAAQ,CAAC,OAAO,CAAC;QACjB,MAAM,CAAC,OAAO,CAAC;QACf,SAAS,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC"}
|
package/functions.d.ts
CHANGED
package/functions.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { JsonParser } from
|
|
1
|
+
import { JsonParser } from './ast/JsonParser.js';
|
|
2
2
|
/**
|
|
3
3
|
* Parse mango expressions (mongo-db style)
|
|
4
4
|
*
|
|
@@ -101,7 +101,7 @@ export function expr(partial) {
|
|
|
101
101
|
//
|
|
102
102
|
// return result;
|
|
103
103
|
// }
|
|
104
|
-
export function create(createClass
|
|
104
|
+
export function create(createClass /* , partial: any, leftSide?: Expr, ctxt?: Context*/) {
|
|
105
105
|
return Reflect.construct(createClass, []);
|
|
106
106
|
}
|
|
107
107
|
//# sourceMappingURL=functions.js.map
|
package/functions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/functions.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAK/C;;;;GAIG;AACH,MAAM,UAAU,IAAI,CAAC,OAAY;IAC/B,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;AACnB,CAAC;AACD,iDAAiD;AACjD,oBAAoB;AACpB,8BAA8B;AAC9B,4CAA4C;AAC5C,MAAM;AACN,EAAE;AACF,kEAAkE;AAClE,0EAA0E;AAC1E,EAAE;AACF,EAAE;AACF,6BAA6B;AAC7B,6BAA6B;AAC7B,2BAA2B;AAC3B,yBAAyB;AACzB,yBAAyB;AACzB,4BAA4B;AAC5B,EAAE;AACF,qGAAqG;AACrG,mEAAmE;AACnE,mBAAmB;AACnB,sFAAsF;AACtF,eAAe;AACf,kFAAkF;AAClF,QAAQ;AACR,EAAE;AACF,mCAAmC;AACnC,2EAA2E;AAC3E,wCAAwC;AACxC,gDAAgD;AAChD,EAAE;AACF,4EAA4E;AAC5E,EAAE;AACF,2CAA2C;AAC3C,iCAAiC;AACjC,oGAAoG;AACpG,yCAAyC;AACzC,mEAAmE;AACnE,+CAA+C;AAC/C,gDAAgD;AAChD,yDAAyD;AACzD,6EAA6E;AAC7E,8CAA8C;AAC9C,yFAAyF;AACzF,eAAe;AACf,8EAA8E;AAC9E,6CAA6C;AAC7C,sFAAsF;AACtF,EAAE;AACF,sCAAsC;AACtC,iBAAiB;AACjB,gCAAgC;AAChC,4BAA4B;AAC5B,gDAAgD;AAChD,6CAA6C;AAC7C,qDAAqD;AACrD,qDAAqD;AACrD,oDAAoD;AACpD,kEAAkE;AAClE,mDAAmD;AACnD,+BAA+B;AAC/B,+BAA+B;AAC/B,qBAAqB;AACrB,oCAAoC;AACpC,gDAAgD;AAChD,mFAAmF;AACnF,8BAA8B;AAC9B,cAAc;AACd,YAAY;AACZ,iBAAiB;AACjB,6CAA6C;AAC7C,2CAA2C;AAC3C,kDAAkD;AAClD,+DAA+D;AAC/D,UAAU;AACV,QAAQ;AACR,kBAAkB;AAClB,kFAAkF;AAClF,WAAW;AACX,MAAM;AACN,EAAE;AACF,mBAAmB;AACnB,6DAA6D;AAC7D,MAAM;AACN,EAAE;AACF,+DAA+D;AAC/D,iCAAiC;AACjC,yCAAyC;AACzC,+DAA+D;AAC/D,MAAM;AACN,EAAE;AACF,EAAE;AACF,mBAAmB;AACnB,IAAI;AAEJ,MAAM,UAAU,MAAM,CAAiB,WAAyB,CAAC,
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/functions.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAK/C;;;;GAIG;AACH,MAAM,UAAU,IAAI,CAAC,OAAY;IAC/B,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;AACnB,CAAC;AACD,iDAAiD;AACjD,oBAAoB;AACpB,8BAA8B;AAC9B,4CAA4C;AAC5C,MAAM;AACN,EAAE;AACF,kEAAkE;AAClE,0EAA0E;AAC1E,EAAE;AACF,EAAE;AACF,6BAA6B;AAC7B,6BAA6B;AAC7B,2BAA2B;AAC3B,yBAAyB;AACzB,yBAAyB;AACzB,4BAA4B;AAC5B,EAAE;AACF,qGAAqG;AACrG,mEAAmE;AACnE,mBAAmB;AACnB,sFAAsF;AACtF,eAAe;AACf,kFAAkF;AAClF,QAAQ;AACR,EAAE;AACF,mCAAmC;AACnC,2EAA2E;AAC3E,wCAAwC;AACxC,gDAAgD;AAChD,EAAE;AACF,4EAA4E;AAC5E,EAAE;AACF,2CAA2C;AAC3C,iCAAiC;AACjC,oGAAoG;AACpG,yCAAyC;AACzC,mEAAmE;AACnE,+CAA+C;AAC/C,gDAAgD;AAChD,yDAAyD;AACzD,6EAA6E;AAC7E,8CAA8C;AAC9C,yFAAyF;AACzF,eAAe;AACf,8EAA8E;AAC9E,6CAA6C;AAC7C,sFAAsF;AACtF,EAAE;AACF,sCAAsC;AACtC,iBAAiB;AACjB,gCAAgC;AAChC,4BAA4B;AAC5B,gDAAgD;AAChD,6CAA6C;AAC7C,qDAAqD;AACrD,qDAAqD;AACrD,oDAAoD;AACpD,kEAAkE;AAClE,mDAAmD;AACnD,+BAA+B;AAC/B,+BAA+B;AAC/B,qBAAqB;AACrB,oCAAoC;AACpC,gDAAgD;AAChD,mFAAmF;AACnF,8BAA8B;AAC9B,cAAc;AACd,YAAY;AACZ,iBAAiB;AACjB,6CAA6C;AAC7C,2CAA2C;AAC3C,kDAAkD;AAClD,+DAA+D;AAC/D,UAAU;AACV,QAAQ;AACR,kBAAkB;AAClB,kFAAkF;AAClF,WAAW;AACX,MAAM;AACN,EAAE;AACF,mBAAmB;AACnB,6DAA6D;AAC7D,MAAM;AACN,EAAE;AACF,+DAA+D;AAC/D,iCAAiC;AACjC,yCAAyC;AACzC,+DAA+D;AAC/D,MAAM;AACN,EAAE;AACF,EAAE;AACF,mBAAmB;AACnB,IAAI;AAEJ,MAAM,UAAU,MAAM,CAAiB,WAAyB,CAAC,oDAAoD;IACnH,OAAO,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAM,CAAC;AACjD,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AbstractOperator } from './AbstractOperator.js';
|
|
2
|
-
import { IStackEntry } from
|
|
3
|
-
import { IExpr } from
|
|
2
|
+
import { IStackEntry } from '../ast/IStackEntry.js';
|
|
3
|
+
import { IExpr } from '../ast/IExpr.js';
|
|
4
4
|
export declare abstract class AbstractCompare extends AbstractOperator {
|
|
5
5
|
/**
|
|
6
6
|
* Differenze between notation of a comparator
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { AbstractOperator } from './AbstractOperator.js';
|
|
2
|
-
import { Selector } from
|
|
3
|
-
import { Expr } from
|
|
4
|
-
import { NotYetImplementedError } from
|
|
5
|
-
import { isArray } from
|
|
6
|
-
import { KeyDesc } from
|
|
7
|
-
import { AbstractJunctorArray } from
|
|
2
|
+
import { Selector } from '../ast/Selector.js';
|
|
3
|
+
import { Expr } from '../ast/Expr.js';
|
|
4
|
+
import { NotYetImplementedError } from '../errors/NotYetImplementedError.js';
|
|
5
|
+
import { isArray } from '@allgemein/base';
|
|
6
|
+
import { KeyDesc } from '../ast/KeyDesc.js';
|
|
7
|
+
import { AbstractJunctorArray } from './AbstractJunctorArray.js';
|
|
8
8
|
export class AbstractCompare extends AbstractOperator {
|
|
9
9
|
constructor() {
|
|
10
10
|
// op: string;
|
|
@@ -55,7 +55,7 @@ export class AbstractCompare extends AbstractOperator {
|
|
|
55
55
|
}
|
|
56
56
|
entry.enqueue(partial, key, result => this.setRightSide(result.comp));
|
|
57
57
|
}
|
|
58
|
-
else if (isArray(partial) && partial.length
|
|
58
|
+
else if (isArray(partial) && partial.length === 2) {
|
|
59
59
|
// No key was previously detected, so key is a given and value is array of 2
|
|
60
60
|
this.mode = 'array';
|
|
61
61
|
if (parent) {
|