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

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.
@@ -1 +1 @@
1
- {"version":3,"file":"number_parser.js","sourceRoot":"","sources":["../src/number_parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"number_parser.js","sourceRoot":"","sources":["../src/number_parser.ts"],"names":[],"mappings":"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"}
@@ -10,12 +10,10 @@ class NumberSerializer {
10
10
  const result = NumberSerializer.clauseToString(this.clauses);
11
11
  return result.trim().replace(/,$/, '');
12
12
  }
13
- // NumberOperator = '<=' | '>=' | '!=' | '=' | '>' | '<';
13
+ // NumberOperator = '<=' | '>=' | '!=' | '=' | '>' | '<'
14
14
  static numberConditionToString(operator, value) {
15
- if (value === null) {
16
- return operator === '=' ? 'NULL' : '-NULL';
17
- }
18
- const operatorString = operator === '=' ? '' : operator; // Remove operator for eg "5, 7, 9"
15
+ // Remove operator for eg "5, 7, 9".
16
+ const operatorString = operator === '=' ? '' : operator;
19
17
  return operatorString + value;
20
18
  }
21
19
  static getNegatedType(operator) {
@@ -53,21 +51,26 @@ class NumberSerializer {
53
51
  static clauseToString(clauses) {
54
52
  let result = '';
55
53
  for (const clause of clauses) {
56
- if ('operator' in clause && clause.operator === 'range') {
54
+ if (!('operator' in clause)) {
55
+ throw new Error('Invalid number clause ' + JSON.stringify(clause));
56
+ }
57
+ if (clause.operator === 'range') {
57
58
  result += NumberSerializer.rangeToString(clause);
58
59
  result += ', ';
59
60
  }
60
- else if ('operator' in clause &&
61
- NumberSerializer.isNumberOperator(clause.operator)) {
61
+ else if (clause.operator === 'NULL') {
62
+ result += 'NULL, ';
63
+ }
64
+ else if (clause.operator === 'NOTNULL') {
65
+ result += '-NULL, ';
66
+ }
67
+ else if (NumberSerializer.isNumberOperator(clause.operator)) {
62
68
  const numberClause = clause;
63
69
  for (const value of numberClause.values) {
64
70
  result += NumberSerializer.numberConditionToString(numberClause.operator, value);
65
71
  result += ', ';
66
72
  }
67
73
  }
68
- else {
69
- throw new Error('Invalid number clause ' + JSON.stringify(clause));
70
- }
71
74
  }
72
75
  return result;
73
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"number_serializer.js","sourceRoot":"","sources":["../src/number_serializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"number_serializer.js","sourceRoot":"","sources":["../src/number_serializer.ts"],"names":[],"mappings":"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"}
@@ -35,20 +35,11 @@ class StringParser extends base_parser_1.BaseParser {
35
35
  if (token.type === ',') {
36
36
  this.index++;
37
37
  }
38
- else if (token.type === 'NULL') {
39
- clauses.push({ operator: '=', values: [null] });
40
- this.index++;
41
- }
42
- else if (token.type === 'EMPTY') {
43
- clauses.push({ operator: 'EMPTY', values: [null] });
44
- this.index++;
45
- }
46
- else if (token.type === 'NOTNULL') {
47
- clauses.push({ operator: '!=', values: [null] });
48
- this.index++;
49
- }
50
- else if (token.type === 'NOTEMPTY') {
51
- clauses.push({ operator: 'NOTEMPTY', values: [null] });
38
+ else if (token.type === 'NULL' ||
39
+ token.type === 'NOTNULL' ||
40
+ token.type === 'EMPTY' ||
41
+ token.type === 'NOTEMPTY') {
42
+ clauses.push({ operator: token.type });
52
43
  this.index++;
53
44
  }
54
45
  else if (this.checkSimpleWord(clauses)) {
@@ -63,7 +54,15 @@ class StringParser extends base_parser_1.BaseParser {
63
54
  this.index++;
64
55
  }
65
56
  }
66
- return { clauses: StringParser.groupClauses(clauses), errors };
57
+ const response = {
58
+ clauses: StringParser.groupClauses(clauses),
59
+ errors,
60
+ };
61
+ const quotes = StringParser.findQuotes(this.inputString);
62
+ if (quotes.length > 0) {
63
+ response.quotes = quotes;
64
+ }
65
+ return response;
67
66
  }
68
67
  static findQuotes(str) {
69
68
  const quotes = new Set();
@@ -123,12 +122,15 @@ class StringParser extends base_parser_1.BaseParser {
123
122
  let previous = clauses[0];
124
123
  const outputs = [previous];
125
124
  for (let i = 1; i < clauses.length; i++) {
126
- if (previous.operator === clauses[i].operator) {
127
- previous.values.push(...clauses[i].values);
125
+ const current = clauses[i];
126
+ if (previous.operator === current.operator &&
127
+ 'values' in previous &&
128
+ 'values' in current) {
129
+ previous.values.push(...current.values);
128
130
  }
129
131
  else {
130
- previous = clauses[i];
131
- outputs.push(previous);
132
+ previous = current;
133
+ outputs.push(current);
132
134
  }
133
135
  }
134
136
  return outputs;
@@ -182,8 +184,6 @@ class StringParser extends base_parser_1.BaseParser {
182
184
  return false;
183
185
  }
184
186
  const clause = { operator: operator, values: [word] };
185
- //const quotes: QuoteType[] = StringParser.findQuotes(word);
186
- //if (quotes.length > 0) { clause.quotes = quotes; }
187
187
  clauses.push(clause);
188
188
  return true;
189
189
  }
@@ -1 +1 @@
1
- {"version":3,"file":"string_parser.js","sourceRoot":"","sources":["../src/string_parser.ts"],"names":[],"mappings":";;;AAAA,2CAAqE;AAQrE,+CAAyC;AAEzC,MAAa,YAAa,SAAQ,wBAAU;IAQ1C,YAAY,KAAa;QACvB,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEO,QAAQ;QACd,MAAM,iBAAiB,GAAmB,CAAC,EAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAC,CAAC,CAAC;QACpE,MAAM,YAAY,GAAmB;YACnC,EAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAC;YAC/C,EAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAC;YACjD,EAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAC;YACnD,EAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAC;SACtD,CAAC;QACF,MAAM,MAAM,GAAoB;YAC9B,kBAAkB,EAAE,IAAI;YACxB,oBAAoB,EAAE,IAAI;YAC1B,iBAAiB;YACjB,YAAY,EAAE,YAAY;SAC3B,CAAC;QAEF,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,qBAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACzE,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,MAAM,MAAM,GAAkB,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YACtC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,EAAE;gBACtB,IAAI,CAAC,KAAK,EAAE,CAAC;aACd;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;gBAChC,OAAO,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;gBAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;aACd;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;gBACjC,OAAO,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;gBAClD,IAAI,CAAC,KAAK,EAAE,CAAC;aACd;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;gBACnC,OAAO,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;gBAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;aACd;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;gBACpC,OAAO,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;gBACrD,IAAI,CAAC,KAAK,EAAE,CAAC;aACd;iBAAM,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE;gBACxC,IAAI,CAAC,KAAK,EAAE,CAAC;aACd;iBAAM;gBACL,MAAM,CAAC,IAAI,CAAC;oBACV,OAAO,EAAE,oBAAoB;oBAC7B,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;iBACzB,CAAC,CAAC;gBACH,IAAI,CAAC,KAAK,EAAE,CAAC;aACd;SACF;QACD,OAAO,EAAC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,EAAC,CAAC;IAC/D,CAAC;IAEO,MAAM,CAAC,UAAU,CAAC,GAAW;QACnC,MAAM,MAAM,GAAmB,IAAI,GAAG,EAAE,CAAC;QACzC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEV,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE;YACrB,yDAAyD;YACzD,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,EAAE;gBACjC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAC3B,CAAC,IAAI,CAAC,CAAC;aACR;iBAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,EAAE;gBACxC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAC3B,CAAC,IAAI,CAAC,CAAC;aACR;iBAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;gBAC1B,2BAA2B;gBAC3B,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE;oBACtB,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;wBAClB,KAAK,GAAG;4BACN,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;4BAC5B,MAAM;wBACR,KAAK,GAAG;4BACN,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;4BAC5B,MAAM;wBACR,KAAK,GAAG;4BACN,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;4BAC9B,MAAM;qBACT;oBACD,CAAC,IAAI,CAAC,CAAC;iBACR;qBAAM;oBACL,CAAC,EAAE,CAAC;iBACL;aACF;iBAAM;gBACL,0BAA0B;gBAC1B,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE;oBACd,KAAK,GAAG;wBACN,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBACrB,MAAM;oBACR,KAAK,GAAG;wBACN,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBACrB,MAAM;oBACR,KAAK,GAAG;wBACN,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBACvB,MAAM;iBACT;gBACD,CAAC,EAAE,CAAC;aACL;SACF;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,OAAuB;QACjD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,OAAO,OAAO,CAAC;SAChB;QACD,IAAI,QAAQ,GAAiB,OAAO,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,OAAO,GAAmB,CAAC,QAAQ,CAAC,CAAC;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;gBAC7C,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;aAC5C;iBAAM;gBACL,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACtB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACxB;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,IAAY;QACzC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAClC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1C,OAAO,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAAC,IAAY;QAC3C,YAAY,CAAC,oBAAoB,CAAC,SAAS,GAAG,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,oBAAoB,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IAEO,eAAe,CAAC,OAAuB;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;YACzB,OAAO,KAAK,CAAC;SACd;QACD,MAAM,YAAY,GAAG,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtE,IAAI,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;QAExD,MAAM,cAAc,GAAG,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,aAAa,GAAG,cAAc,IAAI,YAAY,CAAC;QACrD,MAAM,YAAY,GAAG,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE3D,IAAI,QAAQ,GAAmB,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QACzD,IAAI,YAAY,IAAI,eAAe,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;YACzE,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;SACtC;aAAM,IAAI,aAAa,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3C,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC;YACrD,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC1C,IAAI,GAAG,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SAC7C;aAAM,IAAI,cAAc,EAAE;YACzB,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;YAC7C,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,GAAG,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SAC7C;aAAM,IAAI,YAAY,EAAE;YACvB,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;YACjD,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC1C,IAAI,GAAG,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SAC7C;aAAM;YACL,UAAU;YACV,IAAI,GAAG,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SAC7C;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,OAAO,KAAK,CAAC;SACd;QAED,MAAM,MAAM,GAAiB,EAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,EAAC,CAAC;QAClE,4DAA4D;QAC5D,oDAAoD;QACpD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;;AA1LH,oCA2LC;AA1LyB,yBAAY,GAAW,UAAU,CAAC;AAClC,4BAAe,GAAW,UAAU,CAAC;AACrC,8BAAiB,GAAW,IAAI,CAAC;AACjC,4BAAe,GAAW,WAAW,CAAC;AACtC,8BAAiB,GAAW,SAAS,CAAC;AACtC,iCAAoB,GAAW,kBAAkB,CAAC"}
1
+ {"version":3,"file":"string_parser.js","sourceRoot":"","sources":["../src/string_parser.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export declare class StringSerializer {
6
6
  private static isNegated;
7
7
  private static escapeSpecialCharacters;
8
8
  private static escapeWildcardCharacters;
9
+ private static StringConditionWordToString;
9
10
  private static StringClauseToString;
10
11
  private static clauseToString;
11
12
  }
@@ -11,8 +11,7 @@ class StringSerializer {
11
11
  return result.trim().replace(/,$/, '');
12
12
  }
13
13
  static isNegated(operator) {
14
- return (operator === 'NOTEMPTY' ||
15
- operator === '!~' ||
14
+ return (operator === '!~' ||
16
15
  operator === '!=' ||
17
16
  operator === 'notStarts' ||
18
17
  operator === 'notEnds' ||
@@ -24,19 +23,11 @@ class StringSerializer {
24
23
  static escapeWildcardCharacters(input) {
25
24
  return input.replace(/[_%]/g, match => `\\${match}`);
26
25
  }
27
- // export type StringOperator = 'EMPTY' | 'NOTEMPTY' | 'starts' | 'ends' | 'contains' | 'notStarts' |
28
- // 'notEnds' | 'notContains' | '~' | '=' | '!~' | '!=';
29
- static StringClauseToString(operator, value) {
30
- if (operator === 'EMPTY') {
31
- return 'EMPTY';
32
- }
33
- else if (operator === 'NOTEMPTY') {
34
- return '-EMPTY';
35
- }
26
+ // export type StringOperator =
27
+ // | 'starts' | 'ends' | 'contains' | 'notStarts' | 'notEnds' | 'notContains'
28
+ // | '~' | '=' | '!~' | '!=';
29
+ static StringConditionWordToString(operator, value) {
36
30
  const negated = StringSerializer.isNegated(operator);
37
- if (value === null) {
38
- return negated ? '-NULL' : 'NULL';
39
- }
40
31
  if (value === 'NULL' || value === '-NULL') {
41
32
  return (negated ? '-' : '') + '\\' + value;
42
33
  }
@@ -59,15 +50,38 @@ class StringSerializer {
59
50
  }
60
51
  return (negated ? '-' : '') + value;
61
52
  }
53
+ static StringClauseToString(operator, clause) {
54
+ if (operator === 'EMPTY') {
55
+ return 'EMPTY';
56
+ }
57
+ else if (operator === 'NOTEMPTY') {
58
+ return '-EMPTY';
59
+ }
60
+ else if (operator === 'NULL') {
61
+ return 'NULL';
62
+ }
63
+ else if (operator === 'NOTNULL') {
64
+ return '-NULL';
65
+ }
66
+ if (!('values' in clause) || clause.values.length === 0) {
67
+ return '';
68
+ }
69
+ let result = '';
70
+ const condition = clause;
71
+ for (const value of condition.values) {
72
+ const word = StringSerializer.StringConditionWordToString(condition.operator, value);
73
+ if (word) {
74
+ result += word + ', ';
75
+ }
76
+ }
77
+ return result.trim().replace(/,$/, '');
78
+ }
62
79
  static clauseToString(clauses) {
63
80
  let result = '';
64
- for (const genericClause of clauses) {
65
- const clause = genericClause;
66
- for (const value of clause.values) {
67
- const word = StringSerializer.StringClauseToString(clause.operator, value);
68
- if (word) {
69
- result += word + ', ';
70
- }
81
+ for (const clause of clauses) {
82
+ const words = StringSerializer.StringClauseToString(clause.operator, clause);
83
+ if (words) {
84
+ result += words + ', ';
71
85
  }
72
86
  }
73
87
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"string_serializer.js","sourceRoot":"","sources":["../src/string_serializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"string_serializer.js","sourceRoot":"","sources":["../src/string_serializer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@malloydata/malloy-filter",
3
- "version": "0.0.237-dev250222034547",
3
+ "version": "0.0.237-dev250223010918",
4
4
  "license": "MIT",
5
5
  "description": "",
6
6
  "main": "dist/string_parser.js",
package/src/DEVELOPING.md CHANGED
@@ -1,15 +1,10 @@
1
1
  # Testing
2
2
 
3
- The `malloy-filter` tests use Jest. Install Jest using:
3
+ The `malloy-filter` tests use Jest.
4
4
 
5
5
  ```bash
6
- npm install --save-dev jest @types/jest ts-jest
7
- ```
8
-
9
- ## Tokenizer Testing
10
-
11
- ```bash
12
- npm run test:tokenizer
6
+ npm run build
7
+ npm run test
13
8
  ```
14
9
 
15
10
  # generate_samples
@@ -22,5 +17,3 @@ To create the samples:
22
17
  npm run build
23
18
  npm run samples
24
19
  ```
25
-
26
- Comment/uncomment individual lines in `generateSamples()` to enable/disable sample generation for the different parsers.
@@ -1,7 +1,6 @@
1
1
  import {SpecialToken, Tokenizer, TokenizerParams} from './tokenizer';
2
2
  import {
3
3
  BooleanClause,
4
- BooleanOperator,
5
4
  BooleanParserResponse,
6
5
  FilterError,
7
6
  } from './clause_types';
@@ -18,7 +17,8 @@ export class BooleanParser extends BaseParser {
18
17
  {type: 'NULL', value: 'null', ignoreCase: true},
19
18
  {type: 'NOTNULL', value: '-null', ignoreCase: true},
20
19
  {type: 'TRUE', value: 'true', ignoreCase: true},
21
- {type: 'FALSE', value: 'false', ignoreCase: true},
20
+ {type: 'FALSE', value: '=false', ignoreCase: true},
21
+ {type: 'FALSEORNULL', value: 'false', ignoreCase: true},
22
22
  ];
23
23
  const params: TokenizerParams = {
24
24
  trimWordWhitespace: true,
@@ -45,9 +45,10 @@ export class BooleanParser extends BaseParser {
45
45
  token.type === 'NULL' ||
46
46
  token.type === 'TRUE' ||
47
47
  token.type === 'FALSE' ||
48
+ token.type === 'FALSEORNULL' ||
48
49
  token.type === 'NOTNULL'
49
50
  ) {
50
- const clause: BooleanClause = {operator: token.type as BooleanOperator};
51
+ const clause: BooleanClause = {operator: token.type};
51
52
  clauses.push(clause);
52
53
  this.index++;
53
54
  } else {
@@ -11,7 +11,15 @@ export class BooleanSerializer {
11
11
  }
12
12
 
13
13
  private static booleanClauseToString(clause: BooleanClause): string {
14
- return clause.operator === 'NOTNULL' ? '-NULL' : clause.operator;
14
+ switch (clause.operator) {
15
+ case 'NOTNULL':
16
+ return '-NULL';
17
+ case 'FALSEORNULL':
18
+ return 'FALSE';
19
+ case 'FALSE':
20
+ return '=FALSE';
21
+ }
22
+ return clause.operator;
15
23
  }
16
24
 
17
25
  private static clauseToString(clauses: BooleanClause[]): string {
@@ -1,12 +1,20 @@
1
1
  export type NumberOperator = '<=' | '>=' | '!=' | '=' | '>' | '<';
2
2
 
3
- export type NumberValue = number | null;
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 QuoteType =
21
- | 'SINGLE'
22
- | 'DOUBLE'
23
- | 'BACKTICK'
24
- | 'TRIPLESINGLE'
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 StringOperator =
31
- | 'EMPTY'
32
- | 'NOTEMPTY'
34
+ export type StringConditionOperator =
33
35
  | 'starts'
34
36
  | 'ends'
35
37
  | 'contains'
@@ -41,22 +43,47 @@ export type StringOperator =
41
43
  | '!~'
42
44
  | '!=';
43
45
 
44
- export type StringValue = string | null;
46
+ export type StringValue = string;
45
47
 
46
- export interface StringClause {
47
- operator: StringOperator;
48
+ export interface StringCondition {
49
+ operator: StringConditionOperator;
48
50
  values: StringValue[];
49
- quotes?: QuoteType[]; // List of quote types found in the string.
50
51
  }
51
52
 
52
- export type BooleanOperator = 'TRUE' | 'FALSE' | 'NULL' | 'NOTNULL';
53
+ export interface StringNull {
54
+ operator: 'NULL';
55
+ }
56
+
57
+ export interface StringNotNull {
58
+ operator: 'NOTNULL';
59
+ }
60
+
61
+ export interface StringEmpty {
62
+ operator: 'EMPTY';
63
+ }
64
+
65
+ export interface StringNotEmpty {
66
+ operator: 'NOTEMPTY';
67
+ }
68
+
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';
53
82
 
54
83
  export interface BooleanClause {
55
84
  operator: BooleanOperator;
56
85
  }
57
86
 
58
- export type NumberClause = NumberCondition | NumberRange;
59
-
60
87
  export interface FilterError {
61
88
  message: string;
62
89
  startIndex: number;
@@ -72,7 +99,19 @@ export interface NumberParserResponse {
72
99
  clauses: NumberClause[];
73
100
  errors: FilterError[];
74
101
  }
102
+
103
+ export type QuoteType =
104
+ | 'SINGLE'
105
+ | 'DOUBLE'
106
+ | 'BACKTICK'
107
+ | 'TRIPLESINGLE'
108
+ | 'TRIPLEDOUBLE'
109
+ | 'ESCAPEDSINGLE'
110
+ | 'ESCAPEDDOUBLE'
111
+ | 'ESCAPEDBACKTICK';
112
+
75
113
  export interface StringParserResponse {
76
114
  clauses: StringClause[];
77
115
  errors: FilterError[];
116
+ quotes?: QuoteType[]; // List of quote types found in the string.
78
117
  }
@@ -168,7 +168,9 @@ export class DateParser extends BaseParser {
168
168
  prefix = undefined;
169
169
  } else {
170
170
  errors.push({
171
- message: 'Invalid token ' + token.value,
171
+ message:
172
+ 'Invalid token ' + token.value ||
173
+ (token.values ? token.values.join(' ') : ''),
172
174
  startIndex: token.startIndex,
173
175
  endIndex: token.endIndex,
174
176
  });
@@ -440,6 +442,8 @@ export class DateParser extends BaseParser {
440
442
  }
441
443
  clauses.push(clause);
442
444
  return true;
445
+ } else if (token.type === 'NULL' || token.type === 'NOTNULL') {
446
+ clauses.push({operator: token.type});
443
447
  }
444
448
  return false;
445
449
  }
@@ -64,6 +64,10 @@ export class DateSerializer {
64
64
  return 'AFTER ' + DateSerializer.dateMomentToString(clause.moment);
65
65
  } else if (clause.operator === 'ON') {
66
66
  return DateSerializer.dateMomentToString(clause.moment);
67
+ } else if (clause.operator === 'NULL') {
68
+ return 'NULL';
69
+ } else if (clause.operator === 'NOTNULL') {
70
+ return '-NULL';
67
71
  } else if (clause.operator === 'DURATION') {
68
72
  return clause.duration.amount + ' ' + clause.duration.unit;
69
73
  } else {
package/src/date_types.ts CHANGED
@@ -129,6 +129,14 @@ export interface DateForClause {
129
129
  duration: Duration;
130
130
  }
131
131
 
132
+ export interface DateNullClause {
133
+ operator: 'NULL';
134
+ }
135
+
136
+ export interface DateNotNullClause {
137
+ operator: 'NOTNULL';
138
+ }
139
+
132
140
  // 3 days
133
141
  export interface DateDurationClause {
134
142
  operator: 'DURATION';
@@ -141,6 +149,8 @@ export type DateClause =
141
149
  | DateOnClause
142
150
  | DateBetweenClause
143
151
  | DateForClause
152
+ | DateNullClause
153
+ | DateNotNullClause
144
154
  | DateDurationClause;
145
155
 
146
156
  export interface DateParserResponse {