From 738684097dfdd9a4a67cd217b0beda3e169bd85d Mon Sep 17 00:00:00 2001 From: William Boman Date: Wed, 5 Oct 2022 20:33:21 +0200 Subject: feat(cargo): improve handling of git-based crates (#512) This is all pretty overkill, especially considering the small amount of packages based on git-based crates. --- lua/mason-core/optional.lua | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'lua/mason-core/optional.lua') diff --git a/lua/mason-core/optional.lua b/lua/mason-core/optional.lua index 65317b7f..6eb0719e 100644 --- a/lua/mason-core/optional.lua +++ b/lua/mason-core/optional.lua @@ -105,4 +105,14 @@ function Optional:is_present() return self._value ~= nil end +---@param err fun(): any +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()) + end +end + return Optional -- cgit v1.2.3-70-g09d2