@elastic/esql 0.0.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.
Files changed (212) hide show
  1. package/LICENCE.txt +93 -0
  2. package/NOTICE.txt +5 -0
  3. package/README.md +167 -0
  4. package/lib/__tests__/fixtures.d.ts +4 -0
  5. package/lib/__tests__/fixtures.d.ts.map +1 -0
  6. package/lib/ast/builder/builder.d.ts +87 -0
  7. package/lib/ast/builder/builder.d.ts.map +1 -0
  8. package/lib/ast/builder/index.d.ts +3 -0
  9. package/lib/ast/builder/index.d.ts.map +1 -0
  10. package/lib/ast/builder/types.d.ts +18 -0
  11. package/lib/ast/builder/types.d.ts.map +1 -0
  12. package/lib/ast/grouping.d.ts +70 -0
  13. package/lib/ast/grouping.d.ts.map +1 -0
  14. package/lib/ast/index.d.ts +9 -0
  15. package/lib/ast/index.d.ts.map +1 -0
  16. package/lib/ast/is.d.ts +49 -0
  17. package/lib/ast/is.d.ts.map +1 -0
  18. package/lib/ast/location.d.ts +7 -0
  19. package/lib/ast/location.d.ts.map +1 -0
  20. package/lib/ast/mutate/commands/from/index.d.ts +4 -0
  21. package/lib/ast/mutate/commands/from/index.d.ts.map +1 -0
  22. package/lib/ast/mutate/commands/from/metadata.d.ts +63 -0
  23. package/lib/ast/mutate/commands/from/metadata.d.ts.map +1 -0
  24. package/lib/ast/mutate/commands/from/sources.d.ts +9 -0
  25. package/lib/ast/mutate/commands/from/sources.d.ts.map +1 -0
  26. package/lib/ast/mutate/commands/index.d.ts +9 -0
  27. package/lib/ast/mutate/commands/index.d.ts.map +1 -0
  28. package/lib/ast/mutate/commands/join/index.d.ts +17 -0
  29. package/lib/ast/mutate/commands/join/index.d.ts.map +1 -0
  30. package/lib/ast/mutate/commands/limit/index.d.ts +56 -0
  31. package/lib/ast/mutate/commands/limit/index.d.ts.map +1 -0
  32. package/lib/ast/mutate/commands/rerank/index.d.ts +41 -0
  33. package/lib/ast/mutate/commands/rerank/index.d.ts.map +1 -0
  34. package/lib/ast/mutate/commands/sort/index.d.ts +117 -0
  35. package/lib/ast/mutate/commands/sort/index.d.ts.map +1 -0
  36. package/lib/ast/mutate/commands/stats/index.d.ts +17 -0
  37. package/lib/ast/mutate/commands/stats/index.d.ts.map +1 -0
  38. package/lib/ast/mutate/commands/where/index.d.ts +48 -0
  39. package/lib/ast/mutate/commands/where/index.d.ts.map +1 -0
  40. package/lib/ast/mutate/generic/commands/args/index.d.ts +14 -0
  41. package/lib/ast/mutate/generic/commands/args/index.d.ts.map +1 -0
  42. package/lib/ast/mutate/generic/commands/index.d.ts +54 -0
  43. package/lib/ast/mutate/generic/commands/index.d.ts.map +1 -0
  44. package/lib/ast/mutate/generic/commands/options/index.d.ts +38 -0
  45. package/lib/ast/mutate/generic/commands/options/index.d.ts.map +1 -0
  46. package/lib/ast/mutate/generic/index.d.ts +2 -0
  47. package/lib/ast/mutate/generic/index.d.ts.map +1 -0
  48. package/lib/ast/mutate/index.d.ts +5 -0
  49. package/lib/ast/mutate/index.d.ts.map +1 -0
  50. package/lib/ast/mutate/types.d.ts +2 -0
  51. package/lib/ast/mutate/types.d.ts.map +1 -0
  52. package/lib/ast/mutate/util.d.ts +20 -0
  53. package/lib/ast/mutate/util.d.ts.map +1 -0
  54. package/lib/ast/visitor/contexts.d.ts +176 -0
  55. package/lib/ast/visitor/contexts.d.ts.map +1 -0
  56. package/lib/ast/visitor/global_visitor_context.d.ts +77 -0
  57. package/lib/ast/visitor/global_visitor_context.d.ts.map +1 -0
  58. package/lib/ast/visitor/index.d.ts +5 -0
  59. package/lib/ast/visitor/index.d.ts.map +1 -0
  60. package/lib/ast/visitor/types.d.ts +104 -0
  61. package/lib/ast/visitor/types.d.ts.map +1 -0
  62. package/lib/ast/visitor/utils.d.ts +26 -0
  63. package/lib/ast/visitor/utils.d.ts.map +1 -0
  64. package/lib/ast/visitor/visitor.d.ts +79 -0
  65. package/lib/ast/visitor/visitor.d.ts.map +1 -0
  66. package/lib/ast/walker/helpers.d.ts +23 -0
  67. package/lib/ast/walker/helpers.d.ts.map +1 -0
  68. package/lib/ast/walker/index.d.ts +2 -0
  69. package/lib/ast/walker/index.d.ts.map +1 -0
  70. package/lib/ast/walker/walker.d.ts +266 -0
  71. package/lib/ast/walker/walker.d.ts.map +1 -0
  72. package/lib/composer/composer_query.d.ts +684 -0
  73. package/lib/composer/composer_query.d.ts.map +1 -0
  74. package/lib/composer/esql.d.ts +25 -0
  75. package/lib/composer/esql.d.ts.map +1 -0
  76. package/lib/composer/index.d.ts +8 -0
  77. package/lib/composer/index.d.ts.map +1 -0
  78. package/lib/composer/parameter_hole.d.ts +11 -0
  79. package/lib/composer/parameter_hole.d.ts.map +1 -0
  80. package/lib/composer/query/index.d.ts +2 -0
  81. package/lib/composer/query/index.d.ts.map +1 -0
  82. package/lib/composer/query/query.d.ts +54 -0
  83. package/lib/composer/query/query.d.ts.map +1 -0
  84. package/lib/composer/synth/command.d.ts +7 -0
  85. package/lib/composer/synth/command.d.ts.map +1 -0
  86. package/lib/composer/synth/expression.d.ts +6 -0
  87. package/lib/composer/synth/expression.d.ts.map +1 -0
  88. package/lib/composer/synth/header.d.ts +7 -0
  89. package/lib/composer/synth/header.d.ts.map +1 -0
  90. package/lib/composer/synth/holes.d.ts +27 -0
  91. package/lib/composer/synth/holes.d.ts.map +1 -0
  92. package/lib/composer/synth/index.d.ts +7 -0
  93. package/lib/composer/synth/index.d.ts.map +1 -0
  94. package/lib/composer/synth/nodes.d.ts +104 -0
  95. package/lib/composer/synth/nodes.d.ts.map +1 -0
  96. package/lib/composer/synth/query.d.ts +7 -0
  97. package/lib/composer/synth/query.d.ts.map +1 -0
  98. package/lib/composer/synth/synth_literal_fragment.d.ts +19 -0
  99. package/lib/composer/synth/synth_literal_fragment.d.ts.map +1 -0
  100. package/lib/composer/synth/synth_node.d.ts +19 -0
  101. package/lib/composer/synth/synth_node.d.ts.map +1 -0
  102. package/lib/composer/synth/tag.d.ts +4 -0
  103. package/lib/composer/synth/tag.d.ts.map +1 -0
  104. package/lib/composer/synth/types.d.ts +65 -0
  105. package/lib/composer/synth/types.d.ts.map +1 -0
  106. package/lib/composer/types.d.ts +218 -0
  107. package/lib/composer/types.d.ts.map +1 -0
  108. package/lib/composer/util.d.ts +24 -0
  109. package/lib/composer/util.d.ts.map +1 -0
  110. package/lib/debug/index.d.ts +2 -0
  111. package/lib/debug/index.d.ts.map +1 -0
  112. package/lib/debug/print_ast.d.ts +60 -0
  113. package/lib/debug/print_ast.d.ts.map +1 -0
  114. package/lib/embedded_languages/index.d.ts +2 -0
  115. package/lib/embedded_languages/index.d.ts.map +1 -0
  116. package/lib/embedded_languages/promql/ast/builder/builder.d.ts +52 -0
  117. package/lib/embedded_languages/promql/ast/builder/builder.d.ts.map +1 -0
  118. package/lib/embedded_languages/promql/ast/builder/index.d.ts +3 -0
  119. package/lib/embedded_languages/promql/ast/builder/index.d.ts.map +1 -0
  120. package/lib/embedded_languages/promql/ast/builder/types.d.ts +12 -0
  121. package/lib/embedded_languages/promql/ast/builder/types.d.ts.map +1 -0
  122. package/lib/embedded_languages/promql/ast/is.d.ts +3 -0
  123. package/lib/embedded_languages/promql/ast/is.d.ts.map +1 -0
  124. package/lib/embedded_languages/promql/ast/traversal.d.ts +3 -0
  125. package/lib/embedded_languages/promql/ast/traversal.d.ts.map +1 -0
  126. package/lib/embedded_languages/promql/ast/walker/index.d.ts +3 -0
  127. package/lib/embedded_languages/promql/ast/walker/index.d.ts.map +1 -0
  128. package/lib/embedded_languages/promql/ast/walker/types.d.ts +93 -0
  129. package/lib/embedded_languages/promql/ast/walker/types.d.ts.map +1 -0
  130. package/lib/embedded_languages/promql/ast/walker/walker.d.ts +43 -0
  131. package/lib/embedded_languages/promql/ast/walker/walker.d.ts.map +1 -0
  132. package/lib/embedded_languages/promql/index.d.ts +8 -0
  133. package/lib/embedded_languages/promql/index.d.ts.map +1 -0
  134. package/lib/embedded_languages/promql/parser/cst_to_ast_converter.d.ts +48 -0
  135. package/lib/embedded_languages/promql/parser/cst_to_ast_converter.d.ts.map +1 -0
  136. package/lib/embedded_languages/promql/parser/index.d.ts +4 -0
  137. package/lib/embedded_languages/promql/parser/index.d.ts.map +1 -0
  138. package/lib/embedded_languages/promql/parser/parser.d.ts +65 -0
  139. package/lib/embedded_languages/promql/parser/parser.d.ts.map +1 -0
  140. package/lib/embedded_languages/promql/parser/promql_error_listener.d.ts +11 -0
  141. package/lib/embedded_languages/promql/parser/promql_error_listener.d.ts.map +1 -0
  142. package/lib/embedded_languages/promql/pretty_print/basic_pretty_printer.d.ts +65 -0
  143. package/lib/embedded_languages/promql/pretty_print/basic_pretty_printer.d.ts.map +1 -0
  144. package/lib/embedded_languages/promql/pretty_print/helpers.d.ts +34 -0
  145. package/lib/embedded_languages/promql/pretty_print/helpers.d.ts.map +1 -0
  146. package/lib/embedded_languages/promql/pretty_print/index.d.ts +2 -0
  147. package/lib/embedded_languages/promql/pretty_print/index.d.ts.map +1 -0
  148. package/lib/embedded_languages/promql/types.d.ts +355 -0
  149. package/lib/embedded_languages/promql/types.d.ts.map +1 -0
  150. package/lib/index.d.ts +7 -0
  151. package/lib/index.d.ts.map +1 -0
  152. package/lib/index.js +63055 -0
  153. package/lib/index.js.map +1 -0
  154. package/lib/index.mjs +62941 -0
  155. package/lib/index.mjs.map +1 -0
  156. package/lib/parser/antlr/esql_lexer.d.ts +223 -0
  157. package/lib/parser/antlr/esql_lexer.d.ts.map +1 -0
  158. package/lib/parser/antlr/esql_parser.d.ts +1847 -0
  159. package/lib/parser/antlr/esql_parser.d.ts.map +1 -0
  160. package/lib/parser/antlr/esql_parser_listener.d.ts +1634 -0
  161. package/lib/parser/antlr/esql_parser_listener.d.ts.map +1 -0
  162. package/lib/parser/antlr/lexer_config.d.ts +13 -0
  163. package/lib/parser/antlr/lexer_config.d.ts.map +1 -0
  164. package/lib/parser/antlr/parser_config.d.ts +7 -0
  165. package/lib/parser/antlr/parser_config.d.ts.map +1 -0
  166. package/lib/parser/antlr/promql_lexer.d.ts +71 -0
  167. package/lib/parser/antlr/promql_lexer.d.ts.map +1 -0
  168. package/lib/parser/antlr/promql_parser.d.ts +441 -0
  169. package/lib/parser/antlr/promql_parser.d.ts.map +1 -0
  170. package/lib/parser/antlr/promql_parser_listener.d.ts +354 -0
  171. package/lib/parser/antlr/promql_parser_listener.d.ts.map +1 -0
  172. package/lib/parser/core/constants.d.ts +8 -0
  173. package/lib/parser/core/constants.d.ts.map +1 -0
  174. package/lib/parser/core/cst_to_ast_converter.d.ts +262 -0
  175. package/lib/parser/core/cst_to_ast_converter.d.ts.map +1 -0
  176. package/lib/parser/core/decorations.d.ts +29 -0
  177. package/lib/parser/core/decorations.d.ts.map +1 -0
  178. package/lib/parser/core/esql_error_listener.d.ts +8 -0
  179. package/lib/parser/core/esql_error_listener.d.ts.map +1 -0
  180. package/lib/parser/core/helpers.d.ts +9 -0
  181. package/lib/parser/core/helpers.d.ts.map +1 -0
  182. package/lib/parser/core/parser.d.ts +136 -0
  183. package/lib/parser/core/parser.d.ts.map +1 -0
  184. package/lib/parser/core/tokens.d.ts +45 -0
  185. package/lib/parser/core/tokens.d.ts.map +1 -0
  186. package/lib/parser/core/types.d.ts +69 -0
  187. package/lib/parser/core/types.d.ts.map +1 -0
  188. package/lib/parser/index.d.ts +4 -0
  189. package/lib/parser/index.d.ts.map +1 -0
  190. package/lib/pretty_print/__tests__/fixtures.d.ts +5 -0
  191. package/lib/pretty_print/__tests__/fixtures.d.ts.map +1 -0
  192. package/lib/pretty_print/basic_pretty_printer.d.ts +87 -0
  193. package/lib/pretty_print/basic_pretty_printer.d.ts.map +1 -0
  194. package/lib/pretty_print/constants.d.ts +47 -0
  195. package/lib/pretty_print/constants.d.ts.map +1 -0
  196. package/lib/pretty_print/helpers.d.ts +22 -0
  197. package/lib/pretty_print/helpers.d.ts.map +1 -0
  198. package/lib/pretty_print/index.d.ts +4 -0
  199. package/lib/pretty_print/index.d.ts.map +1 -0
  200. package/lib/pretty_print/leaf_printer.d.ts +19 -0
  201. package/lib/pretty_print/leaf_printer.d.ts.map +1 -0
  202. package/lib/pretty_print/utils.d.ts +7 -0
  203. package/lib/pretty_print/utils.d.ts.map +1 -0
  204. package/lib/pretty_print/wrapping_pretty_printer.d.ts +113 -0
  205. package/lib/pretty_print/wrapping_pretty_printer.d.ts.map +1 -0
  206. package/lib/types.d.ts +523 -0
  207. package/lib/types.d.ts.map +1 -0
  208. package/lib/types.js +19 -0
  209. package/lib/types.js.map +1 -0
  210. package/lib/types.mjs +1 -0
  211. package/lib/types.mjs.map +1 -0
  212. package/package.json +98 -0
