Packages
io_ansi_table
0.4.13
1.0.40
1.0.39
1.0.38
1.0.37
1.0.36
1.0.34
1.0.33
1.0.32
1.0.31
1.0.30
1.0.29
1.0.28
1.0.27
1.0.26
1.0.25
1.0.24
1.0.23
1.0.22
1.0.21
1.0.20
1.0.19
1.0.18
1.0.17
1.0.16
1.0.15
1.0.14
1.0.13
1.0.12
1.0.11
1.0.10
1.0.9
1.0.8
1.0.7
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
0.4.32
0.4.31
0.4.30
0.4.29
0.4.28
0.4.27
0.4.26
0.4.25
0.4.24
0.4.23
0.4.22
0.4.21
0.4.20
0.4.19
0.4.18
0.4.17
0.4.16
0.4.15
0.4.14
0.4.13
0.4.12
0.4.11
0.4.10
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.29
0.3.28
0.3.27
0.3.26
0.3.25
0.3.24
0.3.23
0.3.22
0.3.21
0.3.20
0.3.19
0.3.18
0.3.17
0.3.16
0.3.15
0.3.14
0.3.13
0.3.12
0.3.11
0.3.10
0.3.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.20
0.1.19
0.1.18
0.1.17
0.1.16
0.1.15
0.1.14
0.1.13
0.1.12
0.1.11
0.1.10
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
Writes data to "stdio" in a table with borders and colors. Can choose a table style to change the look of the table.
Current section
Files
Jump to
Current section
Files
lib/io/ansi/table/row.ex
defmodule IO.ANSI.Table.Row do
# @moduledoc """
# Functions related to the rows of a table.
# """
@moduledoc false
alias IO.ANSI.Table.Spec
@type t :: [String.t()]
@spec rows(Spec.t(), [Access.container()]) :: Spec.t()
def rows(spec, maps) do
require MapSorter
rows =
maps
|> MapSorter.sort(spec.sort_specs)
|> Enum.take(spec.count)
|> to_rows(spec.headers)
%{spec | rows: rows}
end
## Private functions
# @doc """
# Converts 'maps` to "rows".
# ## Examples
# iex> alias IO.ANSI.Table.Row
# iex> list = [
# ...> %{a: 1, b: 2, c: 3},
# ...> %{a: 4, b: 5, c: 6}
# ...> ]
# iex> Row.to_rows(list, [:c, :a])
# [["3", "1"], ["6", "4"]]
# iex> alias IO.ANSI.Table.Row
# iex> list = [
# ...> %{:one => "1", '2' => 2.0, "3" => :three},
# ...> %{:one => '4', '2' => "5", "3" => 000006}
# ...> ]
# iex> Row.to_rows(list, ["3", :one, '2'])
# [["three", "1", "2.0"], ["6", "4", "5"]]
# """
@spec to_rows([map], [any]) :: [t]
defp to_rows(maps, keys) do
for map <- maps do
for key <- keys, do: map[key] |> to_string()
end
end
end