(renderer) TreeBuilder: add ipairs/pairs utilities
Some checks failed
NeoVim tests / code-quality (push) Failing after 1m17s

This commit is contained in:
Jonathan Apodaca 2025-06-15 18:21:34 -06:00
parent fd69ebfaad
commit 933c187148

View File

@ -526,6 +526,26 @@ function TreeBuilder:nest(fn)
return self return self
end end
--- @param arr <T>[]
--- @param f fun(tb: u.renderer.TreeBuilder, item: T, idx: number): any
function TreeBuilder:ipairs(arr, f)
return self:nest(function(tb)
for idx, item in ipairs(arr) do
f(tb, item, idx)
end
end)
end
--- @param tab table
--- @param f fun(tb: u.renderer.TreeBuilder, key: any, value: any): any
function TreeBuilder:pairs(tab, f)
return self:nest(function(tb)
for k, v in pairs(tab) do
f(tb, k, v)
end
end)
end
--- @return u.renderer.Tree --- @return u.renderer.Tree
function TreeBuilder:tree() return self.nodes end function TreeBuilder:tree() return self.nodes end
-- }}} -- }}}