Incant.Tabular (incant v0.1.0)

Copy Markdown

Normalizes common tabular data shapes into rows, columns, and metadata.

Summary

Functions

Returns metadata for tabular data.

Converts tabular data to a map of column enumerables.

Converts tabular data to a list of row maps.

Types

column()

@type column() :: atom() | String.t()

metadata()

@type metadata() :: %{:columns => [column()], optional(:count) => non_neg_integer()}

Functions

metadata(data)

@spec metadata(term()) :: metadata()

Returns metadata for tabular data.

to_columns(data, opts \\ [])

@spec to_columns(
  term(),
  keyword()
) :: %{optional(column()) => [term()]}

Converts tabular data to a map of column enumerables.

to_rows(data, opts \\ [])

@spec to_rows(
  term(),
  keyword()
) :: [map()]

Converts tabular data to a list of row maps.