@webda/ql 4.0.0-beta.5 → 4.0.0-beta.7

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 (63) hide show
  1. package/README.md +72 -31
  2. package/lib/WebdaQLLexer.d.ts +44 -30
  3. package/lib/WebdaQLLexer.d.ts.map +1 -1
  4. package/lib/WebdaQLLexer.js +257 -152
  5. package/lib/WebdaQLLexer.js.map +1 -1
  6. package/lib/WebdaQLParserLexer.d.ts +44 -30
  7. package/lib/WebdaQLParserLexer.d.ts.map +1 -1
  8. package/lib/WebdaQLParserLexer.js +257 -152
  9. package/lib/WebdaQLParserLexer.js.map +1 -1
  10. package/lib/WebdaQLParserListener.d.ts +203 -30
  11. package/lib/WebdaQLParserListener.d.ts.map +1 -1
  12. package/lib/WebdaQLParserParser.d.ts +242 -44
  13. package/lib/WebdaQLParserParser.d.ts.map +1 -1
  14. package/lib/WebdaQLParserParser.js +2054 -715
  15. package/lib/WebdaQLParserParser.js.map +1 -1
  16. package/lib/WebdaQLParserVisitor.d.ts +126 -17
  17. package/lib/WebdaQLParserVisitor.d.ts.map +1 -1
  18. package/lib/aggregation-query.d.ts +95 -0
  19. package/lib/aggregation-query.d.ts.map +1 -0
  20. package/lib/aggregation-query.js +104 -0
  21. package/lib/aggregation-query.js.map +1 -0
  22. package/lib/aggregation-select.spec.d.ts +2 -0
  23. package/lib/aggregation-select.spec.d.ts.map +1 -0
  24. package/lib/aggregation-select.spec.js +165 -0
  25. package/lib/aggregation-select.spec.js.map +1 -0
  26. package/lib/aggregation.d.ts +97 -0
  27. package/lib/aggregation.d.ts.map +1 -0
  28. package/lib/aggregation.js +241 -0
  29. package/lib/aggregation.js.map +1 -0
  30. package/lib/aggregation.spec.d.ts +2 -0
  31. package/lib/aggregation.spec.d.ts.map +1 -0
  32. package/lib/aggregation.spec.js +360 -0
  33. package/lib/aggregation.spec.js.map +1 -0
  34. package/lib/bind.d.ts.map +1 -1
  35. package/lib/bind.js +29 -0
  36. package/lib/bind.js.map +1 -1
  37. package/lib/filter.d.ts +54 -0
  38. package/lib/filter.d.ts.map +1 -0
  39. package/lib/filter.js +135 -0
  40. package/lib/filter.js.map +1 -0
  41. package/lib/filter.spec.d.ts +2 -0
  42. package/lib/filter.spec.d.ts.map +1 -0
  43. package/lib/filter.spec.js +124 -0
  44. package/lib/filter.spec.js.map +1 -0
  45. package/lib/index.d.ts +2 -0
  46. package/lib/index.d.ts.map +1 -1
  47. package/lib/index.js +2 -0
  48. package/lib/index.js.map +1 -1
  49. package/lib/query.d.ts +173 -12
  50. package/lib/query.d.ts.map +1 -1
  51. package/lib/query.js +529 -64
  52. package/lib/query.js.map +1 -1
  53. package/lib/query.spec.js +7 -4
  54. package/lib/query.spec.js.map +1 -1
  55. package/lib/statements.spec.d.ts +2 -0
  56. package/lib/statements.spec.d.ts.map +1 -0
  57. package/lib/statements.spec.js +423 -0
  58. package/lib/statements.spec.js.map +1 -0
  59. package/lib/webdaql-string.d.ts +9 -0
  60. package/lib/webdaql-string.d.ts.map +1 -1
  61. package/lib/webdaql-string.js +9 -8
  62. package/lib/webdaql-string.js.map +1 -1
  63. package/package.json +2 -2
package/lib/query.d.ts CHANGED
@@ -1,11 +1,25 @@
1
1
  import { AbstractParseTreeVisitor, ParseTree } from "antlr4ts/tree/index.js";
2
2
  import { WebdaQLLexer } from "./WebdaQLLexer.js";
