From 01329335b7941502da10c71ead38b9c334804c84 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Tue, 23 Jul 2019 17:51:00 +0100 Subject: [PATCH] [Minor] Lua_util: Add `flatten` function --- lualib/lua_util.lua | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/lualib/lua_util.lua b/lualib/lua_util.lua index 432f55c6a..b8420c7a4 100644 --- a/lualib/lua_util.lua +++ b/lualib/lua_util.lua @@ -284,6 +284,23 @@ exports.unpack = function(t) return unpack_function(t) end +--[[[ +-- @function lua_util.flatten(table) +-- Flatten underlying tables in a single table +-- @param {table} table table of tables +-- @return {table} flattened table +--]] +exports.flatten = function(t) + local res = {} + for _,e in fun.iter(t) do + for _,v in fun.iter(e) do + res[#res + 1] = v + end + end + + return res +end + --[[[ -- @function lua_util.spairs(table) -- Like `pairs` but keys are sorted lexicographically -- 2.39.5