diff --git a/.tool-versions b/.tool-versions index f7487cb..e223891 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ -elixir 1.19.5-otp-28 -erlang 28.4.1 +elixir 1.20.4-otp-29 +erlang 29.1.2 diff --git a/lib/live_sync.ex b/lib/live_sync.ex index a389d98..dc31b54 100644 --- a/lib/live_sync.ex +++ b/lib/live_sync.ex @@ -172,12 +172,8 @@ defmodule LiveSync do quote do on_mount({LiveSync, unquote(opts)}) - def sync(key, value, socket), do: assign(socket, key, value) - def sync(key, value, _operations, socket), do: sync(key, value, socket) - + # the fallbacks go last so they catch whatever the LiveView's own clauses don't @before_compile {LiveSync, :add_sync_fallback} - - defoverridable sync: 3, sync: 4 end end @@ -205,7 +201,7 @@ defmodule LiveSync do end def opts(module) do - LiveSync.Watch.impl_for(struct(module)).opts() + LiveSync.Watch.impl_for!(struct(module)).opts() end @doc """ @@ -228,7 +224,6 @@ defmodule LiveSync do 2 """ def subscription_key(struct) do - impl = LiveSync.Watch.impl_for(struct) - impl.subscription_key(struct) + LiveSync.Watch.impl_for!(struct).subscription_key(struct) end end diff --git a/mix.exs b/mix.exs index 1af102e..901d72e 100644 --- a/mix.exs +++ b/mix.exs @@ -4,7 +4,7 @@ defmodule LiveSync.MixProject do def project do [ app: :live_sync, - version: "0.1.12", + version: "0.1.13", elixir: "~> 1.17", elixirc_paths: elixirc_paths(Mix.env()), start_permanent: Mix.env() == :prod,