3
- import { AndLogicExpressionContext, AtomExpressionContext, BinaryComparisonExpressionContext, BooleanLiteralContext, ContainsExpressionContext, InExpressionContext, IntegerLiteralContext, IsNotNullExpressionContext, IsNullExpressionContext, LikeExpressionContext, LimitExpressionContext, NumberLiteralContext, OffsetExpressionContext, OrLogicExpressionContext, OrderExpressionContext, OrderFieldExpressionContext, ParameterContext, SetExpressionContext, StringLiteralContext, WebdaqlContext } from "./WebdaQLParserParser.js";
3
+ import { AndLogicExpressionContext, AssignmentContext, AtomExpressionContext, BinaryComparisonExpressionContext, BooleanLiteralContext, ContainsExpressionContext, DeleteStatementContext, ExpressionContext, FieldListContext, FilterQueryContext, InExpressionContext, IntegerLiteralContext, IsNotNullExpressionContext, IsNullExpressionContext, LikeExpressionContext, LimitExpressionContext, NumberLiteralContext, OffsetExpressionContext, OrLogicExpressionContext, OrderExpressionContext, OrderFieldExpressionContext, ParameterContext, SelectStatementContext, SetExpressionContext, StatementContext, StringLiteralContext, SubExpressionContext, UpdateStatementContext, WebdaqlContext } from "./WebdaQLParserParser.js";
4
4
  import { WebdaQLParserVisitor } from "./WebdaQLParserVisitor.js";
5
+ import { type AggregationQuery, type Metric } from "./aggregation-query.js";
5
6
  /**
6
7
  * Primitive value types supported by WebdaQL expressions
7
8
  */
8
9
  type value = boolean | string | number;
10
+ /**
11
+ * Kind of statement a query is: a plain filter is an implicit `SELECT` of every field
12
+ */
13
+ export type QueryType = "SELECT" | "DELETE" | "UPDATE";
14
+ /**
15
+ * One `field = value` of an `UPDATE SET`
16
+ */
17
+ export interface Assignment {
18
+ /** Field path (dot-notation for nested attributes) */
19
+ field: string;
20
+ /** Value to assign */
21
+ value: value;
22
+ }
9
23
  /**
10
24
  * Strip the quotes of a WebdaQL string literal and unescape its contents.
11
25
  *
@@ -32,11 +46,14 @@ export interface OrderBy {
32
46
  * Prepend a condition to an existing query string using AND logic
33
47
  *
34
48
  * Parses both strings, merges them, and reconstructs the combined query.
35
- * ORDER BY, LIMIT, and OFFSET clauses from the original query are preserved.
49
+ * The statement head (`SELECT fields`, `DELETE`, `UPDATE SET ...`) and the ORDER BY, LIMIT, and OFFSET clauses
50
+ * of the original query are preserved; the condition joins the WHERE part. Both sides keep their own grouping:
51
+ * `a OR b` merged with `c OR d` is `( a OR b ) AND ( c OR d )`.
36
52
  *
37
- * @param query - existing query string (may include ORDER BY / LIMIT / OFFSET)
38
- * @param condition - condition to prepend (filter expression only)
53
+ * @param query - existing query string (a plain filter or a statement, may include ORDER BY / LIMIT / OFFSET)
54
+ * @param condition - condition to prepend (a plain filter: a statement is refused)
39
55
  * @returns merged query string
56
+ * @throws {SyntaxError} if the condition is a statement, or adds ORDER BY / OFFSET to a DELETE or UPDATE
40
57
  *
41
58
  * @example
42
59
  * ```ts
@@ -101,14 +118,73 @@ export declare class ExpressionBuilder extends AbstractParseTreeVisitor<Query> i
101
118
  */
102
119
  visitOrderExpression(ctx: OrderExpressionContext): void;
103
120
  /**
104
- * Visit the root `webdaql` rule and build the complete Query
121
+ * Visit the root `webdaql` rule and build the complete Query: a statement or a plain filter query
122
+ * @param ctx - the webdaql parse context
123
+ * @returns the built Query
124
+ */
125
+ visitWebdaql(ctx: WebdaqlContext): Query;
126
+ /**
127
+ * Visit a DELETE, UPDATE or SELECT statement
128
+ * @param ctx - the statement context
129
+ * @returns the built Query
130
+ */
131
+ visitStatement(ctx: StatementContext): Query;
132
+ /**
133
+ * Visit a plain filter query: an implicit SELECT of every field
105
134
  *
106
135
  * Parses filter expression, ORDER BY, LIMIT, and OFFSET clauses.
107
136
  * Returns an empty AND expression (always true) when no filter is present.
108
- * @param ctx - the webdaql parse context
137
+ * @param ctx - the filter query context
109
138
  * @returns the built Query
110
139
  */
