Sheetshow.Op.AppendRows (Sheetshow v0.1.0)

Copy Markdown View Source

Adds rows below the last row with data on the sheet.

The cells are placed relative to the append point: row 0 is the first new row, row 1 the one after it, and columns are absolute. Rows may be sparse, and a leading gap leaves blank rows.

iex> rows = [["a", 1], ["b", 2]]
iex> op = Sheetshow.Op.AppendRows.new(Sheetshow.rows(rows), "log")
iex> Sheetshow.Op.AppendRows.height(op)
2

Nothing here needs to know where the data ends, which is why appending is safe to retry against a sheet someone else is also writing to.

Summary

Functions

How many rows the op adds.

Builds the op from cells. The sheet comes from the cells unless given.

Types

t()

@type t() :: %Sheetshow.Op.AppendRows{cells: [Sheetshow.Cell.t()], sheet: String.t()}

Functions

height(append_rows)

@spec height(t()) :: non_neg_integer()

How many rows the op adds.

iex> Sheetshow.Op.AppendRows.new([], "log") |> Sheetshow.Op.AppendRows.height()
0

new(cells, sheet \\ nil)

@spec new([Sheetshow.Cell.t()], String.t() | nil) :: t()

Builds the op from cells. The sheet comes from the cells unless given.

iex> Sheetshow.Op.AppendRows.new(Sheetshow.row([1], sheet: "log")).sheet
"log"