# `IO.ANSI.Table.LineTypes`
[🔗](https://github.com/RaymondLoranger/io_ansi_table/blob/main/lib/io/ansi/table/line_types.ex#L1)

Builds a list of line types from a reversed list of non-row/row line types.

# `from`

```elixir
@spec from([IO.ANSI.Table.LineType.non_row() | IO.ANSI.Table.LineType.row()]) :: [
  IO.ANSI.Table.LineType.t()
]
```

Builds a list of line types from a reversed list of non-row/row line `types`.

## Examples

    iex> alias IO.ANSI.Table.LineTypes
    iex> types = Enum.reverse([:top, :header, :separator, :row, :bottom])
    iex> LineTypes.from(types)
    [:top, :header, :separator, [:row], :bottom]

    iex> alias IO.ANSI.Table.LineTypes
    iex> types = [:top, :header, :separator, :even_row, :odd_row, :bottom]
    iex> types = Enum.reverse(types)
    iex> LineTypes.from(types)
    [:top, :header, :separator, [:even_row, :odd_row], :bottom]

    iex> alias IO.ANSI.Table.LineTypes
    iex> types = Enum.reverse([:header, :separator, :row_1, :row_2, :row_3])
    iex> LineTypes.from(types)
    [:header, :separator, [:row_1, :row_2, :row_3]]

    iex> alias IO.ANSI.Table.LineTypes
    iex> types = Enum.reverse(
    ...>   [:header, :separator, :row, :separator, :row_1, :row_2, :row_3]
    ...> )
    iex> LineTypes.from(types)
    [:header, :separator, [:row], :separator, [:row_1, :row_2, :row_3]]

---

*Consult [api-reference.md](api-reference.md) for complete listing*
