diff options
Diffstat (limited to 'lua/nvim-lsp-installer/core/result.lua')
| -rw-r--r-- | lua/nvim-lsp-installer/core/result.lua | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lua/nvim-lsp-installer/core/result.lua b/lua/nvim-lsp-installer/core/result.lua index 74fb9bc8..132e2758 100644 --- a/lua/nvim-lsp-installer/core/result.lua +++ b/lua/nvim-lsp-installer/core/result.lua @@ -77,6 +77,15 @@ function Result:map(mapper_fn) end ---@param mapper_fn fun(value: any): any +function Result:map_err(mapper_fn) + if self:is_failure() then + return Result.failure(mapper_fn(self.value.error)) + else + return self + end +end + +---@param mapper_fn fun(value: any): any function Result:map_catching(mapper_fn) if self:is_success() then local ok, result = pcall(mapper_fn, self.value) |
