@@ -20,7 +20,7 @@ defmodule Phoenix.LiveView.LiveStream do
2020 "stream :dom_id must return a function which accepts each item, got: #{ inspect ( dom_id ) } "
2121 end
2222
23- items_list = for item <- items , do: { dom_id . ( item ) , - 1 , item , opts [ :limit ] }
23+ items_list = for item <- items , do: { dom_id . ( item ) , - 1 , item , opts [ :limit ] , opts [ :update_only ] }
2424
2525 % LiveStream {
2626 ref: ref ,
@@ -58,10 +58,10 @@ defmodule Phoenix.LiveView.LiveStream do
5858 % { stream | deletes: [ dom_id | stream . deletes ] }
5959 end
6060
61- def insert_item ( % LiveStream { } = stream , item , at , limit ) do
61+ def insert_item ( % LiveStream { } = stream , item , at , limit , update_only ) do
6262 item_id = stream . dom_id . ( item )
6363
64- % { stream | inserts: stream . inserts ++ [ { item_id , at , item , limit } ] }
64+ % { stream | inserts: stream . inserts ++ [ { item_id , at , item , limit , update_only } ] }
6565 end
6666
6767 defimpl Enumerable , for: LiveStream do
@@ -86,7 +86,7 @@ defmodule Phoenix.LiveView.LiveStream do
8686 defp do_reduce ( list , { :suspend , acc } , fun ) , do: { :suspended , acc , & do_reduce ( list , & 1 , fun ) }
8787 defp do_reduce ( [ ] , { :cont , acc } , _fun ) , do: { :done , acc }
8888
89- defp do_reduce ( [ { dom_id , _at , item , _limit } | tail ] , { :cont , acc } , fun ) do
89+ defp do_reduce ( [ { dom_id , _at , item , _limit , _update_only } | tail ] , { :cont , acc } , fun ) do
9090 do_reduce ( tail , fun . ( { dom_id , item } , acc ) , fun )
9191 end
9292
0 commit comments