Packages
caffeine_lang
0.0.21
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@resolver.erl
-module(caffeine_lang@cql@resolver).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/caffeine_lang/cql/resolver.gleam").
-export([resolve_primitives/1]).
-export_type([primitives/0]).
-type primitives() :: {good_over_total,
caffeine_lang@cql@parser:exp(),
caffeine_lang@cql@parser:exp()}.
-file("src/caffeine_lang/cql/resolver.gleam", 18).
-spec find_division_in_exp(caffeine_lang@cql@parser:exp()) -> {ok, primitives()} |
{error, binary()}.
find_division_in_exp(Exp) ->
case Exp of
{operator_expr, Left, {operator_expr, Num, Denom, 'div'}, _} ->
{ok, {good_over_total, {operator_expr, Left, Num, add}, Denom}};
{operator_expr, Left@1, Right, 'div'} ->
{ok, {good_over_total, Left@1, Right}};
_ ->
{error, <<"Invalid expression"/utf8>>}
end.
-file("src/caffeine_lang/cql/resolver.gleam", 10).
-spec resolve_primitives(caffeine_lang@cql@parser:exp_container()) -> {ok,
primitives()} |
{error, binary()}.
resolve_primitives(Exp_container) ->
case Exp_container of
{exp_container, Exp} ->
find_division_in_exp(Exp)
end.