Current section
Files
Jump to
Current section
Files
src/utils.erl
-module(utils).
-compile([no_auto_import, nowarn_unused_vars]).
-export([attempt/3, replace_with_regex/3, generate_regex/1]).
-spec attempt(
{ok, HER} | {error, any()},
binary(),
fun((HER) -> {ok, HEV} | {error, binary()})
) -> {ok, HEV} | {error, binary()}.
attempt(Result, Default_error, Fun) ->
gleam@result:'try'(
begin
_pipe = Result,
gleam@result:replace_error(_pipe, Default_error)
end,
Fun
).
-spec replace_with_regex(binary(), gleam@regex:regex(), binary()) -> binary().
replace_with_regex(String, Pattern, Substitute) ->
_pipe = String,
_pipe@1 = gleam@string_builder:from_string(_pipe),
_pipe@2 = erlang_helpers:regex_replace(
_pipe@1,
Pattern,
gleam@string_builder:from_string(Substitute)
),
gleam@string_builder:to_string(_pipe@2).
-spec generate_regex(binary()) -> {ok, gleam@regex:regex()} | {error, binary()}.
generate_regex(Pattern) ->
Re = gleam@regex:from_string(Pattern),
case Re of
{ok, Regex} ->
{ok, Regex};
{error, {compile_error, Error, _}} ->
{error, Error}
end.