Packages
caffeine_lang
5.4.1
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@analysis@vendor.erl
-module(caffeine_lang@analysis@vendor).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/caffeine_lang/analysis/vendor.gleam").
-export([resolve_vendor/1, resolve_vendor_from_path/1, vendor_to_string/1]).
-export_type([vendor/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 vendor() :: datadog.
-file("src/caffeine_lang/analysis/vendor.gleam", 19).
?DOC(false).
-spec resolve_vendor(binary()) -> {ok, vendor()} | {error, nil}.
resolve_vendor(Vendor_str) ->
case Vendor_str of
V when V =:= <<"datadog"/utf8>> ->
{ok, datadog};
_ ->
{error, nil}
end.
-file("src/caffeine_lang/analysis/vendor.gleam", 44).
?DOC(" Extracts the filename stem from a path (basename without extension).\n").
-spec extract_stem(binary()) -> binary().
extract_stem(Path) ->
Base = case gleam@string:split(Path, <<"/"/utf8>>) of
[] ->
Path;
Parts ->
Last@1 = case gleam@list:last(Parts) of
{ok, Last} -> Last;
_assert_fail ->
erlang:error(#{gleam_error => let_assert,
message => <<"Pattern match failed, no pattern matched the value."/utf8>>,
file => <<?FILEPATH/utf8>>,
module => <<"caffeine_lang/analysis/vendor"/utf8>>,
function => <<"extract_stem"/utf8>>,
line => 48,
value => _assert_fail,
start => 1414,
'end' => 1452,
pattern_start => 1425,
pattern_end => 1433})
end,
Last@1
end,
case gleam@string:split(Base, <<"."/utf8>>) of
[Stem | _] ->
Stem;
[] ->
Base
end.
-file("src/caffeine_lang/analysis/vendor.gleam", 29).
?DOC(false).
-spec resolve_vendor_from_path(binary()) -> {ok, vendor()} | {error, nil}.
resolve_vendor_from_path(Path) ->
_pipe = Path,
_pipe@1 = extract_stem(_pipe),
resolve_vendor(_pipe@1).
-file("src/caffeine_lang/analysis/vendor.gleam", 37).
?DOC(false).
-spec vendor_to_string(vendor()) -> binary().
vendor_to_string(V) ->
case V of
datadog ->
<<"datadog"/utf8>>
end.