LibObserve (1.0)

Simply create observable variables ^^
–new observable:
local observable = Observable:new(“Initial value of any type”)
–register functions that are executed when the value changes:
local listenerId = observable:register(function(listenerId, newValue)
d(newValue);
end)
–unregister functions that are executed when the value changes:
observable:unregister(listenerId)
–get the value of the observable: just get any index of the observable
local value = observable.value
–observable.v, observable.val, observable.xyz, … will all return the value
–set the value of the observable: just set any index of the observable
observable.value = “newValue”
–observable.v = “newValue”, observable.val = “newValue”, observable.xyz = “newValue”, … will all set the value
–when you have a table value and want to change it:
observable.value = (function() observable.value = “newValue”; return observable.value; end)()
–or:
observable.value = “newValue”
observable.value = observable.value —