aboutsummaryrefslogtreecommitdiffstats
path: root/lua/nvim-lsp-installer/data.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/nvim-lsp-installer/data.lua')
-rw-r--r--lua/nvim-lsp-installer/data.lua18
1 files changed, 18 insertions, 0 deletions
diff --git a/lua/nvim-lsp-installer/data.lua b/lua/nvim-lsp-installer/data.lua
index 3d6bf196..53bca81e 100644
--- a/lua/nvim-lsp-installer/data.lua
+++ b/lua/nvim-lsp-installer/data.lua
@@ -33,4 +33,22 @@ function Data.list_map(fn, list)
return result
end
+function Data.tbl_pack(...)
+ return { n = select("#", ...), ... }
+end
+
+function Data.when(condition, value)
+ return condition and value or nil
+end
+
+function Data.coalesce(...)
+ local args = Data.tbl_pack(...)
+ for i = 1, args.n do
+ local variable = args[i]
+ if variable ~= nil then
+ return variable
+ end
+ end
+end
+
return Data