Packages

A Gleam library to write and run Home Assistant automations.

Current section

Files

Jump to
glome src glome@core@loops.erl
Raw

src/glome@core@loops.erl

-module(glome@core@loops).
-compile(no_auto_import).
-export([start_state_change_event_publisher/1, start_state_change_event_receiver/1]).
-spec start_state_change_event_publisher(
fun(() -> {ok, nil} | {error, glome@core@error:glome_error()})
) -> nil.
start_state_change_event_publisher(Loop) ->
_@1 = begin
_pipe = Loop(),
gleam@result:map_error(_pipe, fun(Error) -> case Error of
loop_nil ->
nil;
Other ->
gleam@io:println(<<""/utf8>>),
gleam@io:println(
<<"### Error in publisher loop ###"/utf8>>
),
gleam@io:println(<<""/utf8>>),
gleam@io:debug(Other),
gleam@io:println(<<""/utf8>>),
gleam@io:println(
<<"### Error in publisher loop ###"/utf8>>
),
nil
end end)
end,
start_state_change_event_publisher(Loop).
-spec start_state_change_event_receiver(
fun(() -> {ok, nil} | {error, glome@core@error:glome_error()})
) -> nil.
start_state_change_event_receiver(Loop) ->
_@1 = begin
_pipe = Loop(),
gleam@result:map_error(_pipe, fun(Error) -> case Error of
loop_nil ->
nil;
Other ->
gleam@io:println(
<<"### Error in receiver loop ###"/utf8>>
),
gleam@io:debug(Other),
nil
end end)
end,
start_state_change_event_receiver(Loop).