Skip to content

Defined in: adapters/GoogleSheetsAdapter.ts:34

Google Sheets implementation of the SheetsAdapter contract.

Delegates to four internal services — authentication, spreadsheet metadata, worksheet management, and row operations — each responsible for a focused area of the Google Sheets API.

Example ​

ts
import { GoogleSheetsAdapter } from 'open-sheets-orm';

const adapter = new GoogleSheetsAdapter(credentials, 'spreadsheet-id');
await adapter.connect();

const info = await adapter.getSpreadsheet();
const rows = await adapter.readSheet();

await adapter.disconnect();

Extends ​

Constructors ​

Constructor ​

new GoogleSheetsAdapter(credentials, spreadsheetId, sheetName?): GoogleSheetsAdapter

Defined in: adapters/GoogleSheetsAdapter.ts:47

Parameters ​

credentials ​

JWTInput

Google service account credentials (JWT) or external account credentials.

spreadsheetId ​

string

The unique ID of the target spreadsheet.

sheetName? ​

string

The default sheet to operate on. When omitted, the first sheet is used.

Returns ​

GoogleSheetsAdapter

Overrides ​

SheetsAdapter.constructor

Properties ​

_connected ​

protected _connected: boolean = false

Defined in: adapters/SheetsAdapter.ts:33

Whether the adapter has been successfully connected.

Set to true by connect and false by disconnect. Checked in ensureConnected before every data operation.

Inherited from ​

SheetsAdapter._connected


config ​

protected config: SheetConfig

Defined in: adapters/SheetsAdapter.ts:25

The spreadsheet configuration for this adapter instance.

Inherited from ​

SheetsAdapter.config

Methods ​

appendRow() ​

appendRow(row, sheetName?): Promise<void>

Defined in: adapters/GoogleSheetsAdapter.ts:178

Appends a new row after the last existing row in the sheet.

Parameters ​

row ​

unknown[]

The cell values for the new row.

sheetName? ​

string

The target sheet. Falls back to the sheet name provided at construction time.

Returns ​

Promise<void>

Overrides ​

SheetsAdapter.appendRow


connect() ​

connect(): Promise<void>

Defined in: adapters/GoogleSheetsAdapter.ts:61

Authenticates and initializes all internal services.

Must be called before any other adapter method.

Returns ​

Promise<void>

Overrides ​

SheetsAdapter.connect


createSheet() ​

createSheet(title): Promise<SheetInfo>

Defined in: adapters/GoogleSheetsAdapter.ts:95

Creates a new sheet (tab) within the configured spreadsheet.

Parameters ​

title ​

string

The title for the new sheet.

Returns ​

Promise<SheetInfo>

Metadata for the newly created sheet.

Overrides ​

SheetsAdapter.createSheet


deleteRow() ​

deleteRow(rowIndex, sheetName?): Promise<void>

Defined in: adapters/GoogleSheetsAdapter.ts:216

Deletes a row by its zero-based data index.

Parameters ​

rowIndex ​

number

Zero-based index of the row to delete.

sheetName? ​

string

The target sheet. Falls back to the sheet name provided at construction time.

Returns ​

Promise<void>

Overrides ​

SheetsAdapter.deleteRow


deleteSheet() ​

deleteSheet(sheetName): Promise<void>

Defined in: adapters/GoogleSheetsAdapter.ts:116

Deletes a sheet (tab) from the configured spreadsheet.

Parameters ​

sheetName ​

string

The title of the sheet to delete.

Returns ​

Promise<void>

Overrides ​

SheetsAdapter.deleteSheet


disconnect() ​

disconnect(): Promise<void>

Defined in: adapters/GoogleSheetsAdapter.ts:75

Releases resources held by this adapter.

The Google Sheets API does not require explicit cleanup. Service references are preserved for reuse on next connect.

Returns ​

Promise<void>

Overrides ​

SheetsAdapter.disconnect


ensureConnected() ​

protected ensureConnected(methodName): void

Defined in: adapters/SheetsAdapter.ts:66

Guards data-access methods against being called before connect.

Parameters ​

methodName ​

string

The name of the calling method, included in the error message for diagnostic clarity.

Returns ​

void

Throws ​

If the adapter has not been connected.

Inherited from ​

SheetsAdapter.ensureConnected


ensureSheet() ​

ensureSheet(sheetName): Promise<SheetInfo>

Defined in: adapters/GoogleSheetsAdapter.ts:106

Ensures a sheet exists, creating it if missing.

Parameters ​

sheetName ​

string

The title of the sheet to ensure exists.

Returns ​

Promise<SheetInfo>

Metadata for the sheet.

Overrides ​

SheetsAdapter.ensureSheet


getHeaders() ​

getHeaders(sheetName?): Promise<string[]>

Defined in: adapters/GoogleSheetsAdapter.ts:128

Reads the header row from the specified (or default) sheet.

Parameters ​

sheetName? ​

string

The sheet to read from. Falls back to the sheet name provided at construction time.

Returns ​

Promise<string[]>

An array of header cell values.

Overrides ​

SheetsAdapter.getHeaders


getSpreadsheet() ​

getSpreadsheet(): Promise<SpreadsheetInfo>

Defined in: adapters/GoogleSheetsAdapter.ts:84

Retrieves metadata for the configured spreadsheet.

Returns ​

Promise<SpreadsheetInfo>

The spreadsheet's title, URL, and contained sheet summaries.

Overrides ​

SheetsAdapter.getSpreadsheet


readSheet() ​

readSheet<T>(sheetName?): Promise<T[]>

Defined in: adapters/GoogleSheetsAdapter.ts:161

Reads all data rows from the specified (or default) sheet, mapped to objects keyed by header values.

Type Parameters ​

T ​

T extends Record<string, string> = Record<string, string>

Parameters ​

sheetName? ​

string

The sheet to read from. Falls back to the sheet name provided at construction time.

Returns ​

Promise<T[]>

An array of row objects keyed by header values.

Overrides ​

SheetsAdapter.readSheet


updateRow() ​

updateRow(rowIndex, row, sheetName?): Promise<void>

Defined in: adapters/GoogleSheetsAdapter.ts:195

Updates an existing row by its zero-based data index.

Parameters ​

rowIndex ​

number

Zero-based index of the row to update.

row ​

unknown[]

The new cell values for the row.

sheetName? ​

string

The target sheet. Falls back to the sheet name provided at construction time.

Returns ​

Promise<void>

Overrides ​

SheetsAdapter.updateRow


writeHeaders() ​

writeHeaders(headers, sheetName?): Promise<void>

Defined in: adapters/GoogleSheetsAdapter.ts:143

Writes header values to row 1 of the specified (or default) sheet.

Parameters ​

headers ​

string[]

The header values to write.

sheetName? ​

string

The target sheet. Falls back to the sheet name provided at construction time.

Returns ​

Promise<void>

Overrides ​

SheetsAdapter.writeHeaders

Released under the MIT License.