Packages
caffeine_lang
4.4.0
6.3.1
6.3.0
6.2.2
6.2.1
6.2.0
6.1.2
6.1.1
6.1.0
6.0.0
5.6.0
5.5.0
5.4.4
5.4.3
5.4.2
5.4.1
5.4.0
5.3.0
5.2.0
5.1.1
5.1.0
5.0.12
5.0.11
5.0.10
5.0.8
5.0.7
5.0.6
5.0.5
5.0.4
5.0.1
5.0.0
4.10.0
4.9.0
4.8.3
4.8.2
4.8.1
4.8.0
4.7.9
4.7.8
4.7.7
4.7.6
4.7.5
4.6.7
4.6.6
4.6.5
4.6.4
4.6.3
4.6.2
4.6.0
4.5.1
4.5.0
4.4.4
4.4.3
4.4.1
4.4.0
4.3.7
4.3.6
3.0.6
3.0.5
3.0.4
3.0.3
3.0.2
3.0.1
3.0.0
2.0.5
2.0.4
2.0.3
2.0.2
2.0.1
2.0.0
1.0.2
1.0.1
0.1.0
0.0.24
0.0.23
0.0.22
0.0.21
0.0.20
0.0.19
0.0.18
0.0.17
0.0.16
0.0.15
0.0.14
0.0.13
0.0.12
0.0.11
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6
0.0.5
0.0.4
0.0.2
0.0.1
A compiler for generating reliability artifacts from service expectation definitions.
Current section
Files
Jump to
Current section
Files
src/caffeine_query_language/ast.gleam
/// Arithmetic operators supported in CQL expressions.
pub type Operator {
Add
Sub
Mul
Div
}
/// Comparators for time slice expressions.
pub type Comparator {
LessThan
LessThanOrEqualTo
GreaterThan
GreaterThanOrEqualTo
}
/// Time slice specification containing query, comparator, threshold, and interval.
pub type TimeSliceExp {
TimeSliceExp(
query: String,
comparator: Comparator,
threshold: Float,
interval_seconds: Float,
)
}
/// An expression in the CQL AST, either an operator expression or a primary.
pub type Exp {
TimeSliceExpr(spec: TimeSliceExp)
OperatorExpr(numerator: Exp, denominator: Exp, operator: Operator)
Primary(primary: Primary)
}
/// A primary expression, either a word (identifier) or a parenthesized expression.
pub type Primary {
PrimaryWord(word: Word)
PrimaryExp(exp: Exp)
}
/// A word (identifier) in the expression.
pub type Word {
Word(value: String)
}