API Reference Sheetshow v#0.1.0

Copy Markdown View Source

Modules

Google Sheets from Elixir, as values.

A1 notation: the 'Q1 costs'!B4:C9 strings Google Sheets speaks.

What a backend has to do, and what it can promise.

A cell: where it is, what it holds, how it looks.

What a formula worked out to, when it did not work out.

How to reach one Google spreadsheet: which one, with which credentials.

Where a cell is: a 0-indexed row and col, and optionally the sheet (tab) it belongs to.

The error behind every {:error, _} Sheetshow returns and every ! variant raises.

Ops as Google Sheets API requests: the body of one spreadsheets.batchUpdate.

An append-only tab, and the first of the two ways to keep data on a sheet.

One row of a log: an id, what it says, and whether it says the row is gone.

A spreadsheet in a map: the backend that needs no network.

Sending somebody to a Google consent screen, and turning what comes back into a Sheetshow.UserAccount you can keep.

What a backend is asked to do.

Adds a tab. Adding one that already exists is an error, here and at Google, so a plan says what it expects to find.

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

Removes rows; everything below moves up.

Removes a tab, and everything on it.

Writes a run of cells: one sheet, one row, consecutive columns, no gaps.

Sets the width of columns or the height of rows, in pixels.

A rectangle of cells on one sheet: Costs!A2:C10, a whole column, a whole sheet.

What a row means: a keyword list of {name, type}, and the casting either way across it.

A Google service account, as a value: what the key file holds, and the signed assertion that trades it for a Sheetshow.Token.

Where a spreadsheet file lives, and how to read and write it.

A spreadsheet file on the machine this is running on.

A spreadsheet file on a WebDAV server: Nextcloud, ownCloud, or anything else that speaks it.

How a cell looks: a plain map with atom keys, so styles compose with Map.merge/2 and read well when inspected.

A tab of mutable rows, and the second of the two ways to keep data on a sheet.

One row of a table: an id, what it says, and where on the tab it sits.

A table as it was when you read it: the rows, and where each of them sat.

An access token and the moment it stops working.

Identifiers that sort by the time they were made.

A person's own Google account, as a value: the app you registered, and the refresh token they gave it.

What a cell can hold.

Which spreadsheet, and which backend reaches it.

An .xlsx workbook, as cells.