@malloydata/malloy-filter 0.0.242 → 0.0.243-dev250314032737
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/dist/clause_utils.d.ts +13 -3
- package/dist/clause_utils.js +43 -44
- package/dist/clause_utils.js.map +1 -1
- package/dist/filter_clause.d.ts +8 -2
- package/dist/filter_clause.js +7 -3
- package/dist/filter_clause.js.map +1 -1
- package/dist/lib/fexpr_number_parser.js +22 -13
- package/dist/lib/fexpr_number_parser.js.map +1 -1
- package/dist/lib/ftemporal_parser.js +4 -5
- package/dist/lib/ftemporal_parser.js.map +1 -1
- package/dist/number_filter_expression.js +2 -7
- package/dist/number_filter_expression.js.map +1 -1
- package/dist/temporal_filter_expression.js +0 -4
- package/dist/temporal_filter_expression.js.map +1 -1
- package/package.json +1 -1
- package/src/clause_utils.ts +41 -47
- package/src/filter_clause.ts +16 -4
- package/src/lib/fexpr_number_parser.ts +27 -16
- package/src/lib/ftemporal_parser.ts +4 -6
- package/src/number_filter_expression.ts +2 -7
- package/src/temporal_filter_expression.ts +0 -4
package/dist/clause_utils.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ export declare function maybeNot(data: (Object | undefined)[]): Object | {
|
|
|
27
27
|
} | undefined;
|
|
28
28
|
export declare function unescape(str: string): string;
|
|
29
29
|
/**
|
|
30
|
-
* Escape all of these:
|
|
30
|
+
* Escape all of these: ,; |()\%_-
|
|
31
31
|
*/
|
|
32
32
|
export declare function escape(str: string): string;
|
|
33
33
|
/**
|
|
@@ -38,9 +38,16 @@ export declare function matchOp(matchSrc: string): StringClause;
|
|
|
38
38
|
export declare function conjoin(left: Object, op: string, right: Object): StringClause | null;
|
|
39
39
|
export declare function joinNumbers(left: Object, op: string, right: Object): NumberClause | null;
|
|
40
40
|
export declare function mkRange(left: string, rFrom: string, rTo: string, right: string): NumberRange | null;
|
|
41
|
+
export declare function mkValues(n: string, nList: string[]): {
|
|
42
|
+
values: string[];
|
|
43
|
+
};
|
|
41
44
|
export declare function numNot(op: Object, notToken: unknown): Object | {
|
|
45
|
+
operator: string;
|
|
46
|
+
values: string[];
|
|
47
|
+
} | {
|
|
42
48
|
not: boolean;
|
|
43
49
|
operator: "null";
|
|
50
|
+
values?: undefined;
|
|
44
51
|
} | {
|
|
45
52
|
not: boolean;
|
|
46
53
|
operator: import("./filter_clause").NumberOperator;
|
|
@@ -52,14 +59,17 @@ export declare function numNot(op: Object, notToken: unknown): Object | {
|
|
|
52
59
|
startValue: string;
|
|
53
60
|
endOperator: import("./filter_clause").NumberRangeOperator;
|
|
54
61
|
endValue: string;
|
|
62
|
+
values?: undefined;
|
|
55
63
|
} | {
|
|
56
64
|
not: boolean;
|
|
57
65
|
operator: "()";
|
|
58
66
|
expr: NumberClause;
|
|
67
|
+
values?: undefined;
|
|
59
68
|
} | {
|
|
60
69
|
not: boolean;
|
|
61
|
-
operator:
|
|
70
|
+
operator: "and" | "or";
|
|
62
71
|
members: NumberClause[];
|
|
72
|
+
values?: undefined;
|
|
63
73
|
};
|
|
64
74
|
export declare function temporalNot(op: Object, notToken: unknown): Object | {
|
|
65
75
|
not: boolean;
|
|
@@ -99,7 +109,7 @@ export declare function temporalNot(op: Object, notToken: unknown): Object | {
|
|
|
99
109
|
in: import("./filter_clause").Moment;
|
|
100
110
|
} | {
|
|
101
111
|
not: boolean;
|
|
102
|
-
operator:
|
|
112
|
+
operator: "and" | "or";
|
|
103
113
|
members: TemporalClause[];
|
|
104
114
|
} | {
|
|
105
115
|
not: boolean;
|
package/dist/clause_utils.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.mkUnits = exports.timeLiteral = exports.joinTemporal = exports.temporalNot = exports.numNot = exports.mkRange = exports.joinNumbers = exports.conjoin = exports.matchOp = exports.escape = exports.unescape = exports.maybeNot = void 0;
|
|
9
|
+
exports.mkUnits = exports.timeLiteral = exports.joinTemporal = exports.temporalNot = exports.numNot = exports.mkValues = exports.mkRange = exports.joinNumbers = exports.conjoin = exports.matchOp = exports.escape = exports.unescape = exports.maybeNot = void 0;
|
|
10
10
|
const filter_clause_1 = require("./filter_clause");
|
|
11
11
|
/**
|
|
12
12
|
* If there is a minus token, add "not:true" to the clause
|
|
@@ -24,7 +24,7 @@ function unescape(str) {
|
|
|
24
24
|
}
|
|
25
25
|
exports.unescape = unescape;
|
|
26
26
|
/**
|
|
27
|
-
* Escape all of these:
|
|
27
|
+
* Escape all of these: ,; |()\%_-
|
|
28
28
|
*/
|
|
29
29
|
function escape(str) {
|
|
30
30
|
const lstr = str.toLowerCase();
|
|
@@ -37,52 +37,36 @@ exports.escape = escape;
|
|
|
37
37
|
/**
|
|
38
38
|
* I tried to write the regex for these and I just kept finding strings where the regex failed.
|
|
39
39
|
* Look at a string and find if it uses any unescaped like characters, if it starts or ends with
|
|
40
|
-
* a percent match, and counts trailing spaces
|
|
40
|
+
* a percent match, and counts non escaped trailing spaces
|
|
41
41
|
*/
|
|
42
42
|
function describeString(s) {
|
|
43
|
-
let state = 0;
|
|
44
43
|
let percentStart = false;
|
|
45
44
|
let percentEnd = false;
|
|
46
|
-
let
|
|
45
|
+
let endSpaceCnt = 0;
|
|
47
46
|
let hasLike = false;
|
|
48
47
|
const iLen = s.length;
|
|
49
|
-
for (
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
48
|
+
for (let i = 0; i < iLen; i += 1) {
|
|
49
|
+
const c = s[i];
|
|
50
|
+
if (c === ' ' || c === '\t') {
|
|
51
|
+
endSpaceCnt += 1;
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
endSpaceCnt = 0;
|
|
55
|
+
if (c === '%') {
|
|
56
|
+
hasLike = true;
|
|
57
|
+
if (i === 0) {
|
|
55
58
|
percentStart = true;
|
|
56
|
-
continue;
|
|
57
59
|
}
|
|
60
|
+
percentEnd = true;
|
|
58
61
|
}
|
|
59
|
-
|
|
60
|
-
|
|
62
|
+
else {
|
|
63
|
+
percentEnd = false;
|
|
61
64
|
if (c === '\\') {
|
|
62
|
-
|
|
63
|
-
percentEnd = false;
|
|
64
|
-
state = 2;
|
|
65
|
-
continue;
|
|
66
|
-
}
|
|
67
|
-
if (c === ' ' || c === '\t') {
|
|
68
|
-
percentEnd = false;
|
|
69
|
-
endSpace += 1;
|
|
65
|
+
i += 1;
|
|
70
66
|
}
|
|
71
|
-
else {
|
|
72
|
-
|
|
73
|
-
if (c === '%') {
|
|
74
|
-
hasLike = true;
|
|
75
|
-
percentEnd = true;
|
|
76
|
-
}
|
|
77
|
-
else if (c === '_') {
|
|
78
|
-
hasLike = true;
|
|
79
|
-
percentEnd = false;
|
|
80
|
-
}
|
|
67
|
+
else if (c === '_') {
|
|
68
|
+
hasLike = true;
|
|
81
69
|
}
|
|
82
|
-
continue;
|
|
83
|
-
}
|
|
84
|
-
if (state === 2) {
|
|
85
|
-
state = 1;
|
|
86
70
|
}
|
|
87
71
|
}
|
|
88
72
|
/*
|
|
@@ -93,7 +77,7 @@ function describeString(s) {
|
|
|
93
77
|
hasLike,
|
|
94
78
|
percentEnd: percentEnd && iLen > 1,
|
|
95
79
|
percentStart: percentStart && iLen > 1,
|
|
96
|
-
endSpace,
|
|
80
|
+
endSpace: endSpaceCnt,
|
|
97
81
|
};
|
|
98
82
|
}
|
|
99
83
|
/**
|
|
@@ -116,24 +100,33 @@ function matchOp(matchSrc) {
|
|
|
116
100
|
else if (percentEnd) {
|
|
117
101
|
const tail = matchTxt.slice(0, -1);
|
|
118
102
|
if (!describeString(tail).hasLike) {
|
|
103
|
+
// the tail has no like characters, in the case of "starts with percent"
|
|
104
|
+
// this equals [\ %] which we need to unescape
|
|
105
|
+
// we want to write LIKE '^%%' ESCAPE
|
|
106
|
+
// if we unescape the % here we need to re-escape it when we write the like statement
|
|
107
|
+
// in this case the escaping needs to happen when the like string is computed
|
|
119
108
|
return { operator: 'starts', values: [unescape(tail)] };
|
|
120
109
|
}
|
|
121
110
|
}
|
|
122
111
|
else if (percentStart) {
|
|
123
112
|
const head = matchTxt.slice(1);
|
|
124
113
|
if (!describeString(head).hasLike) {
|
|
114
|
+
// the head has no like characters, in the case of "ends with backslash"
|
|
115
|
+
// head is [\, \]
|
|
116
|
+
// we want to write, on MySQL LIKE '%\' or LIKE '%\\' on bigquery
|
|
117
|
+
// which means we want the single backslash here ...
|
|
118
|
+
// in this case the escaping needs to happen whenthe like string is turned into a string literal
|
|
125
119
|
return { operator: 'ends', values: [unescape(head)] };
|
|
126
120
|
}
|
|
127
121
|
}
|
|
128
122
|
return { operator: '~', escaped_values: [matchTxt] };
|
|
129
123
|
}
|
|
130
|
-
if (matchTxt === 'null' || matchTxt === 'NULL') {
|
|
124
|
+
if (matchTxt.toLowerCase() === 'null' || matchTxt === 'NULL') {
|
|
131
125
|
return { operator: 'null' };
|
|
132
126
|
}
|
|
133
127
|
if (matchTxt === 'empty' || matchTxt === 'EMPTY') {
|
|
134
128
|
return { operator: 'empty' };
|
|
135
129
|
}
|
|
136
|
-
// Unescape everything else
|
|
137
130
|
return { operator: '=', values: [unescape(matchTxt)] };
|
|
138
131
|
}
|
|
139
132
|
exports.matchOp = matchOp;
|
|
@@ -167,9 +160,7 @@ function conjoin(left, op, right) {
|
|
|
167
160
|
exports.conjoin = conjoin;
|
|
168
161
|
function joinNumbers(left, op, right) {
|
|
169
162
|
if ((0, filter_clause_1.isNumberClause)(left) && (0, filter_clause_1.isNumberClause)(right)) {
|
|
170
|
-
if (
|
|
171
|
-
left.operator === '=' &&
|
|
172
|
-
sameAs(left, right)) {
|
|
163
|
+
if (op === 'or' && left.operator === '=' && sameAs(left, right)) {
|
|
173
164
|
const ret = {
|
|
174
165
|
operator: '=',
|
|
175
166
|
values: [...left.values, ...right.values],
|
|
@@ -179,7 +170,7 @@ function joinNumbers(left, op, right) {
|
|
|
179
170
|
}
|
|
180
171
|
return ret;
|
|
181
172
|
}
|
|
182
|
-
if (op === '
|
|
173
|
+
if (op === 'and' || op === 'or') {
|
|
183
174
|
if (left.operator === op) {
|
|
184
175
|
return { ...left, members: [...left.members, right] };
|
|
185
176
|
}
|
|
@@ -199,8 +190,16 @@ function mkRange(left, rFrom, rTo, right) {
|
|
|
199
190
|
};
|
|
200
191
|
}
|
|
201
192
|
exports.mkRange = mkRange;
|
|
193
|
+
function mkValues(n, nList) {
|
|
194
|
+
return { values: [n, ...nList] };
|
|
195
|
+
}
|
|
196
|
+
exports.mkValues = mkValues;
|
|
202
197
|
function numNot(op, notToken) {
|
|
203
198
|
if ((0, filter_clause_1.isNumberClause)(op) && notToken) {
|
|
199
|
+
if (op.operator === '=')
|
|
200
|
+
return { operator: '!=', values: op.values };
|
|
201
|
+
if (op.operator === '!=')
|
|
202
|
+
return { operator: '=', values: op.values };
|
|
204
203
|
return { ...op, not: true };
|
|
205
204
|
}
|
|
206
205
|
return op;
|
|
@@ -229,7 +228,7 @@ function joinTemporal(left, op, right) {
|
|
|
229
228
|
// }
|
|
230
229
|
// return ret;
|
|
231
230
|
// }
|
|
232
|
-
if (op === '
|
|
231
|
+
if (op === 'and' || op === 'or') {
|
|
233
232
|
if (left.operator === op) {
|
|
234
233
|
return { ...left, members: [...left.members, right] };
|
|
235
234
|
}
|
package/dist/clause_utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clause_utils.js","sourceRoot":"","sources":["../src/clause_utils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,mDAayB;AAEzB;;GAEG;AACH,SAAgB,QAAQ,CAAC,IAA4B;IACnD,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;IAC3B,IAAI,OAAO,IAAI,EAAE,IAAI,IAAA,8BAAc,EAAC,EAAE,CAAC,EAAE,CAAC;QACxC,OAAO,EAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,EAAC,CAAC;IAC5B,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAND,4BAMC;AAED,SAAgB,QAAQ,CAAC,GAAW;IAClC,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AAFD,4BAEC;AAED;;GAEG;AACH,SAAgB,MAAM,CAAC,GAAW;IAChC,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAC/B,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACxC,OAAO,IAAI,GAAG,GAAG,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC;AAND,wBAMC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,CAAS;IAC/B,IAAI,
|
|
1
|
+
{"version":3,"file":"clause_utils.js","sourceRoot":"","sources":["../src/clause_utils.ts"],"names":[],"mappings":"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"}
|
package/dist/filter_clause.d.ts
CHANGED
|
@@ -14,6 +14,11 @@ interface ClauseChain<T> extends ClauseBase {
|
|
|
14
14
|
operator: ChainOp;
|
|
15
15
|
members: T[];
|
|
16
16
|
}
|
|
17
|
+
type BooleanChainOp = 'and' | 'or';
|
|
18
|
+
export interface BooleanChain<T> extends ClauseBase {
|
|
19
|
+
operator: BooleanChainOp;
|
|
20
|
+
members: T[];
|
|
21
|
+
}
|
|
17
22
|
interface ClauseGroup<T> extends ClauseBase, Negateable {
|
|
18
23
|
operator: '()';
|
|
19
24
|
expr: T;
|
|
@@ -37,6 +42,7 @@ export interface BooleanCondition extends Negateable {
|
|
|
37
42
|
operator: BooleanOperator;
|
|
38
43
|
}
|
|
39
44
|
export type BooleanClause = BooleanCondition | Null;
|
|
45
|
+
export declare function isBooleanClause(bc: Object): bc is BooleanClause;
|
|
40
46
|
export declare function isStringClause(sc: Object): sc is StringClause;
|
|
41
47
|
export type NumberOperator = '<=' | '>=' | '!=' | '=' | '>' | '<';
|
|
42
48
|
export interface NumberCondition extends ClauseBase, Negateable {
|
|
@@ -51,7 +57,7 @@ export interface NumberRange extends ClauseBase, Negateable {
|
|
|
51
57
|
endOperator: NumberRangeOperator;
|
|
52
58
|
endValue: string;
|
|
53
59
|
}
|
|
54
|
-
export type NumberClause = NumberCondition | NumberRange | Null | ClauseGroup<NumberClause> |
|
|
60
|
+
export type NumberClause = NumberCondition | NumberRange | Null | ClauseGroup<NumberClause> | BooleanChain<NumberClause>;
|
|
55
61
|
export declare function isNumberClause(sc: Object): sc is NumberClause;
|
|
56
62
|
export type TemporalUnit = 'second' | 'minute' | 'hour' | 'day' | 'week' | 'month' | 'quarter' | 'year';
|
|
57
63
|
export interface TemporalLiteral {
|
|
@@ -111,7 +117,7 @@ export interface InMoment extends Negateable {
|
|
|
111
117
|
operator: 'in';
|
|
112
118
|
in: Moment;
|
|
113
119
|
}
|
|
114
|
-
export type TemporalClause = Null | Before | After | To | For | JustUnits | in_last | InMoment |
|
|
120
|
+
export type TemporalClause = Null | Before | After | To | For | JustUnits | in_last | InMoment | BooleanChain<TemporalClause> | ClauseGroup<TemporalClause>;
|
|
115
121
|
export declare function isTemporalClause(sc: Object): sc is TemporalClause;
|
|
116
122
|
export type FilterLogSeverity = 'error' | 'warn';
|
|
117
123
|
export interface FilterLog {
|
package/dist/filter_clause.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.isTemporalClause = exports.isNumberClause = exports.isStringClause = exports.isStringCondition = exports.isChainOp = exports.isClauseBase = void 0;
|
|
9
|
+
exports.isTemporalClause = exports.isNumberClause = exports.isStringClause = exports.isBooleanClause = exports.isStringCondition = exports.isChainOp = exports.isClauseBase = void 0;
|
|
10
10
|
function isClauseBase(o) {
|
|
11
11
|
return 'operator' in o;
|
|
12
12
|
}
|
|
@@ -19,6 +19,12 @@ function isStringCondition(sc) {
|
|
|
19
19
|
return ['starts', 'ends', 'contains', '='].includes(sc.operator);
|
|
20
20
|
}
|
|
21
21
|
exports.isStringCondition = isStringCondition;
|
|
22
|
+
function isBooleanClause(bc) {
|
|
23
|
+
return ('operator' in bc &&
|
|
24
|
+
typeof bc.operator === 'string' &&
|
|
25
|
+
['null', 'true', 'false', 'false_or_null'].includes(bc.operator));
|
|
26
|
+
}
|
|
27
|
+
exports.isBooleanClause = isBooleanClause;
|
|
22
28
|
function isStringClause(sc) {
|
|
23
29
|
return ('operator' in sc &&
|
|
24
30
|
typeof sc.operator === 'string' &&
|
|
@@ -50,7 +56,6 @@ function isNumberClause(sc) {
|
|
|
50
56
|
'<',
|
|
51
57
|
'and',
|
|
52
58
|
'or',
|
|
53
|
-
',',
|
|
54
59
|
'()',
|
|
55
60
|
'null',
|
|
56
61
|
].includes(sc.operator));
|
|
@@ -72,7 +77,6 @@ function isTemporalClause(sc) {
|
|
|
72
77
|
'this',
|
|
73
78
|
'last',
|
|
74
79
|
'next',
|
|
75
|
-
',',
|
|
76
80
|
'()',
|
|
77
81
|
'null',
|
|
78
82
|
].includes(sc.operator));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter_clause.js","sourceRoot":"","sources":["../src/filter_clause.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAMH,SAAgB,YAAY,CAAC,CAAS;IACpC,OAAO,UAAU,IAAI,CAAC,CAAC;AACzB,CAAC;AAFD,oCAEC;AAWD,SAAgB,SAAS,CAAC,CAAS;IACjC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC;AAFD,8BAEC;
|
|
1
|
+
{"version":3,"file":"filter_clause.js","sourceRoot":"","sources":["../src/filter_clause.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAMH,SAAgB,YAAY,CAAC,CAAS;IACpC,OAAO,UAAU,IAAI,CAAC,CAAC;AACzB,CAAC;AAFD,oCAEC;AAWD,SAAgB,SAAS,CAAC,CAAS;IACjC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC;AAFD,8BAEC;AAmBD,SAAgB,iBAAiB,CAAC,EAAgB;IAChD,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;AACnE,CAAC;AAFD,8CAEC;AAgCD,SAAgB,eAAe,CAAC,EAAU;IACxC,OAAO,CACL,UAAU,IAAI,EAAE;QAChB,OAAO,EAAE,CAAC,QAAQ,KAAK,QAAQ;QAC/B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CACjE,CAAC;AACJ,CAAC;AAND,0CAMC;AAED,SAAgB,cAAc,CAAC,EAAU;IACvC,OAAO,CACL,UAAU,IAAI,EAAE;QAChB,OAAO,EAAE,CAAC,QAAQ,KAAK,QAAQ;QAC/B;YACE,QAAQ;YACR,MAAM;YACN,UAAU;YACV,GAAG;YACH,GAAG;YACH,MAAM;YACN,OAAO;YACP,KAAK;YACL,IAAI;YACJ,GAAG;YACH,IAAI;SACL,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CACxB,CAAC;AACJ,CAAC;AAlBD,wCAkBC;AA0BD,SAAgB,cAAc,CAAC,EAAU;IACvC,OAAO,CACL,UAAU,IAAI,EAAE;QAChB,OAAO,EAAE,CAAC,QAAQ,KAAK,QAAQ;QAC/B;YACE,OAAO;YACP,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,GAAG;YACH,GAAG;YACH,GAAG;YACH,KAAK;YACL,IAAI;YACJ,IAAI;YACJ,MAAM;SACP,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CACxB,CAAC;AACJ,CAAC;AAlBD,wCAkBC;AAiHD,SAAgB,gBAAgB,CAAC,EAAU;IACzC,OAAO,CACL,UAAU,IAAI,EAAE;QAChB,OAAO,EAAE,CAAC,QAAQ,KAAK,QAAQ;QAC/B;YACE,SAAS;YACT,QAAQ;YACR,OAAO;YACP,IAAI;YACJ,KAAK;YACL,IAAI;YACJ,KAAK;YACL,IAAI;YACJ,SAAS;YACT,MAAM;YACN,MAAM;YACN,MAAM;YACN,IAAI;YACJ,MAAM;SACP,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CACxB,CAAC;AACJ,CAAC;AArBD,4CAqBC"}
|
|
@@ -22,12 +22,14 @@ const fnumber_lexer = moo_1.default.compile({
|
|
|
22
22
|
'TO': 'to',
|
|
23
23
|
}),
|
|
24
24
|
},
|
|
25
|
-
oparen:
|
|
26
|
-
cparen:
|
|
27
|
-
obrack:
|
|
28
|
-
cbrack:
|
|
29
|
-
comma:
|
|
30
|
-
op:
|
|
25
|
+
oparen: '(',
|
|
26
|
+
cparen: ')',
|
|
27
|
+
obrack: '[',
|
|
28
|
+
cbrack: ']',
|
|
29
|
+
comma: ',',
|
|
30
|
+
op: /<=|>=|<|>/,
|
|
31
|
+
ne: '!=',
|
|
32
|
+
eq: '=',
|
|
31
33
|
float: /-?(?:\d+)?\.\d+(?:[Ee][+-]?\d+)?/,
|
|
32
34
|
numberE: /-?\d+[Ee][+-]?\d+/,
|
|
33
35
|
integer: /-?\d+/,
|
|
@@ -52,13 +54,21 @@ const grammar = {
|
|
|
52
54
|
{ "name": "numberFilter", "symbols": ["numberUnary"], "postprocess": (data) => data[0] },
|
|
53
55
|
{ "name": "numberUnary$ebnf$1", "symbols": [(fnumber_lexer.has("NOT") ? { type: "NOT" } : NOT)], "postprocess": id },
|
|
54
56
|
{ "name": "numberUnary$ebnf$1", "symbols": [], "postprocess": () => null },
|
|
55
|
-
{ "name": "numberUnary", "symbols": ["numberUnary$ebnf$1", "clause"], "postprocess": ([notToken,
|
|
57
|
+
{ "name": "numberUnary", "symbols": ["numberUnary$ebnf$1", "clause"], "postprocess": ([notToken, clause]) => (0, clause_utils_1.numNot)(clause, notToken) },
|
|
56
58
|
{ "name": "clause", "symbols": [(fnumber_lexer.has("NULL_KW") ? { type: "NULL_KW" } : NULL_KW)], "postprocess": () => ({ operator: 'null' }) },
|
|
57
|
-
{ "name": "clause", "symbols": [
|
|
59
|
+
{ "name": "clause$ebnf$1", "symbols": [] },
|
|
60
|
+
{ "name": "clause$ebnf$1", "symbols": ["clause$ebnf$1", "numberList"], "postprocess": (d) => d[0].concat([d[1]]) },
|
|
61
|
+
{ "name": "clause", "symbols": ["N", "clause$ebnf$1"], "postprocess": ([n, nList]) => ({ operator: '=', ...(0, clause_utils_1.mkValues)(n, nList) }) },
|
|
62
|
+
{ "name": "clause$ebnf$2", "symbols": [] },
|
|
63
|
+
{ "name": "clause$ebnf$2", "symbols": ["clause$ebnf$2", "numberList"], "postprocess": (d) => d[0].concat([d[1]]) },
|
|
64
|
+
{ "name": "clause", "symbols": [(fnumber_lexer.has("eq") ? { type: "eq" } : eq), "N", "clause$ebnf$2"], "postprocess": ([_, n, nList]) => ({ operator: '=', ...(0, clause_utils_1.mkValues)(n, nList) }) },
|
|
65
|
+
{ "name": "clause$ebnf$3", "symbols": [] },
|
|
66
|
+
{ "name": "clause$ebnf$3", "symbols": ["clause$ebnf$3", "numberList"], "postprocess": (d) => d[0].concat([d[1]]) },
|
|
67
|
+
{ "name": "clause", "symbols": [(fnumber_lexer.has("ne") ? { type: "ne" } : ne), "N", "clause$ebnf$3"], "postprocess": ([_, n, nList]) => ({ operator: '!=', ...(0, clause_utils_1.mkValues)(n, nList) }) },
|
|
58
68
|
{ "name": "clause", "symbols": [(fnumber_lexer.has("op") ? { type: "op" } : op), "N"], "postprocess": ([op, n]) => ({ operator: op.text, values: [n] }) },
|
|
59
|
-
{ "name": "clause", "symbols": ["
|
|
69
|
+
{ "name": "clause", "symbols": [(fnumber_lexer.has("oparen") ? { type: "oparen" } : oparen), "numberFilter", (fnumber_lexer.has("cparen") ? { type: "cparen" } : cparen)], "postprocess": ([_1, subFilter, _3]) => ({ operator: "()", expr: subFilter }) },
|
|
60
70
|
{ "name": "clause", "symbols": ["openInterval", "N", (fnumber_lexer.has("TO") ? { type: "TO" } : TO), "N", "closeInterval"], "postprocess": ([l, b, _to, e, r]) => (0, clause_utils_1.mkRange)(l[0].text, b, e, r[0].text) },
|
|
61
|
-
{ "name": "
|
|
71
|
+
{ "name": "numberList", "symbols": [(fnumber_lexer.has("comma") ? { type: "comma" } : comma), "N"], "postprocess": ([_, n]) => n },
|
|
62
72
|
{ "name": "closeInterval", "symbols": [(fnumber_lexer.has("cbrack") ? { type: "cbrack" } : cbrack)] },
|
|
63
73
|
{ "name": "closeInterval", "symbols": [(fnumber_lexer.has("cparen") ? { type: "cparen" } : cparen)] },
|
|
64
74
|
{ "name": "openInterval", "symbols": [(fnumber_lexer.has("obrack") ? { type: "obrack" } : obrack)] },
|
|
@@ -66,10 +76,9 @@ const grammar = {
|
|
|
66
76
|
{ "name": "N$subexpression$1", "symbols": [(fnumber_lexer.has("float") ? { type: "float" } : float)] },
|
|
67
77
|
{ "name": "N$subexpression$1", "symbols": [(fnumber_lexer.has("numberE") ? { type: "numberE" } : numberE)] },
|
|
68
78
|
{ "name": "N$subexpression$1", "symbols": [(fnumber_lexer.has("integer") ? { type: "integer" } : integer)] },
|
|
69
|
-
{ "name": "N", "symbols": ["N$subexpression$1"], "postprocess": (nMatch) => nMatch[0]
|
|
79
|
+
{ "name": "N", "symbols": ["N$subexpression$1"], "postprocess": ([nMatch]) => nMatch[0].text },
|
|
70
80
|
{ "name": "conjunction", "symbols": [(fnumber_lexer.has("OR") ? { type: "OR" } : OR)] },
|
|
71
|
-
{ "name": "conjunction", "symbols": [(fnumber_lexer.has("AND") ? { type: "AND" } : AND)] }
|
|
72
|
-
{ "name": "conjunction", "symbols": [(fnumber_lexer.has("comma") ? { type: "comma" } : comma)] }
|
|
81
|
+
{ "name": "conjunction", "symbols": [(fnumber_lexer.has("AND") ? { type: "AND" } : AND)] }
|
|
73
82
|
],
|
|
74
83
|
ParserStart: "numberFilter",
|
|
75
84
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fexpr_number_parser.js","sourceRoot":"","sources":["../../src/lib/fexpr_number_parser.ts"],"names":[],"mappings":";;;;;AAAA,qDAAqD;AACrD,wCAAwC;AACxC,wDAAwD;AACxD,aAAa;AACb,SAAS,EAAE,CAAC,CAAQ,IAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"fexpr_number_parser.js","sourceRoot":"","sources":["../../src/lib/fexpr_number_parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,9 +57,9 @@ const temporal_lexer = moo_1.default.compile({
|
|
|
57
57
|
'SUNDAY': 'sunday',
|
|
58
58
|
}),
|
|
59
59
|
},
|
|
60
|
-
oparen:
|
|
61
|
-
cparen:
|
|
62
|
-
comma:
|
|
60
|
+
oparen: '(',
|
|
61
|
+
cparen: ')',
|
|
62
|
+
comma: ',',
|
|
63
63
|
literal: /\d\d\d\d-\d\d-\d\d[ Tt]\d\d:\d\d(?::\d\d(?:[.,]\d*))/,
|
|
64
64
|
lit_week: /\d\d\d\d-\d\d-\d\d-[Ww][Kk]/,
|
|
65
65
|
lit_quarter: /\d\d\d\d-[qQ][1234]/,
|
|
@@ -152,8 +152,7 @@ const grammar = {
|
|
|
152
152
|
{ "name": "weekday", "symbols": ["weekday$subexpression$1"], "postprocess": ([dayToken]) => dayToken[0].text },
|
|
153
153
|
{ "name": "parens", "symbols": [(temporal_lexer.has("oparen") ? { type: "oparen" } : oparen), "temporalFilter", (temporal_lexer.has("cparen") ? { type: "cparen" } : cparen)], "postprocess": ([_1, subFilter, _3]) => ({ operator: "()", expr: subFilter }) },
|
|
154
154
|
{ "name": "conjunction", "symbols": [(temporal_lexer.has("OR") ? { type: "OR" } : OR)] },
|
|
155
|
-
{ "name": "conjunction", "symbols": [(temporal_lexer.has("AND") ? { type: "AND" } : AND)] }
|
|
156
|
-
{ "name": "conjunction", "symbols": [(temporal_lexer.has("comma") ? { type: "comma" } : comma)] }
|
|
155
|
+
{ "name": "conjunction", "symbols": [(temporal_lexer.has("AND") ? { type: "AND" } : AND)] }
|
|
157
156
|
],
|
|
158
157
|
ParserStart: "temporalFilter",
|
|
159
158
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ftemporal_parser.js","sourceRoot":"","sources":["../../src/lib/ftemporal_parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ftemporal_parser.js","sourceRoot":"","sources":["../../src/lib/ftemporal_parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,7 +52,9 @@ exports.NumberFilterExpression = {
|
|
|
52
52
|
}
|
|
53
53
|
switch (nc.operator) {
|
|
54
54
|
case '=':
|
|
55
|
+
return nc.values.join(', ');
|
|
55
56
|
case '!=':
|
|
57
|
+
return '!= ' + nc.values.join(', ');
|
|
56
58
|
case '>':
|
|
57
59
|
case '<':
|
|
58
60
|
case '<=':
|
|
@@ -62,9 +64,6 @@ exports.NumberFilterExpression = {
|
|
|
62
64
|
.map(v => nc.operator === '=' ? `not ${v}` : `not ${nc.operator} ${v}`)
|
|
63
65
|
.join(', ');
|
|
64
66
|
}
|
|
65
|
-
if (nc.operator === '=') {
|
|
66
|
-
return nc.values.join(', ');
|
|
67
|
-
}
|
|
68
67
|
return nc.values.map(v => `${nc.operator} ${v}`).join(', ');
|
|
69
68
|
case 'range': {
|
|
70
69
|
const left = nc.startOperator === '>' ? '(' : '[';
|
|
@@ -80,10 +79,6 @@ exports.NumberFilterExpression = {
|
|
|
80
79
|
return nc.members
|
|
81
80
|
.map(m => exports.NumberFilterExpression.unparse(m))
|
|
82
81
|
.join(` ${nc.operator} `);
|
|
83
|
-
case ',':
|
|
84
|
-
return nc.members
|
|
85
|
-
.map(m => exports.NumberFilterExpression.unparse(m))
|
|
86
|
-
.join(', ');
|
|
87
82
|
case '()': {
|
|
88
83
|
const expr = '(' + exports.NumberFilterExpression.unparse(nc.expr) + ')';
|
|
89
84
|
return nc.not ? 'not ' + expr : expr;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number_filter_expression.js","sourceRoot":"","sources":["../src/number_filter_expression.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,mDAIyB;AACzB,iDAAmC;AACnC,oFAAwD;AACxD,mDAA2C;AAE9B,QAAA,sBAAsB,GAAG;IACpC,KAAK,CAAC,GAAW;QACf,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,MAAM,CACvC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,6BAAe,CAAC,CAC9C,CAAC;QACF,MAAM,YAAY,GAAG,IAAA,0BAAU,EAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACrD,IAAI,YAAY,CAAC,MAAM,IAAI,IAAA,8BAAc,EAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,OAAO,EAAC,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAC,CAAC;QAChD,CAAC;QACD,OAAO,EAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,GAAG,EAAC,CAAC;IAC/C,CAAC;IACD,OAAO,CAAC,EAAuB;QAC7B,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;YACpB,KAAK,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"number_filter_expression.js","sourceRoot":"","sources":["../src/number_filter_expression.ts"],"names":[],"mappings":"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"}
|
|
@@ -79,10 +79,6 @@ exports.TemporalFilterExpression = {
|
|
|
79
79
|
return tc.members
|
|
80
80
|
.map(and => exports.TemporalFilterExpression.unparse(and))
|
|
81
81
|
.join(' and ');
|
|
82
|
-
case ',':
|
|
83
|
-
return tc.members
|
|
84
|
-
.map(comma => exports.TemporalFilterExpression.unparse(comma))
|
|
85
|
-
.join(', ');
|
|
86
82
|
}
|
|
87
83
|
},
|
|
88
84
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"temporal_filter_expression.js","sourceRoot":"","sources":["../src/temporal_filter_expression.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,mDAMyB;AACzB,8EAAuD;AACvD,iDAAmC;AACnC,mDAA2C;AAE9B,QAAA,wBAAwB,GAAG;IACtC,KAAK,CAAC,GAAW;QACf,MAAM,gBAAgB,GAAG,IAAI,OAAO,CAAC,MAAM,CACzC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,0BAAiB,CAAC,CAChD,CAAC;QACF,MAAM,YAAY,GAAG,IAAA,0BAAU,EAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QACvD,IAAI,YAAY,CAAC,MAAM,IAAI,IAAA,gCAAgB,EAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;YACjE,OAAO,EAAC,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAC,CAAC;QAChD,CAAC;QACD,OAAO,EAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,GAAG,EAAC,CAAC;IAC/C,CAAC;IACD,OAAO,CAAC,EAAyB;QAC/B,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;YACpB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC5B,KAAK,IAAI,CAAC,CAAC,CAAC;gBACV,OAAO,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACxC,CAAC;YACD,KAAK,IAAI;gBACP,OAAO,GAAG,GAAG,gCAAwB,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;YAC/D,KAAK,SAAS;gBACZ,OAAO,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAChC,KAAK,MAAM,CAAC;YACZ,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,QAAQ,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACpD,KAAK,QAAQ;gBACX,OAAO,MAAM,CAAC,EAAE,EAAE,UAAU,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACxD,KAAK,OAAO;gBACV,OAAO,MAAM,CAAC,EAAE,EAAE,SAAS,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACtD,KAAK,IAAI;gBACP,OAAO,MAAM,CACX,EAAE,EACF,GAAG,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAC/D,CAAC;YACJ,KAAK,KAAK;gBACR,OAAO,MAAM,CAAC,EAAE,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAClE,KAAK,IAAI;gBACP,OAAO,EAAE,CAAC,OAAO;qBACd,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,gCAAwB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;qBAC/C,IAAI,CAAC,MAAM,CAAC,CAAC;YAClB,KAAK,KAAK;gBACR,OAAO,EAAE,CAAC,OAAO;qBACd,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,gCAAwB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;qBACjD,IAAI,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"temporal_filter_expression.js","sourceRoot":"","sources":["../src/temporal_filter_expression.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/clause_utils.ts
CHANGED
|
@@ -36,7 +36,7 @@ export function unescape(str: string) {
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
/**
|
|
39
|
-
* Escape all of these:
|
|
39
|
+
* Escape all of these: ,; |()\%_-
|
|
40
40
|
*/
|
|
41
41
|
export function escape(str: string) {
|
|
42
42
|
const lstr = str.toLowerCase();
|
|
@@ -49,52 +49,35 @@ export function escape(str: string) {
|
|
|
49
49
|
/**
|
|
50
50
|
* I tried to write the regex for these and I just kept finding strings where the regex failed.
|
|
51
51
|
* Look at a string and find if it uses any unescaped like characters, if it starts or ends with
|
|
52
|
-
* a percent match, and counts trailing spaces
|
|
52
|
+
* a percent match, and counts non escaped trailing spaces
|
|
53
53
|
*/
|
|
54
54
|
function describeString(s: string) {
|
|
55
|
-
let state = 0;
|
|
56
55
|
let percentStart = false;
|
|
57
56
|
let percentEnd = false;
|
|
58
|
-
let
|
|
57
|
+
let endSpaceCnt = 0;
|
|
59
58
|
let hasLike = false;
|
|
60
59
|
const iLen = s.length;
|
|
61
|
-
for (
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
hasLike = true;
|
|
67
|
-
percentStart = true;
|
|
68
|
-
continue;
|
|
69
|
-
}
|
|
60
|
+
for (let i = 0; i < iLen; i += 1) {
|
|
61
|
+
const c = s[i];
|
|
62
|
+
if (c === ' ' || c === '\t') {
|
|
63
|
+
endSpaceCnt += 1;
|
|
64
|
+
continue;
|
|
70
65
|
}
|
|
66
|
+
endSpaceCnt = 0;
|
|
71
67
|
|
|
72
|
-
if (
|
|
73
|
-
|
|
74
|
-
if (
|
|
75
|
-
|
|
76
|
-
percentEnd = false;
|
|
77
|
-
state = 2;
|
|
78
|
-
continue;
|
|
68
|
+
if (c === '%') {
|
|
69
|
+
hasLike = true;
|
|
70
|
+
if (i === 0) {
|
|
71
|
+
percentStart = true;
|
|
79
72
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
percentEnd = true;
|
|
88
|
-
} else if (c === '_') {
|
|
89
|
-
hasLike = true;
|
|
90
|
-
percentEnd = false;
|
|
91
|
-
}
|
|
73
|
+
percentEnd = true;
|
|
74
|
+
} else {
|
|
75
|
+
percentEnd = false;
|
|
76
|
+
if (c === '\\') {
|
|
77
|
+
i += 1;
|
|
78
|
+
} else if (c === '_') {
|
|
79
|
+
hasLike = true;
|
|
92
80
|
}
|
|
93
|
-
continue;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
if (state === 2) {
|
|
97
|
-
state = 1;
|
|
98
81
|
}
|
|
99
82
|
}
|
|
100
83
|
/*
|
|
@@ -105,7 +88,7 @@ function describeString(s: string) {
|
|
|
105
88
|
hasLike,
|
|
106
89
|
percentEnd: percentEnd && iLen > 1,
|
|
107
90
|
percentStart: percentStart && iLen > 1,
|
|
108
|
-
endSpace,
|
|
91
|
+
endSpace: endSpaceCnt,
|
|
109
92
|
};
|
|
110
93
|
}
|
|
111
94
|
|
|
@@ -129,23 +112,32 @@ export function matchOp(matchSrc: string): StringClause {
|
|
|
129
112
|
} else if (percentEnd) {
|
|
130
113
|
const tail = matchTxt.slice(0, -1);
|
|
131
114
|
if (!describeString(tail).hasLike) {
|
|
115
|
+
// the tail has no like characters, in the case of "starts with percent"
|
|
116
|
+
// this equals [\ %] which we need to unescape
|
|
117
|
+
// we want to write LIKE '^%%' ESCAPE
|
|
118
|
+
// if we unescape the % here we need to re-escape it when we write the like statement
|
|
119
|
+
// in this case the escaping needs to happen when the like string is computed
|
|
132
120
|
return {operator: 'starts', values: [unescape(tail)]};
|
|
133
121
|
}
|
|
134
122
|
} else if (percentStart) {
|
|
135
123
|
const head = matchTxt.slice(1);
|
|
136
124
|
if (!describeString(head).hasLike) {
|
|
125
|
+
// the head has no like characters, in the case of "ends with backslash"
|
|
126
|
+
// head is [\, \]
|
|
127
|
+
// we want to write, on MySQL LIKE '%\' or LIKE '%\\' on bigquery
|
|
128
|
+
// which means we want the single backslash here ...
|
|
129
|
+
// in this case the escaping needs to happen whenthe like string is turned into a string literal
|
|
137
130
|
return {operator: 'ends', values: [unescape(head)]};
|
|
138
131
|
}
|
|
139
132
|
}
|
|
140
133
|
return {operator: '~', escaped_values: [matchTxt]};
|
|
141
134
|
}
|
|
142
|
-
if (matchTxt === 'null' || matchTxt === 'NULL') {
|
|
135
|
+
if (matchTxt.toLowerCase() === 'null' || matchTxt === 'NULL') {
|
|
143
136
|
return {operator: 'null'};
|
|
144
137
|
}
|
|
145
138
|
if (matchTxt === 'empty' || matchTxt === 'EMPTY') {
|
|
146
139
|
return {operator: 'empty'};
|
|
147
140
|
}
|
|
148
|
-
// Unescape everything else
|
|
149
141
|
return {operator: '=', values: [unescape(matchTxt)]};
|
|
150
142
|
}
|
|
151
143
|
|
|
@@ -190,11 +182,7 @@ export function joinNumbers(
|
|
|
190
182
|
right: Object
|
|
191
183
|
): NumberClause | null {
|
|
192
184
|
if (isNumberClause(left) && isNumberClause(right)) {
|
|
193
|
-
if (
|
|
194
|
-
(op === ',' || op === 'or') &&
|
|
195
|
-
left.operator === '=' &&
|
|
196
|
-
sameAs(left, right)
|
|
197
|
-
) {
|
|
185
|
+
if (op === 'or' && left.operator === '=' && sameAs(left, right)) {
|
|
198
186
|
const ret: NumberClause = {
|
|
199
187
|
operator: '=',
|
|
200
188
|
values: [...left.values, ...right.values],
|
|
@@ -204,7 +192,7 @@ export function joinNumbers(
|
|
|
204
192
|
}
|
|
205
193
|
return ret;
|
|
206
194
|
}
|
|
207
|
-
if (op === '
|
|
195
|
+
if (op === 'and' || op === 'or') {
|
|
208
196
|
if (left.operator === op) {
|
|
209
197
|
return {...left, members: [...left.members, right]};
|
|
210
198
|
}
|
|
@@ -229,8 +217,14 @@ export function mkRange(
|
|
|
229
217
|
};
|
|
230
218
|
}
|
|
231
219
|
|
|
220
|
+
export function mkValues(n: string, nList: string[]) {
|
|
221
|
+
return {values: [n, ...nList]};
|
|
222
|
+
}
|
|
223
|
+
|
|
232
224
|
export function numNot(op: Object, notToken: unknown) {
|
|
233
225
|
if (isNumberClause(op) && notToken) {
|
|
226
|
+
if (op.operator === '=') return {operator: '!=', values: op.values};
|
|
227
|
+
if (op.operator === '!=') return {operator: '=', values: op.values};
|
|
234
228
|
return {...op, not: true};
|
|
235
229
|
}
|
|
236
230
|
return op;
|
|
@@ -263,7 +257,7 @@ export function joinTemporal(
|
|
|
263
257
|
// }
|
|
264
258
|
// return ret;
|
|
265
259
|
// }
|
|
266
|
-
if (op === '
|
|
260
|
+
if (op === 'and' || op === 'or') {
|
|
267
261
|
if (left.operator === op) {
|
|
268
262
|
return {...left, members: [...left.members, right]};
|
|
269
263
|
}
|
package/src/filter_clause.ts
CHANGED
|
@@ -31,6 +31,12 @@ interface ClauseChain<T> extends ClauseBase {
|
|
|
31
31
|
members: T[];
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
+
type BooleanChainOp = 'and' | 'or';
|
|
35
|
+
export interface BooleanChain<T> extends ClauseBase {
|
|
36
|
+
operator: BooleanChainOp;
|
|
37
|
+
members: T[];
|
|
38
|
+
}
|
|
39
|
+
|
|
34
40
|
interface ClauseGroup<T> extends ClauseBase, Negateable {
|
|
35
41
|
operator: '()';
|
|
36
42
|
expr: T;
|
|
@@ -71,6 +77,14 @@ export interface BooleanCondition extends Negateable {
|
|
|
71
77
|
|
|
72
78
|
export type BooleanClause = BooleanCondition | Null;
|
|
73
79
|
|
|
80
|
+
export function isBooleanClause(bc: Object): bc is BooleanClause {
|
|
81
|
+
return (
|
|
82
|
+
'operator' in bc &&
|
|
83
|
+
typeof bc.operator === 'string' &&
|
|
84
|
+
['null', 'true', 'false', 'false_or_null'].includes(bc.operator)
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
|
|
74
88
|
export function isStringClause(sc: Object): sc is StringClause {
|
|
75
89
|
return (
|
|
76
90
|
'operator' in sc &&
|
|
@@ -113,7 +127,7 @@ export type NumberClause =
|
|
|
113
127
|
| NumberRange
|
|
114
128
|
| Null
|
|
115
129
|
| ClauseGroup<NumberClause>
|
|
116
|
-
|
|
|
130
|
+
| BooleanChain<NumberClause>;
|
|
117
131
|
|
|
118
132
|
export function isNumberClause(sc: Object): sc is NumberClause {
|
|
119
133
|
return (
|
|
@@ -129,7 +143,6 @@ export function isNumberClause(sc: Object): sc is NumberClause {
|
|
|
129
143
|
'<',
|
|
130
144
|
'and',
|
|
131
145
|
'or',
|
|
132
|
-
',',
|
|
133
146
|
'()',
|
|
134
147
|
'null',
|
|
135
148
|
].includes(sc.operator)
|
|
@@ -244,7 +257,7 @@ export type TemporalClause =
|
|
|
244
257
|
| JustUnits
|
|
245
258
|
| in_last
|
|
246
259
|
| InMoment
|
|
247
|
-
|
|
|
260
|
+
| BooleanChain<TemporalClause>
|
|
248
261
|
| ClauseGroup<TemporalClause>;
|
|
249
262
|
|
|
250
263
|
export function isTemporalClause(sc: Object): sc is TemporalClause {
|
|
@@ -264,7 +277,6 @@ export function isTemporalClause(sc: Object): sc is TemporalClause {
|
|
|
264
277
|
'this',
|
|
265
278
|
'last',
|
|
266
279
|
'next',
|
|
267
|
-
',',
|
|
268
280
|
'()',
|
|
269
281
|
'null',
|
|
270
282
|
].includes(sc.operator)
|
|
@@ -5,10 +5,13 @@
|
|
|
5
5
|
function id(d: any[]): any { return d[0]; }
|
|
6
6
|
declare var NOT: any;
|
|
7
7
|
declare var NULL_KW: any;
|
|
8
|
+
declare var eq: any;
|
|
9
|
+
declare var ne: any;
|
|
8
10
|
declare var op: any;
|
|
9
|
-
declare var TO: any;
|
|
10
11
|
declare var oparen: any;
|
|
11
12
|
declare var cparen: any;
|
|
13
|
+
declare var TO: any;
|
|
14
|
+
declare var comma: any;
|
|
12
15
|
declare var cbrack: any;
|
|
13
16
|
declare var obrack: any;
|
|
14
17
|
declare var float: any;
|
|
@@ -16,10 +19,9 @@ declare var numberE: any;
|
|
|
16
19
|
declare var integer: any;
|
|
17
20
|
declare var OR: any;
|
|
18
21
|
declare var AND: any;
|
|
19
|
-
declare var comma: any;
|
|
20
22
|
|
|
21
23
|
import moo from 'moo';
|
|
22
|
-
import {numNot, mkRange, joinNumbers} from '../clause_utils';
|
|
24
|
+
import {numNot, mkRange, joinNumbers, mkValues} from '../clause_utils';
|
|
23
25
|
|
|
24
26
|
const fnumber_lexer = moo.compile({
|
|
25
27
|
WS: /[ \t]+/,
|
|
@@ -33,12 +35,14 @@ const fnumber_lexer = moo.compile({
|
|
|
33
35
|
'TO': 'to',
|
|
34
36
|
}),
|
|
35
37
|
},
|
|
36
|
-
oparen:
|
|
37
|
-
cparen:
|
|
38
|
-
obrack:
|
|
39
|
-
cbrack:
|
|
40
|
-
comma:
|
|
41
|
-
op:
|
|
38
|
+
oparen: '(',
|
|
39
|
+
cparen: ')',
|
|
40
|
+
obrack: '[',
|
|
41
|
+
cbrack: ']',
|
|
42
|
+
comma: ',',
|
|
43
|
+
op: /<=|>=|<|>/,
|
|
44
|
+
ne: '!=',
|
|
45
|
+
eq: '=',
|
|
42
46
|
float: /-?(?:\d+)?\.\d+(?:[Ee][+-]?\d+)?/,
|
|
43
47
|
numberE: /-?\d+[Ee][+-]?\d+/,
|
|
44
48
|
integer: /-?\d+/,
|
|
@@ -88,13 +92,21 @@ const grammar: Grammar = {
|
|
|
88
92
|
{"name": "numberFilter", "symbols": ["numberUnary"], "postprocess": (data) => data[0]},
|
|
89
93
|
{"name": "numberUnary$ebnf$1", "symbols": [(fnumber_lexer.has("NOT") ? {type: "NOT"} : NOT)], "postprocess": id},
|
|
90
94
|
{"name": "numberUnary$ebnf$1", "symbols": [], "postprocess": () => null},
|
|
91
|
-
{"name": "numberUnary", "symbols": ["numberUnary$ebnf$1", "clause"], "postprocess": ([notToken,
|
|
95
|
+
{"name": "numberUnary", "symbols": ["numberUnary$ebnf$1", "clause"], "postprocess": ([notToken, clause]) => numNot(clause, notToken)},
|
|
92
96
|
{"name": "clause", "symbols": [(fnumber_lexer.has("NULL_KW") ? {type: "NULL_KW"} : NULL_KW)], "postprocess": () => ({operator: 'null' })},
|
|
93
|
-
{"name": "clause", "symbols": [
|
|
97
|
+
{"name": "clause$ebnf$1", "symbols": []},
|
|
98
|
+
{"name": "clause$ebnf$1", "symbols": ["clause$ebnf$1", "numberList"], "postprocess": (d) => d[0].concat([d[1]])},
|
|
99
|
+
{"name": "clause", "symbols": ["N", "clause$ebnf$1"], "postprocess": ([n, nList]) => ({operator: '=', ...mkValues(n, nList)})},
|
|
100
|
+
{"name": "clause$ebnf$2", "symbols": []},
|
|
101
|
+
{"name": "clause$ebnf$2", "symbols": ["clause$ebnf$2", "numberList"], "postprocess": (d) => d[0].concat([d[1]])},
|
|
102
|
+
{"name": "clause", "symbols": [(fnumber_lexer.has("eq") ? {type: "eq"} : eq), "N", "clause$ebnf$2"], "postprocess": ([_, n, nList]) => ({operator: '=', ...mkValues(n, nList)})},
|
|
103
|
+
{"name": "clause$ebnf$3", "symbols": []},
|
|
104
|
+
{"name": "clause$ebnf$3", "symbols": ["clause$ebnf$3", "numberList"], "postprocess": (d) => d[0].concat([d[1]])},
|
|
105
|
+
{"name": "clause", "symbols": [(fnumber_lexer.has("ne") ? {type: "ne"} : ne), "N", "clause$ebnf$3"], "postprocess": ([_, n, nList]) => ({operator: '!=', ...mkValues(n, nList)})},
|
|
94
106
|
{"name": "clause", "symbols": [(fnumber_lexer.has("op") ? {type: "op"} : op), "N"], "postprocess": ([op, n]) => ({operator: op.text, values: [n]})},
|
|
95
|
-
{"name": "clause", "symbols": ["
|
|
107
|
+
{"name": "clause", "symbols": [(fnumber_lexer.has("oparen") ? {type: "oparen"} : oparen), "numberFilter", (fnumber_lexer.has("cparen") ? {type: "cparen"} : cparen)], "postprocess": ([_1, subFilter, _3]) => ({operator: "()", expr: subFilter})},
|
|
96
108
|
{"name": "clause", "symbols": ["openInterval", "N", (fnumber_lexer.has("TO") ? {type: "TO"} : TO), "N", "closeInterval"], "postprocess": ([l, b, _to, e, r]) => mkRange(l[0].text,b,e,r[0].text)},
|
|
97
|
-
{"name": "
|
|
109
|
+
{"name": "numberList", "symbols": [(fnumber_lexer.has("comma") ? {type: "comma"} : comma), "N"], "postprocess": ([_, n]) => n},
|
|
98
110
|
{"name": "closeInterval", "symbols": [(fnumber_lexer.has("cbrack") ? {type: "cbrack"} : cbrack)]},
|
|
99
111
|
{"name": "closeInterval", "symbols": [(fnumber_lexer.has("cparen") ? {type: "cparen"} : cparen)]},
|
|
100
112
|
{"name": "openInterval", "symbols": [(fnumber_lexer.has("obrack") ? {type: "obrack"} : obrack)]},
|
|
@@ -102,10 +114,9 @@ const grammar: Grammar = {
|
|
|
102
114
|
{"name": "N$subexpression$1", "symbols": [(fnumber_lexer.has("float") ? {type: "float"} : float)]},
|
|
103
115
|
{"name": "N$subexpression$1", "symbols": [(fnumber_lexer.has("numberE") ? {type: "numberE"} : numberE)]},
|
|
104
116
|
{"name": "N$subexpression$1", "symbols": [(fnumber_lexer.has("integer") ? {type: "integer"} : integer)]},
|
|
105
|
-
{"name": "N", "symbols": ["N$subexpression$1"], "postprocess": (nMatch) => nMatch[0]
|
|
117
|
+
{"name": "N", "symbols": ["N$subexpression$1"], "postprocess": ([nMatch]) => nMatch[0].text},
|
|
106
118
|
{"name": "conjunction", "symbols": [(fnumber_lexer.has("OR") ? {type: "OR"} : OR)]},
|
|
107
|
-
{"name": "conjunction", "symbols": [(fnumber_lexer.has("AND") ? {type: "AND"} : AND)]}
|
|
108
|
-
{"name": "conjunction", "symbols": [(fnumber_lexer.has("comma") ? {type: "comma"} : comma)]}
|
|
119
|
+
{"name": "conjunction", "symbols": [(fnumber_lexer.has("AND") ? {type: "AND"} : AND)]}
|
|
109
120
|
],
|
|
110
121
|
ParserStart: "numberFilter",
|
|
111
122
|
};
|
|
@@ -54,7 +54,6 @@ declare var oparen: any;
|
|
|
54
54
|
declare var cparen: any;
|
|
55
55
|
declare var OR: any;
|
|
56
56
|
declare var AND: any;
|
|
57
|
-
declare var comma: any;
|
|
58
57
|
|
|
59
58
|
import moo from 'moo';
|
|
60
59
|
import {temporalNot, joinTemporal, timeLiteral, mkUnits} from '../clause_utils';
|
|
@@ -106,9 +105,9 @@ const temporal_lexer = moo.compile({
|
|
|
106
105
|
'SUNDAY': 'sunday',
|
|
107
106
|
}),
|
|
108
107
|
},
|
|
109
|
-
oparen:
|
|
110
|
-
cparen:
|
|
111
|
-
comma:
|
|
108
|
+
oparen: '(',
|
|
109
|
+
cparen: ')',
|
|
110
|
+
comma: ',',
|
|
112
111
|
literal: /\d\d\d\d-\d\d-\d\d[ Tt]\d\d:\d\d(?::\d\d(?:[.,]\d*))/,
|
|
113
112
|
lit_week: /\d\d\d\d-\d\d-\d\d-[Ww][Kk]/,
|
|
114
113
|
lit_quarter: /\d\d\d\d-[qQ][1234]/,
|
|
@@ -226,8 +225,7 @@ const grammar: Grammar = {
|
|
|
226
225
|
{"name": "weekday", "symbols": ["weekday$subexpression$1"], "postprocess": ([dayToken]) => dayToken[0].text},
|
|
227
226
|
{"name": "parens", "symbols": [(temporal_lexer.has("oparen") ? {type: "oparen"} : oparen), "temporalFilter", (temporal_lexer.has("cparen") ? {type: "cparen"} : cparen)], "postprocess": ([_1, subFilter, _3]) => ({operator: "()", expr: subFilter})},
|
|
228
227
|
{"name": "conjunction", "symbols": [(temporal_lexer.has("OR") ? {type: "OR"} : OR)]},
|
|
229
|
-
{"name": "conjunction", "symbols": [(temporal_lexer.has("AND") ? {type: "AND"} : AND)]}
|
|
230
|
-
{"name": "conjunction", "symbols": [(temporal_lexer.has("comma") ? {type: "comma"} : comma)]}
|
|
228
|
+
{"name": "conjunction", "symbols": [(temporal_lexer.has("AND") ? {type: "AND"} : AND)]}
|
|
231
229
|
],
|
|
232
230
|
ParserStart: "temporalFilter",
|
|
233
231
|
};
|
|
@@ -31,7 +31,9 @@ export const NumberFilterExpression = {
|
|
|
31
31
|
}
|
|
32
32
|
switch (nc.operator) {
|
|
33
33
|
case '=':
|
|
34
|
+
return nc.values.join(', ');
|
|
34
35
|
case '!=':
|
|
36
|
+
return '!= ' + nc.values.join(', ');
|
|
35
37
|
case '>':
|
|
36
38
|
case '<':
|
|
37
39
|
case '<=':
|
|
@@ -43,9 +45,6 @@ export const NumberFilterExpression = {
|
|
|
43
45
|
)
|
|
44
46
|
.join(', ');
|
|
45
47
|
}
|
|
46
|
-
if (nc.operator === '=') {
|
|
47
|
-
return nc.values.join(', ');
|
|
48
|
-
}
|
|
49
48
|
return nc.values.map(v => `${nc.operator} ${v}`).join(', ');
|
|
50
49
|
case 'range': {
|
|
51
50
|
const left = nc.startOperator === '>' ? '(' : '[';
|
|
@@ -61,10 +60,6 @@ export const NumberFilterExpression = {
|
|
|
61
60
|
return nc.members
|
|
62
61
|
.map(m => NumberFilterExpression.unparse(m))
|
|
63
62
|
.join(` ${nc.operator} `);
|
|
64
|
-
case ',':
|
|
65
|
-
return nc.members
|
|
66
|
-
.map(m => NumberFilterExpression.unparse(m))
|
|
67
|
-
.join(', ');
|
|
68
63
|
case '()': {
|
|
69
64
|
const expr = '(' + NumberFilterExpression.unparse(nc.expr) + ')';
|
|
70
65
|
return nc.not ? 'not ' + expr : expr;
|
|
@@ -63,10 +63,6 @@ export const TemporalFilterExpression = {
|
|
|
63
63
|
return tc.members
|
|
64
64
|
.map(and => TemporalFilterExpression.unparse(and))
|
|
65
65
|
.join(' and ');
|
|
66
|
-
case ',':
|
|
67
|
-
return tc.members
|
|
68
|
-
.map(comma => TemporalFilterExpression.unparse(comma))
|
|
69
|
-
.join(', ');
|
|
70
66
|
}
|
|
71
67
|
},
|
|
72
68
|
};
|