@malloydata/malloy-filter 0.0.237-dev250222025222 → 0.0.237-dev250222205057
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/a_simple_parser.js +12 -9
- package/dist/a_simple_parser.js.map +1 -1
- package/dist/base_parser.d.ts +0 -2
- package/dist/base_parser.js.map +1 -1
- package/dist/boolean_parser.d.ts +2 -2
- package/dist/boolean_parser.js +3 -1
- package/dist/boolean_parser.js.map +1 -1
- package/dist/boolean_serializer.d.ts +4 -4
- package/dist/boolean_serializer.js +12 -4
- package/dist/boolean_serializer.js.map +1 -1
- package/dist/clause_types.d.ts +40 -47
- package/dist/date_parser.d.ts +13 -11
- package/dist/date_parser.js +192 -131
- package/dist/date_parser.js.map +1 -1
- package/dist/date_serializer.d.ts +6 -5
- package/dist/date_serializer.js +65 -77
- package/dist/date_serializer.js.map +1 -1
- package/dist/date_types.d.ts +75 -0
- package/dist/{filter_types.js → date_types.js} +1 -1
- package/dist/date_types.js.map +1 -0
- package/dist/generate_samples.js +162 -87
- package/dist/generate_samples.js.map +1 -1
- package/dist/number_parser.d.ts +2 -5
- package/dist/number_parser.js +10 -51
- package/dist/number_parser.js.map +1 -1
- package/dist/number_serializer.d.ts +4 -4
- package/dist/number_serializer.js +17 -14
- package/dist/number_serializer.js.map +1 -1
- package/dist/string_parser.d.ts +2 -2
- package/dist/string_parser.js +21 -21
- package/dist/string_parser.js.map +1 -1
- package/dist/string_serializer.d.ts +6 -5
- package/dist/string_serializer.js +38 -24
- package/dist/string_serializer.js.map +1 -1
- package/package.json +1 -2
- package/src/DEVELOPING.md +2 -5
- package/src/a_simple_parser.ts +12 -9
- package/src/base_parser.ts +0 -3
- package/src/boolean_parser.ts +10 -5
- package/src/boolean_serializer.ts +14 -7
- package/src/clause_types.ts +65 -108
- package/src/date_parser.ts +229 -192
- package/src/date_serializer.ts +59 -87
- package/src/date_types.ts +159 -0
- package/src/generate_samples.ts +178 -109
- package/src/number_parser.ts +14 -63
- package/src/number_serializer.ts +19 -20
- package/src/string_parser.ts +40 -27
- package/src/string_serializer.ts +58 -32
- package/tsconfig.json +1 -6
- package/dist/a_simple_serializer.d.ts +0 -1
- package/dist/a_simple_serializer.js +0 -31
- package/dist/a_simple_serializer.js.map +0 -1
- package/dist/base_serializer.d.ts +0 -6
- package/dist/base_serializer.js +0 -11
- package/dist/base_serializer.js.map +0 -1
- package/dist/filter_parser.d.ts +0 -12
- package/dist/filter_parser.js +0 -66
- package/dist/filter_parser.js.map +0 -1
- package/dist/filter_serializer.d.ts +0 -13
- package/dist/filter_serializer.js +0 -43
- package/dist/filter_serializer.js.map +0 -1
- package/dist/filter_types.d.ts +0 -10
- package/dist/filter_types.js.map +0 -1
- package/src/a_simple_serializer.ts +0 -40
- package/src/base_serializer.ts +0 -9
- package/src/filter_parser.ts +0 -68
- package/src/filter_serializer.ts +0 -49
- package/src/filter_types.ts +0 -12
package/dist/a_simple_parser.js
CHANGED
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
3
|
+
const boolean_parser_1 = require("./boolean_parser");
|
|
4
|
+
const string_parser_1 = require("./string_parser");
|
|
5
|
+
const number_parser_1 = require("./number_parser");
|
|
6
|
+
const date_parser_1 = require("./date_parser");
|
|
4
7
|
/* eslint-disable no-console */
|
|
5
8
|
function aSimpleParser() {
|
|
6
9
|
let str = 'CAT,DOG';
|
|
7
|
-
|
|
8
|
-
console.log(str, '\n', ...
|
|
10
|
+
const stringResponse = new string_parser_1.StringParser(str).parse();
|
|
11
|
+
console.log(str, '\n', ...stringResponse.clauses, '\n');
|
|
9
12
|
str = '-5.5, 10, 2.3e7';
|
|
10
|
-
|
|
11
|
-
console.log(str, '\n', ...
|
|
13
|
+
const numberResponse = new number_parser_1.NumberParser(str).parse();
|
|
14
|
+
console.log(str, '\n', ...numberResponse.clauses, '\n');
|
|
12
15
|
str = 'null, false';
|
|
13
|
-
|
|
14
|
-
console.log(str, '\n', ...
|
|
16
|
+
const booleanResponse = new boolean_parser_1.BooleanParser(str).parse();
|
|
17
|
+
console.log(str, '\n', ...booleanResponse.clauses, '\n');
|
|
15
18
|
str = 'after 2025-10-05';
|
|
16
|
-
|
|
17
|
-
console.log(str, '\n', ...
|
|
19
|
+
const dateResponse = new date_parser_1.DateParser(str).parse();
|
|
20
|
+
console.log(str, '\n', ...dateResponse.clauses, '\n');
|
|
18
21
|
}
|
|
19
22
|
aSimpleParser();
|
|
20
23
|
//# sourceMappingURL=a_simple_parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a_simple_parser.js","sourceRoot":"","sources":["../src/a_simple_parser.ts"],"names":[],"mappings":";;AAAA,mDAA6C;
|
|
1
|
+
{"version":3,"file":"a_simple_parser.js","sourceRoot":"","sources":["../src/a_simple_parser.ts"],"names":[],"mappings":";;AAAA,qDAA+C;AAC/C,mDAA6C;AAC7C,mDAA6C;AAC7C,+CAAyC;AAEzC,+BAA+B;AAC/B,SAAS,aAAa;IACpB,IAAI,GAAG,GAAG,SAAS,CAAC;IACpB,MAAM,cAAc,GAAG,IAAI,4BAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAExD,GAAG,GAAG,iBAAiB,CAAC;IACxB,MAAM,cAAc,GAAG,IAAI,4BAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAExD,GAAG,GAAG,aAAa,CAAC;IACpB,MAAM,eAAe,GAAG,IAAI,8BAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAEzD,GAAG,GAAG,kBAAkB,CAAC;IACzB,MAAM,YAAY,GAAG,IAAI,wBAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACxD,CAAC;AAED,aAAa,EAAE,CAAC"}
|
package/dist/base_parser.d.ts
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { Token } from './token_types';
|
|
2
|
-
import { FilterParserResponse } from './filter_types';
|
|
3
2
|
export declare abstract class BaseParser {
|
|
4
3
|
protected inputString: string;
|
|
5
4
|
protected index: number;
|
|
6
5
|
protected tokens: Token[];
|
|
7
6
|
constructor(inputString: string);
|
|
8
7
|
getTokens(): Token[];
|
|
9
|
-
abstract parse(): FilterParserResponse;
|
|
10
8
|
protected getAt(index: number): Token;
|
|
11
9
|
protected getNext(): Token;
|
|
12
10
|
protected static matchTokenTypes(candidates: string[], index: number, tokens: Token[]): boolean;
|
package/dist/base_parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base_parser.js","sourceRoot":"","sources":["../src/base_parser.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"base_parser.js","sourceRoot":"","sources":["../src/base_parser.ts"],"names":[],"mappings":";;;AAEA,MAAsB,UAAU;IAK9B,YAAY,WAAmB;QAC7B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAES,KAAK,CAAC,KAAa;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAES,OAAO;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAES,MAAM,CAAC,eAAe,CAC9B,UAAoB,EACpB,KAAa,EACb,MAAe;QAEf,MAAM,QAAQ,GAAG,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC;QAC3C,IAAI,KAAK,GAAG,CAAC,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE;YACzC,OAAO,KAAK,CAAC;SACd;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE;gBAC5C,OAAO,KAAK,CAAC;aACd;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAvCD,gCAuCC"}
|
package/dist/boolean_parser.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { BooleanParserResponse } from './clause_types';
|
|
1
2
|
import { BaseParser } from './base_parser';
|
|
2
|
-
import { FilterParserResponse } from './filter_types';
|
|
3
3
|
export declare class BooleanParser extends BaseParser {
|
|
4
4
|
constructor(input: string);
|
|
5
5
|
private tokenize;
|
|
6
|
-
parse():
|
|
6
|
+
parse(): BooleanParserResponse;
|
|
7
7
|
}
|
package/dist/boolean_parser.js
CHANGED
|
@@ -13,7 +13,8 @@ class BooleanParser extends base_parser_1.BaseParser {
|
|
|
13
13
|
{ type: 'NULL', value: 'null', ignoreCase: true },
|
|
14
14
|
{ type: 'NOTNULL', value: '-null', ignoreCase: true },
|
|
15
15
|
{ type: 'TRUE', value: 'true', ignoreCase: true },
|
|
16
|
-
{ type: 'FALSE', value: 'false', ignoreCase: true },
|
|
16
|
+
{ type: 'FALSE', value: '=false', ignoreCase: true },
|
|
17
|
+
{ type: 'FALSEORNULL', value: 'false', ignoreCase: true },
|
|
17
18
|
];
|
|
18
19
|
const params = {
|
|
19
20
|
trimWordWhitespace: true,
|
|
@@ -38,6 +39,7 @@ class BooleanParser extends base_parser_1.BaseParser {
|
|
|
38
39
|
else if (token.type === 'NULL' ||
|
|
39
40
|
token.type === 'TRUE' ||
|
|
40
41
|
token.type === 'FALSE' ||
|
|
42
|
+
token.type === 'FALSEORNULL' ||
|
|
41
43
|
token.type === 'NOTNULL') {
|
|
42
44
|
const clause = { operator: token.type };
|
|
43
45
|
clauses.push(clause);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boolean_parser.js","sourceRoot":"","sources":["../src/boolean_parser.ts"],"names":[],"mappings":";;;AAAA,2CAAqE;
|
|
1
|
+
{"version":3,"file":"boolean_parser.js","sourceRoot":"","sources":["../src/boolean_parser.ts"],"names":[],"mappings":";;;AAAA,2CAAqE;AAMrE,+CAAyC;AAEzC,MAAa,aAAc,SAAQ,wBAAU;IAC3C,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,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAC;YACnD,EAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAC;YAC/C,EAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAC;YAClD,EAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAC;SACxD,CAAC;QACF,MAAM,MAAM,GAAoB;YAC9B,kBAAkB,EAAE,IAAI;YACxB,iBAAiB,EAAE,IAAI;YACvB,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,GAAoB,EAAE,CAAC;QACpC,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,IACL,KAAK,CAAC,IAAI,KAAK,MAAM;gBACrB,KAAK,CAAC,IAAI,KAAK,MAAM;gBACrB,KAAK,CAAC,IAAI,KAAK,OAAO;gBACtB,KAAK,CAAC,IAAI,KAAK,aAAa;gBAC5B,KAAK,CAAC,IAAI,KAAK,SAAS,EACxB;gBACA,MAAM,MAAM,GAAkB,EAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAC,CAAC;gBACrD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrB,IAAI,CAAC,KAAK,EAAE,CAAC;aACd;iBAAM;gBACL,MAAM,CAAC,IAAI,CAAC;oBACV,OAAO,EAAE,gBAAgB,GAAG,KAAK,CAAC,KAAK;oBACvC,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,MAAM,EAAC,CAAC;IAC3B,CAAC;CACF;AAxDD,sCAwDC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
constructor(clauses:
|
|
1
|
+
import { BooleanClause } from './clause_types';
|
|
2
|
+
export declare class BooleanSerializer {
|
|
3
|
+
private clauses;
|
|
4
|
+
constructor(clauses: BooleanClause[]);
|
|
5
5
|
serialize(): string;
|
|
6
6
|
private static booleanClauseToString;
|
|
7
7
|
private static clauseToString;
|
|
@@ -1,17 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BooleanSerializer = void 0;
|
|
4
|
-
|
|
5
|
-
class BooleanSerializer extends base_serializer_1.BaseSerializer {
|
|
4
|
+
class BooleanSerializer {
|
|
6
5
|
constructor(clauses) {
|
|
7
|
-
|
|
6
|
+
this.clauses = clauses;
|
|
7
|
+
this.clauses = clauses;
|
|
8
8
|
}
|
|
9
9
|
serialize() {
|
|
10
10
|
const result = BooleanSerializer.clauseToString(this.clauses);
|
|
11
11
|
return result.trim().replace(/,$/, '');
|
|
12
12
|
}
|
|
13
13
|
static booleanClauseToString(clause) {
|
|
14
|
-
|
|
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
|
static clauseToString(clauses) {
|
|
17
25
|
let result = '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boolean_serializer.js","sourceRoot":"","sources":["../src/boolean_serializer.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"boolean_serializer.js","sourceRoot":"","sources":["../src/boolean_serializer.ts"],"names":[],"mappings":";;;AAEA,MAAa,iBAAiB;IAC5B,YAAoB,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEM,SAAS;QACd,MAAM,MAAM,GAAG,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9D,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;IAEO,MAAM,CAAC,qBAAqB,CAAC,MAAqB;QACxD,QAAQ,MAAM,CAAC,QAAQ,EAAE;YACvB,KAAK,SAAS;gBACZ,OAAO,OAAO,CAAC;YACjB,KAAK,aAAa;gBAChB,OAAO,OAAO,CAAC;YACjB,KAAK,OAAO;gBACV,OAAO,QAAQ,CAAC;SACnB;QACD,OAAO,MAAM,CAAC,QAAQ,CAAC;IACzB,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,OAAwB;QACpD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,IAAI,UAAU,IAAI,MAAM,EAAE;gBACxB,MAAM,IAAI,iBAAiB,CAAC,qBAAqB,CAC/C,MAAuB,CACxB,CAAC;aACH;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;aACrE;YACD,MAAM,IAAI,IAAI,CAAC;SAChB;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AApCD,8CAoCC"}
|
package/dist/clause_types.d.ts
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
export type NumberOperator = '<=' | '>=' | '!=' | '=' | '>' | '<';
|
|
2
|
-
export type NumberValue = number
|
|
2
|
+
export type NumberValue = number;
|
|
3
3
|
export interface NumberCondition {
|
|
4
4
|
operator: NumberOperator;
|
|
5
5
|
values: NumberValue[];
|
|
6
6
|
}
|
|
7
|
+
export interface NumberNull {
|
|
8
|
+
operator: 'NULL';
|
|
9
|
+
}
|
|
10
|
+
export interface NumberNotNull {
|
|
11
|
+
operator: 'NOTNULL';
|
|
12
|
+
}
|
|
7
13
|
export type NumberRangeOperator = '<=' | '>=' | '>' | '<';
|
|
8
14
|
export interface NumberRange {
|
|
9
15
|
operator: 'range';
|
|
@@ -12,59 +18,46 @@ export interface NumberRange {
|
|
|
12
18
|
endOperator: NumberRangeOperator;
|
|
13
19
|
endValue: NumberValue;
|
|
14
20
|
}
|
|
15
|
-
export type
|
|
16
|
-
export type
|
|
17
|
-
export type StringValue = string
|
|
21
|
+
export type NumberClause = NumberCondition | NumberRange | NumberNull | NumberNotNull;
|
|
22
|
+
export type StringConditionOperator = 'starts' | 'ends' | 'contains' | 'notStarts' | 'notEnds' | 'notContains' | '~' | '=' | '!~' | '!=';
|
|
23
|
+
export type StringValue = string;
|
|
18
24
|
export interface StringCondition {
|
|
19
|
-
operator:
|
|
25
|
+
operator: StringConditionOperator;
|
|
20
26
|
values: StringValue[];
|
|
21
|
-
quotes?: QuoteType[];
|
|
22
27
|
}
|
|
23
|
-
export
|
|
24
|
-
|
|
25
|
-
operator: BooleanOperator;
|
|
28
|
+
export interface StringNull {
|
|
29
|
+
operator: 'NULL';
|
|
26
30
|
}
|
|
27
|
-
export
|
|
28
|
-
|
|
29
|
-
export type DateWeekday = 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY';
|
|
30
|
-
export type DateMomentNowOperator = 'NOW' | 'TODAY' | 'YESTERDAY' | 'TOMORROW';
|
|
31
|
-
export interface DateMomentNow {
|
|
32
|
-
prefix?: DatePrefix;
|
|
33
|
-
operator: DateMomentNowOperator;
|
|
31
|
+
export interface StringNotNull {
|
|
32
|
+
operator: 'NOTNULL';
|
|
34
33
|
}
|
|
35
|
-
export
|
|
36
|
-
|
|
37
|
-
prefix?: DatePrefix;
|
|
38
|
-
operator: DateMomentIntervalOperator;
|
|
39
|
-
unit: DateTimeUnit | DateWeekday;
|
|
34
|
+
export interface StringEmpty {
|
|
35
|
+
operator: 'EMPTY';
|
|
40
36
|
}
|
|
41
|
-
export
|
|
42
|
-
|
|
43
|
-
prefix?: DatePrefix;
|
|
44
|
-
operator: DateMomentNumberIntervalOperator;
|
|
45
|
-
unit: DateTimeUnit;
|
|
46
|
-
value: string;
|
|
37
|
+
export interface StringNotEmpty {
|
|
38
|
+
operator: 'NOTEMPTY';
|
|
47
39
|
}
|
|
48
|
-
export type
|
|
49
|
-
export
|
|
50
|
-
|
|
51
|
-
operator:
|
|
52
|
-
|
|
53
|
-
|
|
40
|
+
export type StringClause = StringCondition | StringNull | StringNotNull | StringEmpty | StringNotEmpty;
|
|
41
|
+
export type BooleanOperator = 'TRUE' | 'FALSE' | 'FALSEORNULL' | 'NULL' | 'NOTNULL';
|
|
42
|
+
export interface BooleanClause {
|
|
43
|
+
operator: BooleanOperator;
|
|
44
|
+
}
|
|
45
|
+
export interface FilterError {
|
|
46
|
+
message: string;
|
|
47
|
+
startIndex: number;
|
|
48
|
+
endIndex: number;
|
|
54
49
|
}
|
|
55
|
-
export
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
operator: DateMomentNumberOperator;
|
|
59
|
-
date: string;
|
|
60
|
-
time?: string;
|
|
50
|
+
export interface BooleanParserResponse {
|
|
51
|
+
clauses: BooleanClause[];
|
|
52
|
+
errors: FilterError[];
|
|
61
53
|
}
|
|
62
|
-
export
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
54
|
+
export interface NumberParserResponse {
|
|
55
|
+
clauses: NumberClause[];
|
|
56
|
+
errors: FilterError[];
|
|
57
|
+
}
|
|
58
|
+
export type QuoteType = 'SINGLE' | 'DOUBLE' | 'BACKTICK' | 'TRIPLESINGLE' | 'TRIPLEDOUBLE' | 'ESCAPEDSINGLE' | 'ESCAPEDDOUBLE' | 'ESCAPEDBACKTICK';
|
|
59
|
+
export interface StringParserResponse {
|
|
60
|
+
clauses: StringClause[];
|
|
61
|
+
errors: FilterError[];
|
|
62
|
+
quotes?: QuoteType[];
|
|
67
63
|
}
|
|
68
|
-
export type NumberClause = NumberCondition | NumberRange;
|
|
69
|
-
export type DateClause = DateMoment | DateRange;
|
|
70
|
-
export type Clause = NumberClause | StringCondition | BooleanClause | DateClause;
|
package/dist/date_parser.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { DateParserResponse } from './date_types';
|
|
1
2
|
import { BaseParser } from './base_parser';
|
|
2
|
-
import { FilterParserResponse } from './filter_types';
|
|
3
3
|
export declare class DateParser extends BaseParser {
|
|
4
4
|
private static readonly yearRegex;
|
|
5
5
|
private static readonly negatedStartRegex;
|
|
@@ -7,16 +7,18 @@ export declare class DateParser extends BaseParser {
|
|
|
7
7
|
private tokenize;
|
|
8
8
|
private mergeMomentTokens;
|
|
9
9
|
private matchAndMerge;
|
|
10
|
-
parse():
|
|
11
|
-
private static
|
|
12
|
-
private static
|
|
13
|
-
private static
|
|
14
|
-
private static
|
|
15
|
-
private static
|
|
16
|
-
private static
|
|
17
|
-
private static
|
|
18
|
-
private static
|
|
10
|
+
parse(): DateParserResponse;
|
|
11
|
+
private static createMomentClause;
|
|
12
|
+
private static createIntervalMoment;
|
|
13
|
+
private static createOffsetMoment;
|
|
14
|
+
private static createSpanMoment;
|
|
15
|
+
private static createDateDuration;
|
|
16
|
+
private static createAbsoluteMoment;
|
|
17
|
+
private static createNamedMoment;
|
|
18
|
+
private static isValidNumber;
|
|
19
|
+
private static createDurationFromMerged;
|
|
20
|
+
private static createClauseFromMerged;
|
|
19
21
|
private isMatchingToken;
|
|
20
22
|
private handleRange;
|
|
21
|
-
private
|
|
23
|
+
private handleMerged;
|
|
22
24
|
}
|