Current section
Files
Jump to
Current section
Files
src/internal@prometheus.erl
-module(internal@prometheus).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([print/1, is_valid_name/1, is_valid_label/1]).
-export_type([number_/0]).
-type number_() :: pos_inf | neg_inf | na_n | {dec, float()} | {int, integer()}.
-file("/git/Themis/src/internal/prometheus.gleam", 33).
-spec print(number_()) -> binary().
print(Number) ->
case Number of
{dec, Val} ->
gleam_stdlib:float_to_string(Val);
{int, Val@1} ->
erlang:integer_to_binary(Val@1);
na_n ->
<<"NaN"/utf8>>;
neg_inf ->
<<"-Inf"/utf8>>;
pos_inf ->
<<"+Inf"/utf8>>
end.
-file("/git/Themis/src/internal/prometheus.gleam", 17).
-spec is_valid_name(binary()) -> boolean().
is_valid_name(Name) ->
_assert_subject = begin
_pipe = <<"^[a-zA-Z][a-zA-Z0-9_:]*$"/utf8>>,
gleam@regexp:from_string(_pipe)
end,
{ok, Reg} = case _assert_subject of
{ok, _} -> _assert_subject;
_assert_fail ->
erlang:error(#{gleam_error => let_assert,
message => <<"Pattern match failed, no pattern matched the value."/utf8>>,
value => _assert_fail,
module => <<"internal/prometheus"/utf8>>,
function => <<"is_valid_name"/utf8>>,
line => 18})
end,
_pipe@1 = Reg,
gleam@regexp:check(_pipe@1, Name).
-file("/git/Themis/src/internal/prometheus.gleam", 25).
-spec is_valid_label(binary()) -> boolean().
is_valid_label(Label) ->
_assert_subject = begin
_pipe = <<"^[a-zA-Z][a-zA-Z0-9_]*$"/utf8>>,
gleam@regexp:from_string(_pipe)
end,
{ok, Reg} = case _assert_subject of
{ok, _} -> _assert_subject;
_assert_fail ->
erlang:error(#{gleam_error => let_assert,
message => <<"Pattern match failed, no pattern matched the value."/utf8>>,
value => _assert_fail,
module => <<"internal/prometheus"/utf8>>,
function => <<"is_valid_label"/utf8>>,
line => 26})
end,
_pipe@1 = Reg,
gleam@regexp:check(_pipe@1, Label).