@malloydata/malloy-filter 0.0.237-dev250224215546 → 0.0.237-dev250225015031
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/SAMPLES.md +336 -114
- package/SERIALIZE_SAMPLES.md +268 -64
- package/dist/a_simple_parser.js +6 -0
- package/dist/a_simple_parser.js.map +1 -1
- package/dist/base_parser.js +6 -0
- package/dist/base_parser.js.map +1 -1
- package/dist/boolean_parser.js +28 -13
- package/dist/boolean_parser.js.map +1 -1
- package/dist/boolean_serializer.js +12 -6
- package/dist/boolean_serializer.js.map +1 -1
- package/dist/clause_types.d.ts +20 -15
- package/dist/clause_types.js +6 -0
- package/dist/clause_types.js.map +1 -1
- package/dist/date_parser.js +135 -116
- package/dist/date_parser.js.map +1 -1
- package/dist/date_serializer.js +26 -20
- package/dist/date_serializer.js.map +1 -1
- package/dist/date_types.d.ts +21 -21
- package/dist/date_types.js +6 -0
- package/dist/date_types.js.map +1 -1
- package/dist/generate_samples.js +32 -25
- package/dist/generate_samples.js.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/number_parser.js +43 -25
- package/dist/number_parser.js.map +1 -1
- package/dist/number_serializer.js +10 -4
- package/dist/number_serializer.js.map +1 -1
- package/dist/string_parser.d.ts +0 -1
- package/dist/string_parser.js +47 -79
- package/dist/string_parser.js.map +1 -1
- package/dist/string_serializer.d.ts +1 -0
- package/dist/string_serializer.js +49 -33
- package/dist/string_serializer.js.map +1 -1
- package/dist/token_types.js +6 -0
- package/dist/token_types.js.map +1 -1
- package/dist/tokenizer.js +9 -3
- package/dist/tokenizer.js.map +1 -1
- package/dist/tokenizer.spec.js +13 -7
- package/dist/tokenizer.spec.js.map +1 -1
- package/package.json +1 -1
- package/src/a_simple_parser.ts +7 -0
- package/src/base_parser.ts +7 -0
- package/src/boolean_parser.ts +30 -18
- package/src/boolean_serializer.ts +13 -6
- package/src/clause_types.ts +36 -31
- package/src/date_parser.ts +136 -118
- package/src/date_serializer.ts +27 -20
- package/src/date_types.ts +42 -34
- package/src/generate_samples.ts +33 -25
- package/src/index.ts +7 -0
- package/src/number_parser.ts +45 -26
- package/src/number_serializer.ts +11 -4
- package/src/string_parser.ts +51 -79
- package/src/string_serializer.ts +65 -39
- package/src/token_types.ts +7 -0
- package/src/tokenizer.spec.ts +14 -7
- package/src/tokenizer.ts +10 -3
package/dist/date_serializer.js
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the MIT license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
2
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
9
|
exports.DateSerializer = void 0;
|
|
4
10
|
class DateSerializer {
|
|
@@ -11,20 +17,20 @@ class DateSerializer {
|
|
|
11
17
|
return result.trim().replace(/,$/, '');
|
|
12
18
|
}
|
|
13
19
|
static dateMomentToString(moment) {
|
|
14
|
-
if (moment.type === '
|
|
20
|
+
if (moment.type === 'absolute') {
|
|
15
21
|
return moment.date;
|
|
16
22
|
}
|
|
17
|
-
else if (moment.type === '
|
|
23
|
+
else if (moment.type === 'interval') {
|
|
18
24
|
return moment.kind + ' ' + moment.unit;
|
|
19
25
|
}
|
|
20
|
-
else if (moment.type === '
|
|
26
|
+
else if (moment.type === 'named') {
|
|
21
27
|
return moment.name;
|
|
22
28
|
}
|
|
23
|
-
else if (moment.type === '
|
|
24
|
-
const direction = moment.direction === '
|
|
29
|
+
else if (moment.type === 'offset_from_now') {
|
|
30
|
+
const direction = moment.direction === 'from_now' ? 'from now' : 'ago';
|
|
25
31
|
return moment.amount + ' ' + moment.unit + ' ' + direction;
|
|
26
32
|
}
|
|
27
|
-
else if (moment.type === '
|
|
33
|
+
else if (moment.type === 'span_from_now') {
|
|
28
34
|
return moment.direction + ' ' + moment.amount + ' ' + moment.unit;
|
|
29
35
|
}
|
|
30
36
|
else {
|
|
@@ -33,12 +39,12 @@ class DateSerializer {
|
|
|
33
39
|
}
|
|
34
40
|
static goDateBetweenClause(clause) {
|
|
35
41
|
return (DateSerializer.dateMomentToString(clause.from) +
|
|
36
|
-
'
|
|
42
|
+
' to ' +
|
|
37
43
|
DateSerializer.dateMomentToString(clause.to));
|
|
38
44
|
}
|
|
39
45
|
static goDateForClause(clause) {
|
|
40
46
|
return (DateSerializer.dateMomentToString(clause.from) +
|
|
41
|
-
'
|
|
47
|
+
' for ' +
|
|
42
48
|
clause.duration.amount +
|
|
43
49
|
' ' +
|
|
44
50
|
clause.duration.unit);
|
|
@@ -47,28 +53,28 @@ class DateSerializer {
|
|
|
47
53
|
if (!('operator' in clause)) {
|
|
48
54
|
throw new Error('Invalid date clause ' + JSON.stringify(clause));
|
|
49
55
|
}
|
|
50
|
-
if (clause.operator === '
|
|
56
|
+
if (clause.operator === 'to_range') {
|
|
51
57
|
return DateSerializer.goDateBetweenClause(clause);
|
|
52
58
|
}
|
|
53
|
-
else if (clause.operator === '
|
|
59
|
+
else if (clause.operator === 'for_range') {
|
|
54
60
|
return DateSerializer.goDateForClause(clause);
|
|
55
61
|
}
|
|
56
|
-
else if (clause.operator === '
|
|
57
|
-
return '
|
|
62
|
+
else if (clause.operator === 'before') {
|
|
63
|
+
return 'before ' + DateSerializer.dateMomentToString(clause.moment);
|
|
58
64
|
}
|
|
59
|
-
else if (clause.operator === '
|
|
60
|
-
return '
|
|
65
|
+
else if (clause.operator === 'after') {
|
|
66
|
+
return 'after ' + DateSerializer.dateMomentToString(clause.moment);
|
|
61
67
|
}
|
|
62
|
-
else if (clause.operator === '
|
|
68
|
+
else if (clause.operator === 'on') {
|
|
63
69
|
return DateSerializer.dateMomentToString(clause.moment);
|
|
64
70
|
}
|
|
65
|
-
else if (clause.operator === '
|
|
66
|
-
return '
|
|
71
|
+
else if (clause.operator === 'null') {
|
|
72
|
+
return 'null';
|
|
67
73
|
}
|
|
68
|
-
else if (clause.operator === '
|
|
69
|
-
return '-
|
|
74
|
+
else if (clause.operator === 'not_null') {
|
|
75
|
+
return '-null';
|
|
70
76
|
}
|
|
71
|
-
else if (clause.operator === '
|
|
77
|
+
else if (clause.operator === 'duration') {
|
|
72
78
|
return clause.duration.amount + ' ' + clause.duration.unit;
|
|
73
79
|
}
|
|
74
80
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date_serializer.js","sourceRoot":"","sources":["../src/date_serializer.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"date_serializer.js","sourceRoot":"","sources":["../src/date_serializer.ts"],"names":[],"mappings":"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"}
|
package/dist/date_types.d.ts
CHANGED
|
@@ -1,75 +1,75 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export type DateTimeUnit = '
|
|
3
|
-
export type DateWeekday = '
|
|
1
|
+
import { FilterLog } from './clause_types';
|
|
2
|
+
export type DateTimeUnit = 'year' | 'quarter' | 'month' | 'week' | 'day' | 'hour' | 'minute' | 'second' | 'instant';
|
|
3
|
+
export type DateWeekday = 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sunday';
|
|
4
4
|
export interface Duration {
|
|
5
5
|
amount: number;
|
|
6
6
|
unit: DateTimeUnit;
|
|
7
7
|
}
|
|
8
|
-
export type DateMomentName = '
|
|
8
|
+
export type DateMomentName = 'now' | 'today' | 'yesterday' | 'tomorrow';
|
|
9
9
|
export interface NamedMoment {
|
|
10
|
-
type: '
|
|
10
|
+
type: 'named';
|
|
11
11
|
name: DateMomentName;
|
|
12
12
|
}
|
|
13
|
-
export type DateMomentIntervalOperator = '
|
|
13
|
+
export type DateMomentIntervalOperator = 'last' | 'this' | 'next';
|
|
14
14
|
export interface IntervalMoment {
|
|
15
|
-
type: '
|
|
15
|
+
type: 'interval';
|
|
16
16
|
kind: DateMomentIntervalOperator;
|
|
17
17
|
unit: DateTimeUnit | DateWeekday;
|
|
18
18
|
}
|
|
19
|
-
export type DateMomentOffsetFromNowDirection = '
|
|
19
|
+
export type DateMomentOffsetFromNowDirection = 'ago' | 'from_now';
|
|
20
20
|
export interface OffsetMoment {
|
|
21
|
-
type: '
|
|
21
|
+
type: 'offset_from_now';
|
|
22
22
|
direction: DateMomentOffsetFromNowDirection;
|
|
23
23
|
unit: DateTimeUnit;
|
|
24
24
|
amount: number;
|
|
25
25
|
}
|
|
26
|
-
export type DateMomentSpanFromNowDirection = '
|
|
26
|
+
export type DateMomentSpanFromNowDirection = 'last' | 'next';
|
|
27
27
|
export interface SpanMoment {
|
|
28
|
-
type: '
|
|
28
|
+
type: 'span_from_now';
|
|
29
29
|
direction: DateMomentSpanFromNowDirection;
|
|
30
30
|
unit: DateTimeUnit;
|
|
31
31
|
amount: number;
|
|
32
32
|
}
|
|
33
33
|
export interface AbsoluteMoment {
|
|
34
|
-
type: '
|
|
34
|
+
type: 'absolute';
|
|
35
35
|
date: string;
|
|
36
36
|
unit: DateTimeUnit;
|
|
37
37
|
}
|
|
38
38
|
export type DateMoment = AbsoluteMoment | NamedMoment | IntervalMoment | SpanMoment | OffsetMoment;
|
|
39
39
|
export interface DateAfterClause {
|
|
40
|
-
operator: '
|
|
40
|
+
operator: 'after';
|
|
41
41
|
moment: DateMoment;
|
|
42
42
|
}
|
|
43
43
|
export interface DateBeforeClause {
|
|
44
|
-
operator: '
|
|
44
|
+
operator: 'before';
|
|
45
45
|
moment: DateMoment;
|
|
46
46
|
}
|
|
47
47
|
export interface DateOnClause {
|
|
48
|
-
operator: '
|
|
48
|
+
operator: 'on';
|
|
49
49
|
moment: DateMoment;
|
|
50
50
|
}
|
|
51
51
|
export interface DateBetweenClause {
|
|
52
|
-
operator: '
|
|
52
|
+
operator: 'to_range';
|
|
53
53
|
from: DateMoment;
|
|
54
54
|
to: DateMoment;
|
|
55
55
|
}
|
|
56
56
|
export interface DateForClause {
|
|
57
|
-
operator: '
|
|
57
|
+
operator: 'for_range';
|
|
58
58
|
from: DateMoment;
|
|
59
59
|
duration: Duration;
|
|
60
60
|
}
|
|
61
61
|
export interface DateNullClause {
|
|
62
|
-
operator: '
|
|
62
|
+
operator: 'null';
|
|
63
63
|
}
|
|
64
64
|
export interface DateNotNullClause {
|
|
65
|
-
operator: '
|
|
65
|
+
operator: 'not_null';
|
|
66
66
|
}
|
|
67
67
|
export interface DateDurationClause {
|
|
68
|
-
operator: '
|
|
68
|
+
operator: 'duration';
|
|
69
69
|
duration: Duration;
|
|
70
70
|
}
|
|
71
71
|
export type DateClause = DateAfterClause | DateBeforeClause | DateOnClause | DateBetweenClause | DateForClause | DateNullClause | DateNotNullClause | DateDurationClause;
|
|
72
72
|
export interface DateParserResponse {
|
|
73
73
|
clauses: DateClause[];
|
|
74
|
-
|
|
74
|
+
logs: FilterLog[];
|
|
75
75
|
}
|
package/dist/date_types.js
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the MIT license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
2
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
9
|
//# sourceMappingURL=date_types.js.map
|
package/dist/date_types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date_types.js","sourceRoot":"","sources":["../src/date_types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"date_types.js","sourceRoot":"","sources":["../src/date_types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
|
package/dist/generate_samples.js
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the MIT license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
2
8
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
9
|
if (k2 === undefined) k2 = k;
|
|
4
10
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -36,6 +42,7 @@ const numberExamples = [
|
|
|
36
42
|
'5',
|
|
37
43
|
'!=5',
|
|
38
44
|
'1, 3, 5, null',
|
|
45
|
+
'1, 3, , 5,',
|
|
39
46
|
'<1, >=100 ',
|
|
40
47
|
'>=1',
|
|
41
48
|
' <= 10 ',
|
|
@@ -68,6 +75,8 @@ const stringExamples = [
|
|
|
68
75
|
'CAT,-NULL',
|
|
69
76
|
'CAT,-"NULL"',
|
|
70
77
|
'CAT,NULL',
|
|
78
|
+
'CAT,,',
|
|
79
|
+
'CAT, , DOG',
|
|
71
80
|
'EMPTY',
|
|
72
81
|
'-EMPTY',
|
|
73
82
|
'CAT,-EMPTY',
|
|
@@ -91,7 +100,8 @@ const booleanExamples = [
|
|
|
91
100
|
'=false',
|
|
92
101
|
'null',
|
|
93
102
|
'-NULL',
|
|
94
|
-
'
|
|
103
|
+
'null,',
|
|
104
|
+
' True , , faLSE,=false,NULl,-null',
|
|
95
105
|
"-'null'",
|
|
96
106
|
'10',
|
|
97
107
|
'nnull',
|
|
@@ -104,12 +114,12 @@ const dateExamples = [
|
|
|
104
114
|
'3 months ago for 2 days',
|
|
105
115
|
'2025 weeks ago',
|
|
106
116
|
'before 3 days ago',
|
|
107
|
-
'
|
|
108
|
-
'
|
|
117
|
+
'Before 2025-08-30 08:30:20',
|
|
118
|
+
'AFTER 2025-10-05',
|
|
109
119
|
'2025-08-30 12:00 to 2025-09-18 14:30',
|
|
110
|
-
'this
|
|
111
|
-
'
|
|
112
|
-
'7 years from
|
|
120
|
+
'this YEAR',
|
|
121
|
+
'Next Tuesday',
|
|
122
|
+
'7 years from Now',
|
|
113
123
|
'2025-01-01 12:00:00 for 3 days',
|
|
114
124
|
'2020-08-12 03:12:56.57',
|
|
115
125
|
'2020-08-12T03:12:56[PST]',
|
|
@@ -175,8 +185,8 @@ class GenerateSamples {
|
|
|
175
185
|
if (response.clauses && response.clauses.length > 0) {
|
|
176
186
|
GenerateSamples.writeJson(fp, 'Output: ', ...response.clauses);
|
|
177
187
|
}
|
|
178
|
-
if (response.
|
|
179
|
-
GenerateSamples.writeJson(fp, '
|
|
188
|
+
if (response.logs && response.logs.length > 0) {
|
|
189
|
+
GenerateSamples.writeJson(fp, 'Logs: ', ...response.logs);
|
|
180
190
|
}
|
|
181
191
|
GenerateSamples.writeRaw(fp, '');
|
|
182
192
|
}
|
|
@@ -188,8 +198,8 @@ class GenerateSamples {
|
|
|
188
198
|
if (response.clauses && response.clauses.length > 0) {
|
|
189
199
|
GenerateSamples.writeJson(fp, 'Output: ', ...response.clauses);
|
|
190
200
|
}
|
|
191
|
-
if (response.
|
|
192
|
-
GenerateSamples.writeJson(fp, '
|
|
201
|
+
if (response.logs && response.logs.length > 0) {
|
|
202
|
+
GenerateSamples.writeJson(fp, 'Logs: ', ...response.logs);
|
|
193
203
|
}
|
|
194
204
|
GenerateSamples.writeRaw(fp, '');
|
|
195
205
|
}
|
|
@@ -201,8 +211,8 @@ class GenerateSamples {
|
|
|
201
211
|
if (response.clauses && response.clauses.length > 0) {
|
|
202
212
|
GenerateSamples.writeJson(fp, 'Output: ', ...response.clauses);
|
|
203
213
|
}
|
|
204
|
-
if (response.
|
|
205
|
-
GenerateSamples.writeJson(fp, '
|
|
214
|
+
if (response.logs && response.logs.length > 0) {
|
|
215
|
+
GenerateSamples.writeJson(fp, 'Logs: ', ...response.logs);
|
|
206
216
|
}
|
|
207
217
|
GenerateSamples.writeRaw(fp, '');
|
|
208
218
|
}
|
|
@@ -214,11 +224,8 @@ class GenerateSamples {
|
|
|
214
224
|
if (response.clauses && response.clauses.length > 0) {
|
|
215
225
|
GenerateSamples.writeJson(fp, 'Output: ', ...response.clauses);
|
|
216
226
|
}
|
|
217
|
-
if (response.
|
|
218
|
-
GenerateSamples.writeJson(fp, '
|
|
219
|
-
}
|
|
220
|
-
if (response.errors && response.errors.length > 0) {
|
|
221
|
-
GenerateSamples.writeJson(fp, 'Errors: ', ...response.errors);
|
|
227
|
+
if (response.logs && response.logs.length > 0) {
|
|
228
|
+
GenerateSamples.writeJson(fp, 'Logs: ', ...response.logs);
|
|
222
229
|
}
|
|
223
230
|
GenerateSamples.writeRaw(fp, '');
|
|
224
231
|
}
|
|
@@ -230,8 +237,8 @@ class GenerateSamples {
|
|
|
230
237
|
const result = new boolean_serializer_1.BooleanSerializer(response.clauses || []).serialize();
|
|
231
238
|
GenerateSamples.writeRaw(fp, 'Output: ' + result);
|
|
232
239
|
}
|
|
233
|
-
if (response.
|
|
234
|
-
GenerateSamples.writeJson(fp, '
|
|
240
|
+
if (response.logs && response.logs.length > 0) {
|
|
241
|
+
GenerateSamples.writeJson(fp, 'Logs: ', ...response.logs);
|
|
235
242
|
}
|
|
236
243
|
GenerateSamples.writeRaw(fp, '');
|
|
237
244
|
}
|
|
@@ -243,8 +250,8 @@ class GenerateSamples {
|
|
|
243
250
|
const result = new date_serializer_1.DateSerializer(response.clauses || []).serialize();
|
|
244
251
|
GenerateSamples.writeRaw(fp, 'Output: ' + result);
|
|
245
252
|
}
|
|
246
|
-
if (response.
|
|
247
|
-
GenerateSamples.writeJson(fp, '
|
|
253
|
+
if (response.logs && response.logs.length > 0) {
|
|
254
|
+
GenerateSamples.writeJson(fp, 'Logs: ', ...response.logs);
|
|
248
255
|
}
|
|
249
256
|
GenerateSamples.writeRaw(fp, '');
|
|
250
257
|
}
|
|
@@ -256,8 +263,8 @@ class GenerateSamples {
|
|
|
256
263
|
const result = new number_serializer_1.NumberSerializer(response.clauses || []).serialize();
|
|
257
264
|
GenerateSamples.writeRaw(fp, 'Output: ' + result);
|
|
258
265
|
}
|
|
259
|
-
if (response.
|
|
260
|
-
GenerateSamples.writeJson(fp, '
|
|
266
|
+
if (response.logs && response.logs.length > 0) {
|
|
267
|
+
GenerateSamples.writeJson(fp, 'Logs: ', ...response.logs);
|
|
261
268
|
}
|
|
262
269
|
GenerateSamples.writeRaw(fp, '');
|
|
263
270
|
}
|
|
@@ -269,8 +276,8 @@ class GenerateSamples {
|
|
|
269
276
|
const result = new string_serializer_1.StringSerializer(response.clauses || []).serialize();
|
|
270
277
|
GenerateSamples.writeRaw(fp, 'Output: ' + result);
|
|
271
278
|
}
|
|
272
|
-
if (response.
|
|
273
|
-
GenerateSamples.writeJson(fp, '
|
|
279
|
+
if (response.logs && response.logs.length > 0) {
|
|
280
|
+
GenerateSamples.writeJson(fp, 'Logs: ', ...response.logs);
|
|
274
281
|
}
|
|
275
282
|
GenerateSamples.writeRaw(fp, '');
|
|
276
283
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate_samples.js","sourceRoot":"","sources":["../src/generate_samples.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"generate_samples.js","sourceRoot":"","sources":["../src/generate_samples.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the MIT license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
2
8
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
9
|
if (k2 === undefined) k2 = k;
|
|
4
10
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;AAEH,mDAA+C;AAAvC,+GAAA,aAAa,OAAA;AACrB,6CAAyC;AAAjC,yGAAA,UAAU,OAAA;AAClB,iDAA6C;AAArC,6GAAA,YAAY,OAAA;AACpB,iDAA6C;AAArC,6GAAA,YAAY,OAAA;AACpB,2DAAuD;AAA/C,uHAAA,iBAAiB,OAAA;AACzB,qDAAiD;AAAzC,iHAAA,cAAc,OAAA;AACtB,yDAAqD;AAA7C,qHAAA,gBAAgB,OAAA;AACxB,yDAAqD;AAA7C,qHAAA,gBAAgB,OAAA;AACxB,iDAA+B;AAC/B,+CAA6B"}
|
package/dist/number_parser.js
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the MIT license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
2
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
9
|
exports.NumberParser = void 0;
|
|
4
10
|
const tokenizer_1 = require("./tokenizer");
|
|
@@ -22,8 +28,8 @@ class NumberParser extends base_parser_1.BaseParser {
|
|
|
22
28
|
{ type: '<', value: '<' },
|
|
23
29
|
];
|
|
24
30
|
const specialWords = [
|
|
25
|
-
{ type: '
|
|
26
|
-
{ type: '
|
|
31
|
+
{ type: 'not_null', value: '-null', ignoreCase: true },
|
|
32
|
+
{ type: 'null', value: 'null', ignoreCase: true },
|
|
27
33
|
];
|
|
28
34
|
const params = {
|
|
29
35
|
trimWordWhitespace: true,
|
|
@@ -39,18 +45,26 @@ class NumberParser extends base_parser_1.BaseParser {
|
|
|
39
45
|
this.index = 0;
|
|
40
46
|
this.tokenize();
|
|
41
47
|
let clauses = [];
|
|
42
|
-
const
|
|
48
|
+
const logs = [];
|
|
43
49
|
while (this.index < this.tokens.length) {
|
|
44
50
|
const token = this.getNext();
|
|
45
51
|
if (token.type === ',') {
|
|
52
|
+
if (this.index > 0 && this.tokens[this.index - 1].type === ',') {
|
|
53
|
+
logs.push({
|
|
54
|
+
severity: 'warn',
|
|
55
|
+
message: 'Empty clause',
|
|
56
|
+
startIndex: token.startIndex,
|
|
57
|
+
endIndex: token.endIndex,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
46
60
|
this.index++;
|
|
47
61
|
}
|
|
48
62
|
else if (this.isRangeStart(this.index)) {
|
|
49
|
-
clauses = this.checkRange(token, false, clauses,
|
|
63
|
+
clauses = this.checkRange(token, false, clauses, logs);
|
|
50
64
|
}
|
|
51
65
|
else if (token.type === '!=' && this.isRangeStart(this.index + 1)) {
|
|
52
66
|
this.index++;
|
|
53
|
-
clauses = this.checkRange(token, true, clauses,
|
|
67
|
+
clauses = this.checkRange(token, true, clauses, logs);
|
|
54
68
|
}
|
|
55
69
|
else if (this.checkNull(clauses)) {
|
|
56
70
|
this.index++;
|
|
@@ -67,15 +81,16 @@ class NumberParser extends base_parser_1.BaseParser {
|
|
|
67
81
|
this.index++;
|
|
68
82
|
}
|
|
69
83
|
else {
|
|
70
|
-
|
|
71
|
-
|
|
84
|
+
logs.push({
|
|
85
|
+
severity: 'error',
|
|
86
|
+
message: 'Invalid expression: ' + token.value,
|
|
72
87
|
startIndex: token.startIndex,
|
|
73
88
|
endIndex: token.endIndex,
|
|
74
89
|
});
|
|
75
90
|
this.index++;
|
|
76
91
|
}
|
|
77
92
|
}
|
|
78
|
-
return { clauses: NumberParser.groupClauses(clauses),
|
|
93
|
+
return { clauses: NumberParser.groupClauses(clauses), logs };
|
|
79
94
|
}
|
|
80
95
|
static groupClauses(clauses) {
|
|
81
96
|
if (clauses.length < 2) {
|
|
@@ -105,29 +120,30 @@ class NumberParser extends base_parser_1.BaseParser {
|
|
|
105
120
|
matchTokens(candidates) {
|
|
106
121
|
return base_parser_1.BaseParser.matchTokenTypes(candidates, this.index, this.tokens);
|
|
107
122
|
}
|
|
108
|
-
checkRange(token, negated, clauses,
|
|
123
|
+
checkRange(token, negated, clauses, logs) {
|
|
109
124
|
if (this.matchTokens(['[', 'word', ',', 'word', ']'])) {
|
|
110
125
|
return negated
|
|
111
|
-
? this.consumeRange('<', '>', clauses,
|
|
112
|
-
: this.consumeRange('>=', '<=', clauses,
|
|
126
|
+
? this.consumeRange('<', '>', clauses, logs)
|
|
127
|
+
: this.consumeRange('>=', '<=', clauses, logs);
|
|
113
128
|
}
|
|
114
129
|
else if (this.matchTokens(['[', 'word', ',', 'word', ')'])) {
|
|
115
130
|
return negated
|
|
116
|
-
? this.consumeRange('<', '>=', clauses,
|
|
117
|
-
: this.consumeRange('>=', '<', clauses,
|
|
131
|
+
? this.consumeRange('<', '>=', clauses, logs)
|
|
132
|
+
: this.consumeRange('>=', '<', clauses, logs);
|
|
118
133
|
}
|
|
119
134
|
else if (this.matchTokens(['(', 'word', ',', 'word', ']'])) {
|
|
120
135
|
return negated
|
|
121
|
-
? this.consumeRange('<=', '>', clauses,
|
|
122
|
-
: this.consumeRange('>', '<=', clauses,
|
|
136
|
+
? this.consumeRange('<=', '>', clauses, logs)
|
|
137
|
+
: this.consumeRange('>', '<=', clauses, logs);
|
|
123
138
|
}
|
|
124
139
|
else if (this.matchTokens(['(', 'word', ',', 'word', ')'])) {
|
|
125
140
|
return negated
|
|
126
|
-
? this.consumeRange('<=', '>=', clauses,
|
|
127
|
-
: this.consumeRange('>', '<', clauses,
|
|
141
|
+
? this.consumeRange('<=', '>=', clauses, logs)
|
|
142
|
+
: this.consumeRange('>', '<', clauses, logs);
|
|
128
143
|
}
|
|
129
144
|
else {
|
|
130
|
-
|
|
145
|
+
logs.push({
|
|
146
|
+
severity: 'error',
|
|
131
147
|
message: 'Invalid range expression',
|
|
132
148
|
startIndex: token.startIndex,
|
|
133
149
|
endIndex: token.endIndex,
|
|
@@ -157,20 +173,22 @@ class NumberParser extends base_parser_1.BaseParser {
|
|
|
157
173
|
static isValidNumber(value) {
|
|
158
174
|
return Number.isNaN(value) === false;
|
|
159
175
|
}
|
|
160
|
-
consumeRange(startOperator, endOperator, clauses,
|
|
176
|
+
consumeRange(startOperator, endOperator, clauses, logs) {
|
|
161
177
|
const startToken = this.getAt(this.index + 1);
|
|
162
178
|
const endToken = this.getAt(this.index + 3);
|
|
163
179
|
const startValue = NumberParser.parseNumber(startToken.value);
|
|
164
180
|
const endValue = NumberParser.parseNumber(endToken.value);
|
|
165
181
|
if (!NumberParser.isValidNumber(startValue)) {
|
|
166
|
-
|
|
182
|
+
logs.push({
|
|
183
|
+
severity: 'error',
|
|
167
184
|
message: 'Invalid number',
|
|
168
185
|
startIndex: startToken.startIndex,
|
|
169
186
|
endIndex: startToken.endIndex,
|
|
170
187
|
});
|
|
171
188
|
}
|
|
172
189
|
else if (!NumberParser.isValidNumber(endValue)) {
|
|
173
|
-
|
|
190
|
+
logs.push({
|
|
191
|
+
severity: 'error',
|
|
174
192
|
message: 'Invalid number',
|
|
175
193
|
startIndex: endToken.startIndex,
|
|
176
194
|
endIndex: endToken.endIndex,
|
|
@@ -219,12 +237,12 @@ class NumberParser extends base_parser_1.BaseParser {
|
|
|
219
237
|
}
|
|
220
238
|
checkNull(clauses) {
|
|
221
239
|
const type = this.getNext().type;
|
|
222
|
-
if (type === '
|
|
223
|
-
clauses.push({ operator: '
|
|
240
|
+
if (type === 'null') {
|
|
241
|
+
clauses.push({ operator: 'null' });
|
|
224
242
|
return true;
|
|
225
243
|
}
|
|
226
|
-
else if (type === '
|
|
227
|
-
clauses.push({ operator: '
|
|
244
|
+
else if (type === 'not_null') {
|
|
245
|
+
clauses.push({ operator: 'not_null' });
|
|
228
246
|
return true;
|
|
229
247
|
}
|
|
230
248
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number_parser.js","sourceRoot":"","sources":["../src/number_parser.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"number_parser.js","sourceRoot":"","sources":["../src/number_parser.ts"],"names":[],"mappings":"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"}
|