From d9cdac25f78f4c9aaf0b12461a0d737dc392e746 Mon Sep 17 00:00:00 2001 From: Aylur Date: Sat, 28 Sep 2024 11:21:55 +0000 Subject: fix #24 correctly insert nil vaues into transform params --- core/lua/astal/variable.lua | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'core/lua') 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 -- cgit v1.2.3