@elastic/esql 4.0.0 → 4.1.0
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/lib/ast/walker/walker.d.ts +4 -1
- package/lib/ast/walker/walker.d.ts.map +1 -1
- package/lib/embedded_languages/promql/ast/find_node.d.ts +24 -0
- package/lib/embedded_languages/promql/ast/find_node.d.ts.map +1 -0
- package/lib/embedded_languages/promql/ast/traversal.d.ts.map +1 -1
- package/lib/embedded_languages/promql/parser/decorations.d.ts +39 -0
- package/lib/embedded_languages/promql/parser/decorations.d.ts.map +1 -0
- package/lib/embedded_languages/promql/parser/parser.d.ts +6 -0
- package/lib/embedded_languages/promql/parser/parser.d.ts.map +1 -1
- package/lib/index.js +211 -1
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +211 -1
- package/lib/index.mjs.map +1 -1
- package/package.json +7 -7
- package/lib/__tests__/fixtures.d.ts +0 -4
- package/lib/__tests__/fixtures.d.ts.map +0 -1
- package/lib/pretty_print/__tests__/fixtures.d.ts +0 -5
- package/lib/pretty_print/__tests__/fixtures.d.ts.map +0 -1
|
@@ -50,7 +50,7 @@ export interface WalkerOptions {
|
|
|
50
50
|
skipHeader?: boolean;
|
|
51
51
|
}
|
|
52
52
|
export type WalkerAstNode = types.ESQLAstNode | types.ESQLAstNode[];
|
|
53
|
-
export type WalkerVisitorApi = Pick<Walker, 'abort'>;
|
|
53
|
+
export type WalkerVisitorApi = Pick<Walker, 'abort' | 'skipChildren'>;
|
|
54
54
|
/**
|
|
55
55
|
* Iterates over all nodes in the AST and calls the appropriate visitor
|
|
56
56
|
* functions.
|
|
@@ -237,8 +237,11 @@ export declare class Walker {
|
|
|
237
237
|
*/
|
|
238
238
|
static visitAny: (tree: WalkerAstNode, visitAny: WalkerOptions["visitAny"], options?: WalkerOptions) => void;
|
|
239
239
|
protected aborted: boolean;
|
|
240
|
+
protected skippedChildren: boolean;
|
|
240
241
|
constructor(options: WalkerOptions);
|
|
241
242
|
abort(): void;
|
|
243
|
+
skipChildren(): void;
|
|
244
|
+
protected readAndResetSkippedChildren(): boolean;
|
|
242
245
|
walk(tree: WalkerAstNode | undefined, parent?: types.ESQLProperNode | undefined): void;
|
|
243
246
|
protected walkList(list: types.ESQLAstNode[], parent: types.ESQLProperNode | undefined): void;
|
|
244
247
|
walkCommand(node: types.ESQLAstCommand, parent: types.ESQLAstQueryExpression | undefined): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walker.d.ts","sourceRoot":"","sources":["../../../src/ast/walker/walker.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"walker.d.ts","sourceRoot":"","sources":["../../../src/ast/walker/walker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { PromQLAstNode, PromQLAstQueryExpression } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Finds the deepest PromQL AST node at or after the given character position.
|
|
4
|
+
*
|
|
5
|
+
* - If `pos` falls inside a node, descends into that node looking for the most
|
|
6
|
+
* specific descendant containing `pos`.
|
|
7
|
+
* - If no node contains `pos`, returns the first node whose `location.min` is
|
|
8
|
+
* greater than `pos`.
|
|
9
|
+
* - Returns `null` if no such node exists (i.e. `pos` is past the end of the
|
|
10
|
+
* tree).
|
|
11
|
+
*/
|
|
12
|
+
export declare const findNodeAtOrAfter: (ast: PromQLAstQueryExpression, pos: number) => PromQLAstNode | null;
|
|
13
|
+
/**
|
|
14
|
+
* Finds the deepest PromQL AST node at or before the given character position.
|
|
15
|
+
*
|
|
16
|
+
* - If `pos` falls inside a node, descends into that node looking for the most
|
|
17
|
+
* specific descendant containing `pos`.
|
|
18
|
+
* - If no node contains `pos`, returns the last node whose `location.max` is
|
|
19
|
+
* less than `pos`.
|
|
20
|
+
* - Returns `null` if no such node exists (i.e. `pos` is before the start of
|
|
21
|
+
* the tree).
|
|
22
|
+
*/
|
|
23
|
+
export declare const findNodeAtOrBefore: (ast: PromQLAstQueryExpression, pos: number) => PromQLAstNode | null;
|
|
24
|
+
//# sourceMappingURL=find_node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find_node.d.ts","sourceRoot":"","sources":["../../../../src/embedded_languages/promql/ast/find_node.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAqDxE;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,GAC5B,KAAK,wBAAwB,EAC7B,KAAK,MAAM,KACV,aAAa,GAAG,IAA6B,CAAC;AAEjD;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,GAC7B,KAAK,wBAAwB,EAC7B,KAAK,MAAM,KACV,aAAa,GAAG,IAA8B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traversal.d.ts","sourceRoot":"","sources":["../../../../src/embedded_languages/promql/ast/traversal.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,wBAAiB,oBAAoB,CAAC,IAAI,EAAE,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"traversal.d.ts","sourceRoot":"","sources":["../../../../src/embedded_languages/promql/ast/traversal.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,wBAAiB,oBAAoB,CAAC,IAAI,EAAE,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,CAiFlF"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { type CommonTokenStream } from 'antlr4';
|
|
2
|
+
import type { ESQLAstCommentSingleLine } from '../../../types';
|
|
3
|
+
import type { PromQLAstQueryExpression } from '../types';
|
|
4
|
+
/**
|
|
5
|
+
* A collected comment decoration with its positional context.
|
|
6
|
+
*/
|
|
7
|
+
export interface PromQLCommentDecoration {
|
|
8
|
+
type: 'comment';
|
|
9
|
+
/**
|
|
10
|
+
* Whether there is non-punctuation content to the left of this comment on
|
|
11
|
+
* the same line. When `true`, the comment is a trailing comment (e.g.
|
|
12
|
+
* `rate(x[5m]) # trailing`). When `false`, the comment occupies its own
|
|
13
|
+
* line (e.g. `# whole-line comment`).
|
|
14
|
+
*/
|
|
15
|
+
hasContentToLeft: boolean;
|
|
16
|
+
/** The AST comment node. */
|
|
17
|
+
node: ESQLAstCommentSingleLine;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Collects all comments from the PromQL token stream.
|
|
21
|
+
*
|
|
22
|
+
* Iterates through every token (including hidden-channel tokens) and extracts
|
|
23
|
+
* comment decorations with their positional context.
|
|
24
|
+
*
|
|
25
|
+
* @param tokens ANTLR token stream from the PromQL lexer.
|
|
26
|
+
* @param offset Character offset to add to all locations (for embedded PromQL).
|
|
27
|
+
* @returns List of comment decorations in source order.
|
|
28
|
+
*/
|
|
29
|
+
export declare const collectPromQLDecorations: (tokens: CommonTokenStream, offset?: number) => PromQLCommentDecoration[];
|
|
30
|
+
/**
|
|
31
|
+
* Attaches the comments collected by {@link collectPromQLDecorations} to the
|
|
32
|
+
* appropriate nodes in the PromQL AST. Similar attachment logic is used as
|
|
33
|
+
* in ES|QL.
|
|
34
|
+
*
|
|
35
|
+
* @param ast Root of the PromQL AST.
|
|
36
|
+
* @param comments Decorations collected from the token stream.
|
|
37
|
+
*/
|
|
38
|
+
export declare const attachPromQLDecorations: (ast: PromQLAstQueryExpression, comments: PromQLCommentDecoration[]) => void;
|
|
39
|
+
//# sourceMappingURL=decorations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorations.d.ts","sourceRoot":"","sources":["../../../../src/embedded_languages/promql/parser/decorations.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAGhD,OAAO,KAAK,EAAE,wBAAwB,EAAyB,MAAM,gBAAgB,CAAC;AACtF,OAAO,KAAK,EAAiB,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAiBxE;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,SAAS,CAAC;IAEhB;;;;;OAKG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAE1B,4BAA4B;IAC5B,IAAI,EAAE,wBAAwB,CAAC;CAChC;AAkBD;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,GACnC,QAAQ,iBAAiB,EACzB,SAAQ,MAAU,KACjB,uBAAuB,EAsDzB,CAAC;AA2BF;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,GAClC,KAAK,wBAAwB,EAC7B,UAAU,uBAAuB,EAAE,KAClC,IAuBF,CAAC"}
|
|
@@ -11,6 +11,12 @@ export interface PromQLParseOptions {
|
|
|
11
11
|
* The offset will be added to all location values in the AST.
|
|
12
12
|
*/
|
|
13
13
|
offset?: number;
|
|
14
|
+
/**
|
|
15
|
+
* When `true`, comments are collected from the token stream and attached to
|
|
16
|
+
* AST nodes via the `formatting` property. Required for the pretty-printer
|
|
17
|
+
* to round-trip comments. Defaults to `false`.
|
|
18
|
+
*/
|
|
19
|
+
withFormatting?: boolean;
|
|
14
20
|
}
|
|
15
21
|
/**
|
|
16
22
|
* Parser for PromQL queries.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../src/embedded_languages/promql/parser/parser.ts"],"names":[],"mappings":"AAOA,OAAO,EAAe,iBAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../src/embedded_languages/promql/parser/parser.ts"],"names":[],"mappings":"AAOA,OAAO,EAAe,iBAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAI9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;GAKG;AACH,qBAAa,YAAY;aA2CL,GAAG,EAAE,MAAM;aACX,OAAO,EAAE,kBAAkB;IA3C7C;;OAEG;IACH,gBAAuB,MAAM,GAAI,KAAK,MAAM,EAAE,UAAU,kBAAkB,kBAExE;IAEF;;;;;;;;;;;;;OAaG;IACH,gBAAuB,KAAK,GAAI,KAAK,MAAM,EAAE,UAAU,kBAAkB,KAAG,iBAAiB,CAE3F;IAEF;;;;;OAKG;IACH,gBAAuB,WAAW,GAAI,KAAK,MAAM,KAAG,WAAW,EAAE,CAE/D;IAEF,SAAgB,OAAO,EAAE,UAAU,CAAC;IACpC,SAAgB,KAAK,EAAE,WAAW,CAAC;IACnC,SAAgB,MAAM,EAAE,iBAAiB,CAAC;IAC1C,SAAgB,MAAM,EAAE,qBAAqB,CAAC;IAC9C,SAAgB,MAAM,sBAA6B;gBAGjC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,kBAAuB;IAclD;;OAEG;IACI,KAAK,IAAI,iBAAiB,CAAC,wBAAwB,CAAC;IAiC3D;;OAEG;IACI,WAAW,IAAI,WAAW,EAAE;CAIpC"}
|
package/lib/index.js
CHANGED
|
@@ -311,10 +311,13 @@ function* childrenOfPromqlNode(node) {
|
|
|
311
311
|
return;
|
|
312
312
|
}
|
|
313
313
|
case "function": {
|
|
314
|
-
if (node.grouping) {
|
|
314
|
+
if (node.grouping && node.groupingPosition !== "after") {
|
|
315
315
|
yield node.grouping;
|
|
316
316
|
}
|
|
317
317
|
yield* node.args;
|
|
318
|
+
if (node.grouping && node.groupingPosition === "after") {
|
|
319
|
+
yield node.grouping;
|
|
320
|
+
}
|
|
318
321
|
return;
|
|
319
322
|
}
|
|
320
323
|
case "selector": {
|
|
@@ -327,6 +330,49 @@ function* childrenOfPromqlNode(node) {
|
|
|
327
330
|
if (value) yield value;
|
|
328
331
|
return;
|
|
329
332
|
}
|
|
333
|
+
case "binary-expression": {
|
|
334
|
+
yield node.left;
|
|
335
|
+
if (node.modifier) yield node.modifier;
|
|
336
|
+
yield node.right;
|
|
337
|
+
return;
|
|
338
|
+
}
|
|
339
|
+
case "unary-expression": {
|
|
340
|
+
yield node.arg;
|
|
341
|
+
return;
|
|
342
|
+
}
|
|
343
|
+
case "subquery": {
|
|
344
|
+
yield node.expr;
|
|
345
|
+
yield node.range;
|
|
346
|
+
if (node.resolution) yield node.resolution;
|
|
347
|
+
if (node.evaluation) yield node.evaluation;
|
|
348
|
+
return;
|
|
349
|
+
}
|
|
350
|
+
case "parens": {
|
|
351
|
+
if (node.child) yield node.child;
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
case "evaluation": {
|
|
355
|
+
if (node.offset) yield node.offset;
|
|
356
|
+
if (node.at) yield node.at;
|
|
357
|
+
return;
|
|
358
|
+
}
|
|
359
|
+
case "offset": {
|
|
360
|
+
if (node.duration) yield node.duration;
|
|
361
|
+
return;
|
|
362
|
+
}
|
|
363
|
+
case "at": {
|
|
364
|
+
if (typeof node.value !== "string") yield node.value;
|
|
365
|
+
return;
|
|
366
|
+
}
|
|
367
|
+
case "modifier": {
|
|
368
|
+
yield* node.labels;
|
|
369
|
+
if (node.groupModifier) yield node.groupModifier;
|
|
370
|
+
return;
|
|
371
|
+
}
|
|
372
|
+
case "group-modifier": {
|
|
373
|
+
yield* node.labels;
|
|
374
|
+
return;
|
|
375
|
+
}
|
|
330
376
|
}
|
|
331
377
|
if ("args" in node && Array.isArray(node.args)) {
|
|
332
378
|
yield* node.args;
|
|
@@ -1065,9 +1111,18 @@ var Walker = class _Walker {
|
|
|
1065
1111
|
_Walker.walk(tree, { ...options, visitAny });
|
|
1066
1112
|
};
|
|
1067
1113
|
aborted = false;
|
|
1114
|
+
skippedChildren = false;
|
|
1068
1115
|
abort() {
|
|
1069
1116
|
this.aborted = true;
|
|
1070
1117
|
}
|
|
1118
|
+
skipChildren() {
|
|
1119
|
+
this.skippedChildren = true;
|
|
1120
|
+
}
|
|
1121
|
+
readAndResetSkippedChildren() {
|
|
1122
|
+
const skipped = this.skippedChildren;
|
|
1123
|
+
this.skippedChildren = false;
|
|
1124
|
+
return skipped;
|
|
1125
|
+
}
|
|
1071
1126
|
walk(tree, parent = void 0) {
|
|
1072
1127
|
if (this.aborted) return;
|
|
1073
1128
|
if (!tree) return;
|
|
@@ -1105,17 +1160,20 @@ var Walker = class _Walker {
|
|
|
1105
1160
|
if (this.aborted) return;
|
|
1106
1161
|
const { options } = this;
|
|
1107
1162
|
(options.visitCommand ?? options.visitAny)?.(node, parent, this);
|
|
1163
|
+
if (this.readAndResetSkippedChildren()) return;
|
|
1108
1164
|
this.walkList(node.args, node);
|
|
1109
1165
|
}
|
|
1110
1166
|
walkHeaderCommand(node, parent) {
|
|
1111
1167
|
if (this.aborted) return;
|
|
1112
1168
|
const { options } = this;
|
|
1113
1169
|
(options.visitHeaderCommand ?? options.visitAny)?.(node, parent, this);
|
|
1170
|
+
if (this.readAndResetSkippedChildren()) return;
|
|
1114
1171
|
this.walkList(node.args, node);
|
|
1115
1172
|
}
|
|
1116
1173
|
walkOption(node, parent) {
|
|
1117
1174
|
const { options } = this;
|
|
1118
1175
|
(options.visitCommandOption ?? options.visitAny)?.(node, parent, this);
|
|
1176
|
+
if (this.readAndResetSkippedChildren()) return;
|
|
1119
1177
|
this.walkList(node.args, node);
|
|
1120
1178
|
}
|
|
1121
1179
|
walkExpression(node, parent = void 0) {
|
|
@@ -1130,11 +1188,13 @@ var Walker = class _Walker {
|
|
|
1130
1188
|
walkListLiteral(node, parent) {
|
|
1131
1189
|
const { options } = this;
|
|
1132
1190
|
(options.visitListLiteral ?? options.visitAny)?.(node, parent, this);
|
|
1191
|
+
if (this.readAndResetSkippedChildren()) return;
|
|
1133
1192
|
this.walkList(node.values, node);
|
|
1134
1193
|
}
|
|
1135
1194
|
walkSource(node, parent) {
|
|
1136
1195
|
const { options } = this;
|
|
1137
1196
|
(options.visitSource ?? options.visitAny)?.(node, parent, this);
|
|
1197
|
+
if (this.readAndResetSkippedChildren()) return;
|
|
1138
1198
|
const children2 = [];
|
|
1139
1199
|
if (node.prefix) {
|
|
1140
1200
|
children2.push(node.prefix);
|
|
@@ -1151,6 +1211,7 @@ var Walker = class _Walker {
|
|
|
1151
1211
|
const { options } = this;
|
|
1152
1212
|
const { args } = node;
|
|
1153
1213
|
(options.visitColumn ?? options.visitAny)?.(node, parent, this);
|
|
1214
|
+
if (this.readAndResetSkippedChildren()) return;
|
|
1154
1215
|
if (args) {
|
|
1155
1216
|
this.walkList(args, node);
|
|
1156
1217
|
}
|
|
@@ -1158,27 +1219,32 @@ var Walker = class _Walker {
|
|
|
1158
1219
|
walkOrder(node, parent) {
|
|
1159
1220
|
const { options } = this;
|
|
1160
1221
|
(options.visitOrder ?? options.visitAny)?.(node, parent, this);
|
|
1222
|
+
if (this.readAndResetSkippedChildren()) return;
|
|
1161
1223
|
this.walkList(node.args, node);
|
|
1162
1224
|
}
|
|
1163
1225
|
walkInlineCast(node, parent) {
|
|
1164
1226
|
const { options } = this;
|
|
1165
1227
|
(options.visitInlineCast ?? options.visitAny)?.(node, parent, this);
|
|
1228
|
+
if (this.readAndResetSkippedChildren()) return;
|
|
1166
1229
|
this.walkExpression(node.value, node);
|
|
1167
1230
|
}
|
|
1168
1231
|
walkFunction(node, parent = void 0) {
|
|
1169
1232
|
const { options } = this;
|
|
1170
1233
|
(options.visitFunction ?? options.visitAny)?.(node, parent, this);
|
|
1234
|
+
if (this.readAndResetSkippedChildren()) return;
|
|
1171
1235
|
if (node.operator) this.walkSingleAstItem(node.operator, node);
|
|
1172
1236
|
this.walkList(node.args, node);
|
|
1173
1237
|
}
|
|
1174
1238
|
walkMap(node, parent) {
|
|
1175
1239
|
const { options } = this;
|
|
1176
1240
|
(options.visitMap ?? options.visitAny)?.(node, parent, this);
|
|
1241
|
+
if (this.readAndResetSkippedChildren()) return;
|
|
1177
1242
|
this.walkList(node.entries, node);
|
|
1178
1243
|
}
|
|
1179
1244
|
walkMapEntry(node, parent) {
|
|
1180
1245
|
const { options } = this;
|
|
1181
1246
|
(options.visitMapEntry ?? options.visitAny)?.(node, parent, this);
|
|
1247
|
+
if (this.readAndResetSkippedChildren()) return;
|
|
1182
1248
|
if (options.order === "backward") {
|
|
1183
1249
|
this.walkSingleAstItem(resolveItem(node.value), node);
|
|
1184
1250
|
this.walkSingleAstItem(resolveItem(node.key), node);
|
|
@@ -1190,6 +1256,7 @@ var Walker = class _Walker {
|
|
|
1190
1256
|
walkParens(node, parent) {
|
|
1191
1257
|
const { options } = this;
|
|
1192
1258
|
(options.visitParens ?? options.visitAny)?.(node, parent, this);
|
|
1259
|
+
if (this.readAndResetSkippedChildren()) return;
|
|
1193
1260
|
if (node.child) {
|
|
1194
1261
|
this.walkSingleAstItem(node.child, node);
|
|
1195
1262
|
}
|
|
@@ -1197,6 +1264,7 @@ var Walker = class _Walker {
|
|
|
1197
1264
|
walkQuery(node, parent) {
|
|
1198
1265
|
const { options } = this;
|
|
1199
1266
|
(options.visitQuery ?? options.visitAny)?.(node, parent, this);
|
|
1267
|
+
if (this.readAndResetSkippedChildren()) return;
|
|
1200
1268
|
if (node.header && !options.skipHeader) {
|
|
1201
1269
|
this.walkList(node.header, node);
|
|
1202
1270
|
}
|
|
@@ -1265,6 +1333,7 @@ var Walker = class _Walker {
|
|
|
1265
1333
|
}
|
|
1266
1334
|
case "literal": {
|
|
1267
1335
|
(options.visitLiteral ?? options.visitAny)?.(node, parent, this);
|
|
1336
|
+
this.readAndResetSkippedChildren();
|
|
1268
1337
|
break;
|
|
1269
1338
|
}
|
|
1270
1339
|
case "list": {
|
|
@@ -1281,10 +1350,12 @@ var Walker = class _Walker {
|
|
|
1281
1350
|
}
|
|
1282
1351
|
case "identifier": {
|
|
1283
1352
|
(options.visitIdentifier ?? options.visitAny)?.(node, parent, this);
|
|
1353
|
+
this.readAndResetSkippedChildren();
|
|
1284
1354
|
break;
|
|
1285
1355
|
}
|
|
1286
1356
|
case "unknown": {
|
|
1287
1357
|
(options.visitUnknown ?? options.visitAny)?.(node, parent, this);
|
|
1358
|
+
this.readAndResetSkippedChildren();
|
|
1288
1359
|
break;
|
|
1289
1360
|
}
|
|
1290
1361
|
}
|
|
@@ -61132,6 +61203,140 @@ var PromQLCstToAstConverter = class {
|
|
|
61132
61203
|
}
|
|
61133
61204
|
};
|
|
61134
61205
|
|
|
61206
|
+
// src/embedded_languages/promql/ast/find_node.ts
|
|
61207
|
+
var sortedLocatedChildren = (node) => {
|
|
61208
|
+
const children2 = [];
|
|
61209
|
+
for (const child of childrenOfPromqlNode(node)) {
|
|
61210
|
+
if (child.location) children2.push(child);
|
|
61211
|
+
}
|
|
61212
|
+
children2.sort((a, b) => a.location.min - b.location.min);
|
|
61213
|
+
return children2;
|
|
61214
|
+
};
|
|
61215
|
+
var findForward = (node, pos) => {
|
|
61216
|
+
for (const child of sortedLocatedChildren(node)) {
|
|
61217
|
+
const { min, max } = child.location;
|
|
61218
|
+
if (min <= pos && max >= pos) {
|
|
61219
|
+
return findForward(child, pos) ?? child;
|
|
61220
|
+
}
|
|
61221
|
+
if (min > pos) {
|
|
61222
|
+
return child;
|
|
61223
|
+
}
|
|
61224
|
+
}
|
|
61225
|
+
return null;
|
|
61226
|
+
};
|
|
61227
|
+
var findBackward = (node, pos) => {
|
|
61228
|
+
const children2 = sortedLocatedChildren(node);
|
|
61229
|
+
for (let i = children2.length - 1; i >= 0; i--) {
|
|
61230
|
+
const child = children2[i];
|
|
61231
|
+
const { min, max } = child.location;
|
|
61232
|
+
if (min <= pos && max >= pos) {
|
|
61233
|
+
return findBackward(child, pos) ?? child;
|
|
61234
|
+
}
|
|
61235
|
+
if (max < pos) {
|
|
61236
|
+
return child;
|
|
61237
|
+
}
|
|
61238
|
+
}
|
|
61239
|
+
return null;
|
|
61240
|
+
};
|
|
61241
|
+
var findNodeAtOrAfter = (ast, pos) => findForward(ast, pos);
|
|
61242
|
+
var findNodeAtOrBefore = (ast, pos) => findBackward(ast, pos);
|
|
61243
|
+
|
|
61244
|
+
// src/embedded_languages/promql/parser/decorations.ts
|
|
61245
|
+
var HIDDEN_CHANNEL2 = 1;
|
|
61246
|
+
var punctuationChars2 = /* @__PURE__ */ new Set([".", ",", ";", ":", "(", ")", "[", "]", "{", "}"]);
|
|
61247
|
+
var isLikelyPunctuation2 = (text2) => text2.length === 1 && punctuationChars2.has(text2);
|
|
61248
|
+
var cleanCommentText = (text2) => {
|
|
61249
|
+
let end = text2.length;
|
|
61250
|
+
if (text2[end - 1] === "\n") {
|
|
61251
|
+
end--;
|
|
61252
|
+
}
|
|
61253
|
+
if (end > 0 && text2[end - 1] === "\r") {
|
|
61254
|
+
end--;
|
|
61255
|
+
}
|
|
61256
|
+
return text2.slice(1, end);
|
|
61257
|
+
};
|
|
61258
|
+
var collectPromQLDecorations = (tokens, offset = 0) => {
|
|
61259
|
+
const result = [];
|
|
61260
|
+
const list12 = tokens.tokens;
|
|
61261
|
+
const length = list12.length;
|
|
61262
|
+
let pos = 0;
|
|
61263
|
+
let hasContentToLeft = false;
|
|
61264
|
+
for (let i = 0; i < length - 1; i++) {
|
|
61265
|
+
const token = list12[i];
|
|
61266
|
+
const { channel, text: text2 } = token;
|
|
61267
|
+
const min = pos;
|
|
61268
|
+
const max = min + text2.length - 1;
|
|
61269
|
+
pos = max + 1;
|
|
61270
|
+
if (channel !== HIDDEN_CHANNEL2) {
|
|
61271
|
+
if (!isLikelyPunctuation2(text2)) {
|
|
61272
|
+
hasContentToLeft = true;
|
|
61273
|
+
}
|
|
61274
|
+
continue;
|
|
61275
|
+
}
|
|
61276
|
+
if (text2[0] !== "#") {
|
|
61277
|
+
if (text2.indexOf("\n") !== -1) {
|
|
61278
|
+
hasContentToLeft = false;
|
|
61279
|
+
}
|
|
61280
|
+
continue;
|
|
61281
|
+
}
|
|
61282
|
+
const cleanText = cleanCommentText(text2);
|
|
61283
|
+
const endsWithNewline = text2[text2.length - 1] === "\n";
|
|
61284
|
+
const maxOffset = endsWithNewline ? text2[text2.length - 2] === "\r" ? 2 : 1 : 0;
|
|
61285
|
+
const node = Builder.comment("single-line", cleanText, {
|
|
61286
|
+
min: min + offset,
|
|
61287
|
+
max: max - maxOffset + offset
|
|
61288
|
+
});
|
|
61289
|
+
result.push({
|
|
61290
|
+
type: "comment",
|
|
61291
|
+
hasContentToLeft,
|
|
61292
|
+
node
|
|
61293
|
+
});
|
|
61294
|
+
if (endsWithNewline) {
|
|
61295
|
+
hasContentToLeft = false;
|
|
61296
|
+
}
|
|
61297
|
+
}
|
|
61298
|
+
return result;
|
|
61299
|
+
};
|
|
61300
|
+
var ensureFormatting = (node) => {
|
|
61301
|
+
if (!node.formatting) {
|
|
61302
|
+
node.formatting = {};
|
|
61303
|
+
}
|
|
61304
|
+
return node.formatting;
|
|
61305
|
+
};
|
|
61306
|
+
var attachTopComment2 = (node, comment) => {
|
|
61307
|
+
const formatting = ensureFormatting(node);
|
|
61308
|
+
if (!formatting.top) formatting.top = [];
|
|
61309
|
+
formatting.top.push(comment);
|
|
61310
|
+
};
|
|
61311
|
+
var attachBottomComment2 = (node, comment) => {
|
|
61312
|
+
const formatting = ensureFormatting(node);
|
|
61313
|
+
if (!formatting.bottom) formatting.bottom = [];
|
|
61314
|
+
formatting.bottom.push(comment);
|
|
61315
|
+
};
|
|
61316
|
+
var attachTrailingComment = (node, comment) => {
|
|
61317
|
+
const formatting = ensureFormatting(node);
|
|
61318
|
+
formatting.rightSingleLine = comment;
|
|
61319
|
+
};
|
|
61320
|
+
var attachPromQLDecorations = (ast, comments) => {
|
|
61321
|
+
for (const comment of comments) {
|
|
61322
|
+
const { location } = comment.node;
|
|
61323
|
+
if (!location) continue;
|
|
61324
|
+
if (!comment.hasContentToLeft) {
|
|
61325
|
+
const target2 = findNodeAtOrAfter(ast, location.max);
|
|
61326
|
+
if (target2) {
|
|
61327
|
+
attachTopComment2(target2, comment.node);
|
|
61328
|
+
} else {
|
|
61329
|
+
attachBottomComment2(ast, comment.node);
|
|
61330
|
+
}
|
|
61331
|
+
continue;
|
|
61332
|
+
}
|
|
61333
|
+
const target = findNodeAtOrBefore(ast, location.min);
|
|
61334
|
+
if (target) {
|
|
61335
|
+
attachTrailingComment(target, comment.node);
|
|
61336
|
+
}
|
|
61337
|
+
}
|
|
61338
|
+
};
|
|
61339
|
+
|
|
61135
61340
|
// src/embedded_languages/promql/parser/parser.ts
|
|
61136
61341
|
var PromQLParser = class _PromQLParser {
|
|
61137
61342
|
constructor(src2, options = {}) {
|
|
@@ -61197,6 +61402,11 @@ var PromQLParser = class _PromQLParser {
|
|
|
61197
61402
|
errors: this.errors.getErrors()
|
|
61198
61403
|
};
|
|
61199
61404
|
}
|
|
61405
|
+
if (this.options.withFormatting) {
|
|
61406
|
+
this.tokens.fill();
|
|
61407
|
+
const comments = collectPromQLDecorations(this.tokens, this.options.offset ?? 0);
|
|
61408
|
+
attachPromQLDecorations(root, comments);
|
|
61409
|
+
}
|
|
61200
61410
|
return {
|
|
61201
61411
|
root,
|
|
61202
61412
|
errors: this.errors.getErrors()
|