From 9fa0bb2822af391db96687ad6ddb66ddb3529c58 Mon Sep 17 00:00:00 2001 From: William Boman Date: Tue, 17 May 2022 13:49:18 +0200 Subject: chore(functional): restructure and extend functional modules (#703) --- lua/nvim-lsp-installer/core/functional/data.lua | 30 +++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 lua/nvim-lsp-installer/core/functional/data.lua (limited to 'lua/nvim-lsp-installer/core/functional/data.lua') diff --git a/lua/nvim-lsp-installer/core/functional/data.lua b/lua/nvim-lsp-installer/core/functional/data.lua new file mode 100644 index 00000000..da6f1efd --- /dev/null +++ b/lua/nvim-lsp-installer/core/functional/data.lua @@ -0,0 +1,30 @@ +local _ = {} + +_.table_pack = function(...) + return { n = select("#", ...), ... } +end + +---@generic T : string +---@param values T[] +---@return table +_.enum = function(values) + local result = {} + for i = 1, #values do + local v = values[i] + result[v] = v + end + return result +end + +---@generic T +---@param list T[] +---@return table +_.set_of = function(list) + local set = {} + for i = 1, #list do + set[list[i]] = true + end + return set +end + +return _ -- cgit v1.2.3-70-g09d2