111
- visitWebdaql(ctx: WebdaqlContext): Query;
140
+ visitFilterQuery(ctx: FilterQueryContext): Query;
141
+ /**
142
+ * Visit `DELETE [WHERE ...] [LIMIT n]`
143
+ * @param ctx - the DELETE statement context
144
+ * @returns the built Query
145
+ */
146
+ visitDeleteStatement(ctx: DeleteStatementContext): Query;
147
+ /**
148
+ * Visit `UPDATE SET a = v, ... [WHERE ...] [LIMIT n]`
149
+ * @param ctx - the UPDATE statement context
150
+ * @returns the built Query
151
+ */
152
+ visitUpdateStatement(ctx: UpdateStatementContext): Query;
153
+ /**
154
+ * Visit a SELECT statement: a field list, or an aggregation when it has metrics or a GROUP BY
155
+ * @param ctx - the select statement context
156
+ * @returns the query
157
+ */
158
+ visitSelectStatement(ctx: SelectStatementContext): Query;
159
+ /**
160
+ * Read one `field = value` of an UPDATE SET
161
+ * @param ctx - the assignment context
162
+ * @returns the assignment
163
+ */
164
+ visitAssignment(ctx: AssignmentContext): Assignment;
165
+ /**
166
+ * Read the field list of a SELECT: plain fields and aggregate metrics
167
+ * @param ctx - the field list context
168
+ * @returns the field paths and the metrics by alias
169
+ */
170
+ visitFieldList(ctx: FieldListContext): {
171
+ fields: string[];
172
+ metrics: Record<string, Metric>;
173
+ };
174
+ /**
175
+ * Visit a parenthesised expression: the inner expression
176
+ * @param ctx - the sub expression context
177
+ * @returns the inner expression
178
+ */
179
+ visitSubExpression(ctx: SubExpressionContext): Expression;
180
+ /**
181
+ * Build the Query of a statement or filter query: its condition and its ORDER BY, LIMIT and OFFSET clauses
182
+ * @param type - the statement type
183
+ * @param expression - the condition, if any
184
+ * @param ctx - the statement context holding the optional clauses
185
+ * @returns the Query
186
+ */
187
+ protected buildQuery(type: QueryType, expression: ExpressionContext | undefined, ctx: FilterQueryContext | DeleteStatementContext | UpdateStatementContext | SelectStatementContext): Query;
112
188
  /**
113
189
  * Recursively flatten nested logical expressions of the same type
114
190
  *
@@ -238,6 +314,22 @@ export interface Query {
238
314
  * Order by clause
239
315
  */
240
316
  orderBy?: OrderBy[];
317
+ /**
318
+ * Statement type: `SELECT` for a plain filter query (an implicit SELECT of every field) and an explicit SELECT
319
+ */
320
+ type: QueryType;
321
+ /**
322
+ * Field list of an explicit `SELECT f1, f2`; undefined means every field
323
+ */
324
+ fields?: string[];
325
+ /**
326
+ * Assignments of an `UPDATE SET`
327
+ */
328
+ assignments?: Assignment[];
329
+ /**
330
+ * Aggregation of a `SELECT … GROUP BY` or a SELECT with aggregate functions
331
+ */
332
+ aggregation?: AggregationQuery;
241
333
  /**
242
334
  * Get the string representation of the query
243
335
  */
@@ -290,7 +382,7 @@ export declare class ComparisonExpression<T extends ComparisonOperator = Compari
290
382
  /**
291
383
  * Right side of the comparison
292
384
  */
293
- value: value | value[];
385
+ value: value | value[] | null;
294
386
  /**
295
387
  * Attribute to read from the object (split by .)
296
388
  */
@@ -300,7 +392,7 @@ export declare class ComparisonExpression<T extends ComparisonOperator = Compari
300
392
  * @param attribute - dot-notation path to the object property (e.g. `"user.name"`)
301
393
  * @param value - literal value or array of values (for IN operator) to compare against
302
394
  */
303
- constructor(operator: T, attribute: string, value: value | any[]);
395
+ constructor(operator: T, attribute: string, value: value | any[] | null);
304
396
  /**
305
397
  * Convert a SQL LIKE pattern to a JavaScript RegExp
306
398
  *
@@ -339,7 +431,7 @@ export declare class ComparisonExpression<T extends ComparisonOperator = Compari
339
431
  * @param value - the value to serialize
340
432
  * @returns the serialized string
341
433
  */
342
- toStringValue(value: value | value[]): string;
434
+ toStringValue(value: value | value[] | null): string;
343
435
  /**
344
436
  * Allow subclass to create different display
345
437
  * @returns the attribute string
@@ -501,7 +593,7 @@ export declare class QueryValidator {
501
593
  * @param type - logical operator to combine filters (`"AND"` or `"OR"`)
502
594
  * @returns `this` for chaining
503
595
  */
504
- merge(query: string, type?: "OR" | "AND"): this;
596
+ merge(query?: string, type?: "OR" | "AND"): this;
505
597
  /**
506
598
  * Get parsed LIMIT value, defaulting to 1000
507
599
  * @returns the limit value
@@ -698,11 +790,80 @@ export declare class PartialExpressionBuilder extends ExpressionBuilder {
698
790
  * @returns the cleaned query string
699
791
  */
700
792
  export declare function unsanitize(query: string): string;
