@malloydata/malloy-filter 0.0.237-dev250222012247 → 0.0.237-dev250222034547

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.
Files changed (65) hide show
  1. package/dist/a_simple_parser.js +12 -9
  2. package/dist/a_simple_parser.js.map +1 -1
  3. package/dist/base_parser.d.ts +0 -2
  4. package/dist/base_parser.js.map +1 -1
  5. package/dist/boolean_parser.d.ts +2 -2
  6. package/dist/boolean_parser.js.map +1 -1
  7. package/dist/boolean_serializer.d.ts +4 -4
  8. package/dist/boolean_serializer.js +3 -3
  9. package/dist/boolean_serializer.js.map +1 -1
  10. package/dist/clause_types.d.ts +15 -41
  11. package/dist/date_parser.d.ts +13 -11
  12. package/dist/date_parser.js +187 -130
  13. package/dist/date_parser.js.map +1 -1
  14. package/dist/date_serializer.d.ts +6 -5
  15. package/dist/date_serializer.js +53 -71
  16. package/dist/date_serializer.js.map +1 -1
  17. package/dist/date_types.d.ts +69 -0
  18. package/dist/{filter_types.js → date_types.js} +1 -1
  19. package/dist/date_types.js.map +1 -0
  20. package/dist/generate_samples.js +154 -85
  21. package/dist/generate_samples.js.map +1 -1
  22. package/dist/number_parser.d.ts +2 -2
  23. package/dist/number_parser.js.map +1 -1
  24. package/dist/number_serializer.d.ts +4 -4
  25. package/dist/number_serializer.js +3 -3
  26. package/dist/number_serializer.js.map +1 -1
  27. package/dist/string_parser.d.ts +2 -2
  28. package/dist/string_parser.js.map +1 -1
  29. package/dist/string_serializer.d.ts +5 -5
  30. package/dist/string_serializer.js +5 -5
  31. package/dist/string_serializer.js.map +1 -1
  32. package/package.json +1 -2
  33. package/src/a_simple_parser.ts +12 -9
  34. package/src/base_parser.ts +0 -3
  35. package/src/boolean_parser.ts +7 -3
  36. package/src/boolean_serializer.ts +5 -6
  37. package/src/clause_types.ts +15 -97
  38. package/src/date_parser.ts +224 -191
  39. package/src/date_serializer.ts +55 -87
  40. package/src/date_types.ts +149 -0
  41. package/src/generate_samples.ts +170 -107
  42. package/src/number_parser.ts +5 -5
  43. package/src/number_serializer.ts +5 -6
  44. package/src/string_parser.ts +14 -9
  45. package/src/string_serializer.ts +8 -9
  46. package/tsconfig.json +1 -6
  47. package/dist/a_simple_serializer.d.ts +0 -1
  48. package/dist/a_simple_serializer.js +0 -31
  49. package/dist/a_simple_serializer.js.map +0 -1
  50. package/dist/base_serializer.d.ts +0 -6
  51. package/dist/base_serializer.js +0 -11
  52. package/dist/base_serializer.js.map +0 -1
  53. package/dist/filter_parser.d.ts +0 -12
  54. package/dist/filter_parser.js +0 -66
  55. package/dist/filter_parser.js.map +0 -1
  56. package/dist/filter_serializer.d.ts +0 -13
  57. package/dist/filter_serializer.js +0 -43
  58. package/dist/filter_serializer.js.map +0 -1
  59. package/dist/filter_types.d.ts +0 -10
  60. package/dist/filter_types.js.map +0 -1
  61. package/src/a_simple_serializer.ts +0 -40
  62. package/src/base_serializer.ts +0 -9
  63. package/src/filter_parser.ts +0 -68
  64. package/src/filter_serializer.ts +0 -49
  65. package/src/filter_types.ts +0 -12
