summaryrefslogtreecommitdiff
path: root/lua/astal/variable.lua
diff options
context:
space:
mode:
authorAylur <[email protected]>2024-07-31 13:55:17 +0200
committerAylur <[email protected]>2024-07-31 13:55:17 +0200
commite398c9f997935d04835df387b6bc40bdf7a87910 (patch)
tree4591870438af6b0b40874f2414f1fa2d822555ce /lua/astal/variable.lua
parente56a7f5dcbf4573436b4aa12a6e48a5771df160c (diff)
feat: optional Variable.derive transform
Diffstat (limited to 'lua/astal/variable.lua')
-rw-r--r--lua/astal/variable.lua8
1 files changed, 7 insertions, 1 deletions
diff --git a/lua/astal/variable.lua b/lua/astal/variable.lua
index c7c2ec9..1e894b5 100644
--- a/lua/astal/variable.lua
+++ b/lua/astal/variable.lua
@@ -223,9 +223,15 @@ function Variable:observe(object, sigOrFn, callback)
end
---@param deps Variable | (Binding | Variable)[]
----@param transform fun(...): any
+---@param transform? fun(...): any
---@return Variable
function Variable.derive(deps, transform)
+ if type(transform) == "nil" then
+ transform = function(...)
+ return { ... }
+ end
+ end
+
if getmetatable(deps) == Variable then
local var = Variable.new(transform(deps:get()))
deps:subscribe(function(v)