diff options
author | kylo252 <[email protected]> | 2021-10-21 07:48:10 +0200 |
---|---|---|
committer | kylo252 <[email protected]> | 2021-10-21 07:48:10 +0200 |
commit | 30de3736baec9a72134205de91f3388e3ea68bcf (patch) | |
tree | c0079f51d68c61316726f104bae963c5f0371571 /lua/lvim/utils/table.lua | |
parent | b98264042f558751483e2c993ebed11a5bcbb1de (diff) | |
parent | 25747cfff457d5375b6141588d81017ca515ffcb (diff) |
Merge remote-tracking branch 'origin/rolling'
Diffstat (limited to 'lua/lvim/utils/table.lua')
-rw-r--r-- | lua/lvim/utils/table.lua | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/lua/lvim/utils/table.lua b/lua/lvim/utils/table.lua new file mode 100644 index 00000000..1ac5949e --- /dev/null +++ b/lua/lvim/utils/table.lua @@ -0,0 +1,24 @@ +local Table = {} + +--- Find the first entry for which the predicate returns true. +-- @param t The table +-- @param predicate The function called for each entry of t +-- @return The entry for which the predicate returned True or nil +function Table.find_first(t, predicate) + for _, entry in pairs(t) do + if predicate(entry) then + return entry + end + end + return nil +end + +--- Check if the predicate returns True for at least one entry of the table. +-- @param t The table +-- @param predicate The function called for each entry of t +-- @return True if predicate returned True at least once, false otherwise +function Table.contains(t, predicate) + return Table.find_first(t, predicate) ~= nil +end + +return Table |