-module(lustre_dev_tools@server@live_reload). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([inject/1, start/2]). -export_type([watcher_msg/0, socket_msg/0, live_reloading_error/0, event/0]). -type watcher_msg() :: {add, gleam@erlang@process:subject(socket_msg())} | {remove, gleam@erlang@process:subject(socket_msg())} | broadcast | {unknown, gleam@dynamic:dynamic_()}. -type socket_msg() :: reload_msg | {error_msg, binary()}. -type live_reloading_error() :: no_file_watcher_supported_for_os | {no_file_watcher_installed, gleam@dynamic:dynamic_()}. -type event() :: created | modified | deleted. -spec inject(binary()) -> binary(). inject(Html) -> _assert_subject = gleam_erlang_ffi:priv_directory( <<"novdom_dev_tools"/utf8>> ), {ok, Priv} = case _assert_subject of {ok, _} -> _assert_subject; _assert_fail -> erlang:error(#{gleam_error => let_assert, message => <<"Assertion pattern match failed"/utf8>>, value => _assert_fail, module => <<"lustre_dev_tools/server/live_reload"/utf8>>, function => <<"inject"/utf8>>, line => 70}) end, _assert_subject@1 = simplifile:read( <> ), {ok, Source} = case _assert_subject@1 of {ok, _} -> _assert_subject@1; _assert_fail@1 -> erlang:error(#{gleam_error => let_assert, message => <<"Assertion pattern match failed"/utf8>>, value => _assert_fail@1, module => <<"lustre_dev_tools/server/live_reload"/utf8>>, function => <<"inject"/utf8>>, line => 71}) end, Script = <<<<""/utf8>>, _pipe = Html, gleam@string:replace( _pipe, <<""/utf8>>, <