File tree Expand file tree Collapse file tree
lua/nui-components/signal Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ local Observable = require (" nui-components.rx.observable" )
12local fn = require (" nui-components.utils.fn" )
23
34local SignalValue = {}
@@ -10,8 +11,12 @@ function SignalValue.create(subject, key)
1011 _private = {
1112 key = key ,
1213 subject = subject ,
13- observable = subject :map (function (value )
14- return value [key ]
14+ observable = Observable .defer (function ()
15+ return subject
16+ :map (function (value )
17+ return value [key ]
18+ end )
19+ :distinct_until_changed (vim .deep_equal )
1520 end ),
1621 },
1722 }
@@ -28,7 +33,7 @@ function SignalValue:get_observer_value()
2833end
2934
3035function SignalValue :get_observable ()
31- return self ._private .observable : distinct_until_changed ( vim . deep_equal )
36+ return self ._private .observable
3237end
3338
3439function SignalValue :map (map_fn )
You can’t perform that action at this time.
0 commit comments