aboutsummaryrefslogtreecommitdiffstats
path: root/lua/mason-core/functional/table.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/mason-core/functional/table.lua')
-rw-r--r--lua/mason-core/functional/table.lua11
1 files changed, 11 insertions, 0 deletions
diff --git a/lua/mason-core/functional/table.lua b/lua/mason-core/functional/table.lua
index 150de9ce..e96b0157 100644
--- a/lua/mason-core/functional/table.lua
+++ b/lua/mason-core/functional/table.lua
@@ -37,6 +37,17 @@ _.to_pairs = fun.curryN(function(tbl)
end, 1)
---@generic K, V
+---@param pairs { [1]: K, [2]: V }[]
+---@return table<K, V>
+_.from_pairs = fun.curryN(function(pairs)
+ local result = {}
+ for _, pair in ipairs(pairs) do
+ result[pair[1]] = pair[2]
+ end
+ return result
+end, 1)
+
+---@generic K, V
---@param tbl table<K, V>
---@return table<V, K>
_.invert = fun.curryN(function(tbl)