diff options
| author | William Boman <william@redwill.se> | 2022-08-15 21:03:06 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-15 21:03:06 +0200 |
| commit | 3c62386a396ae0c1cd7adbaacc379eb4af072a65 (patch) | |
| tree | 4d00d20958839a04e6a996c11b97724c762e491a /lua/mason-core/functional/table.lua | |
| parent | chore: update generated code (#295) (diff) | |
| download | mason-3c62386a396ae0c1cd7adbaacc379eb4af072a65.tar mason-3c62386a396ae0c1cd7adbaacc379eb4af072a65.tar.gz mason-3c62386a396ae0c1cd7adbaacc379eb4af072a65.tar.bz2 mason-3c62386a396ae0c1cd7adbaacc379eb4af072a65.tar.lz mason-3c62386a396ae0c1cd7adbaacc379eb4af072a65.tar.xz mason-3c62386a396ae0c1cd7adbaacc379eb4af072a65.tar.zst mason-3c62386a396ae0c1cd7adbaacc379eb4af072a65.zip | |
refactor: introduce selene, harden type defs, and use proper EmmyLua syntax (#296)
Diffstat (limited to 'lua/mason-core/functional/table.lua')
| -rw-r--r-- | lua/mason-core/functional/table.lua | 17 |
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) _.keys = fun.curryN(vim.tbl_keys, 1) _.size = fun.curryN(vim.tbl_count, 1) ----@param tbl table<any, any> ----@return any[][] +---@generic K, V +---@param tbl table<K, V> +---@return { [1]: K, [2]: V }[] _.to_pairs = fun.curryN(function(tbl) local result = {} for k, v in pairs(tbl) do |
