aboutsummaryrefslogtreecommitdiffstats
path: root/lua/mason-core/functional/relation.lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2022-12-08 02:00:29 +0100
committerGitHub <noreply@github.com>2022-12-08 01:00:29 +0000
commit6c7feb87923db7f2cc15470d516d6e882d6bba72 (patch)
tree3d737f26fe01f6d911eaffa0022840042b4301ba /lua/mason-core/functional/relation.lua
parentfeat(registry): add neocmakelsp (#739) (diff)
downloadmason-6c7feb87923db7f2cc15470d516d6e882d6bba72.tar
mason-6c7feb87923db7f2cc15470d516d6e882d6bba72.tar.gz
mason-6c7feb87923db7f2cc15470d516d6e882d6bba72.tar.bz2
mason-6c7feb87923db7f2cc15470d516d6e882d6bba72.tar.lz
mason-6c7feb87923db7f2cc15470d516d6e882d6bba72.tar.xz
mason-6c7feb87923db7f2cc15470d516d6e882d6bba72.tar.zst
mason-6c7feb87923db7f2cc15470d516d6e882d6bba72.zip
feat(functional): add more functions (#741)
Diffstat (limited to 'lua/mason-core/functional/relation.lua')
-rw-r--r--lua/mason-core/functional/relation.lua21
1 files changed, 21 insertions, 0 deletions
diff --git a/lua/mason-core/functional/relation.lua b/lua/mason-core/functional/relation.lua
index 94913a13..b6ba92b7 100644
--- a/lua/mason-core/functional/relation.lua
+++ b/lua/mason-core/functional/relation.lua
@@ -14,4 +14,25 @@ _.prop_satisfies = fun.curryN(function(predicate, property, tbl)
return predicate(tbl[property])
end, 3)
+---@param predicate fun(value: any): boolean
+---@param path any[]
+---@param tbl table
+_.path_satisfies = fun.curryN(function(predicate, path, tbl)
+ return predicate(vim.tbl_get(tbl, unpack(path)))
+end, 3)
+
+---@param a number
+---@param b number
+---@return number
+_.min = fun.curryN(function(a, b)
+ return b - a
+end, 2)
+
+---@param a number
+---@param b number
+---@return number
+_.add = fun.curryN(function(a, b)
+ return b + a
+end, 2)
+
return _