Stable public facade and the sole transaction, epoch, policy, and event barrier.
Examples
try { } finally { }}See also
- Store.aggregate
- createGrid
Members 59
constructor
acknowledgeOperations Release sparse paged edits after server acknowledgement.
aggregate Aggregate one column. Datasource-backed sheets must be fully loaded.
Aggregate one column. Datasource-backed sheets must be fully loaded.
Examples
}See also
applyTransaction Apply a low-level storage transaction.
applyTransaction: (tx: Transaction, reasonOrOptions?: CommitReason | TransactionApplicationOptions) => ApplyTransactionResult;Apply a low-level storage transaction.
This bypasses Grid read-only checks and Grid undo/redo history. Use
Grid.applyTransaction for normal host-driven edits.
Queued and flushed at a barrier — never reentrant.
areColumnsFullyLoaded
areColumnsFullyLoaded: (sheet: SheetId, startRow: number, endRow: number, columns: readonly number[]) => boolean;canApplyLocally
captureRangeHistory
clearView
columnFilters
dataEdge
dataRowAt
dispose
dispose: () => void;distinctValues
ensureColumns Ensure a sheet can address at least columns.length columns without producing user changes or dirty patches.
Ensure a sheet can address at least `columns.length` columns without producing user changes or dirty patches. Used for presentation padding.
exportSnapshot Deterministic, JSON-safe authoritative runtime document.
filterBy
getCell Single-cell read for interactions, API reads, and tests.
Single-cell read for interactions, API reads, and tests. NOT for the render hot path — renderers use `getVisibleWindow`.
getCellLoadState Loaded/empty/local state; dense stores always return a loaded state.
getClipboardWindow Optional packed clipboard read.
getClipboardWindow: (sheet: SheetId, viewRows: { start: number; end: number; }, cols: readonly number[]) => ClipboardWindowView;Optional packed clipboard read. Custom stores may omit it; the controller preserves the per-cell Store fallback contract.
getDataWindow Optional packed canonical data-row window used by file export.
getDataWindow: (sheet: SheetId, rows: { start: number; end: number; }, cols: readonly number[]) => VisibleWindowView;Optional packed canonical data-row window used by file export. Unlike `getVisibleWindow`, sort/filter state never remaps `rows`.
getFormula Formula source at addr, or null when the cell is not a formula.
getFormulaMatrixResourcePeak
getPagedStats
getRangeMutationAllocationStats
getRangeMutationAllocationStats: () => RangeMutationAllocationStats;getRefTarget Plain-reference target at addr, or null when the cell is not a ref.
getRuntimeResourceSnapshot
getRuntimeResourceSnapshot: (operation: RuntimeResourceOperation, phase: RuntimeResourcePhase, runtime?: RuntimeMemoryObservation) => RuntimeResourceSnapshot;getSpillAnchor Owning dynamic-array formula cell, or null when addr is not spilled.
getVisibleWindow Bulk read of a visible window; the only read a renderer should use per frame.
getVisibleWindow: (sheet: SheetId, rows: { start: number; end: number; }, cols: readonly number[]) => VisibleWindowView;getWorkbook
groupRows
hasView
hideRows
isPaged
isRangeFullyLoaded
loadPage
loadPage: (sheet: SheetId, start: number, columns: readonly DataSourceColumnBand[], rows: readonly RowData[], protect?: (addr: CellAddress) => boolean) => void;on
on: (_evt: "change", fn: ChangeListener) => () => void;queryCapability Explicit partial-data state for paged datasource stores.
recalculateVolatile Recompute volatile formulas (TODAY/NOW) from one captured instant.
recalculateVolatile: (now?: Date) => void;Recompute volatile formulas (`TODAY`/`NOW`) from one captured instant. The supplied Date is interpreted as an absolute UTC instant.
removeSheetFormulaIdentity
renameSheetFormulaIdentity
resetFormulaMatrixResourcePeak
resetFormulaMatrixResourcePeak: () => void;resetRangeMutationAllocationStats
resetRangeMutationAllocationStats: () => void;resetRuntimeResourceAccounting
resetRuntimeResourceAccounting: () => void;searchCells
searchCells: (sheet: SheetId, query: string, opts?: { matchCase?: boolean; wholeCell?: boolean; columns?: number[]; }) => CellAddress[];searchCellsFlat
searchCellsFlat: (sheet: SheetId, query: string, opts?: { matchCase?: boolean; wholeCell?: boolean; columns?: number[]; }) => Uint32Array;setColumnFilter
setDetailedChangeCapture Opt in to per-cell before/after capture for packed and clear operations.
setDetailedChangeCapture: (enabled: boolean) => void;setGroupCollapsed
setProtectionResolver Configure host-owned protected-range permissions.
setProtectionResolver: (resolver: ProtectionResolver | undefined, mode?: MutationPolicyMode) => void;Configure host-owned protected-range permissions. The resolver is synchronous so every local mutation ingress shares one atomic commit barrier.
showRows
sortBy
ungroupRows
viewRowCount Displayed row count after any active sort/filter view.
viewRowOf
withResourceOperation
fromSnapshot
Declaration
View full TypeScript declaration
constructor( ); acknowledgeOperations: ( storageRevision?: bigint, ) => void; applyTransaction: ( areColumnsFullyLoaded: ( startRow: number, endRow: number, columns: readonly number[], ) => boolean; dataEdge: ( row: number, col: number, dRow: number, dCol: number, ) => number; dispose: () => void; distinctValues: ( col: number, limit?: number, getClipboardWindow: ( viewRows: { start: number; end: number; }, cols: readonly number[], ) => ClipboardWindowView; getDataWindow: ( rows: { start: number; end: number; }, cols: readonly number[], getRangeMutationAllocationStats: () => RangeMutationAllocationStats; getRuntimeResourceSnapshot: ( getVisibleWindow: ( rows: { start: number; end: number; }, cols: readonly number[], loadPage: ( start: number, ) => void; on: (_evt: "change", fn: ChangeListener) => () => void; recalculateVolatile: (now?: Date) => void; resetFormulaMatrixResourcePeak: () => void; resetRangeMutationAllocationStats: () => void; resetRuntimeResourceAccounting: () => void; searchCells: ( query: string, opts?: { matchCase?: boolean; wholeCell?: boolean; columns?: number[]; }, searchCellsFlat: ( query: string, opts?: { matchCase?: boolean; wholeCell?: boolean; columns?: number[]; }, ) => Uint32Array; setColumnFilter: ( col: number, ) => void; setDetailedChangeCapture: (enabled: boolean) => void; setGroupCollapsed: ( start: number, collapsed: boolean, ) => void; setProtectionResolver: ( ) => void; withResourceOperation: <T>( run: () => T, ) => T; static fromSnapshot: ( input: unknown, ) => SheetwriteStore;}Referenced by
Workspace packages depending on @sheetwrite/core
@sheetwrite/benchdependency@sheetwrite/docs-startdependency@sheetwrite/reactdependency@sheetwrite/sveltedependency@sheetwrite/vuedependency@sheetwrite/xlsxdependency
Public exports naming SheetwriteStore
- None.