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.lua17
1 files changed, 11 insertions, 6 deletions
diff --git a/lua/mason-core/functional/table.lua b/lua/mason-core/functional/table.lua
index 65d05cc8..150de9ce 100644
--- a/lua/mason-core/functional/table.lua
+++ b/lua/mason-core/functional/table.lua
@@ -2,14 +2,18 @@ local fun = require "mason-core.functional.function"
local _ = {}
----@param index any
----@param tbl table
+---@generic T, U
+---@param index T
+---@param tbl table<T, U>
+---@return U?
_.prop = fun.curryN(function(index, tbl)
return tbl[index]
end, 2)
----@param keys any[]
----@param tbl table
+---@generic T, U
+---@param keys T[]
+---@param tbl table<T, U>
+---@return table<T, U>
_.pick = fun.curryN(function(keys, tbl)
local ret = {}
for _, key in ipairs(keys) do
@@ -21,8 +25,9 @@ end, 2)