Packages
caffeine_lang
0.0.8
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_lang@cql@generator.erl
-module(caffeine_lang@cql@generator).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/caffeine_lang/cql/generator.gleam").
-export([operator_to_datadog_query/1, denominator_exp_to_datadog_query/1, numerator_exp_to_datadog_query/1, operator_expr_to_datadog_query/3, generate_datadog_query/1, primary_to_datadog_query/1]).
-file("src/caffeine_lang/cql/generator.gleam", 53).
-spec operator_to_datadog_query(caffeine_lang@cql@parser:operator()) -> binary().
operator_to_datadog_query(Operator) ->
case Operator of
add ->
<<"+"/utf8>>;
sub ->
<<"-"/utf8>>;
mul ->
<<"*"/utf8>>;
'div' ->
<<"/"/utf8>>
end.
-file("src/caffeine_lang/cql/generator.gleam", 30).
-spec denominator_exp_to_datadog_query(caffeine_lang@cql@parser:exp()) -> binary().
denominator_exp_to_datadog_query(Exp) ->
numerator_exp_to_datadog_query(Exp).
-file("src/caffeine_lang/cql/generator.gleam", 22).
-spec numerator_exp_to_datadog_query(caffeine_lang@cql@parser:exp()) -> binary().
numerator_exp_to_datadog_query(Exp) ->
case Exp of
{primary, Primary} ->
primary_to_datadog_query(Primary);
{operator_expr, Numerator, Denominator, Operator} ->
operator_expr_to_datadog_query(Numerator, Denominator, Operator)
end.
-file("src/caffeine_lang/cql/generator.gleam", 41).
-spec operator_expr_to_datadog_query(
caffeine_lang@cql@parser:exp(),
caffeine_lang@cql@parser:exp(),
caffeine_lang@cql@parser:operator()
) -> binary().
operator_expr_to_datadog_query(Numerator, Denominator, Operator) ->
<<<<<<<<(numerator_exp_to_datadog_query(Numerator))/binary, " "/utf8>>/binary,
(operator_to_datadog_query(Operator))/binary>>/binary,
" "/utf8>>/binary,
(denominator_exp_to_datadog_query(Denominator))/binary>>.
-file("src/caffeine_lang/cql/generator.gleam", 7).
-spec generate_datadog_query(caffeine_lang@cql@resolver:primitives()) -> binary().
generate_datadog_query(Primitive) ->
case Primitive of
{good_over_total, Numerator, Denominator} ->
<<<<<<<<<<<<<<"query {\n"/utf8, " numerator = \""/utf8>>/binary,
(numerator_exp_to_datadog_query(Numerator))/binary>>/binary,
"\"\n"/utf8>>/binary,
" denominator = \""/utf8>>/binary,
(denominator_exp_to_datadog_query(Denominator))/binary>>/binary,
"\"\n"/utf8>>/binary,
" }\n"/utf8>>
end.
-file("src/caffeine_lang/cql/generator.gleam", 34).
-spec primary_to_datadog_query(caffeine_lang@cql@parser:primary()) -> binary().
primary_to_datadog_query(Primary) ->
case Primary of
{primary_word, Word} ->
erlang:element(2, Word);
{primary_exp, Exp} ->
numerator_exp_to_datadog_query(Exp)
end.