Expand description
EventQL parser library for parsing event sourcing query language.
This library provides a complete lexer and parser for EventQL (EQL), a query language designed for event sourcing systems. It allows you to parse EQL query strings into an abstract syntax tree (AST) that can be analyzed or executed.
Modules§
- prelude
- Convenience module that re-exports all public types and functions.
Structs§
- Access
- Field access expression (e.g.,
e.data.price). - App
- Function application (e.g.,
sum(e.price),count()). - Attrs
- Attributes attached to each expression node.
- Binary
- Binary operation (e.g.,
a + b,x == y,p AND q). - Binding
- A source binding. A name attached to a source of events.
- Expr
- An expression with metadata.
- Field
- A field in a record literal (e.g.,
{name: "Alice", age: 30}). - FunArgs
- Represents function argument types with optional parameter support.
- GroupBy
- GROUP BY clause specification
- OrderBy
- ORDER BY clause specification.
- Pos
- Position information for source code locations.
- Query
- A complete EventQL query.
- Raw
- Represents the state of a query that only has a valid syntax. There are no guarantee that all the variables exists or that the query is sound. For example, if the user is asking for an event that has field that should be a string or a number at the same time.
- Source
- A data source in a FROM clause.
- Unary
- Unary operation (e.g.,
-x,NOT active).
Enums§
- Limit
- Result set limit specification.
- Order
- Sort order direction.
- Source
Kind - The kind of data source.
- Type
- Type information for expressions.
- Value
- The kind of value an expression represents.
Functions§
- parse_
query - Parse an EventQL query string into an abstract syntax tree.