-module(internal@metric). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([new_name/1, name_to_string/1]). -export_type([metric_error/0, metric_name/0, metric/2]). -type metric_error() :: invalid_metric_name. -opaque metric_name() :: {metric_name, binary()}. -type metric(GLZ, GMA) :: {metric, binary(), gleam@dict:dict(internal@label:label_set(), GMA)} | {gleam_phantom, GLZ}. -file("/git/Themis/src/internal/metric.gleam", 25). -spec new_name(binary()) -> {ok, metric_name()} | {error, metric_error()}. new_name(From) -> case internal@prometheus:is_valid_name(From) of false -> {error, invalid_metric_name}; true -> {ok, {metric_name, From}} end. -file("/git/Themis/src/internal/metric.gleam", 32). -spec name_to_string(metric_name()) -> binary(). name_to_string(From) -> erlang:element(2, From).