diff options
author | Kim Alvefur <zash@zash.se> | 2020-06-04 21:32:28 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2020-06-04 21:32:28 +0200 |
commit | 9b70ffb0ca54a2332459c90c1c32a9cc83b4076c (patch) | |
tree | cc076f4272826379f437969879fccb1dcb086bce | |
parent | 4e554bc4d156354ce835ae92fa0184504c77b61e (diff) | |
download | prosody-9b70ffb0ca54a2332459c90c1c32a9cc83b4076c.tar.gz prosody-9b70ffb0ca54a2332459c90c1c32a9cc83b4076c.zip |
util.human.io.table: Allow a map callaback per column
This allows e.g. mapping booleans to "yes" or "no", specific number
formatting or generating virtual columns. All while not mutating the
underlying data or creating additional temporary tables.
-rw-r--r-- | util/human/io.lua | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/util/human/io.lua b/util/human/io.lua index 76553fac..7285c79f 100644 --- a/util/human/io.lua +++ b/util/human/io.lua @@ -131,7 +131,7 @@ local function new_table(col_specs, max_width) local output = {}; for i, column in ipairs(col_specs) do local width = widths[i]; - local v = tostring(row[not titles and column.key or i] or ""); + local v = (not titles and column.mapper or tostring)(row[not titles and column.key or i] or "", row); if #v < width then if column.align == "right" then v = padleft(v, width-1).." "; |