@malloydata/malloy-filter 0.0.237-dev250225213433 → 0.0.237
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/package.json +1 -1
- package/dist/a_simple_parser.d.ts +0 -1
- package/dist/a_simple_parser.js +0 -29
- package/dist/a_simple_parser.js.map +0 -1
- package/dist/base_parser.d.ts +0 -11
- package/dist/base_parser.js +0 -39
- package/dist/base_parser.js.map +0 -1
- package/dist/boolean_parser.d.ts +0 -7
- package/dist/boolean_parser.js +0 -76
- package/dist/boolean_parser.js.map +0 -1
- package/dist/boolean_serializer.d.ts +0 -8
- package/dist/boolean_serializer.js +0 -45
- package/dist/boolean_serializer.js.map +0 -1
- package/dist/clause_types.d.ts +0 -68
- package/dist/clause_types.js +0 -9
- package/dist/clause_types.js.map +0 -1
- package/dist/date_parser.d.ts +0 -25
- package/dist/date_parser.js +0 -434
- package/dist/date_parser.js.map +0 -1
- package/dist/date_serializer.d.ts +0 -11
- package/dist/date_serializer.js +0 -94
- package/dist/date_serializer.js.map +0 -1
- package/dist/date_types.d.ts +0 -75
- package/dist/date_types.js +0 -9
- package/dist/date_types.js.map +0 -1
- package/dist/generate_samples.d.ts +0 -1
- package/dist/generate_samples.js +0 -334
- package/dist/generate_samples.js.map +0 -1
- package/dist/index.d.ts +0 -10
- package/dist/index.js +0 -42
- package/dist/index.js.map +0 -1
- package/dist/number_parser.d.ts +0 -17
- package/dist/number_parser.js +0 -252
- package/dist/number_parser.js.map +0 -1
- package/dist/number_serializer.d.ts +0 -11
- package/dist/number_serializer.js +0 -85
- package/dist/number_serializer.js.map +0 -1
- package/dist/string_parser.d.ts +0 -17
- package/dist/string_parser.js +0 -166
- package/dist/string_parser.js.map +0 -1
- package/dist/string_serializer.d.ts +0 -13
- package/dist/string_serializer.js +0 -107
- package/dist/string_serializer.js.map +0 -1
- package/dist/token_types.d.ts +0 -7
- package/dist/token_types.js +0 -9
- package/dist/token_types.js.map +0 -1
- package/dist/tokenizer.d.ts +0 -52
- package/dist/tokenizer.js +0 -269
- package/dist/tokenizer.js.map +0 -1
- package/dist/tokenizer.spec.d.ts +0 -1
- package/dist/tokenizer.spec.js +0 -261
- package/dist/tokenizer.spec.js.map +0 -1
package/dist/generate_samples.js
DELETED
|
@@ -1,334 +0,0 @@
|
|
|
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
|
-
*/
|
|
8
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
-
if (k2 === undefined) k2 = k;
|
|
10
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
-
}
|
|
14
|
-
Object.defineProperty(o, k2, desc);
|
|
15
|
-
}) : (function(o, m, k, k2) {
|
|
16
|
-
if (k2 === undefined) k2 = k;
|
|
17
|
-
o[k2] = m[k];
|
|
18
|
-
}));
|
|
19
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
-
}) : function(o, v) {
|
|
22
|
-
o["default"] = v;
|
|
23
|
-
});
|
|
24
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
25
|
-
if (mod && mod.__esModule) return mod;
|
|
26
|
-
var result = {};
|
|
27
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
28
|
-
__setModuleDefault(result, mod);
|
|
29
|
-
return result;
|
|
30
|
-
};
|
|
31
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
|
-
const fs = __importStar(require("fs"));
|
|
33
|
-
const boolean_parser_1 = require("./boolean_parser");
|
|
34
|
-
const string_parser_1 = require("./string_parser");
|
|
35
|
-
const number_parser_1 = require("./number_parser");
|
|
36
|
-
const date_parser_1 = require("./date_parser");
|
|
37
|
-
const boolean_serializer_1 = require("./boolean_serializer");
|
|
38
|
-
const string_serializer_1 = require("./string_serializer");
|
|
39
|
-
const number_serializer_1 = require("./number_serializer");
|
|
40
|
-
const date_serializer_1 = require("./date_serializer");
|
|
41
|
-
const numberExamples = [
|
|
42
|
-
'5',
|
|
43
|
-
'!=5',
|
|
44
|
-
'1, 3, 5, null',
|
|
45
|
-
'1, 3, , 5,',
|
|
46
|
-
'<1, >=100 ',
|
|
47
|
-
'>=1',
|
|
48
|
-
' <= 10 ',
|
|
49
|
-
'NULL',
|
|
50
|
-
' -NULL',
|
|
51
|
-
'(1, 7)',
|
|
52
|
-
'[-5, 90]',
|
|
53
|
-
' != ( 12, 20 ] ',
|
|
54
|
-
'[.12e-20, 20.0e3)',
|
|
55
|
-
'[0,9],[20,29]',
|
|
56
|
-
'[0,10], 20, NULL, ( 72, 82 ] ',
|
|
57
|
-
', notanumber,, "null", apple pear orange, nulle, nnull, >=,',
|
|
58
|
-
'[cat, 100], <cat',
|
|
59
|
-
'-5.5 to 10',
|
|
60
|
-
];
|
|
61
|
-
const stringExamples = [
|
|
62
|
-
'CAT, DOG,mouse ',
|
|
63
|
-
'-CAT,-DOG , -mouse',
|
|
64
|
-
' CAT,-"DOG",m o u s e',
|
|
65
|
-
'-CAT,-DOG,mouse, bird, zebra, -horse, -goat',
|
|
66
|
-
'Missing ,NULL',
|
|
67
|
-
'CAT%, D%OG, %ous%, %ira_f%, %_oat, ',
|
|
68
|
-
'-CAT%,-D%OG,-%mouse,-%zebra%',
|
|
69
|
-
'CAT%,-CATALOG',
|
|
70
|
-
'%,_,%%,%a%',
|
|
71
|
-
'%\\_X',
|
|
72
|
-
'_\\_X',
|
|
73
|
-
'_CAT,D_G,mouse_',
|
|
74
|
-
'\\_CAT,D\\%G,\\mouse',
|
|
75
|
-
'CAT,-NULL',
|
|
76
|
-
'CAT,-"NULL"',
|
|
77
|
-
'CAT,NULL',
|
|
78
|
-
'CAT,,',
|
|
79
|
-
'CAT, , DOG',
|
|
80
|
-
'EMPTY',
|
|
81
|
-
'-EMPTY',
|
|
82
|
-
'CAT,-EMPTY',
|
|
83
|
-
'"CAT,DOG\',mo`use,zeb\'\'\'ra,g"""t,g\\"ir\\`af\\\'e',
|
|
84
|
-
'CAT\\,DOG',
|
|
85
|
-
'CAT,DOG,-, - ',
|
|
86
|
-
'--CAT,DOG,\\',
|
|
87
|
-
'CAT\\ DOG',
|
|
88
|
-
'_\\_CAT',
|
|
89
|
-
'\\NULL',
|
|
90
|
-
'\\-NULL',
|
|
91
|
-
'-N\\ULL',
|
|
92
|
-
'CA--,D-G',
|
|
93
|
-
' hello world, foo="bar baz" , qux=quux',
|
|
94
|
-
'one ,Null , Empty,E M P T Y Y,EEmpty, emptIEs',
|
|
95
|
-
'',
|
|
96
|
-
];
|
|
97
|
-
const booleanExamples = [
|
|
98
|
-
'true',
|
|
99
|
-
'FALSE',
|
|
100
|
-
'=false',
|
|
101
|
-
'null',
|
|
102
|
-
'-NULL',
|
|
103
|
-
'null,',
|
|
104
|
-
' True , , faLSE,=false,NULl,-null',
|
|
105
|
-
"-'null'",
|
|
106
|
-
'10',
|
|
107
|
-
'nnull',
|
|
108
|
-
' truee ',
|
|
109
|
-
];
|
|
110
|
-
const dateExamples = [
|
|
111
|
-
'this month',
|
|
112
|
-
'3 days',
|
|
113
|
-
'3 days ago',
|
|
114
|
-
'3 months ago for 2 days',
|
|
115
|
-
'2025 weeks ago',
|
|
116
|
-
'before 3 days ago',
|
|
117
|
-
'Before 2025-08-30 08:30:20',
|
|
118
|
-
'AFTER 2025-10-05',
|
|
119
|
-
'2025-08-30 12:00 to 2025-09-18 14:30',
|
|
120
|
-
'this YEAR',
|
|
121
|
-
'Next Tuesday',
|
|
122
|
-
'7 years from Now',
|
|
123
|
-
'2025-01-01 12:00:00 for 3 days',
|
|
124
|
-
'2020-08-12 03:12:56.57',
|
|
125
|
-
'2020-08-12T03:12:56[PST]',
|
|
126
|
-
'2020-08-12 03:12:56',
|
|
127
|
-
'2020-08-12 03:22',
|
|
128
|
-
'2020-08-12 03',
|
|
129
|
-
'2020-08-12',
|
|
130
|
-
'2020-Q3',
|
|
131
|
-
'2020-08-07-wK',
|
|
132
|
-
'2020-08',
|
|
133
|
-
'today',
|
|
134
|
-
'yesterday',
|
|
135
|
-
'tomorrow',
|
|
136
|
-
'TODay,Yesterday, TOMORROW , ,TODay ,,',
|
|
137
|
-
'2010 to 2011, 2015 to 2016 , 2018, 2020 ',
|
|
138
|
-
'next week',
|
|
139
|
-
'now',
|
|
140
|
-
'now to next month',
|
|
141
|
-
'null',
|
|
142
|
-
'-null,',
|
|
143
|
-
' yyesterday ',
|
|
144
|
-
'before',
|
|
145
|
-
'for',
|
|
146
|
-
'12',
|
|
147
|
-
'from now',
|
|
148
|
-
'2025-12-25 12:32:',
|
|
149
|
-
'12:22',
|
|
150
|
-
'after 2025 seconds',
|
|
151
|
-
'',
|
|
152
|
-
];
|
|
153
|
-
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
154
|
-
/* eslint-disable no-console */
|
|
155
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
156
|
-
class GenerateSamples {
|
|
157
|
-
constructor() {
|
|
158
|
-
this.samplesFile = fs.createWriteStream('dist/SAMPLES.md');
|
|
159
|
-
this.serializedFile = fs.createWriteStream('dist/SERIALIZE_SAMPLES.md');
|
|
160
|
-
}
|
|
161
|
-
static removeQuotes(word) {
|
|
162
|
-
if (word.startsWith('"')) {
|
|
163
|
-
word = word.substring(1);
|
|
164
|
-
}
|
|
165
|
-
if (word.endsWith('"')) {
|
|
166
|
-
word = word.substring(0, word.length - 1);
|
|
167
|
-
}
|
|
168
|
-
return word;
|
|
169
|
-
}
|
|
170
|
-
static writeJson(fp, title, ...args) {
|
|
171
|
-
const result = args.map(str => JSON.stringify(str));
|
|
172
|
-
const result2 = result.map(str => GenerateSamples.removeQuotes(str));
|
|
173
|
-
fp.write(title + ' ' + result2.join(' ') + '\n');
|
|
174
|
-
console.log(title, ...args);
|
|
175
|
-
}
|
|
176
|
-
static writeRaw(fp, ...args) {
|
|
177
|
-
fp.write(args.join(' ') + '\n');
|
|
178
|
-
console.log(...args);
|
|
179
|
-
}
|
|
180
|
-
booleanSample(str, fp) {
|
|
181
|
-
GenerateSamples.writeRaw(fp, 'Input: ', str);
|
|
182
|
-
const parser = new boolean_parser_1.BooleanParser(str);
|
|
183
|
-
const response = parser.parse();
|
|
184
|
-
// GenerateSamples.writeJson(fp, 'Tokens: ', parser.getTokens());
|
|
185
|
-
if (response.clauses && response.clauses.length > 0) {
|
|
186
|
-
GenerateSamples.writeJson(fp, 'Output: ', ...response.clauses);
|
|
187
|
-
}
|
|
188
|
-
if (response.logs && response.logs.length > 0) {
|
|
189
|
-
GenerateSamples.writeJson(fp, 'Logs: ', ...response.logs);
|
|
190
|
-
}
|
|
191
|
-
GenerateSamples.writeRaw(fp, '');
|
|
192
|
-
}
|
|
193
|
-
dateSample(str, fp) {
|
|
194
|
-
GenerateSamples.writeRaw(fp, 'Input: ', str);
|
|
195
|
-
const parser = new date_parser_1.DateParser(str);
|
|
196
|
-
const response = parser.parse();
|
|
197
|
-
// GenerateSamples.writeJson(fp, 'Tokens: ', parser.getTokens());
|
|
198
|
-
if (response.clauses && response.clauses.length > 0) {
|
|
199
|
-
GenerateSamples.writeJson(fp, 'Output: ', ...response.clauses);
|
|
200
|
-
}
|
|
201
|
-
if (response.logs && response.logs.length > 0) {
|
|
202
|
-
GenerateSamples.writeJson(fp, 'Logs: ', ...response.logs);
|
|
203
|
-
}
|
|
204
|
-
GenerateSamples.writeRaw(fp, '');
|
|
205
|
-
}
|
|
206
|
-
numberSample(str, fp) {
|
|
207
|
-
GenerateSamples.writeRaw(fp, 'Input: ', str);
|
|
208
|
-
const parser = new number_parser_1.NumberParser(str);
|
|
209
|
-
const response = parser.parse();
|
|
210
|
-
// GenerateSamples.writeJson(fp, 'Tokens: ', parser.getTokens());
|
|
211
|
-
if (response.clauses && response.clauses.length > 0) {
|
|
212
|
-
GenerateSamples.writeJson(fp, 'Output: ', ...response.clauses);
|
|
213
|
-
}
|
|
214
|
-
if (response.logs && response.logs.length > 0) {
|
|
215
|
-
GenerateSamples.writeJson(fp, 'Logs: ', ...response.logs);
|
|
216
|
-
}
|
|
217
|
-
GenerateSamples.writeRaw(fp, '');
|
|
218
|
-
}
|
|
219
|
-
stringSample(str, fp) {
|
|
220
|
-
GenerateSamples.writeRaw(fp, 'Input: ', str);
|
|
221
|
-
const parser = new string_parser_1.StringParser(str);
|
|
222
|
-
const response = parser.parse();
|
|
223
|
-
// GenerateSamples.writeJson(fp, 'Tokens: ', parser.getTokens());
|
|
224
|
-
if (response.clauses && response.clauses.length > 0) {
|
|
225
|
-
GenerateSamples.writeJson(fp, 'Output: ', ...response.clauses);
|
|
226
|
-
}
|
|
227
|
-
if (response.logs && response.logs.length > 0) {
|
|
228
|
-
GenerateSamples.writeJson(fp, 'Logs: ', ...response.logs);
|
|
229
|
-
}
|
|
230
|
-
GenerateSamples.writeRaw(fp, '');
|
|
231
|
-
}
|
|
232
|
-
booleanSerialized(str, fp) {
|
|
233
|
-
GenerateSamples.writeRaw(fp, 'Input: ' + str);
|
|
234
|
-
const response = new boolean_parser_1.BooleanParser(str).parse();
|
|
235
|
-
// this.writeJson('Clause: ', ...response.clauses, '\n');
|
|
236
|
-
if (response.clauses && response.clauses.length > 0) {
|
|
237
|
-
const result = new boolean_serializer_1.BooleanSerializer(response.clauses || []).serialize();
|
|
238
|
-
GenerateSamples.writeRaw(fp, 'Output: ' + result);
|
|
239
|
-
}
|
|
240
|
-
if (response.logs && response.logs.length > 0) {
|
|
241
|
-
GenerateSamples.writeJson(fp, 'Logs: ', ...response.logs);
|
|
242
|
-
}
|
|
243
|
-
GenerateSamples.writeRaw(fp, '');
|
|
244
|
-
}
|
|
245
|
-
dateSerialized(str, fp) {
|
|
246
|
-
GenerateSamples.writeRaw(fp, 'Input: ' + str);
|
|
247
|
-
const response = new date_parser_1.DateParser(str).parse();
|
|
248
|
-
// this.writeJson('Clause: ', ...response.clauses, '\n');
|
|
249
|
-
if (response.clauses && response.clauses.length > 0) {
|
|
250
|
-
const result = new date_serializer_1.DateSerializer(response.clauses || []).serialize();
|
|
251
|
-
GenerateSamples.writeRaw(fp, 'Output: ' + result);
|
|
252
|
-
}
|
|
253
|
-
if (response.logs && response.logs.length > 0) {
|
|
254
|
-
GenerateSamples.writeJson(fp, 'Logs: ', ...response.logs);
|
|
255
|
-
}
|
|
256
|
-
GenerateSamples.writeRaw(fp, '');
|
|
257
|
-
}
|
|
258
|
-
numberSerialized(str, fp) {
|
|
259
|
-
GenerateSamples.writeRaw(fp, 'Input: ' + str);
|
|
260
|
-
const response = new number_parser_1.NumberParser(str).parse();
|
|
261
|
-
// this.writeJson('Clause: ', ...response.clauses, '\n');
|
|
262
|
-
if (response.clauses && response.clauses.length > 0) {
|
|
263
|
-
const result = new number_serializer_1.NumberSerializer(response.clauses || []).serialize();
|
|
264
|
-
GenerateSamples.writeRaw(fp, 'Output: ' + result);
|
|
265
|
-
}
|
|
266
|
-
if (response.logs && response.logs.length > 0) {
|
|
267
|
-
GenerateSamples.writeJson(fp, 'Logs: ', ...response.logs);
|
|
268
|
-
}
|
|
269
|
-
GenerateSamples.writeRaw(fp, '');
|
|
270
|
-
}
|
|
271
|
-
stringSerialized(str, fp) {
|
|
272
|
-
GenerateSamples.writeRaw(fp, 'Input: ' + str);
|
|
273
|
-
const response = new string_parser_1.StringParser(str).parse();
|
|
274
|
-
// this.writeJson('Clause: ', ...response.clauses, '\n');
|
|
275
|
-
if (response.clauses && response.clauses.length > 0) {
|
|
276
|
-
const result = new string_serializer_1.StringSerializer(response.clauses || []).serialize();
|
|
277
|
-
GenerateSamples.writeRaw(fp, 'Output: ' + result);
|
|
278
|
-
}
|
|
279
|
-
if (response.logs && response.logs.length > 0) {
|
|
280
|
-
GenerateSamples.writeJson(fp, 'Logs: ', ...response.logs);
|
|
281
|
-
}
|
|
282
|
-
GenerateSamples.writeRaw(fp, '');
|
|
283
|
-
}
|
|
284
|
-
loop(title, examples, func, fp) {
|
|
285
|
-
GenerateSamples.writeRaw(fp, '-------------------------------------------------------------------------');
|
|
286
|
-
GenerateSamples.writeRaw(fp, '## ' + title + '\n');
|
|
287
|
-
GenerateSamples.writeRaw(fp, '```code');
|
|
288
|
-
for (const example of examples) {
|
|
289
|
-
func(example, fp);
|
|
290
|
-
}
|
|
291
|
-
GenerateSamples.writeRaw(fp, '```\n');
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
// Comment or uncomment the following function calls to disable/enable examples.
|
|
295
|
-
function generateSamples() {
|
|
296
|
-
try {
|
|
297
|
-
const gen = new GenerateSamples();
|
|
298
|
-
GenerateSamples.writeRaw(gen.samplesFile, `
|
|
299
|
-
# Parsers
|
|
300
|
-
|
|
301
|
-
Each filter type is handled by a different parser (strings, numbers, dates and times, etc).
|
|
302
|
-
Sample outputs from each parser follow...
|
|
303
|
-
`);
|
|
304
|
-
GenerateSamples.writeRaw(gen.serializedFile, `
|
|
305
|
-
# Serializers
|
|
306
|
-
|
|
307
|
-
Each parser has a complementary serializer that converts the structured clause list back
|
|
308
|
-
to string format. Below are round-trip samples: \`string\` to \`Clause[]\` back to \`string\`.
|
|
309
|
-
Round-trip Examples:
|
|
310
|
-
|
|
311
|
-
\`\`\`code
|
|
312
|
-
Input > parse > Clause[] > serialize > Output
|
|
313
|
-
string string
|
|
314
|
-
\`\`\`
|
|
315
|
-
`);
|
|
316
|
-
gen.loop('Numbers', numberExamples, gen.numberSample, gen.samplesFile);
|
|
317
|
-
gen.loop('Strings', stringExamples, gen.stringSample, gen.samplesFile);
|
|
318
|
-
gen.loop('Booleans', booleanExamples, gen.booleanSample, gen.samplesFile);
|
|
319
|
-
gen.loop('Dates and Times', dateExamples, gen.dateSample, gen.samplesFile);
|
|
320
|
-
gen.loop('Number Serializer', numberExamples, gen.numberSerialized, gen.serializedFile);
|
|
321
|
-
gen.loop('String Serializer', stringExamples, gen.stringSerialized, gen.serializedFile);
|
|
322
|
-
gen.loop('Boolean Serializer', booleanExamples, gen.booleanSerialized, gen.serializedFile);
|
|
323
|
-
gen.loop('Date Serializer', dateExamples, gen.dateSerialized, gen.serializedFile);
|
|
324
|
-
}
|
|
325
|
-
catch (ex) {
|
|
326
|
-
if (ex instanceof Error)
|
|
327
|
-
console.error('Thrown Error: ', ex.message);
|
|
328
|
-
else {
|
|
329
|
-
console.error('Thrown Unknown error: ', ex);
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
|
-
generateSamples();
|
|
334
|
-
//# sourceMappingURL=generate_samples.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate_samples.js","sourceRoot":"","sources":["../src/generate_samples.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export { BooleanParser } from './boolean_parser';
|
|
2
|
-
export { DateParser } from './date_parser';
|
|
3
|
-
export { NumberParser } from './number_parser';
|
|
4
|
-
export { StringParser } from './string_parser';
|
|
5
|
-
export { BooleanSerializer } from './boolean_serializer';
|
|
6
|
-
export { DateSerializer } from './date_serializer';
|
|
7
|
-
export { NumberSerializer } from './number_serializer';
|
|
8
|
-
export { StringSerializer } from './string_serializer';
|
|
9
|
-
export * from './clause_types';
|
|
10
|
-
export * from './date_types';
|
package/dist/index.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
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
|
-
*/
|
|
8
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
-
if (k2 === undefined) k2 = k;
|
|
10
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
-
}
|
|
14
|
-
Object.defineProperty(o, k2, desc);
|
|
15
|
-
}) : (function(o, m, k, k2) {
|
|
16
|
-
if (k2 === undefined) k2 = k;
|
|
17
|
-
o[k2] = m[k];
|
|
18
|
-
}));
|
|
19
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
20
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
21
|
-
};
|
|
22
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
-
exports.StringSerializer = exports.NumberSerializer = exports.DateSerializer = exports.BooleanSerializer = exports.StringParser = exports.NumberParser = exports.DateParser = exports.BooleanParser = void 0;
|
|
24
|
-
var boolean_parser_1 = require("./boolean_parser");
|
|
25
|
-
Object.defineProperty(exports, "BooleanParser", { enumerable: true, get: function () { return boolean_parser_1.BooleanParser; } });
|
|
26
|
-
var date_parser_1 = require("./date_parser");
|
|
27
|
-
Object.defineProperty(exports, "DateParser", { enumerable: true, get: function () { return date_parser_1.DateParser; } });
|
|
28
|
-
var number_parser_1 = require("./number_parser");
|
|
29
|
-
Object.defineProperty(exports, "NumberParser", { enumerable: true, get: function () { return number_parser_1.NumberParser; } });
|
|
30
|
-
var string_parser_1 = require("./string_parser");
|
|
31
|
-
Object.defineProperty(exports, "StringParser", { enumerable: true, get: function () { return string_parser_1.StringParser; } });
|
|
32
|
-
var boolean_serializer_1 = require("./boolean_serializer");
|
|
33
|
-
Object.defineProperty(exports, "BooleanSerializer", { enumerable: true, get: function () { return boolean_serializer_1.BooleanSerializer; } });
|
|
34
|
-
var date_serializer_1 = require("./date_serializer");
|
|
35
|
-
Object.defineProperty(exports, "DateSerializer", { enumerable: true, get: function () { return date_serializer_1.DateSerializer; } });
|
|
36
|
-
var number_serializer_1 = require("./number_serializer");
|
|
37
|
-
Object.defineProperty(exports, "NumberSerializer", { enumerable: true, get: function () { return number_serializer_1.NumberSerializer; } });
|
|
38
|
-
var string_serializer_1 = require("./string_serializer");
|
|
39
|
-
Object.defineProperty(exports, "StringSerializer", { enumerable: true, get: function () { return string_serializer_1.StringSerializer; } });
|
|
40
|
-
__exportStar(require("./clause_types"), exports);
|
|
41
|
-
__exportStar(require("./date_types"), exports);
|
|
42
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { NumberParserResponse } from './clause_types';
|
|
2
|
-
import { BaseParser } from './base_parser';
|
|
3
|
-
export declare class NumberParser extends BaseParser {
|
|
4
|
-
constructor(input: string);
|
|
5
|
-
private tokenize;
|
|
6
|
-
parse(): NumberParserResponse;
|
|
7
|
-
private static groupClauses;
|
|
8
|
-
private matchTokens;
|
|
9
|
-
private checkRange;
|
|
10
|
-
private isRangeStart;
|
|
11
|
-
private static parseNumber;
|
|
12
|
-
private static isValidNumber;
|
|
13
|
-
private consumeRange;
|
|
14
|
-
private checkNumericExpression;
|
|
15
|
-
private checkSimpleNumber;
|
|
16
|
-
private checkNull;
|
|
17
|
-
}
|
package/dist/number_parser.js
DELETED
|
@@ -1,252 +0,0 @@
|
|
|
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
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.NumberParser = void 0;
|
|
10
|
-
const tokenizer_1 = require("./tokenizer");
|
|
11
|
-
const base_parser_1 = require("./base_parser");
|
|
12
|
-
class NumberParser extends base_parser_1.BaseParser {
|
|
13
|
-
constructor(input) {
|
|
14
|
-
super(input);
|
|
15
|
-
}
|
|
16
|
-
tokenize() {
|
|
17
|
-
const specialSubstrings = [
|
|
18
|
-
{ type: ',', value: ',' },
|
|
19
|
-
{ type: '[', value: '[' },
|
|
20
|
-
{ type: ']', value: ']' },
|
|
21
|
-
{ type: '(', value: '(' },
|
|
22
|
-
{ type: ')', value: ')' },
|
|
23
|
-
{ type: '<=', value: '<=' },
|
|
24
|
-
{ type: '>=', value: '>=' },
|
|
25
|
-
{ type: '!=', value: '!=' },
|
|
26
|
-
{ type: '=', value: '=' },
|
|
27
|
-
{ type: '>', value: '>' },
|
|
28
|
-
{ type: '<', value: '<' },
|
|
29
|
-
];
|
|
30
|
-
const specialWords = [
|
|
31
|
-
{ type: 'not_null', value: '-null', ignoreCase: true },
|
|
32
|
-
{ type: 'null', value: 'null', ignoreCase: true },
|
|
33
|
-
];
|
|
34
|
-
const params = {
|
|
35
|
-
trimWordWhitespace: true,
|
|
36
|
-
combineAdjacentWords: false,
|
|
37
|
-
splitOnWhitespace: true,
|
|
38
|
-
specialSubstrings,
|
|
39
|
-
specialWords,
|
|
40
|
-
};
|
|
41
|
-
const tokenizer = new tokenizer_1.Tokenizer(this.inputString, params);
|
|
42
|
-
this.tokens = tokenizer.parse();
|
|
43
|
-
}
|
|
44
|
-
parse() {
|
|
45
|
-
this.index = 0;
|
|
46
|
-
this.tokenize();
|
|
47
|
-
let clauses = [];
|
|
48
|
-
const logs = [];
|
|
49
|
-
while (this.index < this.tokens.length) {
|
|
50
|
-
const token = this.getNext();
|
|
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
|
-
}
|
|
60
|
-
this.index++;
|
|
61
|
-
}
|
|
62
|
-
else if (this.isRangeStart(this.index)) {
|
|
63
|
-
clauses = this.checkRange(token, false, clauses, logs);
|
|
64
|
-
}
|
|
65
|
-
else if (token.type === '!=' && this.isRangeStart(this.index + 1)) {
|
|
66
|
-
this.index++;
|
|
67
|
-
clauses = this.checkRange(token, true, clauses, logs);
|
|
68
|
-
}
|
|
69
|
-
else if (this.checkNull(clauses)) {
|
|
70
|
-
this.index++;
|
|
71
|
-
}
|
|
72
|
-
else if (this.checkNumericExpression('<=', clauses) ||
|
|
73
|
-
this.checkNumericExpression('>=', clauses) ||
|
|
74
|
-
this.checkNumericExpression('<', clauses) ||
|
|
75
|
-
this.checkNumericExpression('>', clauses) ||
|
|
76
|
-
this.checkNumericExpression('!=', clauses) ||
|
|
77
|
-
this.checkNumericExpression('=', clauses)) {
|
|
78
|
-
this.index += 2;
|
|
79
|
-
}
|
|
80
|
-
else if (this.checkSimpleNumber(clauses)) {
|
|
81
|
-
this.index++;
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
logs.push({
|
|
85
|
-
severity: 'error',
|
|
86
|
-
message: 'Invalid expression: ' + token.value,
|
|
87
|
-
startIndex: token.startIndex,
|
|
88
|
-
endIndex: token.endIndex,
|
|
89
|
-
});
|
|
90
|
-
this.index++;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
return { clauses: NumberParser.groupClauses(clauses), logs };
|
|
94
|
-
}
|
|
95
|
-
static groupClauses(clauses) {
|
|
96
|
-
if (clauses.length < 2) {
|
|
97
|
-
return clauses;
|
|
98
|
-
}
|
|
99
|
-
let previous = undefined;
|
|
100
|
-
const outputs = [];
|
|
101
|
-
for (let i = 0; i < clauses.length; i++) {
|
|
102
|
-
const clause = clauses[i];
|
|
103
|
-
if (clause.operator === 'range') {
|
|
104
|
-
previous = undefined;
|
|
105
|
-
outputs.push(clause);
|
|
106
|
-
}
|
|
107
|
-
else if (previous !== undefined &&
|
|
108
|
-
previous.operator === clause.operator &&
|
|
109
|
-
'values' in previous &&
|
|
110
|
-
'values' in clause) {
|
|
111
|
-
previous.values.push(...clause.values);
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
previous = clause;
|
|
115
|
-
outputs.push(clause);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
return outputs;
|
|
119
|
-
}
|
|
120
|
-
matchTokens(candidates) {
|
|
121
|
-
return base_parser_1.BaseParser.matchTokenTypes(candidates, this.index, this.tokens);
|
|
122
|
-
}
|
|
123
|
-
checkRange(token, negated, clauses, logs) {
|
|
124
|
-
if (this.matchTokens(['[', 'word', ',', 'word', ']'])) {
|
|
125
|
-
return negated
|
|
126
|
-
? this.consumeRange('<', '>', clauses, logs)
|
|
127
|
-
: this.consumeRange('>=', '<=', clauses, logs);
|
|
128
|
-
}
|
|
129
|
-
else if (this.matchTokens(['[', 'word', ',', 'word', ')'])) {
|
|
130
|
-
return negated
|
|
131
|
-
? this.consumeRange('<', '>=', clauses, logs)
|
|
132
|
-
: this.consumeRange('>=', '<', clauses, logs);
|
|
133
|
-
}
|
|
134
|
-
else if (this.matchTokens(['(', 'word', ',', 'word', ']'])) {
|
|
135
|
-
return negated
|
|
136
|
-
? this.consumeRange('<=', '>', clauses, logs)
|
|
137
|
-
: this.consumeRange('>', '<=', clauses, logs);
|
|
138
|
-
}
|
|
139
|
-
else if (this.matchTokens(['(', 'word', ',', 'word', ')'])) {
|
|
140
|
-
return negated
|
|
141
|
-
? this.consumeRange('<=', '>=', clauses, logs)
|
|
142
|
-
: this.consumeRange('>', '<', clauses, logs);
|
|
143
|
-
}
|
|
144
|
-
else {
|
|
145
|
-
logs.push({
|
|
146
|
-
severity: 'error',
|
|
147
|
-
message: 'Invalid range expression',
|
|
148
|
-
startIndex: token.startIndex,
|
|
149
|
-
endIndex: token.endIndex,
|
|
150
|
-
});
|
|
151
|
-
this.index++;
|
|
152
|
-
}
|
|
153
|
-
return clauses;
|
|
154
|
-
}
|
|
155
|
-
isRangeStart(position) {
|
|
156
|
-
if (position < 0 || position >= this.tokens.length) {
|
|
157
|
-
return false;
|
|
158
|
-
}
|
|
159
|
-
const tokenType = this.tokens[position].type;
|
|
160
|
-
return tokenType === '[' || tokenType === '(';
|
|
161
|
-
}
|
|
162
|
-
static parseNumber(value) {
|
|
163
|
-
if (value.toUpperCase() === 'inf') {
|
|
164
|
-
return Infinity;
|
|
165
|
-
}
|
|
166
|
-
else if (value.toUpperCase() === '-inf') {
|
|
167
|
-
return -Infinity;
|
|
168
|
-
}
|
|
169
|
-
else {
|
|
170
|
-
return Number(value);
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
static isValidNumber(value) {
|
|
174
|
-
return Number.isNaN(value) === false;
|
|
175
|
-
}
|
|
176
|
-
consumeRange(startOperator, endOperator, clauses, logs) {
|
|
177
|
-
const startToken = this.getAt(this.index + 1);
|
|
178
|
-
const endToken = this.getAt(this.index + 3);
|
|
179
|
-
const startValue = NumberParser.parseNumber(startToken.value);
|
|
180
|
-
const endValue = NumberParser.parseNumber(endToken.value);
|
|
181
|
-
if (!NumberParser.isValidNumber(startValue)) {
|
|
182
|
-
logs.push({
|
|
183
|
-
severity: 'error',
|
|
184
|
-
message: 'Invalid number',
|
|
185
|
-
startIndex: startToken.startIndex,
|
|
186
|
-
endIndex: startToken.endIndex,
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
else if (!NumberParser.isValidNumber(endValue)) {
|
|
190
|
-
logs.push({
|
|
191
|
-
severity: 'error',
|
|
192
|
-
message: 'Invalid number',
|
|
193
|
-
startIndex: endToken.startIndex,
|
|
194
|
-
endIndex: endToken.endIndex,
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
else {
|
|
198
|
-
const clause = {
|
|
199
|
-
operator: 'range',
|
|
200
|
-
startOperator: startOperator,
|
|
201
|
-
startValue: startValue,
|
|
202
|
-
endOperator: endOperator,
|
|
203
|
-
endValue: endValue,
|
|
204
|
-
};
|
|
205
|
-
clauses.push(clause);
|
|
206
|
-
}
|
|
207
|
-
this.index += 5;
|
|
208
|
-
return clauses;
|
|
209
|
-
}
|
|
210
|
-
checkNumericExpression(tokenType, clauses) {
|
|
211
|
-
if (this.getNext().type === tokenType &&
|
|
212
|
-
this.index < this.tokens.length - 1) {
|
|
213
|
-
const numericValue = NumberParser.parseNumber(this.getAt(this.index + 1).value);
|
|
214
|
-
if (!NumberParser.isValidNumber(numericValue)) {
|
|
215
|
-
return false;
|
|
216
|
-
}
|
|
217
|
-
const clause = {
|
|
218
|
-
operator: tokenType,
|
|
219
|
-
values: [numericValue],
|
|
220
|
-
};
|
|
221
|
-
clauses.push(clause);
|
|
222
|
-
return true;
|
|
223
|
-
}
|
|
224
|
-
return false;
|
|
225
|
-
}
|
|
226
|
-
checkSimpleNumber(clauses) {
|
|
227
|
-
if (this.getNext().type === 'word') {
|
|
228
|
-
const numericValue = NumberParser.parseNumber(this.getAt(this.index).value);
|
|
229
|
-
if (!NumberParser.isValidNumber(numericValue)) {
|
|
230
|
-
return false;
|
|
231
|
-
}
|
|
232
|
-
const clause = { operator: '=', values: [numericValue] };
|
|
233
|
-
clauses.push(clause);
|
|
234
|
-
return true;
|
|
235
|
-
}
|
|
236
|
-
return false;
|
|
237
|
-
}
|
|
238
|
-
checkNull(clauses) {
|
|
239
|
-
const type = this.getNext().type;
|
|
240
|
-
if (type === 'null') {
|
|
241
|
-
clauses.push({ operator: 'null' });
|
|
242
|
-
return true;
|
|
243
|
-
}
|
|
244
|
-
else if (type === 'not_null') {
|
|
245
|
-
clauses.push({ operator: 'not_null' });
|
|
246
|
-
return true;
|
|
247
|
-
}
|
|
248
|
-
return false;
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
exports.NumberParser = NumberParser;
|
|
252
|
-
//# sourceMappingURL=number_parser.js.map
|