Packages
caffeine_lang
0.0.14
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@phase_1@parser@instantiation@unresolved_team_instantiation.erl
-module(caffeine_lang@phase_1@parser@instantiation@unresolved_team_instantiation).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/caffeine_lang/phase_1/parser/instantiation/unresolved_team_instantiation.gleam").
-export([parse_slos_instantiation/2, parse_unresolved_team_instantiation/1]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
-file("src/caffeine_lang/phase_1/parser/instantiation/unresolved_team_instantiation.gleam", 35).
?DOC(" Parses a single SLO.\n").
-spec parse_slo(glaml:node_(), gleam@dict:dict(binary(), binary())) -> {ok,
caffeine_lang@types@unresolved@unresolved_slo:slo()} |
{error, binary()}.
parse_slo(Slo, Params) ->
gleam@result:'try'(
caffeine_lang@phase_1@parser@utils@glaml_helpers:extract_string_from_node(
Slo,
<<"name"/utf8>>
),
fun(Name) ->
gleam@result:'try'(
caffeine_lang@phase_1@parser@utils@glaml_helpers:extract_string_from_node(
Slo,
<<"sli_type"/utf8>>
),
fun(Sli_type) ->
gleam@result:'try'(
caffeine_lang@phase_1@parser@utils@glaml_helpers:extract_dict_strings_from_node(
Slo,
<<"typed_instatiation_of_query_templatized_variables"/utf8>>
),
fun(Typed_instatiation_of_query_templatized_variables) ->
gleam@result:'try'(
caffeine_lang@phase_1@parser@utils@glaml_helpers:extract_float_from_node(
Slo,
<<"threshold"/utf8>>
),
fun(Threshold) ->
gleam@result:'try'(
caffeine_lang@phase_1@parser@utils@glaml_helpers:extract_int_from_node(
Slo,
<<"window_in_days"/utf8>>
),
fun(Window_in_days) ->
Service_name@1 = case gleam_stdlib:map_get(
Params,
<<"service_name"/utf8>>
) of
{ok, Service_name} -> Service_name;
_assert_fail ->
erlang:error(
#{gleam_error => let_assert,
message => <<"Pattern match failed, no pattern matched the value."/utf8>>,
file => <<?FILEPATH/utf8>>,
module => <<"caffeine_lang/phase_1/parser/instantiation/unresolved_team_instantiation"/utf8>>,
function => <<"parse_slo"/utf8>>,
line => 59,
value => _assert_fail,
start => 1920,
'end' => 1982,
pattern_start => 1931,
pattern_end => 1947}
)
end,
{ok,
{slo,
Name,
Typed_instatiation_of_query_templatized_variables,
Threshold,
Sli_type,
Service_name@1,
Window_in_days}}
end
)
end
)
end
)
end
)
end
).
-file("src/caffeine_lang/phase_1/parser/instantiation/unresolved_team_instantiation.gleam", 26).
-spec parse_slos_instantiation(binary(), gleam@dict:dict(binary(), binary())) -> {ok,
list(caffeine_lang@types@unresolved@unresolved_slo:slo())} |
{error, binary()}.
parse_slos_instantiation(File_path, Params) ->
caffeine_lang@phase_1@parser@utils@glaml_helpers:parse_specification(
File_path,
Params,
fun parse_slo/2,
<<"slos"/utf8>>
).
-file("src/caffeine_lang/phase_1/parser/instantiation/unresolved_team_instantiation.gleam", 13).
?DOC(
" Parses an instantiation from a YAML file. This is a single team with at least one slo.\n"
" Note that within a configutation repository, there can be multiple instantiations for\n"
" the same team and even the same service. Logic for this lives within the linking code.\n"
).
-spec parse_unresolved_team_instantiation(binary()) -> {ok,
caffeine_lang@types@unresolved@unresolved_team:team()} |
{error, binary()}.
parse_unresolved_team_instantiation(File_path) ->
gleam@result:'try'(
caffeine_lang@phase_1@parser@utils@general_common:extract_params_from_file_path(
File_path
),
fun(Params) ->
Team_name@1 = case gleam_stdlib:map_get(
Params,
<<"team_name"/utf8>>
) of
{ok, Team_name} -> Team_name;
_assert_fail ->
erlang:error(#{gleam_error => let_assert,
message => <<"Pattern match failed, no pattern matched the value."/utf8>>,
file => <<?FILEPATH/utf8>>,
module => <<"caffeine_lang/phase_1/parser/instantiation/unresolved_team_instantiation"/utf8>>,
function => <<"parse_unresolved_team_instantiation"/utf8>>,
line => 19,
value => _assert_fail,
start => 768,
'end' => 824,
pattern_start => 779,
pattern_end => 792})
end,
gleam@result:'try'(
parse_slos_instantiation(File_path, Params),
fun(Slos) -> {ok, {team, Team_name@1, Slos}} end
)
end
).