From e398c9f997935d04835df387b6bc40bdf7a87910 Mon Sep 17 00:00:00 2001 From: Aylur Date: Wed, 31 Jul 2024 13:55:17 +0200 Subject: feat: optional Variable.derive transform --- lua/astal/variable.lua | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'lua/astal/variable.lua') 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) -- cgit v1.2.3