@@ -1 +1 @@
1
- {"version":3,"file":"date_parser.js","sourceRoot":"","sources":["../src/date_parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"date_parser.js","sourceRoot":"","sources":["../src/date_parser.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- import { Clause } from './clause_types';
2
- import { BaseSerializer } from './base_serializer';
3
- export declare class DateSerializer extends BaseSerializer {
4
- constructor(clauses: Clause[]);
1
+ import { DateClause } from './date_types';
2
+ export declare class DateSerializer {
3
+ private clauses;
4
+ constructor(clauses: DateClause[]);
5
5
  serialize(): string;
6
6
  private static dateMomentToString;
7
- private static dateRangeToString;
7
+ private static goDateBetweenClause;
8
+ private static goDateForClause;
8
9
  private static clauseToString;
9
10
  private static clausesToString;
10
11
  }
@@ -1,97 +1,79 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DateSerializer = void 0;
4
- const base_serializer_1 = require("./base_serializer");
5
- class DateSerializer extends base_serializer_1.BaseSerializer {
4
+ class DateSerializer {
6
5
  constructor(clauses) {
7
- super(clauses);
6
+ this.clauses = clauses;
7
+ this.clauses = clauses;
8
8
  }
9
9
  serialize() {
10
10
  const result = DateSerializer.clausesToString(this.clauses);
11
11
  return result.trim().replace(/,$/, '');
12
12
  }
13
- static dateMomentToString(operator, clause) {
14
- if (operator === 'NOW' ||
15
- operator === 'TODAY' ||
16
- operator === 'YESTERDAY' ||
17
- operator === 'TOMORROW') {
18
- const custom = clause;
19
- return custom.prefix ? custom.prefix + ' ' + operator : operator;
13
+ static dateMomentToString(moment) {
14
+ if (moment.type === 'ABSOLUTE') {
15
+ return moment.date;
20
16
  }
21
- else if (operator === 'LAST' ||
22
- operator === 'THIS' ||
23
- operator === 'NEXT') {
24
- const custom = clause;
25
- let value = custom.operator + ' ' + custom.unit;
26
- if (custom.prefix) {
27
- value = custom.prefix + ' ' + value;
28
- }
29
- return value;
17
+ else if (moment.type === 'INTERVAL') {
18
+ return moment.kind + ' ' + moment.unit;
30
19
  }
31
- else if (operator === 'LASTN' || operator === 'NEXTN') {
32
- const custom = clause;
33
- operator = operator.substring(0, 4); // Strip "N"
34
- let value = operator + ' ' + custom.value + ' ' + custom.unit;
35
- if (custom.prefix) {
36
- value = custom.prefix + ' ' + value;
37
- }
38
- return value;
20
+ else if (moment.type === 'NAMED') {
21
+ return moment.name;
39
22
  }
40
- else if (operator === 'AGO' || operator === 'FROMNOW') {
41
- const custom = clause;
42
- if (operator === 'FROMNOW')
43
- operator = 'FROM NOW';
44
- let value = custom.value + ' ' + custom.unit + ' ' + operator;
45
- if (custom.prefix) {
46
- value = custom.prefix + ' ' + value;
47
- }
48
- return value;
23
+ else if (moment.type === 'OFFSET_FROM_NOW') {
24
+ const direction = moment.direction === 'FROMNOW' ? 'FROM NOW' : 'AGO';
25
+ return moment.amount + ' ' + moment.unit + ' ' + direction;
49
26
  }
50
- else if (operator === 'TIMEBLOCK') {
51
- const custom = clause;
52
- let value = custom.value + ' ' + custom.unit;
53
- if (custom.prefix) {
54
- value = custom.prefix + ' ' + value;
55
- }
56
- return value;
27
+ else if (moment.type === 'SPAN_FROM_NOW') {
28
+ return moment.direction + ' ' + moment.amount + ' ' + moment.unit;
57
29
  }
58
- else if (operator === 'DATE' || operator === 'DATETIME') {
59
- const custom = clause;
60
- let value = custom.date;
61
- if (custom.time) {
62
- value = value + ' ' + custom.time;
63
- }
64
- if (custom.prefix) {
65
- value = custom.prefix + ' ' + value;
66
- }
67
- return value;
30
+ else {
31
+ throw new Error('moment type not recognized ' + JSON.stringify(moment));
68
32
  }
69
- return '';
70
33
  }
71
- static dateRangeToString(operator, clause) {
72
- return (DateSerializer.dateMomentToString(clause.start.operator, clause.start) +
73
- ' ' +
74
- clause.operator +
34
+ static goDateBetweenClause(clause) {
35
+ return (DateSerializer.dateMomentToString(clause.from) +
36
+ ' TO ' +
37
+ DateSerializer.dateMomentToString(clause.to));
38
+ }
39
+ static goDateForClause(clause) {
40
+ return (DateSerializer.dateMomentToString(clause.from) +
41
+ ' FOR ' +
42
+ clause.duration.amount +
75
43
  ' ' +
76
- DateSerializer.dateMomentToString(clause.end.operator, clause.end));
44
+ clause.duration.unit);
77
45
  }
78
- static clauseToString(operator, clause) {
79
- if (operator === 'TO' || operator === 'FOR') {
80
- const custom = clause;
81
- return DateSerializer.dateRangeToString(operator, custom);
46
+ static clauseToString(clause) {
47
+ if (!('operator' in clause)) {
48
+ throw new Error('Invalid date clause ' + JSON.stringify(clause));
49
+ }
50
+ if (clause.operator === 'TO_RANGE') {
51
+ return DateSerializer.goDateBetweenClause(clause);
52
+ }
53
+ else if (clause.operator === 'FOR_RANGE') {
54
+ return DateSerializer.goDateForClause(clause);
55
+ }
56
+ else if (clause.operator === 'BEFORE') {
57
+ return 'BEFORE ' + DateSerializer.dateMomentToString(clause.moment);
58
+ }
59
+ else if (clause.operator === 'AFTER') {
60
+ return 'AFTER ' + DateSerializer.dateMomentToString(clause.moment);
61
+ }
62
+ else if (clause.operator === 'ON') {
63
+ return DateSerializer.dateMomentToString(clause.moment);
64
+ }
65
+ else if (clause.operator === 'DURATION') {
66
+ return clause.duration.amount + ' ' + clause.duration.unit;
67
+ }
68
+ else {
69
+ throw new Error('Clause type not recognized ' + JSON.stringify(clause));
82
70
  }
83
- return DateSerializer.dateMomentToString(operator, clause);
84
71
  }
85
72
  static clausesToString(clauses) {
86
73
  let result = '';
87
74
  for (const clause of clauses) {
88
- if ('operator' in clause) {
89
- result += DateSerializer.clauseToString(clause.operator, clause);
90
- result += ', ';
91
- }
92
- else {
93
- throw new Error('Invalid date clause ' + JSON.stringify(clause));
94
- }
75
+ result += DateSerializer.clauseToString(clause);
76
+ result += ', ';
95
77
  }
96
78
  return result;
97
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"date_serializer.js","sourceRoot":"","sources":["../src/date_serializer.ts"],"names":[],"mappings":";;;AASA,uDAAiD;AAEjD,MAAa,cAAe,SAAQ,gCAAc;IAChD,YAAY,OAAiB;QAC3B,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IAEM,SAAS;QACd,MAAM,MAAM,GAAG,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5D,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAAC,QAAgB,EAAE,MAAc;QAChE,IACE,QAAQ,KAAK,KAAK;YAClB,QAAQ,KAAK,OAAO;YACpB,QAAQ,KAAK,WAAW;YACxB,QAAQ,KAAK,UAAU,EACvB;YACA,MAAM,MAAM,GAAe,MAAoB,CAAC;YAChD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;SAClE;aAAM,IACL,QAAQ,KAAK,MAAM;YACnB,QAAQ,KAAK,MAAM;YACnB,QAAQ,KAAK,MAAM,EACnB;YACA,MAAM,MAAM,GAAuB,MAA4B,CAAC;YAChE,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;YAChD,IAAI,MAAM,CAAC,MAAM,EAAE;gBACjB,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC;aACrC;YACD,OAAO,KAAK,CAAC;SACd;aAAM,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,OAAO,EAAE;YACvD,MAAM,MAAM,GACV,MAAkC,CAAC;YACrC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY;YACjD,IAAI,KAAK,GAAG,QAAQ,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;YAC9D,IAAI,MAAM,CAAC,MAAM,EAAE;gBACjB,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC;aACrC;YACD,OAAO,KAAK,CAAC;SACd;aAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,SAAS,EAAE;YACvD,MAAM,MAAM,GACV,MAAkC,CAAC;YACrC,IAAI,QAAQ,KAAK,SAAS;gBAAE,QAAQ,GAAG,UAAU,CAAC;YAClD,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,QAAQ,CAAC;YAC9D,IAAI,MAAM,CAAC,MAAM,EAAE;gBACjB,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC;aACrC;YACD,OAAO,KAAK,CAAC;SACd;aAAM,IAAI,QAAQ,KAAK,WAAW,EAAE;YACnC,MAAM,MAAM,GAAyB,MAA8B,CAAC;YACpE,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;YAC7C,IAAI,MAAM,CAAC,MAAM,EAAE;gBACjB,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC;aACrC;YACD,OAAO,KAAK,CAAC;SACd;aAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,UAAU,EAAE;YACzD,MAAM,MAAM,GAAqB,MAA0B,CAAC;YAC5D,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;YACxB,IAAI,MAAM,CAAC,IAAI,EAAE;gBACf,KAAK,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;aACnC;YACD,IAAI,MAAM,CAAC,MAAM,EAAE;gBACjB,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC;aACrC;YACD,OAAO,KAAK,CAAC;SACd;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAC9B,QAAsB,EACtB,MAAiB;QAEjB,OAAO,CACL,cAAc,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC;YACtE,GAAG;YACH,MAAM,CAAC,QAAQ;YACf,GAAG;YACH,cAAc,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CACnE,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,QAAgB,EAAE,MAAc;QAC5D,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,KAAK,EAAE;YAC3C,MAAM,MAAM,GAAG,MAAmB,CAAC;YACnC,OAAO,cAAc,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SAC3D;QACD,OAAO,cAAc,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,OAAiB;QAC9C,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,IAAI,UAAU,IAAI,MAAM,EAAE;gBACxB,MAAM,IAAI,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACjE,MAAM,IAAI,IAAI,CAAC;aAChB;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;aAClE;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAtGD,wCAsGC"}
1
+ {"version":3,"file":"date_serializer.js","sourceRoot":"","sources":["../src/date_serializer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ import { FilterError } from './clause_types';
2
+ export type DateTimeUnit = 'YEAR' | 'QUARTER' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND';
3
+ export type DateWeekday = 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY';
4
+ export interface Duration {
5
+ amount: number;
6
+ unit: DateTimeUnit;
7
+ }
8
+ export type DateMomentName = 'NOW' | 'TODAY' | 'YESTERDAY' | 'TOMORROW';
9
+ export interface NamedMoment {
10
+ type: 'NAMED';
11
+ name: DateMomentName;
12
+ }
13
+ export type DateMomentIntervalOperator = 'LAST' | 'THIS' | 'NEXT';
14
+ export interface IntervalMoment {
15
+ type: 'INTERVAL';
16
+ kind: DateMomentIntervalOperator;
17
+ unit: DateTimeUnit | DateWeekday;
18
+ }
19
+ export type DateMomentOffsetFromNowDirection = 'AGO' | 'FROMNOW';
20
+ export interface OffsetMoment {
21
+ type: 'OFFSET_FROM_NOW';
22
+ direction: DateMomentOffsetFromNowDirection;
23
+ unit: DateTimeUnit;
24
+ amount: number;
25
+ }
26
+ export type DateMomentSpanFromNowDirection = 'LAST' | 'NEXT';
27
+ export interface SpanMoment {
28
+ type: 'SPAN_FROM_NOW';
29
+ direction: DateMomentSpanFromNowDirection;
30
+ unit: DateTimeUnit;
31
+ amount: number;
32
+ }
33
+ export interface AbsoluteMoment {
34
+ type: 'ABSOLUTE';
35
+ date: string;
36
+ unit: DateTimeUnit;
37
+ }
38
+ export type DateMoment = AbsoluteMoment | NamedMoment | IntervalMoment | SpanMoment | OffsetMoment;
39
+ export interface DateAfterClause {
40
+ operator: 'AFTER';
41
+ moment: DateMoment;
42
+ }
43
+ export interface DateBeforeClause {
44
+ operator: 'BEFORE';
45
+ moment: DateMoment;
46
+ }
47
+ export interface DateOnClause {
48
+ operator: 'ON';
49
+ moment: DateMoment;
50
+ }
51
+ export interface DateBetweenClause {
52
+ operator: 'TO_RANGE';
53
+ from: DateMoment;
54
+ to: DateMoment;
55
+ }
56
+ export interface DateForClause {
57
+ operator: 'FOR_RANGE';
58
+ from: DateMoment;
59
+ duration: Duration;
60
+ }
61
+ export interface DateDurationClause {
62
+ operator: 'DURATION';
63
+ duration: Duration;
64
+ }
65
+ export type DateClause = DateAfterClause | DateBeforeClause | DateOnClause | DateBetweenClause | DateForClause | DateDurationClause;
66
+ export interface DateParserResponse {
67
+ clauses: DateClause[];
68
+ errors: FilterError[];
69
+ }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=filter_types.js.map
3
+ //# sourceMappingURL=date_types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date_types.js","sourceRoot":"","sources":["../src/date_types.ts"],"names":[],"mappings":""}
@@ -83,7 +83,7 @@ const dateExamples = [
83
83
  'before 3 days ago',
84
84
  'before 2025-08-30 08:30:20',
85
85
  'after 2025-10-05',
86
- '2025-08-30 12:00:00 to 2025-09-18 14:00:00',
86
+ '2025-08-30 12:00 to 2025-09-18 14:30',
87
87
  'this year',
88
88
  'next tuesday',
89
89
  '7 years from now',
@@ -103,6 +103,7 @@ const dateExamples = [
103
103
  'for',
104
104
  '7',
105
105
  'from now',
106
+ '2025-12-25 12:32:',
106
107
  '',
107
108
  ];
108
109
  /* eslint-disable @typescript-eslint/no-unused-vars */
@@ -197,70 +198,75 @@ function testTokenizerNumber() {
197
198
  testTokenizerSingle(example, params);
198
199
  }
199
200
  }
200
- function testParserSingle(str, parser, outputFormatter) {
201
+ function testNumberParserSingle(str, outputFormatter) {
201
202
  console.log('Input: ', str);
202
- try {
203
- const response = parser.parse();
204
- // console.log('Tokens: ', parser.getTokens());
205
- if (response.clauses && response.clauses.length > 0) {
206
- if (outputFormatter) {
207
- console.log('Output: ', outputFormatter(response.clauses));
208
- }
209
- else {
210
- console.log('Output: ', ...response.clauses);
211
- }
212
- }
213
- if (response.errors && response.errors.length > 0) {
214
- console.log('Errors: ', ...response.errors);
203
+ const parser = new number_parser_1.NumberParser(str);
204
+ const response = parser.parse();
205
+ // console.log('Tokens: ', parser.getTokens());
206
+ if (response.clauses && response.clauses.length > 0) {
207
+ if (outputFormatter) {
208
+ console.log('Output: ', outputFormatter(response.clauses));
215
209
  }
216
- }
217
- catch (ex) {
218
- if (ex instanceof Error)
219
- console.error('Thrown Error: ', ex.message);
220
210
  else {
221
- console.error('Thrown Unknown error: ', ex);
211
+ console.log('Output: ', ...response.clauses);
222
212
  }
223
213
  }
214
+ if (response.errors && response.errors.length > 0) {
215
+ console.log('Errors: ', ...response.errors);
216
+ }
224
217
  console.log('');
225
218
  }
226
- function testSerializerRoundtrip(str, parser, serializerFunc) {
227
- console.log('Input: ' + str);
228
- try {
229
- const response = parser.parse();
230
- // console.log('Clause: ', ...response.clauses, '\n');
231
- if (response.clauses && response.clauses.length > 0) {
232
- const result = serializerFunc(response.clauses || []).serialize();
233
- console.log('Output: ' + result);
234
- }
235
- if (response.errors && response.errors.length > 0) {
236
- console.log('Errors: ', ...response.errors);
237
- }
219
+ function testNumberParser() {
220
+ for (const example of numberExamples) {
221
+ testNumberParserSingle(example);
238
222
  }
239
- catch (ex) {
240
- if (ex instanceof Error)
241
- console.error('Thrown Error: ', ex.message);
223
+ }
224
+ function testStringParserSingle(str, outputFormatter) {
225
+ console.log('Input: ', str);
226
+ const parser = new string_parser_1.StringParser(str);
227
+ const response = parser.parse();
228
+ // console.log('Tokens: ', parser.getTokens());
229
+ if (response.clauses && response.clauses.length > 0) {
230
+ if (outputFormatter) {
231
+ console.log('Output: ', outputFormatter(response.clauses));
232
+ }
242
233
  else {
243
- console.error('Thrown Unknown error: ', ex);
234
+ console.log('Output: ', ...response.clauses);
244
235
  }
245
236
  }
246
- console.log('');
247
- }
248
- function testNumberParser() {
249
- for (const example of numberExamples) {
250
- const parser = new number_parser_1.NumberParser(example);
251
- testParserSingle(example, parser);
237
+ if (response.errors && response.errors.length > 0) {
238
+ console.log('Errors: ', ...response.errors);
252
239
  }
240
+ console.log('');
253
241
  }
254
242
  function testStringParser() {
255
243
  for (const example of stringExamples) {
256
244
  const parser = new string_parser_1.StringParser(example);
257
- testParserSingle(example, parser);
245
+ testStringParserSingle(example);
258
246
  }
259
247
  }
248
+ function testBooleanParserSingle(str, outputFormatter) {
249
+ console.log('Input: ', str);
250
+ const parser = new boolean_parser_1.BooleanParser(str);
251
+ const response = parser.parse();
252
+ // console.log('Tokens: ', parser.getTokens());
253
+ if (response.clauses && response.clauses.length > 0) {
254
+ if (outputFormatter) {
255
+ console.log('Output: ', outputFormatter(response.clauses));
256
+ }
257
+ else {
258
+ console.log('Output: ', ...response.clauses);
259
+ }
260
+ }
261
+ if (response.errors && response.errors.length > 0) {
262
+ console.log('Errors: ', ...response.errors);
263
+ }
264
+ console.log('');
265
+ }
260
266
  function testBooleanParser() {
261
267
  for (const example of booleanExamples) {
262
268
  const parser = new boolean_parser_1.BooleanParser(example);
263
- testParserSingle(example, parser);
269
+ testBooleanParserSingle(example);
264
270
  }
265
271
  }
266
272
  function jsonFormatter(clauses) {
@@ -270,47 +276,101 @@ function jsonFormatter(clauses) {
270
276
  }
271
277
  return str;
272
278
  }
279
+ function testDateParserSingle(str, outputFormatter) {
280
+ console.log('Input: ', str);
281
+ const parser = new date_parser_1.DateParser(str);
282
+ const response = parser.parse();
283
+ // console.log('Tokens: ', parser.getTokens());
284
+ if (response.clauses && response.clauses.length > 0) {
285
+ if (outputFormatter) {
286
+ console.log('Output: ', outputFormatter(response.clauses));
287
+ }
288
+ else {
289
+ console.log('Output: ', ...response.clauses);
290
+ }
291
+ }
292
+ if (response.errors && response.errors.length > 0) {
293
+ console.log('Errors: ', ...response.errors);
294
+ }
295
+ console.log('');
296
+ }
273
297
  function testDateParser() {
274
298
  for (const example of dateExamples) {
275
299
  const parser = new date_parser_1.DateParser(example);
276
- testParserSingle(example, parser);
277
- //testParserSingle(example, parser, jsonFormatter);
300
+ testDateParserSingle(example);
301
+ }
302
+ }
303
+ function testNumberRoundtrip(str) {
304
+ console.log('Input: ' + str);
305
+ const response = new number_parser_1.NumberParser(str).parse();
306
+ // console.log('Clause: ', ...response.clauses, '\n');
307
+ if (response.clauses && response.clauses.length > 0) {
308
+ const result = new number_serializer_1.NumberSerializer(response.clauses || []).serialize();
309
+ console.log('Output: ' + result);
310
+ }
311
+ if (response.errors && response.errors.length > 0) {
312
+ console.log('Errors: ', ...response.errors);
278
313
  }
314
+ console.log('');
279
315
  }
280
316
  function testNumberSerializer() {
281
- const examples = [
282
- [{ operator: '>', value: 10 }],
283
- [{ startOperator: '>=', startValue: 20, endOperator: '<=', endValue: 30 }],
284
- ];
285
317
  for (const example of numberExamples) {
286
- testSerializerRoundtrip(example, new number_parser_1.NumberParser(example), clauses => new number_serializer_1.NumberSerializer(clauses));
318
+ testNumberRoundtrip(example);
287
319
  }
288
320
  }
321
+ function testStringRoundtrip(str) {
322
+ console.log('Input: ' + str);
323
+ const response = new string_parser_1.StringParser(str).parse();
324
+ // console.log('Clause: ', ...response.clauses, '\n');
325
+ if (response.clauses && response.clauses.length > 0) {
326
+ const result = new string_serializer_1.StringSerializer(response.clauses || []).serialize();
327
+ console.log('Output: ' + result);
328
+ }
329
+ if (response.errors && response.errors.length > 0) {
330
+ console.log('Errors: ', ...response.errors);
331
+ }
332
+ console.log('');
333
+ }
289
334
  function testStringSerializer() {
290
335
  for (const example of stringExamples) {
291
- testSerializerRoundtrip(example, new string_parser_1.StringParser(example), clauses => new string_serializer_1.StringSerializer(clauses));
336
+ testStringRoundtrip(example);
292
337
  }
293
338
  }
339
+ function testBooleanRoundtrip(str) {
340
+ console.log('Input: ' + str);
341
+ const response = new boolean_parser_1.BooleanParser(str).parse();
342
+ // console.log('Clause: ', ...response.clauses, '\n');
343
+ if (response.clauses && response.clauses.length > 0) {
344
+ const result = new boolean_serializer_1.BooleanSerializer(response.clauses || []).serialize();
345
+ console.log('Output: ' + result);
346
+ }
347
+ if (response.errors && response.errors.length > 0) {
348
+ console.log('Errors: ', ...response.errors);
349
+ }
350
+ console.log('');
351
+ }
294
352
  function testBooleanSerializer() {
295
353
  const examples = [[{ operator: 'TRUE' }]];
296
354
  for (const example of booleanExamples) {
297
- testSerializerRoundtrip(example, new boolean_parser_1.BooleanParser(example), clauses => new boolean_serializer_1.BooleanSerializer(clauses));
355
+ testBooleanRoundtrip(example);
298
356
  }
299
357
  }
358
+ function testDateRoundtrip(str) {
359
+ console.log('Input: ' + str);
360
+ const response = new date_parser_1.DateParser(str).parse();
361
+ // console.log('Clause: ', ...response.clauses, '\n');
362
+ if (response.clauses && response.clauses.length > 0) {
363
+ const result = new date_serializer_1.DateSerializer(response.clauses || []).serialize();
364
+ console.log('Output: ' + result);
365
+ }
366
+ if (response.errors && response.errors.length > 0) {
367
+ console.log('Errors: ', ...response.errors);
368
+ }
369
+ console.log('');
370
+ }
300
371
  function testDateSerializer() {
301
- const examples = [
302
- [{ prefix: 'BEFORE', values: [{ type: 'day', value: 'yesterday' }] }],
303
- [
304
- {
305
- start: [{ type: 'day', value: 'today' }],
306
- operator: 'TO',
307
- end: [{ type: 'day', value: 'tomorrow' }],
308
- },
309
- ],
310
- [{ type: 'day', value: 'today' }],
311
- ];
312
372
  for (const example of dateExamples) {
313
- testSerializerRoundtrip(example, new date_parser_1.DateParser(example), clauses => new date_serializer_1.DateSerializer(clauses));
373
+ testDateRoundtrip(example);
314
374
  }
315
375
  }
316
376
  function printHeader(title) {
@@ -319,26 +379,35 @@ function printHeader(title) {
319
379
  }
320
380
  // Comment or uncomment the following function calls to disable/enable examples.
321
381
  function generateSamples() {
322
- //printHeader('Tokenizer');
323
- //testTokenizerString();
324
- //testTokenizerNumber();
325
- //testTokenizerMatchTypes();
326
- //printHeader('Numbers');
327
- //testNumberParser();
328
- //printHeader('Strings');
329
- //testStringParser();
330
- //printHeader('Booleans');
331
- //testBooleanParser();
332
- //printHeader('Dates and Times');
333
- //testDateParser();
334
- printHeader('Number Serializer');
335
- testNumberSerializer();
336
- printHeader('String Serializer');
337
- testStringSerializer();
338
- printHeader('Boolean Serializer');
339
- testBooleanSerializer();
340
- printHeader('Date and Time Serializer');
341
- testDateSerializer();
382
+ try {
383
+ //printHeader('Tokenizer');
384
+ //testTokenizerString();
385
+ //testTokenizerNumber();
386
+ //testTokenizerMatchTypes();
387
+ printHeader('Numbers');
388
+ testNumberParser();
389
+ printHeader('Strings');
390
+ testStringParser();
391
+ printHeader('Booleans');
392
+ testBooleanParser();
393
+ printHeader('Dates and Times');
394
+ testDateParser();
395
+ printHeader('Number Serializer');
396
+ testNumberSerializer();
397
+ printHeader('String Serializer');
398
+ testStringSerializer();
399
+ printHeader('Boolean Serializer');
400
+ testBooleanSerializer();
401
+ printHeader('Date and Time Serializer');
402
+ testDateSerializer();
403
+ }
404
+ catch (ex) {
405
+ if (ex instanceof Error)
406
+ console.error('Thrown Error: ', ex.message);
407
+ else {
408
+ console.error('Thrown Unknown error: ', ex);
409
+ }
410
+ }
342
411
  }
343
412
  generateSamples();
344
413
  //# sourceMappingURL=generate_samples.js.map