Packages
caffeine_lang
0.0.10
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@utils@general_common.erl
-module(caffeine_lang@phase_1@parser@utils@general_common).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/caffeine_lang/phase_1/parser/utils/general_common.gleam").
-export([string_to_accepted_type/1, extract_params_from_file_path/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/utils/general_common.gleam", 10).
?DOC(" Converts a string to an accepted type.\n").
-spec string_to_accepted_type(binary()) -> {ok,
caffeine_lang@types@common@accepted_types:accepted_types()} |
{error, binary()}.
string_to_accepted_type(String) ->
case String of
<<"Boolean"/utf8>> ->
{ok, boolean};
<<"Decimal"/utf8>> ->
{ok, decimal};
<<"Integer"/utf8>> ->
{ok, integer};
<<"String"/utf8>> ->
{ok, string};
<<"List(String)"/utf8>> ->
{ok, {list, string}};
_ ->
{error, <<"Unknown attribute type: "/utf8, String/binary>>}
end.
-file("src/caffeine_lang/phase_1/parser/utils/general_common.gleam", 22).
?DOC(" Extracts team and service name parameters from the file path.\n").
-spec extract_params_from_file_path(binary()) -> {ok,
gleam@dict:dict(binary(), binary())} |
{error, binary()}.
extract_params_from_file_path(File_path) ->
gleam@result:'try'(
case begin
_pipe = File_path,
_pipe@1 = gleam@string:split(_pipe, <<"/"/utf8>>),
lists:reverse(_pipe@1)
end of
[File, Team | _] ->
{ok,
{Team,
gleam@string:replace(
File,
<<".yaml"/utf8>>,
<<""/utf8>>
)}};
_ ->
{error,
<<"Invalid file path: expected at least 'team/service.yaml'"/utf8>>}
end,
fun(_use0) ->
{Team_name, Service_name} = _use0,
Params = maps:from_list(
[{<<"team_name"/utf8>>, Team_name},
{<<"service_name"/utf8>>, Service_name}]
),
{ok, Params}
end
).