diff options
Diffstat (limited to 'lua/nvim-lsp-installer/data.lua')
| -rw-r--r-- | lua/nvim-lsp-installer/data.lua | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/lua/nvim-lsp-installer/data.lua b/lua/nvim-lsp-installer/data.lua index 264fda80..268d3aec 100644 --- a/lua/nvim-lsp-installer/data.lua +++ b/lua/nvim-lsp-installer/data.lua @@ -1,3 +1,5 @@ +-- TODO: rename this to functional.lua, long overdue + local Data = {} ---@generic T : string @@ -122,14 +124,16 @@ function Data.list_any(list, predicate) return false end +function Data.identity(a) + return a +end + ---@generic T : fun(...) ---@param fn T ----@param cache_key_generator fun(...): string | nil +---@param cache_key_generator (fun(...): string | nil)|nil ---@return T function Data.memoize(fn, cache_key_generator) - cache_key_generator = cache_key_generator or function(a) - return a - end + cache_key_generator = cache_key_generator or Data.identity local cache = {} return function(...) local key = cache_key_generator(...) |