@@ -0,0 +1,176 @@
1
+ import type { SharedData } from './global_visitor_context';
2
+ import { type GlobalVisitorContext } from './global_visitor_context';
3
+ import type { ESQLAstChangePointCommand, ESQLAstCommand, ESQLAstExpression, ESQLAstHeaderCommand, ESQLAstItem, ESQLAstJoinCommand, ESQLAstQueryExpression, ESQLAstRerankCommand, ESQLColumn, ESQLCommandOption, ESQLDecimalLiteral, ESQLFunction, ESQLIdentifier, ESQLInlineCast, ESQLIntegerLiteral, ESQLList, ESQLLiteral, ESQLMap, ESQLMapEntry, ESQLOrderExpression, ESQLParens, ESQLSource } from '../../types';
4
+ import type { CommandVisitorInput, ESQLAstExpressionNode, ESQLAstQueryNode, ExpressionVisitorOutput, UndefinedToVoid, VisitorAstNode, VisitorInput, VisitorMethods, VisitorOutput } from './types';
5
+ export declare class VisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData, Node extends VisitorAstNode = VisitorAstNode> {
6
+ /**
7
+ * Global visitor context.
8
+ */
9
+ readonly ctx: GlobalVisitorContext<Methods, Data>;
10
+ /**
11
+ * ES|QL AST node which is currently being visited.
12
+ */
13
+ readonly node: Node;
14
+ /**
15
+ * Context of the parent node, from which the current node was reached
16
+ * during the AST traversal.
17
+ */
18
+ readonly parent: VisitorContext | null;
19
+ constructor(
20
+ /**
21
+ * Global visitor context.
22
+ */
23
+ ctx: GlobalVisitorContext<Methods, Data>,
24
+ /**
25
+ * ES|QL AST node which is currently being visited.
26
+ */
27
+ node: Node,
28
+ /**
29
+ * Context of the parent node, from which the current node was reached
30
+ * during the AST traversal.
31
+ */
32
+ parent?: VisitorContext | null);
33
+ visitArguments(input: VisitorInput<Methods, 'visitExpression'> | (() => VisitorInput<Methods, 'visitExpression'>)): Iterable<VisitorOutput<Methods, 'visitExpression'>>;
34
+ arguments(): ESQLAstExpressionNode[];
35
+ visitArgument(index: number, input: VisitorInput<Methods, 'visitExpression'>): VisitorOutput<Methods, 'visitExpression'>;
36
+ visitExpression(expressionNode: ESQLAstExpressionNode, input: VisitorInput<Methods, 'visitExpression'>): VisitorOutput<Methods, 'visitExpression'>;
37
+ visitCommand(commandNode: ESQLAstCommand, input: CommandVisitorInput<Methods>): ExpressionVisitorOutput<Methods>;
38
+ visitHeaderCommand(headerCommandNode: ESQLAstHeaderCommand, input: UndefinedToVoid<Parameters<NonNullable<Methods['visitHeaderCommand']>>[1]>): ReturnType<NonNullable<Methods['visitHeaderCommand']>>;
39
+ }
40
+ export declare class QueryVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends VisitorContext<Methods, Data, ESQLAstQueryNode> {
41
+ headerCommands(): Iterable<ESQLAstHeaderCommand>;
42
+ visitHeaderCommands(input: UndefinedToVoid<Parameters<NonNullable<Methods['visitHeaderCommand']>>[1]>): Iterable<ReturnType<NonNullable<Methods['visitHeaderCommand']>>>;
43
+ commands(): Iterable<ESQLAstCommand>;
44
+ visitCommands(input: UndefinedToVoid<Parameters<NonNullable<Methods['visitCommand']>>[1]>): Iterable<ReturnType<NonNullable<Methods['visitCommand']>> | ReturnType<NonNullable<Methods['visitFromCommand']>>>;
45
+ }
46
+ export declare class CommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData, Node extends ESQLAstCommand = ESQLAstCommand> extends VisitorContext<Methods, Data, Node> {
47
+ name(): string;
48
+ options(): Iterable<ESQLCommandOption>;
49
+ visitOptions(input: UndefinedToVoid<Parameters<NonNullable<Methods['visitCommandOption']>>[1]>): Iterable<ReturnType<NonNullable<Methods['visitCommandOption']>>>;
50
+ args(option?: '' | string): Iterable<ESQLAstItem>;
51
+ visitArgs(input: VisitorInput<Methods, 'visitExpression'> | (() => VisitorInput<Methods, 'visitExpression'>), option?: '' | string): Iterable<ExpressionVisitorOutput<Methods>>;
52
+ visitSources(input: UndefinedToVoid<Parameters<NonNullable<Methods['visitSourceExpression']>>[1]>): Iterable<ReturnType<NonNullable<Methods['visitSourceExpression']>>>;
53
+ visitSubQuery(queryNode: ESQLAstQueryExpression): ExpressionVisitorOutput<Methods>;
54
+ visitSubQueries(): Generator<ExpressionVisitorOutput<Methods>, void, unknown>;
55
+ }
56
+ export declare class HeaderCommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData, Node extends ESQLAstHeaderCommand = ESQLAstHeaderCommand> extends VisitorContext<Methods, Data, Node> {
57
+ name(): string;
58
+ args(): Iterable<ESQLAstExpression>;
59
+ visitArgs(input: VisitorInput<Methods, 'visitExpression'> | (() => VisitorInput<Methods, 'visitExpression'>)): Iterable<ExpressionVisitorOutput<Methods>>;
60
+ }
61
+ export declare class CommandOptionVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends VisitorContext<Methods, Data, ESQLCommandOption> {
62
+ }
63
+ export declare class FromCommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends CommandVisitorContext<Methods, Data, ESQLAstCommand> {
64
+ /**
65
+ * Visit the METADATA part of the FROM command.
66
+ *
67
+ * FROM <sources> [ METADATA <columns> ]
68
+ *
69
+ * @param input Input object to pass to all "visitColumn" children methods.
70
+ * @returns An iterable of results of all the "visitColumn" visitor methods.
71
+ */
72
+ visitMetadataColumns(input: UndefinedToVoid<Parameters<NonNullable<Methods['visitColumnExpression']>>[1]>): Iterable<ReturnType<NonNullable<Methods['visitColumnExpression']>>>;
73
+ }
74
+ export declare class LimitCommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends CommandVisitorContext<Methods, Data> {
75
+ /**
76
+ * @returns The first numeric literal argument of the command.
77
+ */
78
+ numericLiteral(): ESQLIntegerLiteral | ESQLDecimalLiteral | undefined;
79
+ /**
80
+ * @returns The value of the first numeric literal argument of the command.
81
+ */
82
+ numeric(): number | undefined;
83
+ setLimit(value: number): void;
84
+ }
85
+ export declare class ExplainCommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends CommandVisitorContext<Methods, Data, ESQLAstCommand> {
86
+ }
87
+ export declare class RowCommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends CommandVisitorContext<Methods, Data, ESQLAstCommand> {
88
+ }
89
+ export declare class TimeseriesCommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends CommandVisitorContext<Methods, Data, ESQLAstCommand> {
90
+ }
91
+ export declare class ShowCommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends CommandVisitorContext<Methods, Data, ESQLAstCommand> {
92
+ }
93
+ export declare class MetaCommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends CommandVisitorContext<Methods, Data, ESQLAstCommand> {
94
+ }
95
+ export declare class EvalCommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends CommandVisitorContext<Methods, Data, ESQLAstCommand> {
96
+ }
97
+ export declare class StatsCommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends CommandVisitorContext<Methods, Data, ESQLAstCommand> {
98
+ }
99
+ export declare class InlineStatsCommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends CommandVisitorContext<Methods, Data, ESQLAstCommand> {
100
+ }
101
+ export declare class LookupCommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends CommandVisitorContext<Methods, Data, ESQLAstCommand> {
102
+ }
103
+ export declare class KeepCommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends CommandVisitorContext<Methods, Data, ESQLAstCommand> {
104
+ }
105
+ export declare class SortCommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends CommandVisitorContext<Methods, Data, ESQLAstCommand> {
106
+ }
107
+ export declare class WhereCommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends CommandVisitorContext<Methods, Data, ESQLAstCommand> {
108
+ }
109
+ export declare class DropCommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends CommandVisitorContext<Methods, Data, ESQLAstCommand> {
110
+ }
111
+ export declare class RenameCommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends CommandVisitorContext<Methods, Data, ESQLAstCommand> {
112
+ }
113
+ export declare class DissectCommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends CommandVisitorContext<Methods, Data, ESQLAstCommand> {
114
+ }
115
+ export declare class GrokCommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends CommandVisitorContext<Methods, Data, ESQLAstCommand> {
116
+ }
117
+ export declare class EnrichCommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends CommandVisitorContext<Methods, Data, ESQLAstCommand> {
118
+ }
119
+ export declare class MvExpandCommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends CommandVisitorContext<Methods, Data, ESQLAstCommand> {
120
+ }
121
+ export declare class JoinCommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends CommandVisitorContext<Methods, Data, ESQLAstJoinCommand> {
122
+ }
123
+ export declare class RerankCommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends CommandVisitorContext<Methods, Data, ESQLAstRerankCommand> {
124
+ }
125
+ export declare class ChangePointCommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends CommandVisitorContext<Methods, Data, ESQLAstChangePointCommand> {
126
+ }
127
+ export declare class ForkCommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends CommandVisitorContext<Methods, Data, ESQLAstCommand> {
128
+ }
129
+ export declare class CompletionCommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends CommandVisitorContext<Methods, Data, ESQLAstCommand> {
130
+ }
131
+ export declare class SampleCommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends CommandVisitorContext<Methods, Data, ESQLAstCommand> {
132
+ }
133
+ export declare class FuseCommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends CommandVisitorContext<Methods, Data, ESQLAstCommand> {
134
+ }
135
+ export declare class MmrCommandVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends CommandVisitorContext<Methods, Data, ESQLAstCommand> {
136
+ }
137
+ export declare class ExpressionVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData, Node extends ESQLAstExpressionNode = ESQLAstExpressionNode> extends VisitorContext<Methods, Data, Node> {
138
+ }
139
+ export declare class ColumnExpressionVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends VisitorContext<Methods, Data, ESQLColumn> {
140
+ }
141
+ export declare class SourceExpressionVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends VisitorContext<Methods, Data, ESQLSource> {
142
+ }
143
+ export declare class FunctionCallExpressionVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends VisitorContext<Methods, Data, ESQLFunction> {
144
+ /**
145
+ * @returns Returns a printable uppercase function name or operator.
146
+ */
147
+ operator(): string;
148
+ }
149
+ export declare class LiteralExpressionVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData, Node extends ESQLLiteral = ESQLLiteral> extends ExpressionVisitorContext<Methods, Data, Node> {
150
+ }
151
+ export declare class ListLiteralExpressionVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData, Node extends ESQLList = ESQLList> extends ExpressionVisitorContext<Methods, Data, Node> {
152
+ visitElements(input: VisitorInput<Methods, 'visitExpression'> | (() => VisitorInput<Methods, 'visitExpression'>)): Iterable<ExpressionVisitorOutput<Methods>>;
153
+ }
154
+ export declare class InlineCastExpressionVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends ExpressionVisitorContext<Methods, Data, ESQLInlineCast> {
155
+ value(): ESQLAstExpression;
156
+ visitValue(input: VisitorInput<Methods, 'visitExpression'>): VisitorOutput<Methods, 'visitExpression'>;
157
+ }
158
+ export declare class OrderExpressionVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends VisitorContext<Methods, Data, ESQLOrderExpression> {
159
+ }
160
+ export declare class IdentifierExpressionVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends VisitorContext<Methods, Data, ESQLIdentifier> {
161
+ }
162
+ export declare class MapExpressionVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends VisitorContext<Methods, Data, ESQLMap> {
163
+ visitEntries(input: VisitorInput<Methods, 'visitExpression'> | (() => VisitorInput<Methods, 'visitExpression'>)): Iterable<ExpressionVisitorOutput<Methods>>;
164
+ visitArguments(input: VisitorInput<Methods, 'visitExpression'> | (() => VisitorInput<Methods, 'visitExpression'>)): Iterable<VisitorOutput<Methods, 'visitExpression'>>;
165
+ }
166
+ export declare class MapEntryExpressionVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends VisitorContext<Methods, Data, ESQLMapEntry> {
167
+ key(): ESQLAstExpression;
168
+ value(): ESQLAstExpression;
169
+ visitKey(input: VisitorInput<Methods, 'visitExpression'>): VisitorOutput<Methods, 'visitExpression'>;
170
+ visitValue(input: VisitorInput<Methods, 'visitExpression'>): VisitorOutput<Methods, 'visitExpression'>;
171
+ }
172
+ export declare class ParensExpressionVisitorContext<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> extends VisitorContext<Methods, Data, ESQLParens> {
173
+ child(): ESQLAstExpression;
174
+ visitChild(input: VisitorInput<Methods, 'visitExpression'>): VisitorOutput<Methods, 'visitExpression'>;
175
+ }
176
+ //# sourceMappingURL=contexts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contexts.d.ts","sourceRoot":"","sources":["../../../src/ast/visitor/contexts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import * as contexts from './contexts';
2
+ import type { ESQLAstChangePointCommand, ESQLAstCommand, ESQLAstCompletionCommand, ESQLAstHeaderCommand, ESQLAstJoinCommand, ESQLAstQueryExpression, ESQLAstRerankCommand, ESQLColumn, ESQLFunction, ESQLIdentifier, ESQLInlineCast, ESQLList, ESQLLiteral, ESQLMap, ESQLMapEntry, ESQLOrderExpression, ESQLParens, ESQLSource } from '../../types';
3
+ import type * as types from './types';
4
+ export type SharedData = Record<string, unknown>;
5
+ /**
6
+ * Global shared visitor context available to all visitors when visiting the AST.
7
+ * It contains the shared data, which can be accessed and modified by all visitors.
8
+ */
9
+ export declare class GlobalVisitorContext<Methods extends types.VisitorMethods = types.VisitorMethods, Data extends SharedData = SharedData> {
10
+ /**
11
+ * Visitor methods, used internally by the visitor to traverse the AST.
12
+ * @protected
13
+ */
14
+ readonly methods: Methods;
15
+ /**
16
+ * Shared data, which can be accessed and modified by all visitors.
17
+ */
18
+ data: Data;
19
+ constructor(
20
+ /**
21
+ * Visitor methods, used internally by the visitor to traverse the AST.
22
+ * @protected
23
+ */
24
+ methods: Methods,
25
+ /**
26
+ * Shared data, which can be accessed and modified by all visitors.
27
+ */
28
+ data: Data);
29
+ assertMethodExists<K extends keyof types.VisitorMethods>(name: K | K[]): void;
30
+ private visitWithSpecificContext;
31
+ visitCommandGeneric(parent: contexts.VisitorContext | null, node: ESQLAstCommand, input: types.VisitorInput<Methods, 'visitCommand'>): types.VisitorOutput<Methods, 'visitCommand'>;
32
+ visitCommand(parent: contexts.VisitorContext | null, commandNode: ESQLAstCommand, input: types.CommandVisitorInput<Methods>): types.CommandVisitorOutput<Methods>;
33
+ visitHeaderCommand(parent: contexts.VisitorContext | null, node: ESQLAstHeaderCommand, input: types.VisitorInput<Methods, 'visitHeaderCommand'>): types.VisitorOutput<Methods, 'visitHeaderCommand'>;
34
+ visitFromCommand(parent: contexts.VisitorContext | null, node: ESQLAstCommand, input: types.VisitorInput<Methods, 'visitFromCommand'>): types.VisitorOutput<Methods, 'visitFromCommand'>;
35
+ visitLimitCommand(parent: contexts.VisitorContext | null, node: ESQLAstCommand, input: types.VisitorInput<Methods, 'visitLimitCommand'>): types.VisitorOutput<Methods, 'visitLimitCommand'>;
36
+ visitExplainCommand(parent: contexts.VisitorContext | null, node: ESQLAstCommand, input: types.VisitorInput<Methods, 'visitExplainCommand'>): types.VisitorOutput<Methods, 'visitExplainCommand'>;
37
+ visitRowCommand(parent: contexts.VisitorContext | null, node: ESQLAstCommand, input: types.VisitorInput<Methods, 'visitRowCommand'>): types.VisitorOutput<Methods, 'visitRowCommand'>;
38
+ visitTimeseriesCommand(parent: contexts.VisitorContext | null, node: ESQLAstCommand, input: types.VisitorInput<Methods, 'visitTimeseriesCommand'>): types.VisitorOutput<Methods, 'visitTimeseriesCommand'>;
39
+ visitShowCommand(parent: contexts.VisitorContext | null, node: ESQLAstCommand, input: types.VisitorInput<Methods, 'visitShowCommand'>): types.VisitorOutput<Methods, 'visitShowCommand'>;
40
+ visitMetaCommand(parent: contexts.VisitorContext | null, node: ESQLAstCommand, input: types.VisitorInput<Methods, 'visitMetaCommand'>): types.VisitorOutput<Methods, 'visitMetaCommand'>;
41
+ visitEvalCommand(parent: contexts.VisitorContext | null, node: ESQLAstCommand, input: types.VisitorInput<Methods, 'visitEvalCommand'>): types.VisitorOutput<Methods, 'visitEvalCommand'>;
42
+ visitStatsCommand(parent: contexts.VisitorContext | null, node: ESQLAstCommand, input: types.VisitorInput<Methods, 'visitStatsCommand'>): types.VisitorOutput<Methods, 'visitStatsCommand'>;
43
+ visitInlineStatsCommand(parent: contexts.VisitorContext | null, node: ESQLAstCommand, input: types.VisitorInput<Methods, 'visitInlineStatsCommand'>): types.VisitorOutput<Methods, 'visitInlineStatsCommand'>;
44
+ visitLookupCommand(parent: contexts.VisitorContext | null, node: ESQLAstCommand, input: types.VisitorInput<Methods, 'visitLookupCommand'>): types.VisitorOutput<Methods, 'visitLookupCommand'>;
45
+ visitKeepCommand(parent: contexts.VisitorContext | null, node: ESQLAstCommand, input: types.VisitorInput<Methods, 'visitKeepCommand'>): types.VisitorOutput<Methods, 'visitKeepCommand'>;
46
+ visitSortCommand(parent: contexts.VisitorContext | null, node: ESQLAstCommand, input: types.VisitorInput<Methods, 'visitSortCommand'>): types.VisitorOutput<Methods, 'visitSortCommand'>;
47
+ visitWhereCommand(parent: contexts.VisitorContext | null, node: ESQLAstCommand, input: types.VisitorInput<Methods, 'visitWhereCommand'>): types.VisitorOutput<Methods, 'visitWhereCommand'>;
48
+ visitDropCommand(parent: contexts.VisitorContext | null, node: ESQLAstCommand, input: types.VisitorInput<Methods, 'visitDropCommand'>): types.VisitorOutput<Methods, 'visitDropCommand'>;
49
+ visitRenameCommand(parent: contexts.VisitorContext | null, node: ESQLAstCommand, input: types.VisitorInput<Methods, 'visitRenameCommand'>): types.VisitorOutput<Methods, 'visitRenameCommand'>;
50
+ visitDissectCommand(parent: contexts.VisitorContext | null, node: ESQLAstCommand, input: types.VisitorInput<Methods, 'visitDissectCommand'>): types.VisitorOutput<Methods, 'visitDissectCommand'>;
51
+ visitGrokCommand(parent: contexts.VisitorContext | null, node: ESQLAstCommand, input: types.VisitorInput<Methods, 'visitGrokCommand'>): types.VisitorOutput<Methods, 'visitGrokCommand'>;
52
+ visitEnrichCommand(parent: contexts.VisitorContext | null, node: ESQLAstCommand, input: types.VisitorInput<Methods, 'visitEnrichCommand'>): types.VisitorOutput<Methods, 'visitEnrichCommand'>;
53
+ visitMvExpandCommand(parent: contexts.VisitorContext | null, node: ESQLAstCommand, input: types.VisitorInput<Methods, 'visitMvExpandCommand'>): types.VisitorOutput<Methods, 'visitMvExpandCommand'>;
54
+ visitJoinCommand(parent: contexts.VisitorContext | null, node: ESQLAstJoinCommand, input: types.VisitorInput<Methods, 'visitJoinCommand'>): types.VisitorOutput<Methods, 'visitJoinCommand'>;
55
+ visitRerankCommand(parent: contexts.VisitorContext | null, node: ESQLAstRerankCommand, input: types.VisitorInput<Methods, 'visitRerankCommand'>): types.VisitorOutput<Methods, 'visitRerankCommand'>;
56
+ visitChangePointCommand(parent: contexts.VisitorContext | null, node: ESQLAstChangePointCommand, input: types.VisitorInput<Methods, 'visitChangePointCommand'>): types.VisitorOutput<Methods, 'visitChangePointCommand'>;
57
+ visitForkCommand(parent: contexts.VisitorContext | null, node: ESQLAstCommand, input: types.VisitorInput<Methods, 'visitForkCommand'>): types.VisitorOutput<Methods, 'visitForkCommand'>;
58
+ visitCompletionCommand(parent: contexts.VisitorContext | null, node: ESQLAstCompletionCommand, input: types.VisitorInput<Methods, 'visitCompletionCommand'>): types.VisitorOutput<Methods, 'visitCompletionCommand'>;
59
+ visitSampleCommand(parent: contexts.VisitorContext | null, node: ESQLAstCommand, input: types.VisitorInput<Methods, 'visitSampleCommand'>): types.VisitorOutput<Methods, 'visitSampleCommand'>;
60
+ visitFuseCommand(parent: contexts.VisitorContext | null, node: ESQLAstCommand, input: types.VisitorInput<Methods, 'visitFuseCommand'>): types.VisitorOutput<Methods, 'visitFuseCommand'>;
61
+ visitMmrCommand(parent: contexts.VisitorContext | null, node: ESQLAstCommand, input: types.VisitorInput<Methods, 'visitMmrCommand'>): types.VisitorOutput<Methods, 'visitMmrCommand'>;
62
+ visitExpressionGeneric(parent: contexts.VisitorContext | null, node: types.ESQLAstExpressionNode, input: types.VisitorInput<Methods, 'visitExpression'>): types.VisitorOutput<Methods, 'visitExpression'>;
63
+ visitExpression(parent: contexts.VisitorContext | null, expressionNode: types.ESQLAstExpressionNode, input: types.ExpressionVisitorInput<Methods>): types.ExpressionVisitorOutput<Methods>;
64
+ visitQuery(parent: contexts.VisitorContext | null, node: ESQLAstQueryExpression, input: types.VisitorInput<Methods, 'visitQuery'>): types.ExpressionVisitorOutput<Methods>;
65
+ visitColumnExpression(parent: contexts.VisitorContext | null, node: ESQLColumn, input: types.VisitorInput<Methods, 'visitColumnExpression'>): types.VisitorOutput<Methods, 'visitColumnExpression'>;
66
+ visitSourceExpression(parent: contexts.VisitorContext | null, node: ESQLSource, input: types.VisitorInput<Methods, 'visitSourceExpression'>): types.VisitorOutput<Methods, 'visitSourceExpression'>;
67
+ visitFunctionCallExpression(parent: contexts.VisitorContext | null, node: ESQLFunction, input: types.VisitorInput<Methods, 'visitFunctionCallExpression'>): types.VisitorOutput<Methods, 'visitFunctionCallExpression'>;
68
+ visitLiteralExpression(parent: contexts.VisitorContext | null, node: ESQLLiteral, input: types.VisitorInput<Methods, 'visitLiteralExpression'>): types.VisitorOutput<Methods, 'visitLiteralExpression'>;
69
+ visitListLiteralExpression(parent: contexts.VisitorContext | null, node: ESQLList, input: types.VisitorInput<Methods, 'visitListLiteralExpression'>): types.VisitorOutput<Methods, 'visitListLiteralExpression'>;
70
+ visitInlineCastExpression(parent: contexts.VisitorContext | null, node: ESQLInlineCast, input: types.VisitorInput<Methods, 'visitInlineCastExpression'>): types.VisitorOutput<Methods, 'visitInlineCastExpression'>;
71
+ visitOrderExpression(parent: contexts.VisitorContext | null, node: ESQLOrderExpression, input: types.VisitorInput<Methods, 'visitOrderExpression'>): types.VisitorOutput<Methods, 'visitOrderExpression'>;
72
+ visitIdentifierExpression(parent: contexts.VisitorContext | null, node: ESQLIdentifier, input: types.VisitorInput<Methods, 'visitIdentifierExpression'>): types.VisitorOutput<Methods, 'visitIdentifierExpression'>;
73
+ visitMapExpression(parent: contexts.VisitorContext | null, node: ESQLMap, input: types.VisitorInput<Methods, 'visitMapExpression'>): types.VisitorOutput<Methods, 'visitMapExpression'>;
74
+ visitMapEntryExpression(parent: contexts.VisitorContext | null, node: ESQLMapEntry, input: types.VisitorInput<Methods, 'visitMapEntryExpression'>): types.VisitorOutput<Methods, 'visitMapEntryExpression'>;
75
+ visitParensExpression(parent: contexts.VisitorContext | null, node: ESQLParens, input: types.VisitorInput<Methods, 'visitParensExpression'>): types.VisitorOutput<Methods, 'visitParensExpression'>;
76
+ }
77
+ //# sourceMappingURL=global_visitor_context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global_visitor_context.d.ts","sourceRoot":"","sources":["../../../src/ast/visitor/global_visitor_context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export type { VisitorMethods } from './types';
2
+ export { Visitor, type VisitorOptions } from './visitor';
3
+ export { GlobalVisitorContext, type SharedData } from './global_visitor_context';
4
+ export * from './contexts';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ast/visitor/index.ts"],"names":[],"mappings":"AAOA,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACjF,cAAc,YAAY,CAAC"}
@@ -0,0 +1,104 @@
1
+ import type { SharedData } from './global_visitor_context';
2
+ import type * as ast from '../../types';
3
+ import type * as contexts from './contexts';
4
+ /**
5
+ * @deprecated Use `ESQLAstQueryExpression` directly.
6
+ */
7
+ export type ESQLAstQueryNode = ast.ESQLAstQueryExpression;
8
+ /**
9
+ * Represents an "expression" node in the AST.
10
+ */
11
+ export type ESQLAstExpressionNode = ast.ESQLAstExpression;
12
+ /**
13
+ * All possible AST nodes supported by the visitor.
14
+ */
15
+ export type VisitorAstNode = ast.ESQLAstQueryExpression | ast.ESQLAstNode;
16
+ export type Visitor<Ctx extends contexts.VisitorContext, Input = unknown, Output = unknown> = (ctx: Ctx, input: Input) => Output;
17
+ /**
18
+ * Retrieves the `Input` of a {@link Visitor} function.
19
+ */
20
+ export type VisitorInput<Methods extends VisitorMethods, Method extends keyof Methods> = UndefinedToVoid<Parameters<EnsureFunction<NonNullable<Methods[Method]>>>[1]>;
21
+ /**
22
+ * Retrieves the `Output` of a {@link Visitor} function.
23
+ */
24
+ export type VisitorOutput<Methods extends VisitorMethods, Method extends keyof Methods> = ReturnType<EnsureFunction<NonNullable<Methods[Method]>>>;
25
+ /**
26
+ * Input that satisfies any expression visitor input constraints.
27
+ */
28
+ export type ExpressionVisitorInput<Methods extends VisitorMethods> = AnyToVoid<VisitorInput<Methods, 'visitExpression'> & VisitorInput<Methods, 'visitQuery'> & VisitorInput<Methods, 'visitColumnExpression'> & VisitorInput<Methods, 'visitSourceExpression'> & VisitorInput<Methods, 'visitFunctionCallExpression'> & VisitorInput<Methods, 'visitLiteralExpression'> & VisitorInput<Methods, 'visitListLiteralExpression'> & VisitorInput<Methods, 'visitInlineCastExpression'> & VisitorInput<Methods, 'visitOrderExpression'> & VisitorInput<Methods, 'visitIdentifierExpression'> & VisitorInput<Methods, 'visitMapExpression'> & VisitorInput<Methods, 'visitMapEntryExpression'> & VisitorInput<Methods, 'visitParensExpression'>>;
29
+ /**
30
+ * Input that satisfies any expression visitor output constraints.
31
+ */
32
+ export type ExpressionVisitorOutput<Methods extends VisitorMethods> = VisitorOutput<Methods, 'visitExpression'> | VisitorOutput<Methods, 'visitQuery'> | VisitorOutput<Methods, 'visitColumnExpression'> | VisitorOutput<Methods, 'visitSourceExpression'> | VisitorOutput<Methods, 'visitFunctionCallExpression'> | VisitorOutput<Methods, 'visitLiteralExpression'> | VisitorOutput<Methods, 'visitListLiteralExpression'> | VisitorOutput<Methods, 'visitInlineCastExpression'> | VisitorOutput<Methods, 'visitOrderExpression'> | VisitorOutput<Methods, 'visitIdentifierExpression'> | VisitorOutput<Methods, 'visitMapExpression'> | VisitorOutput<Methods, 'visitMapEntryExpression'> | VisitorOutput<Methods, 'visitParensExpression'>;
33
+ /**
34
+ * Input that satisfies any command visitor input constraints.
35
+ */
36
+ export type CommandVisitorInput<Methods extends VisitorMethods> = AnyToVoid<VisitorInput<Methods, 'visitCommand'> & VisitorInput<Methods, 'visitFromCommand'> & VisitorInput<Methods, 'visitLimitCommand'> & VisitorInput<Methods, 'visitExplainCommand'> & VisitorInput<Methods, 'visitRowCommand'> & VisitorInput<Methods, 'visitTimeseriesCommand'> & VisitorInput<Methods, 'visitShowCommand'> & VisitorInput<Methods, 'visitMetaCommand'> & VisitorInput<Methods, 'visitEvalCommand'> & VisitorInput<Methods, 'visitStatsCommand'> & VisitorInput<Methods, 'visitInlineStatsCommand'> & VisitorInput<Methods, 'visitLookupCommand'> & VisitorInput<Methods, 'visitKeepCommand'> & VisitorInput<Methods, 'visitSortCommand'> & VisitorInput<Methods, 'visitWhereCommand'> & VisitorInput<Methods, 'visitDropCommand'> & VisitorInput<Methods, 'visitRenameCommand'> & VisitorInput<Methods, 'visitDissectCommand'> & VisitorInput<Methods, 'visitGrokCommand'> & VisitorInput<Methods, 'visitEnrichCommand'> & VisitorInput<Methods, 'visitMvExpandCommand'> & VisitorInput<Methods, 'visitJoinCommand'> & VisitorInput<Methods, 'visitRerankCommand'> & VisitorInput<Methods, 'visitChangePointCommand'>>;
37
+ /**
38
+ * Input that satisfies any command visitor output constraints.
39
+ */
40
+ export type CommandVisitorOutput<Methods extends VisitorMethods> = VisitorOutput<Methods, 'visitCommand'> | VisitorOutput<Methods, 'visitFromCommand'> | VisitorOutput<Methods, 'visitLimitCommand'> | VisitorOutput<Methods, 'visitExplainCommand'> | VisitorOutput<Methods, 'visitRowCommand'> | VisitorOutput<Methods, 'visitTimeseriesCommand'> | VisitorOutput<Methods, 'visitShowCommand'> | VisitorOutput<Methods, 'visitMetaCommand'> | VisitorOutput<Methods, 'visitEvalCommand'> | VisitorOutput<Methods, 'visitStatsCommand'> | VisitorOutput<Methods, 'visitInlineStatsCommand'> | VisitorOutput<Methods, 'visitLookupCommand'> | VisitorOutput<Methods, 'visitKeepCommand'> | VisitorOutput<Methods, 'visitSortCommand'> | VisitorOutput<Methods, 'visitWhereCommand'> | VisitorOutput<Methods, 'visitDropCommand'> | VisitorOutput<Methods, 'visitRenameCommand'> | VisitorOutput<Methods, 'visitDissectCommand'> | VisitorOutput<Methods, 'visitGrokCommand'> | VisitorOutput<Methods, 'visitEnrichCommand'> | VisitorOutput<Methods, 'visitMvExpandCommand'> | VisitorOutput<Methods, 'visitJoinCommand'> | VisitorOutput<Methods, 'visitRerankCommand'> | VisitorOutput<Methods, 'visitChangePointCommand'> | VisitorOutput<Methods, 'visitCompletionCommand'>;
41
+ export interface VisitorMethods<Visitors extends VisitorMethods = any, Data extends SharedData = SharedData> {
42
+ visitQuery?: Visitor<contexts.QueryVisitorContext<Visitors, Data>, any, any>;
43
+ visitCommand?: Visitor<contexts.CommandVisitorContext<Visitors, Data>, any, any>;
44
+ visitHeaderCommand?: Visitor<contexts.HeaderCommandVisitorContext<Visitors, Data>, any, any>;
45
+ visitFromCommand?: Visitor<contexts.FromCommandVisitorContext<Visitors, Data>, any, any>;
46
+ visitLimitCommand?: Visitor<contexts.LimitCommandVisitorContext<Visitors, Data>, any, any>;
47
+ visitExplainCommand?: Visitor<contexts.ExplainCommandVisitorContext<Visitors, Data>, any, any>;
48
+ visitRowCommand?: Visitor<contexts.RowCommandVisitorContext<Visitors, Data>, any, any>;
49
+ visitTimeseriesCommand?: Visitor<contexts.TimeseriesCommandVisitorContext<Visitors, Data>, any, any>;
50
+ visitShowCommand?: Visitor<contexts.ShowCommandVisitorContext<Visitors, Data>, any, any>;
51
+ visitMetaCommand?: Visitor<contexts.MetaCommandVisitorContext<Visitors, Data>, any, any>;
52
+ visitEvalCommand?: Visitor<contexts.EvalCommandVisitorContext<Visitors, Data>, any, any>;
53
+ visitStatsCommand?: Visitor<contexts.StatsCommandVisitorContext<Visitors, Data>, any, any>;
54
+ visitInlineStatsCommand?: Visitor<contexts.InlineStatsCommandVisitorContext<Visitors, Data>, any, any>;
55
+ visitLookupCommand?: Visitor<contexts.LookupCommandVisitorContext<Visitors, Data>, any, any>;
56
+ visitKeepCommand?: Visitor<contexts.KeepCommandVisitorContext<Visitors, Data>, any, any>;
57
+ visitSortCommand?: Visitor<contexts.SortCommandVisitorContext<Visitors, Data>, any, any>;
58
+ visitWhereCommand?: Visitor<contexts.WhereCommandVisitorContext<Visitors, Data>, any, any>;
59
+ visitDropCommand?: Visitor<contexts.DropCommandVisitorContext<Visitors, Data>, any, any>;
60
+ visitRenameCommand?: Visitor<contexts.RenameCommandVisitorContext<Visitors, Data>, any, any>;
61
+ visitDissectCommand?: Visitor<contexts.DissectCommandVisitorContext<Visitors, Data>, any, any>;
62
+ visitGrokCommand?: Visitor<contexts.GrokCommandVisitorContext<Visitors, Data>, any, any>;
63
+ visitEnrichCommand?: Visitor<contexts.EnrichCommandVisitorContext<Visitors, Data>, any, any>;
64
+ visitMvExpandCommand?: Visitor<contexts.MvExpandCommandVisitorContext<Visitors, Data>, any, any>;
65
+ visitJoinCommand?: Visitor<contexts.JoinCommandVisitorContext<Visitors, Data>, any, any>;
66
+ visitRerankCommand?: Visitor<contexts.RerankCommandVisitorContext<Visitors, Data>, any, any>;
67
+ visitChangePointCommand?: Visitor<contexts.ChangePointCommandVisitorContext<Visitors, Data>, any, any>;
68
+ visitForkCommand?: Visitor<contexts.ForkCommandVisitorContext<Visitors, Data>, any, any>;
69
+ visitCompletionCommand?: Visitor<contexts.CompletionCommandVisitorContext<Visitors, Data>, any, any>;
70
+ visitSampleCommand?: Visitor<contexts.SampleCommandVisitorContext<Visitors, Data>, any, any>;
71
+ visitCommandOption?: Visitor<contexts.CommandOptionVisitorContext<Visitors, Data>, any, any>;
72
+ visitFuseCommand?: Visitor<contexts.FuseCommandVisitorContext<Visitors, Data>, any, any>;
73
+ visitMmrCommand?: Visitor<contexts.FuseCommandVisitorContext<Visitors, Data>, any, any>;
74
+ visitExpression?: Visitor<contexts.ExpressionVisitorContext<Visitors, Data>, any, any>;
75
+ visitSourceExpression?: Visitor<contexts.SourceExpressionVisitorContext<Visitors, Data>, any, any>;
76
+ visitColumnExpression?: Visitor<contexts.ColumnExpressionVisitorContext<Visitors, Data>, any, any>;
77
+ visitFunctionCallExpression?: Visitor<contexts.FunctionCallExpressionVisitorContext<Visitors, Data>, any, any>;
78
+ visitLiteralExpression?: Visitor<contexts.LiteralExpressionVisitorContext<Visitors, Data>, any, any>;
79
+ visitListLiteralExpression?: Visitor<contexts.ListLiteralExpressionVisitorContext<Visitors, Data>, any, any>;
80
+ visitInlineCastExpression?: Visitor<contexts.InlineCastExpressionVisitorContext<Visitors, Data>, any, any>;
81
+ visitOrderExpression?: Visitor<contexts.OrderExpressionVisitorContext<Visitors, Data>, any, any>;
82
+ visitIdentifierExpression?: Visitor<contexts.IdentifierExpressionVisitorContext<Visitors, Data>, any, any>;
83
+ visitMapExpression?: Visitor<contexts.MapExpressionVisitorContext<Visitors, Data>, any, any>;
84
+ visitMapEntryExpression?: Visitor<contexts.MapEntryExpressionVisitorContext<Visitors, Data>, any, any>;
85
+ visitParensExpression?: Visitor<contexts.ParensExpressionVisitorContext<Visitors, Data>, any, any>;
86
+ }
87
+ /**
88
+ * Maps any AST node to the corresponding visitor context.
89
+ */
90
+ export type AstNodeToVisitorName<Node extends VisitorAstNode> = Node extends ESQLAstQueryNode ? 'visitQuery' : Node extends ast.ESQLAstHeaderCommand ? 'visitHeaderCommand' : Node extends ast.ESQLCommand ? 'visitCommand' : Node extends ast.ESQLCommandOption ? 'visitCommandOption' : Node extends ast.ESQLSource ? 'visitSourceExpression' : Node extends ast.ESQLColumn ? 'visitColumnExpression' : Node extends ast.ESQLFunction ? 'visitFunctionCallExpression' : Node extends ast.ESQLLiteral ? 'visitLiteralExpression' : Node extends ast.ESQLList ? 'visitListLiteralExpression' : Node extends ast.ESQLInlineCast ? 'visitInlineCastExpression' : Node extends ast.ESQLIdentifier ? 'visitIdentifierExpression' : Node extends ast.ESQLMap ? 'visitMapExpression' : Node extends ast.ESQLMapEntry ? 'visitMapEntryExpression' : Node extends ast.ESQLParens ? 'visitParensExpression' : never;
91
+ /**
92
+ * Asserts that a type is a function.
93
+ */
94
+ export type EnsureFunction<T> = T extends (...args: any[]) => any ? T : never;
95
+ /**
96
+ * Converts `undefined` to `void`. This allows to make optional a function
97
+ * parameter or the return value.
98
+ */
99
+ export type UndefinedToVoid<T> = T extends undefined ? void : T;
100
+ /** Returns `Y` if `T` is `any`, or `N` otherwise. */
101
+ export type IfAny<T, Y, N> = 0 extends 1 & T ? Y : N;
102
+ /** Converts `any` type to `void`. */
103
+ export type AnyToVoid<T> = IfAny<T, void, T>;
104
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ast/visitor/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { PromQLAstNode } from '../../embedded_languages/promql/types';
2
+ import type { ESQLAstExpression, ESQLAstHeaderCommand, ESQLAstItem, ESQLCommand, ESQLProperNode, ESQLSingleAstItem } from '../../types';
3
+ /**
4
+ * Normalizes AST "item" list to only contain *single* items.
5
+ *
6
+ * @param items A list of single or nested items.
7
+ */
8
+ export declare function singleItems(items: Iterable<ESQLAstItem | ESQLAstExpression>): Iterable<ESQLAstExpression>;
9
+ /**
10
+ * Returns the first normalized "single item" from the "item" list.
11
+ *
12
+ * @param items Returns the first "single item" from the "item" list.
13
+ * @returns A "single item", if any.
14
+ */
15
+ export declare const firstItem: (items: ESQLAstItem[]) => ESQLAstExpression | undefined;
16
+ export declare const resolveItem: (items: ESQLAstItem | ESQLAstItem[]) => ESQLSingleAstItem;
17
+ /**
18
+ * Returns the last normalized "single item" from the "item" list.
19
+ *
20
+ * @param items Returns the last "single item" from the "item" list.
21
+ * @returns A "single item", if any.
22
+ */
23
+ export declare const lastItem: (items: ESQLAstItem[]) => ESQLSingleAstItem | undefined;
24
+ export declare function children(node: ESQLProperNode): Iterable<ESQLAstExpression | ESQLCommand | ESQLAstHeaderCommand>;
25
+ export declare function childrenOfAnyNode(node: ESQLProperNode | PromQLAstNode): Iterable<ESQLAstExpression | ESQLCommand | ESQLAstHeaderCommand | PromQLAstNode>;
26
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/ast/visitor/utils.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,cAAc,EACd,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAErB;;;;GAIG;AACH,wBAAiB,WAAW,CAC1B,KAAK,EAAE,QAAQ,CAAC,WAAW,GAAG,iBAAiB,CAAC,GAC/C,QAAQ,CAAC,iBAAiB,CAAC,CAQ7B;AAED;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,WAAW,EAAE,KAAG,iBAAiB,GAAG,SAIpE,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,WAAW,GAAG,WAAW,EAAE,KAAG,iBAEhE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,WAAW,EAAE,KAAG,iBAAiB,GAAG,SAKnE,CAAC;AAEF,wBAAiB,QAAQ,CACvB,IAAI,EAAE,cAAc,GACnB,QAAQ,CAAC,iBAAiB,GAAG,WAAW,GAAG,oBAAoB,CAAC,CAoClE;AAED,wBAAiB,iBAAiB,CAChC,IAAI,EAAE,cAAc,GAAG,aAAa,GACnC,QAAQ,CAAC,iBAAiB,GAAG,WAAW,GAAG,oBAAoB,GAAG,aAAa,CAAC,CAoClF"}
@@ -0,0 +1,79 @@
1
+ import type { SharedData } from './global_visitor_context';
2
+ import { GlobalVisitorContext } from './global_visitor_context';
3
+ import type { VisitorContext } from './contexts';
4
+ import type { AstNodeToVisitorName, EnsureFunction, ESQLAstExpressionNode, UndefinedToVoid, VisitorMethods } from './types';
5
+ import type { ESQLAstQueryExpression, ESQLCommand, ESQLProperNode } from '../../types';
6
+ export interface VisitorOptions<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> {
7
+ visitors?: Methods;
8
+ data?: Data;
9
+ }
10
+ export declare class Visitor<Methods extends VisitorMethods = VisitorMethods, Data extends SharedData = SharedData> {
11
+ protected readonly options: VisitorOptions<Methods, Data>;
12
+ /**
13
+ * Finds the most specific node immediately after the given position. If the
14
+ * position is inside a node, it will return the node itself. If no node is
15
+ * found, it returns `null`.
16
+ *
17
+ * @param ast ES|QL AST
18
+ * @param pos Offset position in the source text
19
+ * @returns The node at or after the given position
20
+ */
21
+ static readonly findNodeAtOrAfter: (ast: ESQLAstQueryExpression, pos: number) => ESQLProperNode | null;
22
+ /**
23
+ * Finds the most specific node immediately before the given position. If the
24
+ * position is inside a node, it will return the node itself. If no node is
25
+ * found, it returns `null`.
26
+ *
27
+ * @param ast ES|QL AST
28
+ * @param pos Offset position in the source text
29
+ * @returns The node at or before the given position
30
+ */
31
+ static readonly findNodeAtOrBefore: (ast: ESQLAstQueryExpression, pos: number) => ESQLProperNode | null;
32
+ readonly ctx: GlobalVisitorContext<Methods, Data>;
33
+ constructor(options?: VisitorOptions<Methods, Data>);
34
+ visitors<NewMethods extends VisitorMethods<Methods, Data>>(visitors: NewMethods): Visitor<Methods & NewMethods, Data>;
35
+ on<K extends keyof VisitorMethods<Methods, Data>, F extends VisitorMethods<Methods, Data>[K]>(visitor: K, fn: F): Visitor<Methods & {
36
+ [KK in K]: F;
37
+ }, Data>;
38
+ /**
39
+ * Traverse any AST node given any visitor context.
40
+ *
41
+ * @param node AST node to traverse.
42
+ * @param ctx Traversal context.
43
+ * @returns Result of the visitor callback.
44
+ */
45
+ visit<Ctx extends VisitorContext<Methods, Data>>(ctx: Ctx, input: UndefinedToVoid<Parameters<NonNullable<Methods[AstNodeToVisitorName<Ctx['node']>]>>[1]>): ReturnType<EnsureFunction<Methods[AstNodeToVisitorName<Ctx['node']>]>>;
46
+ /**
47
+ * Traverse the root node of ES|QL query with default context.
48
+ *
49
+ * @param node Query node to traverse.
50
+ * @param input Input to pass to the first visitor.
51
+ * @returns The result of the query visitor.
52
+ */
53
+ visitQuery(nodeOrCommands: ESQLAstQueryExpression | ESQLAstQueryExpression['commands'], input: UndefinedToVoid<Parameters<NonNullable<Methods['visitQuery']>>[1]>): ReturnType<EnsureFunction<Methods["visitQuery"]>>;
54
+ /**
55
+ * Traverse starting from known command node with default context.
56
+ *
57
+ * @param node Command node to traverse.
58
+ * @param input Input to pass to the first visitor.
59
+ * @returns The output of the visitor.
60
+ */
61
+ visitCommand(node: ESQLCommand, input: UndefinedToVoid<Parameters<NonNullable<Methods['visitCommand']>>[1]>): import("./types").CommandVisitorOutput<Methods>;
62
+ /**
63
+ * Traverse starting from known header command node with default context.
64
+ *
65
+ * @param node Header command node to traverse.
66
+ * @param input Input to pass to the first visitor.
67
+ * @returns The output of the visitor.
68
+ */
69
+ visitHeaderCommand(node: import('../../types').ESQLAstHeaderCommand, input: UndefinedToVoid<Parameters<NonNullable<Methods['visitHeaderCommand']>>[1]>): ReturnType<EnsureFunction<NonNullable<Methods["visitHeaderCommand"]>>>;
70
+ /**
71
+ * Traverse starting from known expression node with default context.
72
+ *
73
+ * @param node Expression node to traverse.
74
+ * @param input Input to pass to the first visitor.
75
+ * @returns The output of the visitor.
76
+ */
77
+ visitExpression(node: ESQLAstExpressionNode, input: UndefinedToVoid<Parameters<NonNullable<Methods['visitExpression']>>[1]>): import("./types").ExpressionVisitorOutput<Methods>;
78
+ }
79
+ //# sourceMappingURL=visitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visitor.d.ts","sourceRoot":"","sources":["../../../src/ast/visitor/visitor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { PromQLAstNode } from '../../embedded_languages/promql/types';
2
+ import type { ESQLAstCommand, ESQLAstQueryExpression, ESQLColumn, ESQLCommandOption, ESQLFunction, ESQLIdentifier, ESQLInlineCast, ESQLList, ESQLLiteral, ESQLOrderExpression, ESQLProperNode, ESQLSource, ESQLUnknownItem } from '../../types';
3
+ export type NodeMatchKeys = keyof ESQLAstCommand | keyof ESQLAstQueryExpression | keyof ESQLFunction | keyof ESQLCommandOption | keyof ESQLSource | keyof ESQLColumn | keyof ESQLList | keyof ESQLLiteral | keyof ESQLIdentifier | keyof ESQLInlineCast | keyof ESQLOrderExpression | keyof ESQLUnknownItem;
4
+ export type NodeMatchTemplateKey<V> = V | V[] | RegExp;
5
+ export type NodeMatchTemplate = {
6
+ [K in NodeMatchKeys]?: K extends keyof ESQLProperNode ? NodeMatchTemplateKey<ESQLProperNode[K]> : NodeMatchTemplateKey<unknown>;
7
+ };
8
+ /**
9
+ * Creates a predicate function which matches a single AST node against a
10
+ * template object. The template object should have the same keys as the
11
+ * AST node, and the values should be:
12
+ *
13
+ * - An array matches if the node key is in the array.
14
+ * - A RegExp matches if the node key matches the RegExp.
15
+ * - Any other value matches if the node key is triple-equal to the value.
16
+ *
17
+ * @param template Template from which to create a predicate function.
18
+ * @returns A predicate function that matches nodes against the template.
19
+ */
20
+ export declare const templateToPredicate: (template: NodeMatchTemplate) => ((node: ESQLProperNode) => boolean);
21
+ export declare const replaceProperties: (obj: object, replacement: object) => void;
22
+ export declare const isPromqlNode: (node: unknown) => node is PromQLAstNode;
23
+ //# sourceMappingURL=helpers.d.ts.map