diff options
author | Aylur <[email protected]> | 2024-09-28 11:21:55 +0000 |
---|---|---|
committer | Aylur <[email protected]> | 2024-09-28 11:21:55 +0000 |
commit | d9cdac25f78f4c9aaf0b12461a0d737dc392e746 (patch) | |
tree | 2a80e0ec9a9850994a56aad56252d097f08259b9 | |
parent | 5e6246ee778079f92ecfbf87e96176bf1a7a0085 (diff) |
fix #24 correctly insert nil vaues into transform params
-rw-r--r-- | core/lua/astal/variable.lua | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/core/lua/astal/variable.lua b/core/lua/astal/variable.lua index 377b448..df83e5f 100644 --- a/core/lua/astal/variable.lua +++ b/core/lua/astal/variable.lua @@ -248,8 +248,8 @@ function Variable.derive(deps, transform) local update = function() local params = {} - for _, binding in ipairs(deps) do - table.insert(params, binding:get()) + for i, binding in ipairs(deps) do + params[i] = binding:get() end return transform(table.unpack(params)) end @@ -257,13 +257,13 @@ function Variable.derive(deps, transform) local var = Variable.new(update()) local unsubs = {} - for _, b in ipairs(deps) do - table.insert(unsubs, b:subscribe(update)) + for i, b in ipairs(deps) do + unsubs[i] = b:subscribe(update) end var.variable.on_dropped = function() for _, unsub in ipairs(unsubs) do - var:set(unsub()) + unsub() end end return var |