diff options
| author | William Boman <william@redwill.se> | 2022-12-20 08:42:58 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-20 07:42:58 +0000 |
| commit | 25313762aac8fc313b769f20298bd4e6473cc6dd (patch) | |
| tree | e46fee667753f4fd7d16b2eac085348d3ecf821f /lua/mason-core/functional/table.lua | |
| parent | feat: add expr module (#775) (diff) | |
| download | mason-25313762aac8fc313b769f20298bd4e6473cc6dd.tar mason-25313762aac8fc313b769f20298bd4e6473cc6dd.tar.gz mason-25313762aac8fc313b769f20298bd4e6473cc6dd.tar.bz2 mason-25313762aac8fc313b769f20298bd4e6473cc6dd.tar.lz mason-25313762aac8fc313b769f20298bd4e6473cc6dd.tar.xz mason-25313762aac8fc313b769f20298bd4e6473cc6dd.tar.zst mason-25313762aac8fc313b769f20298bd4e6473cc6dd.zip | |
feat(functional): add trim_start and assoc (#779)
Diffstat (limited to 'lua/mason-core/functional/table.lua')
| -rw-r--r-- | lua/mason-core/functional/table.lua | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/lua/mason-core/functional/table.lua b/lua/mason-core/functional/table.lua index 276a3180..26db162b 100644 --- a/lua/mason-core/functional/table.lua +++ b/lua/mason-core/functional/table.lua @@ -24,7 +24,9 @@ end, 2) ---@param path any[] ---@param tbl table _.path = fun.curryN(function(path, tbl) - return vim.tbl_get(tbl, unpack(path)) + -- see https://github.com/neovim/neovim/pull/21426 + local value = vim.tbl_get(tbl, unpack(path)) + return value end, 2) ---@generic T, U @@ -97,10 +99,21 @@ _.merge_left = fun.curryN(function(left, right) return vim.tbl_extend("force", right, left) end, 2) ----@generic T : table ----@param key any ----@param tbl T ----@return T +---@generic K, V +---@param key K +---@param value V +---@param tbl table<K, V> +---@return table<K, V> +_.assoc = fun.curryN(function(key, value, tbl) + local res = shallow_clone(tbl) + res[key] = value + return res +end, 3) + +---@generic K, V +---@param key K +---@param tbl table<K, V> +---@return table<K, V> _.dissoc = fun.curryN(function(key, tbl) local res = shallow_clone(tbl) res[key] = nil |
