@malloydata/malloy-filter 0.0.349 → 0.0.351
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/clause_utils.d.ts +7 -62
- package/dist/clause_utils.js +0 -14
- package/dist/clause_utils.js.map +1 -1
- package/dist/filter_interface.d.ts +5 -5
- package/dist/filter_interface.js +13 -5
- package/dist/filter_interface.js.map +1 -1
- package/dist/lib/fexpr_number_parser.d.ts +9 -26
- package/dist/lib/fexpr_number_parser.js +1476 -83
- package/dist/lib/fexpr_number_parser.js.map +1 -1
- package/dist/lib/fexpr_string_parser.d.ts +9 -26
- package/dist/lib/fexpr_string_parser.js +709 -50
- package/dist/lib/fexpr_string_parser.js.map +1 -1
- package/dist/lib/ftemporal_parser.d.ts +9 -26
- package/dist/lib/ftemporal_parser.js +4095 -163
- package/dist/lib/ftemporal_parser.js.map +1 -1
- package/dist/number_filter_expression.js +3 -41
- package/dist/number_filter_expression.js.map +1 -1
- package/dist/{nearley_parse.d.ts → peggy_parse.d.ts} +1 -2
- package/dist/peggy_parse.js +40 -0
- package/dist/peggy_parse.js.map +1 -0
- package/dist/string_filter_expression.js +3 -46
- package/dist/string_filter_expression.js.map +1 -1
- package/dist/temporal_filter_expression.js +3 -41
- package/dist/temporal_filter_expression.js.map +1 -1
- package/femto-config.motly +19 -0
- package/package.json +9 -11
- package/src/clause_utils.ts +9 -23
- package/src/filter_interface.ts +14 -8
- package/src/grammars/fexpr_number.peggy +46 -0
- package/src/grammars/fexpr_string.peggy +32 -0
- package/src/grammars/ftemporal.peggy +112 -0
- package/src/lib/fexpr_number_parser.js +1411 -0
- package/src/lib/fexpr_string_parser.js +740 -0
- package/src/lib/ftemporal_parser.js +3641 -0
- package/src/number_filter_expression.ts +3 -7
- package/src/peggy_parse.ts +50 -0
- package/src/string_filter_expression.ts +3 -12
- package/src/temporal_filter_expression.ts +3 -7
- package/tsconfig.json +3 -2
- package/dist/nearley_parse.js +0 -51
- package/dist/nearley_parse.js.map +0 -1
- package/src/lib/fexpr_number_parser.ts +0 -126
- package/src/lib/fexpr_string_parser.ts +0 -84
- package/src/lib/ftemporal_parser.ts +0 -246
- package/src/nearley_parse.ts +0 -53
package/README.md
CHANGED
|
@@ -4,9 +4,9 @@ There is a unique filter language for each filterable data type. The documentati
|
|
|
4
4
|
|
|
5
5
|
# Grammars
|
|
6
6
|
|
|
7
|
-
`malloy-filter`
|
|
7
|
+
`malloy-filter` uses [peggy](https://peggyjs.org/) to generate parsers for each sub language. The grammars are in `src/grammars/`.
|
|
8
8
|
|
|
9
|
-
After changing a `.
|
|
9
|
+
After changing a `.peggy` file use `npm run build` to update the generated parser.
|
|
10
10
|
|
|
11
11
|
# API
|
|
12
12
|
|
|
@@ -55,4 +55,4 @@ The `malloy-filter` tests use Jest.
|
|
|
55
55
|
```bash
|
|
56
56
|
npm run build
|
|
57
57
|
npm run test
|
|
58
|
-
```
|
|
58
|
+
```
|
package/dist/clause_utils.d.ts
CHANGED
|
@@ -1,30 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { NumberRange, StringFilter, NumberFilter, TemporalUnit, TemporalLiteral, TemporalFilter } from './filter_interface';
|
|
2
2
|
/**
|
|
3
3
|
* If there is a minus token, add "not:true" to the clause
|
|
4
4
|
*/
|
|
5
|
-
export declare function maybeNot(data:
|
|
6
|
-
not: boolean;
|
|
7
|
-
operator: "null";
|
|
8
|
-
} | {
|
|
9
|
-
not: boolean;
|
|
10
|
-
values: string[];
|
|
11
|
-
operator: import("./filter_interface").StringConditionOperator;
|
|
12
|
-
} | {
|
|
13
|
-
not: boolean;
|
|
14
|
-
escaped_values: string[];
|
|
15
|
-
operator: "~";
|
|
16
|
-
} | {
|
|
17
|
-
not: boolean;
|
|
18
|
-
operator: "empty";
|
|
19
|
-
} | {
|
|
20
|
-
not: boolean;
|
|
21
|
-
members: StringFilter[];
|
|
22
|
-
operator: ChainOp;
|
|
23
|
-
} | {
|
|
24
|
-
not: boolean;
|
|
25
|
-
expr: StringFilter;
|
|
26
|
-
operator: "()";
|
|
27
|
-
} | undefined;
|
|
5
|
+
export declare function maybeNot(data: unknown[]): unknown;
|
|
28
6
|
export declare function unescape(str: string): string;
|
|
29
7
|
/**
|
|
30
8
|
* Escape all of these: ,; |()\%_-
|
|
@@ -35,47 +13,14 @@ export declare function escape(str: string): string;
|
|
|
35
13
|
* of the match string.
|
|
36
14
|
*/
|
|
37
15
|
export declare function matchOp(matchSrc: string): StringFilter;
|
|
38
|
-
export declare function conjoin(left:
|
|
39
|
-
export declare function joinNumbers(left:
|
|
16
|
+
export declare function conjoin(left: unknown, op: string, right: unknown): StringFilter | null;
|
|
17
|
+
export declare function joinNumbers(left: unknown, op: string, right: unknown): NumberFilter | null;
|
|
40
18
|
export declare function mkRange(left: string, rFrom: string, rTo: string, right: string): NumberRange | null;
|
|
41
19
|
export declare function mkValues(n: string, nList: string[]): {
|
|
42
20
|
values: string[];
|
|
43
21
|
};
|
|
44
|
-
export declare function numNot(op:
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
} | {
|
|
48
|
-
not: boolean;
|
|
49
|
-
operator: "null";
|
|
50
|
-
values?: undefined;
|
|
51
|
-
} | {
|
|
52
|
-
not: boolean;
|
|
53
|
-
values: string[];
|
|
54
|
-
operator: import("./filter_interface").NumberOperator;
|
|
55
|
-
} | {
|
|
56
|
-
not: boolean;
|
|
57
|
-
startOperator: import("./filter_interface").NumberRangeOperator;
|
|
58
|
-
startValue: string;
|
|
59
|
-
endOperator: import("./filter_interface").NumberRangeOperator;
|
|
60
|
-
endValue: string;
|
|
61
|
-
operator: "range";
|
|
62
|
-
values?: undefined;
|
|
63
|
-
} | {
|
|
64
|
-
not: boolean;
|
|
65
|
-
expr: NumberFilter;
|
|
66
|
-
operator: "()";
|
|
67
|
-
values?: undefined;
|
|
68
|
-
} | {
|
|
69
|
-
not: boolean;
|
|
70
|
-
members: NumberFilter[];
|
|
71
|
-
operator: "and" | "or";
|
|
72
|
-
values?: undefined;
|
|
73
|
-
};
|
|
74
|
-
export declare function temporalNot(op: Object, notToken: unknown): Object | {
|
|
75
|
-
not: boolean;
|
|
76
|
-
members: TemporalFilter[];
|
|
77
|
-
operator: "and" | "or";
|
|
78
|
-
};
|
|
79
|
-
export declare function joinTemporal(left: Object, op: string, right: Object): TemporalFilter | null;
|
|
22
|
+
export declare function numNot(op: unknown, notToken: unknown): unknown;
|
|
23
|
+
export declare function temporalNot(op: unknown, notToken: unknown): unknown;
|
|
24
|
+
export declare function joinTemporal(left: unknown, op: string, right: unknown): TemporalFilter | null;
|
|
80
25
|
export declare function timeLiteral(literal: string, units?: TemporalUnit): TemporalLiteral;
|
|
81
26
|
export declare function mkUnits(unit_s: string): TemporalUnit | undefined;
|
package/dist/clause_utils.js
CHANGED
|
@@ -230,20 +230,6 @@ function temporalNot(op, notToken) {
|
|
|
230
230
|
function joinTemporal(left, op, right) {
|
|
231
231
|
op = op.toLowerCase();
|
|
232
232
|
if ((0, filter_interface_1.isTemporalFilter)(left) && (0, filter_interface_1.isTemporalFilter)(right)) {
|
|
233
|
-
// if (
|
|
234
|
-
// (op === ',' || op === 'or') &&
|
|
235
|
-
// left.operator === '=' &&
|
|
236
|
-
// sameAs(left, right)
|
|
237
|
-
// ) {
|
|
238
|
-
// const ret: NumberClause = {
|
|
239
|
-
// operator: '=',
|
|
240
|
-
// values: [...left.values, ...right.values],
|
|
241
|
-
// };
|
|
242
|
-
// if (left.not) {
|
|
243
|
-
// ret.not = true;
|
|
244
|
-
// }
|
|
245
|
-
// return ret;
|
|
246
|
-
// }
|
|
247
233
|
if (op === 'and' || op === 'or') {
|
|
248
234
|
if (left.operator === op) {
|
|
249
235
|
return { ...left, members: [...left.members, right] };
|
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;;AAsBH,4BAMC;AAED,4BAEC;AAKD,wBAMC;AAoDD,0BA2CC;AAQD,0BA4BC;AAED,kCAyBC;AAED,0BAaC;AAED,4BAEC;AAED,wBAOC;AAED,kCAeC;AAED,
|
|
1
|
+
{"version":3,"file":"clause_utils.js","sourceRoot":"","sources":["../src/clause_utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,13 +29,13 @@ export interface StringMatch extends FilterOperator<'~'>, Negatable {
|
|
|
29
29
|
export interface StringEmpty extends FilterOperator<'empty'>, Negatable {
|
|
30
30
|
}
|
|
31
31
|
export type StringFilter = StringCondition | StringMatch | Null | StringEmpty | ClauseChain<StringFilter> | ClauseGroup<StringFilter>;
|
|
32
|
-
export declare function isStringFilter(sc:
|
|
32
|
+
export declare function isStringFilter(sc: unknown): sc is StringFilter;
|
|
33
33
|
export type BooleanOperator = 'true' | 'false' | '=true' | '=false';
|
|
34
34
|
export interface BooleanCondition extends Negatable {
|
|
35
35
|
operator: BooleanOperator;
|
|
36
36
|
}
|
|
37
37
|
export type BooleanFilter = BooleanCondition | Null;
|
|
38
|
-
export declare function isBooleanFilter(bc:
|
|
38
|
+
export declare function isBooleanFilter(bc: unknown): bc is BooleanFilter;
|
|
39
39
|
export type NumberOperator = '<=' | '>=' | '!=' | '=' | '>' | '<';
|
|
40
40
|
export interface NumberCondition extends FilterOperator<NumberOperator>, Negatable {
|
|
41
41
|
values: string[];
|
|
@@ -48,7 +48,7 @@ export interface NumberRange extends FilterOperator<'range'>, Negatable {
|
|
|
48
48
|
endValue: string;
|
|
49
49
|
}
|
|
50
50
|
export type NumberFilter = NumberCondition | NumberRange | Null | ClauseGroup<NumberFilter> | BooleanChain<NumberFilter>;
|
|
51
|
-
export declare function isNumberFilter(sc:
|
|
51
|
+
export declare function isNumberFilter(sc: unknown): sc is NumberFilter;
|
|
52
52
|
export type TemporalUnit = 'second' | 'minute' | 'hour' | 'day' | 'week' | 'month' | 'quarter' | 'year';
|
|
53
53
|
export interface TemporalLiteral {
|
|
54
54
|
moment: 'literal';
|
|
@@ -101,9 +101,9 @@ export interface InMoment extends FilterOperator<'in'>, Negatable {
|
|
|
101
101
|
in: Moment;
|
|
102
102
|
}
|
|
103
103
|
export type TemporalFilter = Null | Before | After | To | For | JustUnits | in_last | InMoment | BooleanChain<TemporalFilter> | ClauseGroup<TemporalFilter>;
|
|
104
|
-
export declare function isTemporalFilter(sc:
|
|
104
|
+
export declare function isTemporalFilter(sc: unknown): sc is TemporalFilter;
|
|
105
105
|
export type FilterExpression = BooleanFilter | NumberFilter | StringFilter | TemporalFilter;
|
|
106
|
-
export declare function isFilterExpression(obj:
|
|
106
|
+
export declare function isFilterExpression(obj: unknown): obj is FilterExpression;
|
|
107
107
|
export type FilterLogSeverity = 'error' | 'warn';
|
|
108
108
|
export interface FilterLog {
|
|
109
109
|
message: string;
|
package/dist/filter_interface.js
CHANGED
|
@@ -21,7 +21,9 @@ function isStringCondition(sc) {
|
|
|
21
21
|
return ['starts', 'ends', 'contains', '='].includes(sc.operator);
|
|
22
22
|
}
|
|
23
23
|
function isStringFilter(sc) {
|
|
24
|
-
return ('
|
|
24
|
+
return (typeof sc === 'object' &&
|
|
25
|
+
sc !== null &&
|
|
26
|
+
'operator' in sc &&
|
|
25
27
|
typeof sc.operator === 'string' &&
|
|
26
28
|
[
|
|
27
29
|
'starts',
|
|
@@ -38,12 +40,16 @@ function isStringFilter(sc) {
|
|
|
38
40
|
].includes(sc.operator));
|
|
39
41
|
}
|
|
40
42
|
function isBooleanFilter(bc) {
|
|
41
|
-
return ('
|
|
43
|
+
return (typeof bc === 'object' &&
|
|
44
|
+
bc !== null &&
|
|
45
|
+
'operator' in bc &&
|
|
42
46
|
typeof bc.operator === 'string' &&
|
|
43
47
|
['null', 'true', 'false', '=false', '=true'].includes(bc.operator));
|
|
44
48
|
}
|
|
45
49
|
function isNumberFilter(sc) {
|
|
46
|
-
return ('
|
|
50
|
+
return (typeof sc === 'object' &&
|
|
51
|
+
sc !== null &&
|
|
52
|
+
'operator' in sc &&
|
|
47
53
|
typeof sc.operator === 'string' &&
|
|
48
54
|
[
|
|
49
55
|
'range',
|
|
@@ -60,7 +66,9 @@ function isNumberFilter(sc) {
|
|
|
60
66
|
].includes(sc.operator));
|
|
61
67
|
}
|
|
62
68
|
function isTemporalFilter(sc) {
|
|
63
|
-
return ('
|
|
69
|
+
return (typeof sc === 'object' &&
|
|
70
|
+
sc !== null &&
|
|
71
|
+
'operator' in sc &&
|
|
64
72
|
typeof sc.operator === 'string' &&
|
|
65
73
|
[
|
|
66
74
|
'literal',
|
|
@@ -80,7 +88,7 @@ function isTemporalFilter(sc) {
|
|
|
80
88
|
].includes(sc.operator));
|
|
81
89
|
}
|
|
82
90
|
function isFilterExpression(obj) {
|
|
83
|
-
return
|
|
91
|
+
return typeof obj === 'object' && obj !== null && 'operator' in obj;
|
|
84
92
|
}
|
|
85
93
|
function isFilterable(s) {
|
|
86
94
|
return [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter_interface.js","sourceRoot":"","sources":["../src/filter_interface.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAaH,8BAEC;AAgBD,8CAEC;AAsBD,
|
|
1
|
+
{"version":3,"file":"filter_interface.js","sourceRoot":"","sources":["../src/filter_interface.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAaH,8BAEC;AAgBD,8CAEC;AAsBD,wCAoBC;AAUD,0CAQC;AA0BD,wCAoBC;AA8GD,4CAuBC;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,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,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CACnE,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;SACP,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CACxB,CAAC;AACJ,CAAC;AA8GD,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;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"}
|
|
@@ -1,28 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
declare function peg$SyntaxError(message: any, expected: any, found: any, location: any): Error;
|
|
2
|
+
declare class peg$SyntaxError {
|
|
3
|
+
constructor(message: any, expected: any, found: any, location: any);
|
|
4
|
+
format(sources: any): string;
|
|
4
5
|
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
next: () => NearleyToken | undefined;
|
|
8
|
-
save: () => any;
|
|
9
|
-
formatError: (token: never) => string;
|
|
10
|
-
has: (tokenType: string) => boolean;
|
|
6
|
+
declare namespace peg$SyntaxError {
|
|
7
|
+
function buildMessage(expected: any, found: any): string;
|
|
11
8
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
postprocess?: (d: any[], loc?: number, reject?: {}) => any;
|
|
16
|
-
}
|
|
17
|
-
type NearleySymbol = string | {
|
|
18
|
-
literal: any;
|
|
19
|
-
} | {
|
|
20
|
-
test: (token: any) => boolean;
|
|
21
|
-
};
|
|
22
|
-
interface Grammar {
|
|
23
|
-
Lexer: NearleyLexer | undefined;
|
|
24
|
-
ParserRules: NearleyRule[];
|
|
25
|
-
ParserStart: string;
|
|
26
|
-
}
|
|
27
|
-
declare const grammar: Grammar;
|
|
28
|
-
export default grammar;
|
|
9
|
+
declare function peg$parse(input: any, options: any): any;
|
|
10
|
+
export declare let StartRules: string[];
|
|
11
|
+
export { peg$SyntaxError as SyntaxError, peg$parse as parse };
|