Skip to content

Commit 901951f

Browse files
committed
feat: adds visitor context for metrics_info
1 parent 8cebb22 commit 901951f

3 files changed

Lines changed: 32 additions & 0 deletions

File tree

src/ast/visitor/contexts.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import type {
1818
ESQLAstHeaderCommand,
1919
ESQLAstItem,
2020
ESQLAstJoinCommand,
21+
ESQLAstMetricsInfoCommand,
2122
ESQLAstQueryExpression,
2223
ESQLAstRegisteredDomainCommand,
2324
ESQLAstRerankCommand,
@@ -593,6 +594,12 @@ export class UriPartsCommandVisitorContext<
593594
Data extends SharedData = SharedData,
594595
> extends CommandVisitorContext<Methods, Data, ESQLAstUriPartsCommand> {}
595596

597+
// METRICS_INFO
598+
export class MetricsInfoCommandVisitorContext<
599+
Methods extends VisitorMethods = VisitorMethods,
600+
Data extends SharedData = SharedData,
601+
> extends CommandVisitorContext<Methods, Data, ESQLAstMetricsInfoCommand> {}
602+
596603
// Expressions -----------------------------------------------------------------
597604

598605
export class ExpressionVisitorContext<

src/ast/visitor/global_visitor_context.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import type {
1212
ESQLAstCompletionCommand,
1313
ESQLAstHeaderCommand,
1414
ESQLAstJoinCommand,
15+
ESQLAstMetricsInfoCommand,
1516
ESQLAstQueryExpression,
1617
ESQLAstRegisteredDomainCommand,
1718
ESQLAstRerankCommand,
@@ -239,6 +240,14 @@ export class GlobalVisitorContext<
239240
input as any
240241
);
241242
}
243+
case 'metrics_info': {
244+
if (!this.methods.visitMetricsInfoCommand) break;
245+
return this.visitMetricsInfoCommand(
246+
parent,
247+
commandNode as ESQLAstMetricsInfoCommand,
248+
input as any
249+
);
250+
}
242251
}
243252
return this.visitCommandGeneric(parent, commandNode, input as any);
244253
}
@@ -527,6 +536,15 @@ export class GlobalVisitorContext<
527536
return this.visitWithSpecificContext('visitUriPartsCommand', context, input);
528537
}
529538

539+
public visitMetricsInfoCommand(
540+
parent: contexts.VisitorContext | null,
541+
node: ESQLAstMetricsInfoCommand,
542+
input: types.VisitorInput<Methods, 'visitMetricsInfoCommand'>
543+
): types.VisitorOutput<Methods, 'visitMetricsInfoCommand'> {
544+
const context = new contexts.MetricsInfoCommandVisitorContext(this, node, parent);
545+
return this.visitWithSpecificContext('visitMetricsInfoCommand', context, input);
546+
}
547+
530548
// #endregion
531549

532550
// #region Expression visiting -------------------------------------------------------

src/ast/visitor/types.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ export type CommandVisitorInput<Methods extends VisitorMethods> = AnyToVoid<
112112
VisitorInput<Methods, 'visitRerankCommand'> &
113113
VisitorInput<Methods, 'visitChangePointCommand'> &
114114
VisitorInput<Methods, 'visitUriPartsCommand'> &
115+
VisitorInput<Methods, 'visitMetricsInfoCommand'> &
115116
VisitorInput<Methods, 'visitRegisteredDomainCommand'>
116117
>;
117118

@@ -145,6 +146,7 @@ export type CommandVisitorOutput<Methods extends VisitorMethods> =
145146
| VisitorOutput<Methods, 'visitChangePointCommand'>
146147
| VisitorOutput<Methods, 'visitCompletionCommand'>
147148
| VisitorOutput<Methods, 'visitUriPartsCommand'>
149+
| VisitorOutput<Methods, 'visitMetricsInfoCommand'>
148150
| VisitorOutput<Methods, 'visitRegisteredDomainCommand'>;
149151

150152
/* eslint-disable @typescript-eslint/no-explicit-any */
@@ -206,6 +208,11 @@ export interface VisitorMethods<
206208
visitFuseCommand?: Visitor<contexts.FuseCommandVisitorContext<Visitors, Data>, any, any>;
207209
visitMmrCommand?: Visitor<contexts.MmrCommandVisitorContext<Visitors, Data>, any, any>;
208210
visitUriPartsCommand?: Visitor<contexts.UriPartsCommandVisitorContext<Visitors, Data>, any, any>;
211+
visitMetricsInfoCommand?: Visitor<
212+
contexts.MetricsInfoCommandVisitorContext<Visitors, Data>,
213+
any,
214+
any
215+
>;
209216
visitExpression?: Visitor<contexts.ExpressionVisitorContext<Visitors, Data>, any, any>;
210217
visitSourceExpression?: Visitor<
211218
contexts.SourceExpressionVisitorContext<Visitors, Data>,

0 commit comments

Comments
 (0)