(renderer) TreeBuilder: add ipairs/pairs utilities
Some checks failed
NeoVim tests / code-quality (push) Failing after 1m17s
Some checks failed
NeoVim tests / code-quality (push) Failing after 1m17s
This commit is contained in:
parent
fd69ebfaad
commit
933c187148
@ -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
|
||||||
-- }}}
|
-- }}}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user