From 37c745fa73b983c86904132efb30ef2a4a76df5e Mon Sep 17 00:00:00 2001 From: William Boman Date: Sun, 30 Oct 2022 17:43:46 +0100 Subject: feat: add provider interface (#601) --- lua/mason-core/optional.lua | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'lua/mason-core/optional.lua') diff --git a/lua/mason-core/optional.lua b/lua/mason-core/optional.lua index 6eb0719e..cc40da77 100644 --- a/lua/mason-core/optional.lua +++ b/lua/mason-core/optional.lua @@ -105,13 +105,17 @@ function Optional:is_present() return self._value ~= nil end ----@param err fun(): any +---@param err (fun(): any)|string function Optional:ok_or(err) local Result = require "mason-core.result" if self:is_present() then return Result.success(self:get()) else - return Result.failure(err()) + if type(err) == "string" then + return Result.failure(err) + else + return Result.failure(err()) + end end end -- cgit v1.2.3-70-g09d2