@malloydata/malloy-filter 0.0.237-dev250222025222 → 0.0.237-dev250222205057
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/a_simple_parser.js +12 -9
- package/dist/a_simple_parser.js.map +1 -1
- package/dist/base_parser.d.ts +0 -2
- package/dist/base_parser.js.map +1 -1
- package/dist/boolean_parser.d.ts +2 -2
- package/dist/boolean_parser.js +3 -1
- package/dist/boolean_parser.js.map +1 -1
- package/dist/boolean_serializer.d.ts +4 -4
- package/dist/boolean_serializer.js +12 -4
- package/dist/boolean_serializer.js.map +1 -1
- package/dist/clause_types.d.ts +40 -47
- package/dist/date_parser.d.ts +13 -11
- package/dist/date_parser.js +192 -131
- package/dist/date_parser.js.map +1 -1
- package/dist/date_serializer.d.ts +6 -5
- package/dist/date_serializer.js +65 -77
- package/dist/date_serializer.js.map +1 -1
- package/dist/date_types.d.ts +75 -0
- package/dist/{filter_types.js → date_types.js} +1 -1
- package/dist/date_types.js.map +1 -0
- package/dist/generate_samples.js +162 -87
- package/dist/generate_samples.js.map +1 -1
- package/dist/number_parser.d.ts +2 -5
- package/dist/number_parser.js +10 -51
- package/dist/number_parser.js.map +1 -1
- package/dist/number_serializer.d.ts +4 -4
- package/dist/number_serializer.js +17 -14
- package/dist/number_serializer.js.map +1 -1
- package/dist/string_parser.d.ts +2 -2
- package/dist/string_parser.js +21 -21
- package/dist/string_parser.js.map +1 -1
- package/dist/string_serializer.d.ts +6 -5
- package/dist/string_serializer.js +38 -24
- package/dist/string_serializer.js.map +1 -1
- package/package.json +1 -2
- package/src/DEVELOPING.md +2 -5
- package/src/a_simple_parser.ts +12 -9
- package/src/base_parser.ts +0 -3
- package/src/boolean_parser.ts +10 -5
- package/src/boolean_serializer.ts +14 -7
- package/src/clause_types.ts +65 -108
- package/src/date_parser.ts +229 -192
- package/src/date_serializer.ts +59 -87
- package/src/date_types.ts +159 -0
- package/src/generate_samples.ts +178 -109
- package/src/number_parser.ts +14 -63
- package/src/number_serializer.ts +19 -20
- package/src/string_parser.ts +40 -27
- package/src/string_serializer.ts +58 -32
- package/tsconfig.json +1 -6
- package/dist/a_simple_serializer.d.ts +0 -1
- package/dist/a_simple_serializer.js +0 -31
- package/dist/a_simple_serializer.js.map +0 -1
- package/dist/base_serializer.d.ts +0 -6
- package/dist/base_serializer.js +0 -11
- package/dist/base_serializer.js.map +0 -1
- package/dist/filter_parser.d.ts +0 -12
- package/dist/filter_parser.js +0 -66
- package/dist/filter_parser.js.map +0 -1
- package/dist/filter_serializer.d.ts +0 -13
- package/dist/filter_serializer.js +0 -43
- package/dist/filter_serializer.js.map +0 -1
- package/dist/filter_types.d.ts +0 -10
- package/dist/filter_types.js.map +0 -1
- package/src/a_simple_serializer.ts +0 -40
- package/src/base_serializer.ts +0 -9
- package/src/filter_parser.ts +0 -68
- package/src/filter_serializer.ts +0 -49
- package/src/filter_types.ts +0 -12
package/src/clause_types.ts
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
export type NumberOperator = '<=' | '>=' | '!=' | '=' | '>' | '<';
|
|
2
2
|
|
|
3
|
-
export type NumberValue = number
|
|
3
|
+
export type NumberValue = number;
|
|
4
4
|
|
|
5
5
|
export interface NumberCondition {
|
|
6
6
|
operator: NumberOperator;
|
|
7
7
|
values: NumberValue[];
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
+
export interface NumberNull {
|
|
11
|
+
operator: 'NULL';
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export interface NumberNotNull {
|
|
15
|
+
operator: 'NOTNULL';
|
|
16
|
+
}
|
|
17
|
+
|
|
10
18
|
export type NumberRangeOperator = '<=' | '>=' | '>' | '<';
|
|
11
19
|
|
|
12
20
|
export interface NumberRange {
|
|
@@ -17,19 +25,13 @@ export interface NumberRange {
|
|
|
17
25
|
endValue: NumberValue;
|
|
18
26
|
}
|
|
19
27
|
|
|
20
|
-
export type
|
|
21
|
-
|
|
|
22
|
-
|
|
|
23
|
-
|
|
|
24
|
-
|
|
|
25
|
-
| 'TRIPLEDOUBLE'
|
|
26
|
-
| 'ESCAPEDSINGLE'
|
|
27
|
-
| 'ESCAPEDDOUBLE'
|
|
28
|
-
| 'ESCAPEDBACKTICK';
|
|
28
|
+
export type NumberClause =
|
|
29
|
+
| NumberCondition
|
|
30
|
+
| NumberRange
|
|
31
|
+
| NumberNull
|
|
32
|
+
| NumberNotNull;
|
|
29
33
|
|
|
30
|
-
export type
|
|
31
|
-
| 'EMPTY'
|
|
32
|
-
| 'NOTEMPTY'
|
|
34
|
+
export type StringConditionOperator =
|
|
33
35
|
| 'starts'
|
|
34
36
|
| 'ends'
|
|
35
37
|
| 'contains'
|
|
@@ -41,120 +43,75 @@ export type StringOperator =
|
|
|
41
43
|
| '!~'
|
|
42
44
|
| '!=';
|
|
43
45
|
|
|
44
|
-
export type StringValue = string
|
|
46
|
+
export type StringValue = string;
|
|
45
47
|
|
|
46
48
|
export interface StringCondition {
|
|
47
|
-
operator:
|
|
49
|
+
operator: StringConditionOperator;
|
|
48
50
|
values: StringValue[];
|
|
49
|
-
quotes?: QuoteType[]; // List of quote types found in the string.
|
|
50
51
|
}
|
|
51
52
|
|
|
52
|
-
export
|
|
53
|
-
|
|
54
|
-
export interface BooleanClause {
|
|
55
|
-
operator: BooleanOperator;
|
|
53
|
+
export interface StringNull {
|
|
54
|
+
operator: 'NULL';
|
|
56
55
|
}
|
|
57
56
|
|
|
58
|
-
export
|
|
59
|
-
|
|
60
|
-
export type DateTimeUnit =
|
|
61
|
-
| 'YEAR'
|
|
62
|
-
| 'QUARTER'
|
|
63
|
-
| 'MONTH'
|
|
64
|
-
| 'WEEK'
|
|
65
|
-
| 'DAY'
|
|
66
|
-
| 'HOUR'
|
|
67
|
-
| 'MINUTE'
|
|
68
|
-
| 'SECOND';
|
|
69
|
-
|
|
70
|
-
export type DateWeekday =
|
|
71
|
-
| 'MONDAY'
|
|
72
|
-
| 'TUESDAY'
|
|
73
|
-
| 'WEDNESDAY'
|
|
74
|
-
| 'THURSDAY'
|
|
75
|
-
| 'FRIDAY'
|
|
76
|
-
| 'SATURDAY'
|
|
77
|
-
| 'SUNDAY';
|
|
78
|
-
|
|
79
|
-
export type DateMomentNowOperator = 'NOW' | 'TODAY' | 'YESTERDAY' | 'TOMORROW';
|
|
80
|
-
|
|
81
|
-
// now, after today, before yesterday, tomorrow
|
|
82
|
-
export interface DateMomentNow {
|
|
83
|
-
prefix?: DatePrefix;
|
|
84
|
-
operator: DateMomentNowOperator;
|
|
57
|
+
export interface StringNotNull {
|
|
58
|
+
operator: 'NOTNULL';
|
|
85
59
|
}
|
|
86
60
|
|
|
87
|
-
export
|
|
88
|
-
|
|
89
|
-
// LAST|UNITOFTIME, LAST|DAYOFWEEK
|
|
90
|
-
// THIS|UNITOFTIME
|
|
91
|
-
// NEXT|UNITOFTIME, NEXT|DAYOFWEEK
|
|
92
|
-
// before last month, after next tuesday, this month
|
|
93
|
-
export interface DateMomentInterval {
|
|
94
|
-
prefix?: DatePrefix;
|
|
95
|
-
operator: DateMomentIntervalOperator;
|
|
96
|
-
unit: DateTimeUnit | DateWeekday;
|
|
61
|
+
export interface StringEmpty {
|
|
62
|
+
operator: 'EMPTY';
|
|
97
63
|
}
|
|
98
64
|
|
|
99
|
-
export
|
|
100
|
-
|
|
101
|
-
| 'NEXTN'
|
|
102
|
-
| 'AGO'
|
|
103
|
-
| 'FROMNOW';
|
|
104
|
-
|
|
105
|
-
// LAST|NUMBER|UNITOFTIME
|
|
106
|
-
// NEXT|NUMBER|UNITOFTIME
|
|
107
|
-
// NUMBER|UNITOFTIME|AGO
|
|
108
|
-
// NUMBER|UNITOFTIME|FROM|NOW
|
|
109
|
-
// before 3 hours ago, next 5 days, 2025 seconds ago, after 6 weeks from now
|
|
110
|
-
export interface DateMomentNumberInterval {
|
|
111
|
-
prefix?: DatePrefix;
|
|
112
|
-
operator: DateMomentNumberIntervalOperator;
|
|
113
|
-
unit: DateTimeUnit;
|
|
114
|
-
value: string;
|
|
65
|
+
export interface StringNotEmpty {
|
|
66
|
+
operator: 'NOTEMPTY';
|
|
115
67
|
}
|
|
116
68
|
|
|
117
|
-
export type
|
|
69
|
+
export type StringClause =
|
|
70
|
+
| StringCondition
|
|
71
|
+
| StringNull
|
|
72
|
+
| StringNotNull
|
|
73
|
+
| StringEmpty
|
|
74
|
+
| StringNotEmpty;
|
|
75
|
+
|
|
76
|
+
export type BooleanOperator =
|
|
77
|
+
| 'TRUE'
|
|
78
|
+
| 'FALSE'
|
|
79
|
+
| 'FALSEORNULL'
|
|
80
|
+
| 'NULL'
|
|
81
|
+
| 'NOTNULL';
|
|
118
82
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
export interface DateMomentNumberUnit {
|
|
122
|
-
prefix?: DatePrefix;
|
|
123
|
-
operator: DateMomentNumberUnitOperator;
|
|
124
|
-
unit: DateTimeUnit;
|
|
125
|
-
value: string;
|
|
83
|
+
export interface BooleanClause {
|
|
84
|
+
operator: BooleanOperator;
|
|
126
85
|
}
|
|
127
86
|
|
|
128
|
-
export
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
export interface DateMomentNumber {
|
|
133
|
-
prefix?: DatePrefix;
|
|
134
|
-
operator: DateMomentNumberOperator;
|
|
135
|
-
date: string;
|
|
136
|
-
time?: string;
|
|
87
|
+
export interface FilterError {
|
|
88
|
+
message: string;
|
|
89
|
+
startIndex: number;
|
|
90
|
+
endIndex: number;
|
|
137
91
|
}
|
|
138
92
|
|
|
139
|
-
export
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
| DateMomentNumberInterval
|
|
143
|
-
| DateMomentNumberUnit
|
|
144
|
-
| DateMomentNumber;
|
|
145
|
-
|
|
146
|
-
export interface DateRange {
|
|
147
|
-
start: DateMoment;
|
|
148
|
-
operator: 'TO' | 'FOR';
|
|
149
|
-
end: DateMoment;
|
|
93
|
+
export interface BooleanParserResponse {
|
|
94
|
+
clauses: BooleanClause[];
|
|
95
|
+
errors: FilterError[];
|
|
150
96
|
}
|
|
151
97
|
|
|
152
|
-
export
|
|
98
|
+
export interface NumberParserResponse {
|
|
99
|
+
clauses: NumberClause[];
|
|
100
|
+
errors: FilterError[];
|
|
101
|
+
}
|
|
153
102
|
|
|
154
|
-
export type
|
|
103
|
+
export type QuoteType =
|
|
104
|
+
| 'SINGLE'
|
|
105
|
+
| 'DOUBLE'
|
|
106
|
+
| 'BACKTICK'
|
|
107
|
+
| 'TRIPLESINGLE'
|
|
108
|
+
| 'TRIPLEDOUBLE'
|
|
109
|
+
| 'ESCAPEDSINGLE'
|
|
110
|
+
| 'ESCAPEDDOUBLE'
|
|
111
|
+
| 'ESCAPEDBACKTICK';
|
|
155
112
|
|
|
156
|
-
export
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
113
|
+
export interface StringParserResponse {
|
|
114
|
+
clauses: StringClause[];
|
|
115
|
+
errors: FilterError[];
|
|
116
|
+
quotes?: QuoteType[]; // List of quote types found in the string.
|
|
117
|
+
}
|