@malloydata/malloy-filter 0.0.422 → 0.0.423
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/boolean_filter_expression.js +4 -1
- package/dist/boolean_filter_expression.js.map +1 -1
- package/dist/clause_utils.js +4 -1
- package/dist/clause_utils.js.map +1 -1
- package/dist/filter_interface.d.ts +6 -4
- package/dist/filter_interface.js +4 -1
- package/dist/filter_interface.js.map +1 -1
- package/dist/lib/fexpr_number_parser.js +283 -231
- package/dist/lib/fexpr_number_parser.js.map +1 -1
- package/dist/lib/ftemporal_parser.js +305 -253
- package/dist/lib/ftemporal_parser.js.map +1 -1
- package/dist/number_filter_expression.js +3 -0
- package/dist/number_filter_expression.js.map +1 -1
- package/dist/string_filter_expression.js +2 -0
- package/dist/string_filter_expression.js.map +1 -1
- package/dist/temporal_filter_expression.js +3 -1
- package/dist/temporal_filter_expression.js.map +1 -1
- package/package.json +1 -1
- package/src/boolean_filter_expression.ts +3 -1
- package/src/clause_utils.ts +4 -1
- package/src/filter_interface.ts +13 -2
- package/src/grammars/fexpr_number.peggy +2 -0
- package/src/grammars/ftemporal.peggy +2 -0
- package/src/lib/fexpr_number_parser.js +252 -203
- package/src/lib/ftemporal_parser.js +291 -242
- package/src/number_filter_expression.ts +3 -0
- package/src/string_filter_expression.ts +2 -0
- package/src/temporal_filter_expression.ts +6 -1
|
@@ -33,12 +33,15 @@ exports.BooleanFilterExpression = {
|
|
|
33
33
|
else if (src === 'null') {
|
|
34
34
|
ret.parsed = { operator: 'null' };
|
|
35
35
|
}
|
|
36
|
+
else if (src === 'none') {
|
|
37
|
+
ret.parsed = { operator: 'none' };
|
|
38
|
+
}
|
|
36
39
|
else {
|
|
37
40
|
const nonSpace = srcText.match(/[^\s]/);
|
|
38
41
|
const startIndex = nonSpace ? ((_a = nonSpace.index) !== null && _a !== void 0 ? _a : 0) : 0;
|
|
39
42
|
ret.log = [
|
|
40
43
|
{
|
|
41
|
-
message: `Illegal boolean filter '${src}'. Must be one of true,=true,false,=false,null`,
|
|
44
|
+
message: `Illegal boolean filter '${src}'. Must be one of true,=true,false,=false,null,none`,
|
|
42
45
|
severity: 'error',
|
|
43
46
|
startIndex,
|
|
44
47
|
endIndex: startIndex + srcText.length - 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boolean_filter_expression.js","sourceRoot":"","sources":["../src/boolean_filter_expression.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAIU,QAAA,uBAAuB,GAAG;IACrC,KAAK,CAAC,OAAe;;QACnB,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,EAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAC,CAAC;QACjC,CAAC;QACD,MAAM,GAAG,GAAwC,EAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAC,CAAC;QACzE,IAAI,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC7D,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,MAAM,GAAG,IAAI,CAAC;YACd,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACnB,GAAG,CAAC,MAAM,GAAG,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC;QAClC,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YAC3B,GAAG,CAAC,MAAM,GAAG,EAAC,QAAQ,EAAE,OAAO,EAAC,CAAC;QACnC,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YAC3B,GAAG,CAAC,MAAM,GAAG,EAAC,QAAQ,EAAE,OAAO,EAAC,CAAC;QACnC,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,GAAG,CAAC,MAAM,GAAG,EAAC,QAAQ,EAAE,QAAQ,EAAC,CAAC;QACpC,CAAC;aAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YAC1B,GAAG,CAAC,MAAM,GAAG,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAA,QAAQ,CAAC,KAAK,mCAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,GAAG,CAAC,GAAG,GAAG;gBACR;oBACE,OAAO,EAAE,2BAA2B,GAAG,
|
|
1
|
+
{"version":3,"file":"boolean_filter_expression.js","sourceRoot":"","sources":["../src/boolean_filter_expression.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAIU,QAAA,uBAAuB,GAAG;IACrC,KAAK,CAAC,OAAe;;QACnB,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,EAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAC,CAAC;QACjC,CAAC;QACD,MAAM,GAAG,GAAwC,EAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAC,CAAC;QACzE,IAAI,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC7D,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,MAAM,GAAG,IAAI,CAAC;YACd,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACnB,GAAG,CAAC,MAAM,GAAG,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC;QAClC,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YAC3B,GAAG,CAAC,MAAM,GAAG,EAAC,QAAQ,EAAE,OAAO,EAAC,CAAC;QACnC,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YAC3B,GAAG,CAAC,MAAM,GAAG,EAAC,QAAQ,EAAE,OAAO,EAAC,CAAC;QACnC,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,GAAG,CAAC,MAAM,GAAG,EAAC,QAAQ,EAAE,QAAQ,EAAC,CAAC;QACpC,CAAC;aAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YAC1B,GAAG,CAAC,MAAM,GAAG,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC;QAClC,CAAC;aAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YAC1B,GAAG,CAAC,MAAM,GAAG,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAA,QAAQ,CAAC,KAAK,mCAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,GAAG,CAAC,GAAG,GAAG;gBACR;oBACE,OAAO,EAAE,2BAA2B,GAAG,qDAAqD;oBAC5F,QAAQ,EAAE,OAAO;oBACjB,UAAU;oBACV,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC;iBAC1C;aACF,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACzB,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,CAAC,EAAwB;QAC9B,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;IACzB,CAAC;CACF,CAAC"}
|
package/dist/clause_utils.js
CHANGED
|
@@ -36,7 +36,7 @@ function unescape(str) {
|
|
|
36
36
|
*/
|
|
37
37
|
function escape(str) {
|
|
38
38
|
const lstr = str.toLowerCase();
|
|
39
|
-
if (lstr === 'null' || lstr === 'empty') {
|
|
39
|
+
if (lstr === 'null' || lstr === 'empty' || lstr === 'none') {
|
|
40
40
|
return '\\' + str;
|
|
41
41
|
}
|
|
42
42
|
return str.replace(/([,; |()\\%_-])/g, '\\$1');
|
|
@@ -134,6 +134,9 @@ function matchOp(matchSrc) {
|
|
|
134
134
|
if (matchTxt.toLowerCase() === 'empty') {
|
|
135
135
|
return { operator: 'empty' };
|
|
136
136
|
}
|
|
137
|
+
if (matchTxt.toLowerCase() === 'none') {
|
|
138
|
+
return { operator: 'none' };
|
|
139
|
+
}
|
|
137
140
|
return { operator: '=', values: [unescape(matchTxt)] };
|
|
138
141
|
}
|
|
139
142
|
function sameAs(a, b) {
|
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;;;GAGG;;AAsBH,4BAMC;AAED,4BAEC;AAKD,wBAMC;AAoDD,
|
|
1
|
+
{"version":3,"file":"clause_utils.js","sourceRoot":"","sources":["../src/clause_utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,8 @@ interface Negatable {
|
|
|
6
6
|
}
|
|
7
7
|
export interface Null extends FilterOperator<'null'>, Negatable {
|
|
8
8
|
}
|
|
9
|
+
export interface None extends FilterOperator<'none'>, Negatable {
|
|
10
|
+
}
|
|
9
11
|
export type ChainOp = 'and' | 'or' | ',';
|
|
10
12
|
export declare function isChainOp(s: string): s is ChainOp;
|
|
11
13
|
interface ClauseChain<T> extends FilterOperator<ChainOp> {
|
|
@@ -28,13 +30,13 @@ export interface StringMatch extends FilterOperator<'~'>, Negatable {
|
|
|
28
30
|
}
|
|
29
31
|
export interface StringEmpty extends FilterOperator<'empty'>, Negatable {
|
|
30
32
|
}
|
|
31
|
-
export type StringFilter = StringCondition | StringMatch | Null | StringEmpty | ClauseChain<StringFilter> | ClauseGroup<StringFilter>;
|
|
33
|
+
export type StringFilter = StringCondition | StringMatch | Null | None | StringEmpty | ClauseChain<StringFilter> | ClauseGroup<StringFilter>;
|
|
32
34
|
export declare function isStringFilter(sc: unknown): sc is StringFilter;
|
|
33
35
|
export type BooleanOperator = 'true' | 'false' | '=true' | '=false';
|
|
34
36
|
export interface BooleanCondition extends Negatable {
|
|
35
37
|
operator: BooleanOperator;
|
|
36
38
|
}
|
|
37
|
-
export type BooleanFilter = BooleanCondition | Null;
|
|
39
|
+
export type BooleanFilter = BooleanCondition | Null | None;
|
|
38
40
|
export declare function isBooleanFilter(bc: unknown): bc is BooleanFilter;
|
|
39
41
|
export type NumberOperator = '<=' | '>=' | '!=' | '=' | '>' | '<';
|
|
40
42
|
export interface NumberCondition extends FilterOperator<NumberOperator>, Negatable {
|
|
@@ -47,7 +49,7 @@ export interface NumberRange extends FilterOperator<'range'>, Negatable {
|
|
|
47
49
|
endOperator: NumberRangeOperator;
|
|
48
50
|
endValue: string;
|
|
49
51
|
}
|
|
50
|
-
export type NumberFilter = NumberCondition | NumberRange | Null | ClauseGroup<NumberFilter> | BooleanChain<NumberFilter>;
|
|
52
|
+
export type NumberFilter = NumberCondition | NumberRange | Null | None | ClauseGroup<NumberFilter> | BooleanChain<NumberFilter>;
|
|
51
53
|
export declare function isNumberFilter(sc: unknown): sc is NumberFilter;
|
|
52
54
|
export type TemporalUnit = 'second' | 'minute' | 'hour' | 'day' | 'week' | 'month' | 'quarter' | 'year';
|
|
53
55
|
export interface TemporalLiteral {
|
|
@@ -100,7 +102,7 @@ export interface JustUnits extends FilterOperator<'last' | 'next'>, Negatable, D
|
|
|
100
102
|
export interface InMoment extends FilterOperator<'in'>, Negatable {
|
|
101
103
|
in: Moment;
|
|
102
104
|
}
|
|
103
|
-
export type TemporalFilter = Null | Before | After | To | For | JustUnits | in_last | InMoment | BooleanChain<TemporalFilter> | ClauseGroup<TemporalFilter>;
|
|
105
|
+
export type TemporalFilter = Null | None | Before | After | To | For | JustUnits | in_last | InMoment | BooleanChain<TemporalFilter> | ClauseGroup<TemporalFilter>;
|
|
104
106
|
export declare function isTemporalFilter(sc: unknown): sc is TemporalFilter;
|
|
105
107
|
export type FilterExpression = BooleanFilter | NumberFilter | StringFilter | TemporalFilter;
|
|
106
108
|
export declare function isFilterExpression(obj: unknown): obj is FilterExpression;
|
package/dist/filter_interface.js
CHANGED
|
@@ -30,6 +30,7 @@ function isStringFilter(sc) {
|
|
|
30
30
|
'=',
|
|
31
31
|
'~',
|
|
32
32
|
'null',
|
|
33
|
+
'none',
|
|
33
34
|
'empty',
|
|
34
35
|
'and',
|
|
35
36
|
'or',
|
|
@@ -42,7 +43,7 @@ function isBooleanFilter(bc) {
|
|
|
42
43
|
bc !== null &&
|
|
43
44
|
'operator' in bc &&
|
|
44
45
|
typeof bc.operator === 'string' &&
|
|
45
|
-
['null', 'true', 'false', '=false', '=true'].includes(bc.operator));
|
|
46
|
+
['null', 'none', 'true', 'false', '=false', '=true'].includes(bc.operator));
|
|
46
47
|
}
|
|
47
48
|
function isNumberFilter(sc) {
|
|
48
49
|
return (typeof sc === 'object' &&
|
|
@@ -61,6 +62,7 @@ function isNumberFilter(sc) {
|
|
|
61
62
|
'or',
|
|
62
63
|
'()',
|
|
63
64
|
'null',
|
|
65
|
+
'none',
|
|
64
66
|
].includes(sc.operator));
|
|
65
67
|
}
|
|
66
68
|
function isTemporalFilter(sc) {
|
|
@@ -83,6 +85,7 @@ function isTemporalFilter(sc) {
|
|
|
83
85
|
'next',
|
|
84
86
|
'()',
|
|
85
87
|
'null',
|
|
88
|
+
'none',
|
|
86
89
|
].includes(sc.operator));
|
|
87
90
|
}
|
|
88
91
|
function isFilterExpression(obj) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter_interface.js","sourceRoot":"","sources":["../src/filter_interface.ts"],"names":[],"mappings":";AAAA;;;GAGG;;
|
|
1
|
+
{"version":3,"file":"filter_interface.js","sourceRoot":"","sources":["../src/filter_interface.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAkBH,8BAEC;AAgBD,8CAEC;AAsBD,wCAqBC;AAUD,0CAQC;AA0BD,wCAqBC;AA2GD,4CAwBC;AAQD,gDAEC;AAuBD,oCASC;AA7SD,SAAgB,SAAS,CAAC,CAAS;IACjC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC;AAgBD,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;AAsBD,SAAgB,cAAc,CAAC,EAAW;IACxC,OAAO,CACL,OAAO,EAAE,KAAK,QAAQ;QACtB,EAAE,KAAK,IAAI;QACX,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,MAAM;YACN,OAAO;YACP,KAAK;YACL,IAAI;YACJ,GAAG;YACH,IAAI;SACL,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CACxB,CAAC;AACJ,CAAC;AAUD,SAAgB,eAAe,CAAC,EAAW;IACzC,OAAO,CACL,OAAO,EAAE,KAAK,QAAQ;QACtB,EAAE,KAAK,IAAI;QACX,UAAU,IAAI,EAAE;QAChB,OAAO,EAAE,CAAC,QAAQ,KAAK,QAAQ;QAC/B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAC3E,CAAC;AACJ,CAAC;AA0BD,SAAgB,cAAc,CAAC,EAAW;IACxC,OAAO,CACL,OAAO,EAAE,KAAK,QAAQ;QACtB,EAAE,KAAK,IAAI;QACX,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;YACN,MAAM;SACP,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CACxB,CAAC;AACJ,CAAC;AA2GD,SAAgB,gBAAgB,CAAC,EAAW;IAC1C,OAAO,CACL,OAAO,EAAE,KAAK,QAAQ;QACtB,EAAE,KAAK,IAAI;QACX,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;YACN,MAAM;SACP,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CACxB,CAAC;AACJ,CAAC;AAQD,SAAgB,kBAAkB,CAAC,GAAY;IAC7C,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,UAAU,IAAI,GAAG,CAAC;AACtE,CAAC;AAuBD,SAAgB,YAAY,CAAC,CAAS;IACpC,OAAO;QACL,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,WAAW;QACX,aAAa;QACb,MAAM;KACP,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC"}
|