@webda/ql 4.0.0-beta.1

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebdaQLParserParser.js","sourceRoot":"","sources":["../src/WebdaQLParserParser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,181 @@
1
+ import { ParseTreeVisitor } from "antlr4ts/tree/ParseTreeVisitor.js";
2
+ import { AndLogicExpressionContext, AtomContext, AtomExpressionContext, BinaryComparisonExpressionContext, BooleanAtomContext, BooleanLiteralContext, ContainsExpressionContext, ExpressionContext, IdentifierAtomContext, IdentifierContext, InExpressionContext, IntegerAtomContext, IntegerLiteralContext, LikeExpressionContext, LimitExpressionContext, OffsetExpressionContext, OrderExpressionContext, OrderFieldExpressionContext, OrLogicExpressionContext, SetExpressionContext, StringAtomContext, StringLiteralContext, SubExpressionContext, ValuesAtomContext, ValuesContext, WebdaqlContext } from "./WebdaQLParserParser.js";
3
+ /**
4
+ * This interface defines a complete generic visitor for a parse tree produced
5
+ * by `WebdaQLParserParser`.
6
+ *
7
+ * @param <Result> The return type of the visit operation. Use `void` for
8
+ * operations with no return type.
9
+ */
10
+ export interface WebdaQLParserVisitor<Result> extends ParseTreeVisitor<Result> {
11
+ /**
12
+ * Visit a parse tree produced by the `likeExpression`
13
+ * labeled alternative in `WebdaQLParserParser.expression`.
14
+ * @param ctx the parse tree
15
+ * @return the visitor result
16
+ */
17
+ visitLikeExpression?: (ctx: LikeExpressionContext) => Result;
18
+ /**
19
+ * Visit a parse tree produced by the `inExpression`
20
+ * labeled alternative in `WebdaQLParserParser.expression`.
21
+ * @param ctx the parse tree
22
+ * @return the visitor result
23
+ */
24
+ visitInExpression?: (ctx: InExpressionContext) => Result;
25
+ /**
26
+ * Visit a parse tree produced by the `containsExpression`
27
+ * labeled alternative in `WebdaQLParserParser.expression`.
28
+ * @param ctx the parse tree
29
+ * @return the visitor result
30
+ */
31
+ visitContainsExpression?: (ctx: ContainsExpressionContext) => Result;
32
+ /**
33
+ * Visit a parse tree produced by the `binaryComparisonExpression`
34
+ * labeled alternative in `WebdaQLParserParser.expression`.
35
+ * @param ctx the parse tree
36
+ * @return the visitor result
37
+ */
38
+ visitBinaryComparisonExpression?: (ctx: BinaryComparisonExpressionContext) => Result;
39
+ /**
40
+ * Visit a parse tree produced by the `andLogicExpression`
41
+ * labeled alternative in `WebdaQLParserParser.expression`.
42
+ * @param ctx the parse tree
43
+ * @return the visitor result
44
+ */
45
+ visitAndLogicExpression?: (ctx: AndLogicExpressionContext) => Result;
46
+ /**
47
+ * Visit a parse tree produced by the `orLogicExpression`
48
+ * labeled alternative in `WebdaQLParserParser.expression`.
49
+ * @param ctx the parse tree
50
+ * @return the visitor result
51
+ */
52
+ visitOrLogicExpression?: (ctx: OrLogicExpressionContext) => Result;
53
+ /**
54
+ * Visit a parse tree produced by the `subExpression`
55
+ * labeled alternative in `WebdaQLParserParser.expression`.
56
+ * @param ctx the parse tree
57
+ * @return the visitor result
58
+ */
59
+ visitSubExpression?: (ctx: SubExpressionContext) => Result;
60
+ /**
61
+ * Visit a parse tree produced by the `atomExpression`
62
+ * labeled alternative in `WebdaQLParserParser.expression`.
63
+ * @param ctx the parse tree
64
+ * @return the visitor result
65
+ */
66
+ visitAtomExpression?: (ctx: AtomExpressionContext) => Result;
67
+ /**
68
+ * Visit a parse tree produced by the `booleanAtom`
69
+ * labeled alternative in `WebdaQLParserParser.values`.
70
+ * @param ctx the parse tree
71
+ * @return the visitor result
72
+ */
73
+ visitBooleanAtom?: (ctx: BooleanAtomContext) => Result;
74
+ /**
75
+ * Visit a parse tree produced by the `integerAtom`
76
+ * labeled alternative in `WebdaQLParserParser.values`.
77
+ * @param ctx the parse tree
78
+ * @return the visitor result
79
+ */
80
+ visitIntegerAtom?: (ctx: IntegerAtomContext) => Result;
81
+ /**
82
+ * Visit a parse tree produced by the `stringAtom`
83
+ * labeled alternative in `WebdaQLParserParser.values`.
84
+ * @param ctx the parse tree
85
+ * @return the visitor result
86
+ */
87
+ visitStringAtom?: (ctx: StringAtomContext) => Result;
88
+ /**
89
+ * Visit a parse tree produced by the `valuesAtom`
90
+ * labeled alternative in `WebdaQLParserParser.atom`.
91
+ * @param ctx the parse tree
92
+ * @return the visitor result
93
+ */
94
+ visitValuesAtom?: (ctx: ValuesAtomContext) => Result;
95
+ /**
96
+ * Visit a parse tree produced by the `identifierAtom`
97
+ * labeled alternative in `WebdaQLParserParser.atom`.
98
+ * @param ctx the parse tree
99
+ * @return the visitor result
100
+ */
101
+ visitIdentifierAtom?: (ctx: IdentifierAtomContext) => Result;
102
+ /**
103
+ * Visit a parse tree produced by `WebdaQLParserParser.webdaql`.
104
+ * @param ctx the parse tree
105
+ * @return the visitor result
106
+ */
107
+ visitWebdaql?: (ctx: WebdaqlContext) => Result;
108
+ /**
109
+ * Visit a parse tree produced by `WebdaQLParserParser.limitExpression`.
110
+ * @param ctx the parse tree
111
+ * @return the visitor result
112
+ */
113
+ visitLimitExpression?: (ctx: LimitExpressionContext) => Result;
114
+ /**
115
+ * Visit a parse tree produced by `WebdaQLParserParser.offsetExpression`.
116
+ * @param ctx the parse tree
117
+ * @return the visitor result
118
+ */
119
+ visitOffsetExpression?: (ctx: OffsetExpressionContext) => Result;
120
+ /**
121
+ * Visit a parse tree produced by `WebdaQLParserParser.orderFieldExpression`.
122
+ * @param ctx the parse tree
123
+ * @return the visitor result
124
+ */
125
+ visitOrderFieldExpression?: (ctx: OrderFieldExpressionContext) => Result;
126
+ /**
127
+ * Visit a parse tree produced by `WebdaQLParserParser.orderExpression`.
128
+ * @param ctx the parse tree
129
+ * @return the visitor result
130
+ */
131
+ visitOrderExpression?: (ctx: OrderExpressionContext) => Result;
132
+ /**
133
+ * Visit a parse tree produced by `WebdaQLParserParser.expression`.
134
+ * @param ctx the parse tree
135
+ * @return the visitor result
136
+ */
137
+ visitExpression?: (ctx: ExpressionContext) => Result;
138
+ /**
139
+ * Visit a parse tree produced by the `values`
140
+ * labeled alternative in `WebdaQLParserParser.expressionexpressionexpressionexpressionexpressionexpressionexpressionexpressionvaluesvaluesvaluesatomatom`.
141
+ * @param ctx the parse tree
142
+ * @return the visitor result
143
+ */
144
+ visitValues?: (ctx: ValuesContext) => Result;
145
+ /**
146
+ * Visit a parse tree produced by `WebdaQLParserParser.atom`.
147
+ * @param ctx the parse tree
148
+ * @return the visitor result
149
+ */
150
+ visitAtom?: (ctx: AtomContext) => Result;
151
+ /**
152
+ * Visit a parse tree produced by `WebdaQLParserParser.identifier`.
153
+ * @param ctx the parse tree
154
+ * @return the visitor result
155
+ */
156
+ visitIdentifier?: (ctx: IdentifierContext) => Result;
157
+ /**
158
+ * Visit a parse tree produced by `WebdaQLParserParser.booleanLiteral`.
159
+ * @param ctx the parse tree
160
+ * @return the visitor result
161
+ */
162
+ visitBooleanLiteral?: (ctx: BooleanLiteralContext) => Result;
163
+ /**
164
+ * Visit a parse tree produced by `WebdaQLParserParser.stringLiteral`.
165
+ * @param ctx the parse tree
166
+ * @return the visitor result
167
+ */
168
+ visitStringLiteral?: (ctx: StringLiteralContext) => Result;
169
+ /**
170
+ * Visit a parse tree produced by `WebdaQLParserParser.integerLiteral`.
171
+ * @param ctx the parse tree
172
+ * @return the visitor result
173
+ */
174
+ visitIntegerLiteral?: (ctx: IntegerLiteralContext) => Result;
175
+ /**
176
+ * Visit a parse tree produced by `WebdaQLParserParser.setExpression`.
177
+ * @param ctx the parse tree
178
+ * @return the visitor result
179
+ */
180
+ visitSetExpression?: (ctx: SetExpressionContext) => Result;
181
+ }
@@ -0,0 +1,3 @@
1
+ // Generated from src/stores/webdaql/WebdaQLParser.g4 by ANTLR 4.9.0-SNAPSHOT
2
+ export {};
3
+ //# sourceMappingURL=WebdaQLParserVisitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebdaQLParserVisitor.js","sourceRoot":"","sources":["../src/WebdaQLParserVisitor.ts"],"names":[],"mappings":"AAAA,6EAA6E"}
package/lib/query.d.ts ADDED
@@ -0,0 +1,385 @@
1
+ import { AbstractParseTreeVisitor, ParseTree } from "antlr4ts/tree/index.js";
2
+ import { WebdaQLLexer } from "./WebdaQLLexer.js";
3
+ import { AndLogicExpressionContext, BinaryComparisonExpressionContext, BooleanLiteralContext, ContainsExpressionContext, InExpressionContext, IntegerLiteralContext, LikeExpressionContext, LimitExpressionContext, OffsetExpressionContext, OrLogicExpressionContext, OrderExpressionContext, OrderFieldExpressionContext, SetExpressionContext, StringLiteralContext, WebdaqlContext } from "./WebdaQLParserParser.js";
4
+ import { WebdaQLParserVisitor } from "./WebdaQLParserVisitor.js";
5
+ type value = boolean | string | number;
6
+ /**
7
+ * Meta Query Language
8
+ *
9
+ *
10
+ */
11
+ export interface OrderBy {
12
+ field: string;
13
+ direction: "ASC" | "DESC";
14
+ }
15
+ export declare function PrependCondition(query?: string, condition?: string): string;
16
+ /**
17
+ * Create Expression based on the parsed token
18
+ *
19
+ * Expression allow to optimize and split between Query and Filter
20
+ */
21
+ export declare class ExpressionBuilder extends AbstractParseTreeVisitor<Query> implements WebdaQLParserVisitor<any> {
22
+ /**
23
+ * Contain the parsed limit
24
+ */
25
+ limit: number;
26
+ /**
27
+ * Contain the parsed offset
28
+ */
29
+ offset: string;
30
+ orderBy: OrderBy[];
31
+ /**
32
+ * Default result for the override
33
+ * @returns
34
+ */
35
+ protected defaultResult(): Query;
36
+ /**
37
+ * Get offset
38
+ * @returns
39
+ */
40
+ getOffset(): string;
41
+ /**
42
+ * Get limit
43
+ * @returns
44
+ */
45
+ getLimit(): number;
46
+ /**
47
+ * Read the limit
48
+ * @param ctx
49
+ */
50
+ visitLimitExpression(ctx: LimitExpressionContext): void;
51
+ /**
52
+ * Read the offset if provided
53
+ * @param ctx
54
+ */
55
+ visitOffsetExpression(ctx: OffsetExpressionContext): void;
56
+ /**
57
+ * Visit a order field expression
58
+ */
59
+ visitOrderFieldExpression(ctx: OrderFieldExpressionContext): OrderBy;
60
+ /**
61
+ * Read the order by values
62
+ */
63
+ visitOrderExpression(ctx: OrderExpressionContext): void;
64
+ /**
65
+ * Return only AndExpression
66
+ * @param ctx
67
+ * @returns
68
+ */
69
+ visitWebdaql(ctx: WebdaqlContext): Query;
70
+ /**
71
+ * Simplify Logic expression and regroup them
72
+ * @param ctx
73
+ * @returns
74
+ */
75
+ getComparison(ctx: AndLogicExpressionContext | OrLogicExpressionContext): any[];
76
+ /**
77
+ * Get the AndExpression, regrouping all the parameters
78
+ *
79
+ * By default the parser is doing a AND (b AND (c AND d)) creating 3 depth expressions
80
+ * This visitor simplify to a AND b AND c AND d with only one Expression
81
+ */
82
+ visitAndLogicExpression(ctx: AndLogicExpressionContext): AndExpression;
83
+ /**
84
+ * Implement the BinaryComparison with all methods managed
85
+ */
86
+ visitBinaryComparisonExpression(ctx: BinaryComparisonExpressionContext): ComparisonExpression<ComparisonOperator>;
87
+ /**
88
+ * Visit each value of the [..., ..., ...] set
89
+ */
90
+ visitSetExpression(ctx: SetExpressionContext): value[];
91
+ /**
92
+ * a LIKE "%A?"
93
+ * @param ctx
94
+ * @returns
95
+ */
96
+ visitLikeExpression(ctx: LikeExpressionContext): ComparisonExpression<"LIKE">;
97
+ /**
98
+ * Map the a IN ['b','c']
99
+ */
100
+ visitInExpression(ctx: InExpressionContext): ComparisonExpression<"IN">;
101
+ /**
102
+ * Map the a CONTAINS 'b'
103
+ */
104
+ visitContainsExpression(ctx: ContainsExpressionContext): ComparisonExpression<"CONTAINS">;
105
+ /**
106
+ * Get the OrExpression, regrouping all the parameters
107
+ *
108
+ * By default the parser is doing a OR (b OR (c OR d)) creating 3 depth expressions
109
+ * This visitor simplify to a OR b OR c OR d with only one Expression
110
+ */
111
+ visitOrLogicExpression(ctx: OrLogicExpressionContext): OrExpression;
112
+ /**
113
+ * Read the string literal (removing the simple or double bracket)
114
+ */
115
+ visitStringLiteral(ctx: StringLiteralContext): string;
116
+ /**
117
+ * Read the boolean literal
118
+ */
119
+ visitBooleanLiteral(ctx: BooleanLiteralContext): boolean;
120
+ /**
121
+ * Read the number literal
122
+ */
123
+ visitIntegerLiteral(ctx: IntegerLiteralContext): number;
124
+ }
125
+ /**
126
+ * Represent a full Query
127
+ */
128
+ export interface Query {
129
+ /**
130
+ * Filtering part of the expression
131
+ */
132
+ filter: Expression;
133
+ /**
134
+ * Limit value
135
+ */
136
+ limit?: number;
137
+ /**
138
+ * Offset value
139
+ */
140
+ continuationToken?: string;
141
+ /**
142
+ * Order by clause
143
+ */
144
+ orderBy?: OrderBy[];
145
+ /**
146
+ * Get the string representation of the query
147
+ */
148
+ toString(): string;
149
+ }
150
+ /**
151
+ * Represent the query expression or subset
152
+ */
153
+ export declare abstract class Expression<T = string> {
154
+ operator: T;
155
+ constructor(operator: T);
156
+ /**
157
+ * Evaluate the expression for the target object
158
+ * @param target to evaluate
159
+ */
160
+ abstract eval(target: any): boolean;
161
+ /**
162
+ * Return the representation of the expression
163
+ * @param depth
164
+ */
165
+ abstract toString(depth?: number): string;
166
+ }
167
+ export type ComparisonOperator = "=" | "<=" | ">=" | "<" | ">" | "!=" | "LIKE" | "IN" | "CONTAINS";
168
+ /**
169
+ * Comparison expression
170
+ */
171
+ export declare class ComparisonExpression<T extends ComparisonOperator = ComparisonOperator> extends Expression<T> {
172
+ /**
173
+ * Right side of the comparison
174
+ */
175
+ value: value | value[];
176
+ /**
177
+ * Attribute to read from the object (split by .)
178
+ */
179
+ attribute: string[];
180
+ /**
181
+ *
182
+ * @param operator of the expression
183
+ * @param attribute of the object to read
184
+ * @param value
185
+ */
186
+ constructor(operator: T, attribute: string, value: value | any[]);
187
+ static likeToRegex(like: string): RegExp;
188
+ /**
189
+ * Read the value from the object
190
+ *
191
+ * @param target
192
+ * @returns
193
+ */
194
+ static getAttributeValue(target: any, attribute: string[]): any;
195
+ /**
196
+ * Set the value of the attribute based on the assignment
197
+ *
198
+ * If used as a Set expression
199
+ * @param target
200
+ */
201
+ setAttributeValue(target: any): void;
202
+ /**
203
+ * @override
204
+ */
205
+ eval(target: any): boolean;
206
+ /**
207
+ * Return a string represantation of a value
208
+ */
209
+ toStringValue(value: value | value[]): string;
210
+ /**
211
+ * Allow subclass to create different display
212
+ */
213
+ toStringAttribute(): string;
214
+ /**
215
+ * Allow subclass to create different display
216
+ */
217
+ toStringOperator(): T;
218
+ /**
219
+ * @override
220
+ */
221
+ toString(): string;
222
+ }
223
+ /**
224
+ * Abstract logic expression (AND|OR)
225
+ *
226
+ * Could add XOR in the future
227
+ */
228
+ export declare abstract class LogicalExpression<T> extends Expression<T> {
229
+ /**
230
+ * Contains the members of the logical expression
231
+ */
232
+ children: Expression[];
233
+ /**
234
+ *
235
+ * @param operator
236
+ * @param children
237
+ */
238
+ constructor(operator: T, children: Expression[]);
239
+ /**
240
+ * @override
241
+ */
242
+ toString(depth?: number): string;
243
+ }
244
+ /**
245
+ * AND Expression implementation
246
+ */
247
+ export declare class AndExpression extends LogicalExpression<"AND"> {
248
+ /**
249
+ * @param children Expressions to use for AND
250
+ */
251
+ constructor(children: Expression[]);
252
+ /**
253
+ * @override
254
+ */
255
+ eval(target: any): boolean;
256
+ }
257
+ /**
258
+ * OR Expression implementation
259
+ */
260
+ export declare class OrExpression extends LogicalExpression<"OR"> {
261
+ /**
262
+ * @param children Expressions to use for OR
263
+ */
264
+ constructor(children: Expression[]);
265
+ /**
266
+ * @override
267
+ */
268
+ eval(target: any): boolean;
269
+ }
270
+ /**
271
+ *
272
+ */
273
+ export declare class QueryValidator {
274
+ protected sql: string;
275
+ protected lexer: WebdaQLLexer;
276
+ protected tree: WebdaqlContext;
277
+ protected query: Query;
278
+ protected builder: ExpressionBuilder;
279
+ constructor(sql: string, builder?: ExpressionBuilder);
280
+ /**
281
+ * Get offset
282
+ * @returns
283
+ */
284
+ getOffset(): string;
285
+ /**
286
+ * Get limit
287
+ * @returns
288
+ */
289
+ getLimit(): number;
290
+ /**
291
+ * Get the expression by itself
292
+ * @returns
293
+ */
294
+ getExpression(): Expression;
295
+ /**
296
+ * Retrieve parsed query
297
+ * @returns
298
+ */
299
+ getQuery(): Query;
300
+ /**
301
+ * Verify if a target fit the expression
302
+ * @param target
303
+ * @returns
304
+ */
305
+ eval(target: any): boolean;
306
+ /**
307
+ * Display parse tree back as query
308
+ * @param tree
309
+ * @returns
310
+ */
311
+ displayTree(tree?: ParseTree): string;
312
+ }
313
+ /**
314
+ * For now reuse same parser
315
+ */
316
+ export declare class SetterValidator extends QueryValidator {
317
+ constructor(sql: string);
318
+ eval(target: any): boolean;
319
+ assign(target: any, expression: Expression): void;
320
+ }
321
+ export declare class PartialValidator extends QueryValidator {
322
+ builder: PartialExpressionBuilder;
323
+ constructor(query: string, builder?: PartialExpressionBuilder);
324
+ /**
325
+ * Eval the query
326
+ * @param target
327
+ * @param partial
328
+ * @returns
329
+ */
330
+ eval(target: any, partial?: boolean): boolean;
331
+ /**
332
+ * Return if the result ignored some fields
333
+ * @returns
334
+ */
335
+ wasPartialMatch(): boolean;
336
+ }
337
+ export declare class PartialComparisonExpression<T extends ComparisonOperator = ComparisonOperator> extends ComparisonExpression<T> {
338
+ protected builder: PartialExpressionBuilder;
339
+ constructor(builder: PartialExpressionBuilder, op: T, attribute: string, value: any);
340
+ /**
341
+ * Override the eval to check if the attribute is present
342
+ * if not and we are in partial mode, return true
343
+ *
344
+ * @param target
345
+ * @returns
346
+ */
347
+ eval(target: any): boolean;
348
+ }
349
+ export declare class PartialExpressionBuilder extends ExpressionBuilder {
350
+ /**
351
+ * Enforce the partial mode
352
+ */
353
+ partial: boolean;
354
+ /**
355
+ * If eval was called in partial mode
356
+ */
357
+ partialMatch: boolean;
358
+ setPartial(partial: boolean): void;
359
+ setPartialMatch(partial: boolean): void;
360
+ /**
361
+ * a LIKE "%A?"
362
+ * @param ctx
363
+ * @returns
364
+ */
365
+ visitLikeExpression(ctx: any): PartialComparisonExpression<"LIKE">;
366
+ /**
367
+ * Implement the BinaryComparison with all methods managed
368
+ */
369
+ visitBinaryComparisonExpression(ctx: any): PartialComparisonExpression<any>;
370
+ /**
371
+ * Map the a IN ['b','c']
372
+ */
373
+ visitInExpression(ctx: any): PartialComparisonExpression<"IN">;
374
+ /**
375
+ * Map the a CONTAINS 'b'
376
+ */
377
+ visitContainsExpression(ctx: any): PartialComparisonExpression<"CONTAINS">;
378
+ }
379
+ /**
380
+ * Remove artifact from sanitize-html inside query
381
+ * @param query
382
+ * @returns
383
+ */
384
+ export declare function unsanitize(query: string): string;
385
+ export {};