Packages
caffeine_lang
4.4.3
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@linker@artifacts.erl
-module(caffeine_lang@linker@artifacts).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/caffeine_lang/linker/artifacts.gleam").
-export([params_to_types/1, artifact_type_to_string/1, parse_artifact_type/1, parse_relation_type/1, relation_type_to_string/1]).
-export_type([param_info/0, artifact/0, artifact_type/0, dependency_relation_type/0]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
-type param_info() :: {param_info,
caffeine_lang@types:accepted_types(),
binary()}.
-type artifact() :: {artifact,
artifact_type(),
binary(),
gleam@dict:dict(binary(), param_info())}.
-type artifact_type() :: s_l_o | dependency_relations.
-type dependency_relation_type() :: hard | soft.
-file("src/caffeine_lang/linker/artifacts.gleam", 27).
?DOC(false).
-spec params_to_types(gleam@dict:dict(binary(), param_info())) -> gleam@dict:dict(binary(), caffeine_lang@types:accepted_types()).
params_to_types(Params) ->
_pipe = Params,
gleam@dict:map_values(
_pipe,
fun(_, Param_info) -> erlang:element(2, Param_info) end
).
-file("src/caffeine_lang/linker/artifacts.gleam", 36).
?DOC(false).
-spec artifact_type_to_string(artifact_type()) -> binary().
artifact_type_to_string(Type_) ->
case Type_ of
s_l_o ->
<<"SLO"/utf8>>;
dependency_relations ->
<<"DependencyRelations"/utf8>>
end.
-file("src/caffeine_lang/linker/artifacts.gleam", 45).
?DOC(false).
-spec parse_artifact_type(binary()) -> {ok, artifact_type()} | {error, nil}.
parse_artifact_type(Raw) ->
case Raw of
<<"SLO"/utf8>> ->
{ok, s_l_o};
<<"DependencyRelations"/utf8>> ->
{ok, dependency_relations};
_ ->
{error, nil}
end.
-file("src/caffeine_lang/linker/artifacts.gleam", 63).
?DOC(false).
-spec parse_relation_type(binary()) -> {ok, dependency_relation_type()} |
{error, nil}.
parse_relation_type(S) ->
case S of
<<"hard"/utf8>> ->
{ok, hard};
<<"soft"/utf8>> ->
{ok, soft};
_ ->
{error, nil}
end.
-file("src/caffeine_lang/linker/artifacts.gleam", 73).
?DOC(false).
-spec relation_type_to_string(dependency_relation_type()) -> binary().
relation_type_to_string(Rt) ->
case Rt of
hard ->
<<"hard"/utf8>>;
soft ->
<<"soft"/utf8>>
end.