Current section

Files

Jump to
caffeine_lang src caffeine_lang@linker@slo_params.erl
Raw

src/caffeine_lang@linker@slo_params.erl

-module(caffeine_lang@linker@slo_params).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/caffeine_lang/linker/slo_params.gleam").
-export([params_to_types/1, unmeasured_param_types/1]).
-export_type([param_info/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()}.
-file("src/caffeine_lang/linker/slo_params.gleam", 14).
?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/slo_params.gleam", 30).
?DOC(false).
-spec unmeasured_param_types(gleam@dict:dict(binary(), param_info())) -> gleam@dict:dict(binary(), caffeine_lang@types:accepted_types()).
unmeasured_param_types(Slo_params) ->
Allowed = gleam@set:from_list(
[<<"threshold"/utf8>>,
<<"window_in_days"/utf8>>,
<<"depends_on"/utf8>>,
<<"below_ms"/utf8>>]
),
_pipe = Slo_params,
_pipe@1 = gleam@dict:filter(
_pipe,
fun(Key, _) -> gleam@set:contains(Allowed, Key) end
),
params_to_types(_pipe@1).