aboutsummaryrefslogtreecommitdiffstats
path: root/lua/mason-core/optional.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/mason-core/optional.lua')
-rw-r--r--lua/mason-core/optional.lua8
1 files changed, 8 insertions, 0 deletions
diff --git a/lua/mason-core/optional.lua b/lua/mason-core/optional.lua
index 10af8ccb..5710ce0c 100644
--- a/lua/mason-core/optional.lua
+++ b/lua/mason-core/optional.lua
@@ -93,6 +93,14 @@ function Optional:if_present(fn)
return self
end
+---@param fn fun(value: any)
+function Optional:if_not_present(fn)
+ if not self:is_present() then
+ fn(self._value)
+ end
+ return self
+end
+
function Optional:is_present()
return self._value ~= nil
end