793
+ /**
794
+ * Print a query in its canonical form, which parses back to the same query
795
+ *
796
+ * - plain filter: `<filter> [ORDER BY ...] [LIMIT n] [OFFSET "token"]`
797
+ * - `SELECT f1, f2 [WHERE <filter>] [ORDER BY ...] [LIMIT n] [OFFSET "token"]`
798
+ * - `DELETE [WHERE <filter>] [LIMIT n]`
799
+ * - `UPDATE SET a = v, ... [WHERE <filter>] [LIMIT n]`
800
+ *
801
+ * @param query - the query
802
+ * @returns the query string
803
+ */
804
+ export declare function stringifyQuery(query: Omit<Query, "toString">): string;
805
+ /**
806
+ * Check a field path of a query object
807
+ * @param field - the path, as a string or its segments
808
+ * @returns the dotted path
809
+ * @throws {WebdaQLError} when a segment is empty or holds anything but letters, digits and `_`
810
+ */
811
+ export declare function checkFieldPath(field: unknown): string;
812
+ /**
813
+ * Normalize a query object built or changed by code: every part is checked against what the grammar allows, the
814
+ * query is printed from its data and parsed again
815
+ *
816
+ * Use it before handing a `Query` object received from a caller to a backend: field paths (letters, digits, `_`),
817
+ * operators, values (strings, finite numbers, booleans), LIMIT (non-negative integer) and OFFSET (string) are
818
+ * checked, and the result only holds expressions built by the parser.
819
+ *
820
+ * @param query - the query object
821
+ * @returns the same query, as parsed from its canonical text
822
+ * @throws {WebdaQLError} when a part of the query cannot be written in WebdaQL
823
+ */
824
+ export declare function normalizeQuery(query: Partial<Query>): Query;
825
+ /**
826
+ * Validate the SELECT fields, the aggregation metric fields and the UPDATE SET targets of a query against the
827
+ * allowed fields
828
+ *
829
+ * A dotted path is allowed when it is listed, or when one of its parents is (`profile.email` is allowed by
830
+ * `profile` or by `profile.email`). GROUP BY paths are the SELECT fields; the field of every aggregation metric
831
+ * (`SUM(points)`) is checked too, `COUNT(*)` has none. Filter attributes are not checked.
832
+ *
833
+ * @param query - parsed query to validate
834
+ * @param allowedFields - allowed field paths (dot-notation)
835
+ * @throws {SyntaxError} if a field, a metric field or an assignment target is not allowed
836
+ */
837
+ export declare function validateQueryFields(query: Pick<Query, "fields" | "assignments" | "aggregation">, allowedFields: string[]): void;
838
+ /**
839
+ * Refuse anything but a plain filter query: DELETE, UPDATE and SELECT with a field list
840
+ *
841
+ * Used where a query only selects objects, such as the Query operations exposed to clients. A query built by hand
842
+ * without `type` is a filter.
843
+ *
844
+ * @param query - the parsed query
845
+ * @throws {WebdaQLError} for a DELETE or UPDATE statement, or a SELECT field list
846
+ */
847
+ export declare function assertFilterQuery(query: Partial<Pick<Query, "type" | "fields">>): void;
701
848
  /**
702
849
  * Parse a query string into a Query object
850
+ *
851
+ * Accepts a plain filter query (an implicit SELECT of every field) or a statement:
852
+ * - `SELECT f1, f2 [WHERE <condition>] [ORDER BY ...] [LIMIT n] [OFFSET token]`
853
+ * - `SELECT g1, COUNT(*) AS n, SUM(f) AS s [WHERE <condition>] [GROUP BY g1] [ORDER BY ...] [LIMIT n]`: an
854
+ * aggregation (metrics COUNT, COUNT(DISTINCT f), SUM, AVG, MIN, MAX), returned in `aggregation`; the
855
+ * selected fields must be the GROUP BY paths, every metric needs an alias, OFFSET is refused
856
+ * - `DELETE [WHERE <condition>] [LIMIT n]`
857
+ * - `UPDATE SET a = v, b = v [WHERE <condition>] [LIMIT n]`
858
+ *
859
+ * Keywords are uppercase only: `select`, `delete`, `set`, `count`... remain field names.
860
+ *
703
861
  * @param query - the query string to parse
862
+ * @param allowedFields - when given, SELECT fields, aggregation metric fields and UPDATE SET targets must be in
863
+ * this list (see {@link validateQueryFields})
704
864
  * @returns the parsed Query object
865
+ * @throws {SyntaxError} on a grammar error or a field outside `allowedFields`
705
866
  */
706
- export declare function parse(query: string): Query;
867
+ export declare function parse(query: string, allowedFields?: string[]): Query;
707
868
  export {};
708
869
  //# sourceMappingURL=query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}