feat(util): added LazyVim.memoize
This commit is contained in:
@ -268,4 +268,17 @@ for _, level in ipairs({ "info", "warn", "error" }) do
|
||||
end
|
||||
end
|
||||
|
||||
local cache = {} ---@type table<string, any>
|
||||
---@generic T: fun()
|
||||
---@param fn T
|
||||
---@return T
|
||||
function M.memoize(fn)
|
||||
return function(...)
|
||||
local key = vim.inspect({ ... })
|
||||
if cache[key] == nil then
|
||||
cache[key] = fn(...)
|
||||
end
|
||||
return cache[key]
|
||||
end
|
||||
end
|
||||
return M
|
||||
|
Reference in New Issue
Block a user