← All packages

API reference

@searsuite/sear-render-registry

Editor-local registries that connect cell types and Sheet state to renderers.

36 exportsderived from source

classAffixCellsource ↗
class AffixCell extends Cell<CellProperties<string | number | null | SheetDocumentNode>>

Rendering-only cell used for fixed row/column header affixes.

constructorconstructor
AffixCell(data: CellProperties, positionRect: PositionRectProps, properties: CellProperties, context?: CellContext): AffixCell

Creates a Cell instance.

data: CellProperties
positionRect: PositionRectProps
properties: CellProperties
context: CellContext
propertysymbolstatic
readonly symbol: symbol

Built-in affix cell type symbol.

methodgetDisplayText
getDisplayText(): string

Returns plain display text for numeric/string labels and rich header content.

methodrender
render(): Node<CellProperties<string | number | Schema | null>> | Node<CellProperties<string | number | Schema | null>>[]

Renders the affix background and optional text content.

Inherited members 4

Inherited from Cell.

classBooleanCellsource ↗
class BooleanCell extends Cell<CellProperties<boolean>>

Draws a persisted logical cell using spreadsheet TRUE/FALSE labels.

constructorconstructor
BooleanCell(data: CellProperties, positionRect: PositionRectProps, properties: CellProperties, context?: CellContext): BooleanCell

Creates a Cell instance.

data: CellProperties
positionRect: PositionRectProps
properties: CellProperties
context: CellContext
propertysymbolstatic
readonly symbol: typeof symbol
methodgetDisplayText
getDisplayText(): string

Returns this cell's plain-text representation for:

  • Automatic column-width and row-height measurement (SheetResizePlugin).
  • Non-rendering workflows such as copy/paste and find/replace.

Each subclass implements its own semantics, so callers do not need type switches.

methodrender
render(): Node<CellProperties<boolean>> | Node<CellProperties<boolean>>[]

Renders Cell scene output.

Inherited members 4

Inherited from Cell.

classCellsource ↗
class Cell<T>

Base render node for a projected Sheet cell.

constructorconstructor
Cell<T>(data: T, positionRect: PositionRectProps, properties: T, context?: CellContext): Cell<T>

Creates a Cell instance.

data: T
positionRect: PositionRectProps
properties: T
context: CellContext
propertycontext
readonly context: CellContext
propertydata
readonly data: T
propertypositionRect
readonly positionRect: PositionRectProps
propertyproperties
readonly properties: T
methodgetDisplayText
getDisplayText(): string

Returns this cell's plain-text representation for:

  • Automatic column-width and row-height measurement (SheetResizePlugin).
  • Non-rendering workflows such as copy/paste and find/replace.

Each subclass implements its own semantics, so callers do not need type switches.

methodrender
render(): Node<T> | Node<T>[]

Renders Cell scene output.

classEditorCellsource ↗
class EditorCell extends Cell<CellProperties<SheetDocumentNode[]>>

Rendering-only cell used by the inline rich-text editor overlay.

constructorconstructor
EditorCell(data: CellProperties, positionRect: PositionRectProps, properties: CellProperties, context?: CellContext): EditorCell

Creates a Cell instance.

data: CellProperties
positionRect: PositionRectProps
properties: CellProperties
context: CellContext
propertysymbolstatic
readonly symbol: symbol

Built-in editor cell type symbol.

methodgetDisplayText
getDisplayText(): string

Extracts plain text from the editor document.

methodrender
render(): Node<CellProperties<Schema[]>> | Node<CellProperties<Schema[]>>[]

Renders editor content, marking edit-mode nodes as overlay content when needed.

Inherited members 4

Inherited from Cell.

classEmbeddedEditorRenderNodesource ↗
class EmbeddedEditorRenderNode<T> extends RenderNode<T>

Thin Sheet scene-graph bridge for an embedded rich-text editor.

The embedded editor owns document layout and painting. This node only binds the editor session to the cell geometry and forwards retained draw calls.

constructorconstructor
EmbeddedEditorRenderNode<T>(document: readonly Schema[], positionRect: { height: number; width: number; x: number; y: number }, properties: T, editSession?: SheetEditSession, editRenderOptions?: SheetEditRenderOptions): EmbeddedEditorRenderNode<T>
document: readonly Schema[]
positionRect: { height: number; width: number; x: number; y: number }
properties: T
editSession: SheetEditSession
editRenderOptions: SheetEditRenderOptions
methodclear
clear(context: RenderContext): void

Clears state owned by Node.

context: RenderContext
methoddrawHit
drawHit(_context: RenderContext): void

Rich-text content is visual-only; the cell box owns hit detection.

_context: RenderContext
methoddrawScene
drawScene(context: RenderContext, clipRegion?: ClipRegion): void

Abstract method to draw the node's scene representation. Must be implemented by subclasses.

context: RenderContext

The rendering context.

clipRegion: ClipRegion

Optional clipping region: a PositionRect for axis-aligned rectangular clip, or a Point[] polygon (array of [x, y] vertices) for arbitrary shape clip.

Inherited members 40

Inherited from RenderNode.

classEmptyCellsource ↗
class EmptyCell extends Cell<CellProperties<null>>

Renderer for empty persisted cells and active empty editor cells.

constructorconstructor
EmptyCell(data: CellProperties, positionRect: PositionRectProps, properties: CellProperties, context?: CellContext): EmptyCell

Creates a Cell instance.

data: CellProperties
positionRect: PositionRectProps
properties: CellProperties
context: CellContext
propertysymbolstatic
readonly symbol: symbol

Built-in empty cell type symbol.

methodgetDisplayText
getDisplayText(): string

Empty cells have no display text.

methodrender
render(): Node<CellProperties<null>> | Node<CellProperties<null>>[]

Renders an empty box or editable rich-text placeholder.

Inherited members 4

Inherited from Cell.

classFormulaCellsource ↗
class FormulaCell extends Cell<CellProperties<string>>

Renders the calculated projection of a formula cell.

constructorconstructor
FormulaCell(data: CellProperties, positionRect: PositionRectProps, properties: CellProperties, context?: CellContext): FormulaCell

Creates a Cell instance.

data: CellProperties
positionRect: PositionRectProps
properties: CellProperties
context: CellContext
propertysymbolstatic
readonly symbol: symbol

DI token for resolving FormulaCell.

methodgetDisplayText
getDisplayText(): string

Returns the display text.

methodrender
render(): Node<CellProperties<string>> | Node<CellProperties<string>>[]

Renders FormulaCell scene output.

Inherited members 4

Inherited from Cell.

classNodeFactorysource ↗
class NodeFactory<NodeType>

Factory contract for creating renderable cell/node instances by data type.

constructorconstructor
NodeFactory<NodeType>(): NodeFactory<NodeType>
propertysymbolstatic
readonly symbol: symbol

DI token for resolving the active node factory.

methodcreate
create<DataType, Properties>(data: DataType, positionRect: PositionRectProps, properties: Properties, context?: CellContext): NodeType

Creates a node instance for typed data.

ReturnsCreated node instance.

data: DataType

Persisted or rendering-only cell data.

positionRect: PositionRectProps

Node bounds.

properties: Properties

Render properties passed to the node.

context: CellContext

Optional cell rendering context.

methodregister
register<DataType, Properties>(type: string | symbol, ctor: (data: DataType, positionRect: PositionRectProps, properties: Properties, context?: CellContext): NodeType): (): void

Registers a constructor for a cell or node type.

ReturnsDisposer that restores the previous registration.

type: string | symbol

Type identifier used by incoming data.

ctor: (data: DataType, positionRect: PositionRectProps, properties: Properties, context?: CellContext): NodeType

Constructor used to create the node.

classNumberCellsource ↗
class NumberCell extends Cell<CellProperties<number>>

Renders a persisted numeric value without converting its storage type to text.

constructorconstructor
NumberCell(data: CellProperties, positionRect: PositionRectProps, properties: CellProperties, context?: CellContext): NumberCell

Creates a Cell instance.

data: CellProperties
positionRect: PositionRectProps
properties: CellProperties
context: CellContext
propertysymbolstatic
readonly symbol: symbol

DI token for resolving NumberCell.

methodgetDisplayText
getDisplayText(): string

Returns the display text.

methodrender
render(): Node<CellProperties<number>> | Node<CellProperties<number>>[]

Renders NumberCell scene output.

Inherited members 4

Inherited from Cell.

classRenderCoordinatorManagersource ↗
class RenderCoordinatorManager

Coordinates cell creation and rendering for a concrete renderer registry.

constructorconstructor
RenderCoordinatorManager(): RenderCoordinatorManager
propertysymbolstatic
readonly symbol: symbol

DI token for resolving the active render coordinator manager.

methodcreate
create<T>(): T

Creates a cell instance from registered type metadata.

methodregisterRenderer
registerRenderer(): void

Registers renderer functions supported by the coordinator.

methodregisterType
registerType(): void

Registers cell/node types supported by the coordinator.

methodrender
render<T>(): Node<T> | Node<T>[]

Renders an already-created cell or node.

methodrenderCell
renderCell<T>(): Node<T> | Node<T>[]

Creates and renders a cell from type and render properties.

classRendererRegistrysource ↗
class RendererRegistry<RegistryProperties>

Registry contract for mapping typed render inputs to scene nodes.

constructorconstructor
RendererRegistry<RegistryProperties>(): RendererRegistry<RegistryProperties>
propertysymbolstatic
readonly symbol: symbol

DI token for resolving the active renderer registry.

methodregisterRenderer
registerRenderer(type: unknown, rendererFn: (input: unknown): Node<RegistryProperties> | Node<RegistryProperties>[]): (): void

Registers a renderer function for one input type.

ReturnsDisposer that removes or restores the registration.

type: unknown

Type identifier owned by the cell or feature domain.

rendererFn: (input: unknown): Node<RegistryProperties> | Node<RegistryProperties>[]

Function that converts input into scene nodes.

methodrender
render(input: unknown): Node<RegistryProperties> | Node<RegistryProperties>[]

Renders a registered input.

ReturnsScene node or nodes produced by the registered renderer.

input: unknown

Input accepted by the concrete registry implementation.

classRichTextCellsource ↗
class RichTextCell extends Cell<CellProperties<SheetDocumentNode[]>>

Renderer for persisted rich-text cell values.

constructorconstructor
RichTextCell(data: CellProperties, positionRect: PositionRectProps, properties: CellProperties, context?: CellContext): RichTextCell

Creates a Cell instance.

data: CellProperties
positionRect: PositionRectProps
properties: CellProperties
context: CellContext
propertysymbolstatic
readonly symbol: symbol

Built-in rich-text cell type symbol.

methodgetDisplayText
getDisplayText(): string

Extracts plain text from the rich-text document.

methodrender
render(): Node<CellProperties<Schema[]>> | Node<CellProperties<Schema[]>>[]

Renders a rich-text document inside the cell bounds.

Inherited members 4

Inherited from Cell.

classSheetCellVisualReaderErrorsource ↗
class SheetCellVisualReaderError extends SearError

Public error raised for invalid Sheet cell visual-reader contributions.

constructorconstructor
SheetCellVisualReaderError(code: SheetCellVisualReaderErrorCode, message: string, details?: SearErrorDetails): SheetCellVisualReaderError
code: SheetCellVisualReaderErrorCode
message: string
details: SearErrorDetails
propertycode
readonly code: SheetCellVisualReaderErrorCode

Stable machine-readable identifier for this error category.

Inherited members 9

Inherited from SearError.

classSheetCellVisualReaderRegistrysource ↗
class SheetCellVisualReaderRegistry

Composes editor-local, plugin-owned visual properties for Sheet cells.

constructorconstructor
SheetCellVisualReaderRegistry(): SheetCellVisualReaderRegistry
propertysymbolstatic
readonly symbol: typeof symbol

DI token for the editor-local registry.

methoddestroy
destroy(): void

Removes all editor-local reader registrations.

methodnextConditionalPriority
nextConditionalPriority(): number

Allocates an order after every registered conditional rule owner.

methodread
read(position: SheetCellVisualReadPosition): Partial<CellProperties>

Reads and combines every registered visual contribution for one cell.

position: SheetCellVisualReadPosition
methodreadVisual
readVisual(position: SheetCellVisualReadPosition): { layers: readonly CellVisualLayer[]; properties: Partial<CellProperties> }

Composes base properties, matched rules and visual layers in one pass.

position: SheetCellVisualReadPosition
methodregister
register(reader: SheetCellVisualReader): (): void

Registers one reader and rejects duplicate ids or property ownership.

reader: SheetCellVisualReader
methodregisterConditional
registerConditional(reader: SheetCellConditionalVisualReader): (): void

Registers a rule source whose matches are composed across feature plugins.

reader: SheetCellConditionalVisualReader
methodregisterOverride
registerOverride(reader: SheetCellVisualOverride): (): void

Registers explicit-priority overrides without acquiring base property ownership.

reader: SheetCellVisualOverride
classSheetNodeFactorysource ↗
class SheetNodeFactory extends NodeFactory<Cell<CellProperties<unknown>>>

Default NodeFactory implementation for sheet cells.

constructorconstructor
SheetNodeFactory(): SheetNodeFactory
methodcreate
create<DataType, Properties>(data: DataType, positionRect: PositionRectProps, properties: Properties, context?: CellContext): Cell<CellProperties<unknown>>

Creates a registered sheet cell instance.

ReturnsCreated Cell instance.

data: DataType

Cell data carrying a type identifier.

positionRect: PositionRectProps

Cell bounds.

properties: Properties

Render properties.

context: CellContext

Optional cell rendering context.

methodregister
register<DataType, Properties>(type: string | symbol, ctor: (data: DataType, positionRect: PositionRectProps, properties: Properties, context?: CellContext): Cell<CellProperties<unknown>>): (): void

Registers a cell constructor for one sheet cell type.

ReturnsDisposer that restores the previous constructor for this type.

type: string | symbol

Cell type identifier.

ctor: (data: DataType, positionRect: PositionRectProps, properties: Properties, context?: CellContext): Cell<CellProperties<unknown>>

Cell constructor used to create render cells.

classSheetRenderCoordinatorManagersource ↗
class SheetRenderCoordinatorManager

Coordinates cell projection and rendering for a Sheet frame.

constructorconstructor
SheetRenderCoordinatorManager(nodeFactory: SheetNodeFactory, rendererRegistry: SheetRendererRegistry<CellProperties>, formulaResultProvider: IFormulaResultProvider, platform?: Platform | undefined, cellFormatLocaleProvider?: ICellFormatLocaleProvider): SheetRenderCoordinatorManager

Creates a SheetRenderCoordinatorManager instance.

nodeFactory: SheetNodeFactory
rendererRegistry: SheetRendererRegistry<CellProperties>
formulaResultProvider: IFormulaResultProvider
platform: Platform | undefined
cellFormatLocaleProvider: ICellFormatLocaleProvider
propertynodeFactory
readonly nodeFactory: SheetNodeFactory
propertyrendererRegistry
readonly rendererRegistry: SheetRendererRegistry<CellProperties>
propertysymbolstatic
readonly symbol: symbol

DI token for resolving SheetRenderCoordinatorManager.

methodcreate
create<T>(data: T, positionRect: PositionRectProps, properties: CellProperties, context?: CellContext): Cell<T> | undefined

Creates the value.

data: T
positionRect: PositionRectProps
properties: CellProperties
context: CellContext
methodcreateCellContext
createCellContext(row?: number, col?: number): CellContext

Builds the explicit, read-only context shared by render and measurement paths.

row: number
col: number
methodregisterCell
registerCell<DataType, U>(type: string | symbol, ctor: (data: DataType, positionRect: PositionRectProps, properties: U, context?: CellContext): Cell<DataType>): (): void

Registers a cell constructor and its default Cell.render() adapter together.

type: string | symbol
ctor: (data: DataType, positionRect: PositionRectProps, properties: U, context?: CellContext): Cell<DataType>
methodregisterRenderer
registerRenderer<T>(type: T["type"], renderer: <U>(cell: Cell<U>): Node<CellProperties> | Node<CellProperties>[]): (): void

Registers the renderer.

type: T["type"]
renderer: <U>(cell: Cell<U>): Node<CellProperties> | Node<CellProperties>[]
methodregisterStoredValueValidator
registerStoredValueValidator(type: string | symbol, validator: (cell: CellProperties): boolean): (): void

Registers the stored value validator.

type: string | symbol
validator: (cell: CellProperties): boolean
methodregisterType
registerType<DataType, U>(type: string | symbol, ctor: (data: DataType, positionRect: PositionRectProps, properties: U, context?: CellContext): Cell<DataType>): (): void

Registers the type.

type: string | symbol
ctor: (data: DataType, positionRect: PositionRectProps, properties: U, context?: CellContext): Cell<DataType>
methodrender
render<T>(cell: Cell<T>): Node<CellProperties> | Node<CellProperties>[]

Renders SheetRenderCoordinatorManager scene output.

cell: Cell<T>
methodrenderCell
renderCell<T>(data: T, positionRect: PositionRectProps, properties: CellProperties, context?: CellContext): Node<CellProperties> | Node<CellProperties>[]

Projects and renders one visible Sheet cell.

data: T
positionRect: PositionRectProps
properties: CellProperties
context: CellContext
classSheetRendererRegistrysource ↗
class SheetRendererRegistry<RegistryProperties> extends RendererRegistry<RegistryProperties>

Renderer registry for sheet cell instances.

constructorconstructor
SheetRendererRegistry<RegistryProperties>(): SheetRendererRegistry<RegistryProperties>
methodregisterRenderer
registerRenderer(type: string | symbol, rendererFn: <T>(input: Cell<T>): Node<RegistryProperties> | Node<RegistryProperties>[]): (): void

Registers a renderer for one sheet cell type.

ReturnsDisposer that restores the previous renderer.

type: string | symbol

Cell type identifier.

rendererFn: <T>(input: Cell<T>): Node<RegistryProperties> | Node<RegistryProperties>[]

Function that renders matching cell instances.

methodrender
render<T>(input: Cell<T>): Node<RegistryProperties> | Node<RegistryProperties>[]

Renders a cell through its registered renderer.

ReturnsScene node or nodes produced by the renderer.

input: Cell<T>

Cell instance to render.

Inherited members 1

Inherited from RendererRegistry.

classStringCellsource ↗
class StringCell extends Cell<CellProperties<string>>

Renderer for persisted plain-string cell values.

constructorconstructor
StringCell(data: CellProperties, positionRect: PositionRectProps, properties: CellProperties, context?: CellContext): StringCell

Creates a Cell instance.

data: CellProperties
positionRect: PositionRectProps
properties: CellProperties
context: CellContext
propertysymbolstatic
readonly symbol: symbol

Built-in string cell type symbol.

methodgetDisplayText
getDisplayText(): string

Returns the stored string value for measurement and formula display.

methodrender
render(): Node<CellProperties<string>> | Node<CellProperties<string>>[]

Renders text content inside a standard cell box.

Inherited members 4

Inherited from Cell.

interfaceCellContextsource ↗
interface CellContext

Cell construction context injected by callers such as SheetGridRender and SheetResizePlugin. It lets Cell subclasses access external services on demand and avoids caller-side type switches.

Design principle: adding a cell type or external service should not require callers to add if/else branches. Callers add the service to CellContext, and the corresponding Cell subclass reads it.

The current capabilities are explicit read-only rendering dependencies. Do not pass a DI container or generic service locator into Cell; that would make Cell implicitly depend on the entire application service graph.

propertycellFormatLocale
cellFormatLocale?: CellFormatLocale

Sheet-local defaults for formatting numbers and date/time serials.

propertycol
col?: number

Current cell column index (0-based); optional for non-grid cells.

propertyformulaResultProvider
formulaResultProvider?: IFormulaResultProvider

Read-only access to derived formula results; optional when formulas are disabled.

propertyrow
row?: number

Current cell row index (0-based); optional for non-grid cells.

interfaceSheetCellConditionalVisualsource ↗
interface SheetCellConditionalVisual

One matched conditional rule; higher priority wins for overlapping properties and layer slots.

propertyid
readonly id: string
propertylayers
readonly layers?: readonly CellVisualLayer[]
propertypriority
readonly priority: number
propertyproperties
readonly properties?: Readonly<Partial<CellProperties>>
interfaceSheetCellConditionalVisualReadersource ↗
interface SheetCellConditionalVisualReader
propertyid
readonly id: string
propertyproperties
readonly properties: readonly "value" | "type" | unknown | "region" | "format" | "startRowIndex" | "startColIndex" | "endRowIndex" | "endColIndex"[]
methodread
read(position: SheetCellVisualReadPosition): readonly SheetCellConditionalVisual[]
position: SheetCellVisualReadPosition
methodreadHighestPriority
readHighestPriority(): number

Reads the owner's current rule order after staged transactions commit.

interfaceSheetCellVisualOverridesource ↗
interface SheetCellVisualOverride extends SheetCellVisualReader

Conditional visual overrides applied after base readers, lowest priority first. Omitted or undefined properties preserve the previously composed value. Readers at the same priority must declare disjoint property sets.

propertypriority
readonly priority: number
Inherited members 3

Inherited from SheetCellVisualReader.

interfaceSheetCellVisualReadersource ↗
interface SheetCellVisualReader

Plugin-owned reader declaring exclusive ownership of base visual properties.

propertyid
readonly id: string
propertyproperties
readonly properties: readonly "value" | "type" | unknown | "region" | "format" | "startRowIndex" | "startColIndex" | "endRowIndex" | "endColIndex"[]
methodread
read(position: SheetCellVisualReadPosition): Readonly<Partial<CellProperties>>
position: SheetCellVisualReadPosition
interfaceSheetCellVisualReaderRegistrationContextsource ↗
interface SheetCellVisualReaderRegistrationContext

Minimal configuration access available while plugins register visual readers.

methodreadDefaultConfig
readDefaultConfig(): Readonly<Record<string, unknown>>
interfaceSheetCellVisualReadPositionsource ↗
interface SheetCellVisualReadPosition

Coordinates supplied to one visual reader for a rendered Sheet cell.

propertycolumnIndex
readonly columnIndex: number
propertyrowIndex
readonly rowIndex: number
typeCellPropertiessource ↗
type CellProperties = NodeProperties & { endColIndex?: number; endRowIndex?: number; format?: unknown; isEdit?: boolean; region?: CellRegion; startColIndex?: number; startRowIndex?: number; type: string | symbol; … }

Type contract for CellProperties.

typeCellRegionsource ↗
type CellRegion = typeof CellRegion[keyof typeof CellRegion]

Type contract for CellRegion.

typeCellRenderTypesource ↗
type CellRenderType = typeof CellRenderType[keyof typeof CellRenderType]

Type contract for CellRenderType.

typeSheetCellVisualLayersource ↗
type SheetCellVisualLayer = CellVisualLayer

A rectangle positioned within a cell using fractions of its width and height.

typeSheetCellVisualReaderErrorCodesource ↗
type SheetCellVisualReaderErrorCode = typeof SheetCellVisualReaderErrorCode[keyof typeof SheetCellVisualReaderErrorCode]

Stable failure codes exposed by SheetCellVisualReaderRegistry.

variableCellRegionsource ↗
CellRegion: { ColumnHeader: "column-header"; Corner: "corner"; Grid: "grid"; RowHeader: "row-header" }

Well-known regions used by sheet cells and their interaction handlers.

Keep this as a runtime value as well as a type so producers and consumers share the same identifiers instead of duplicating string literals.

variableCellRenderTypesource ↗
CellRenderType: { Affix: "affix"; Editor: "rich_text" }

Built-in rendering-only cell roles that are not persisted sheet values.

variableSheetCellVisualReaderErrorCodesource ↗
SheetCellVisualReaderErrorCode: { DuplicateReader: "SHEET_CELL_VISUAL_READER_DUPLICATE_READER"; InvalidPriority: "SHEET_CELL_VISUAL_READER_INVALID_PRIORITY"; OverrideConflict: "SHEET_CELL_VISUAL_READER_OVERRIDE_CONFLICT"; PropertyConflict: "SHEET_CELL_VISUAL_READER_PROPERTY_CONFLICT"; UndeclaredProperty: "SHEET_CELL_VISUAL_READER_UNDECLARED_PROPERTY" }

Stable failure codes exposed by SheetCellVisualReaderRegistry.

functionextractRichTextsource ↗
extractRichText(value: unknown): string

Extracts plain text from persisted rich-text content.

value: unknown
functionformatFormulaValuesource ↗
formatFormulaValue(value: unknown): string

Formats formula results consistently for rendering and measurement.

value: unknown
interfaceIFormulaResultProvidersource ↗
interface IFormulaResultProvider

Read-only provider for calculated formula results.

Rendering and other consumers use this interface to read per-client derived formula values without depending on a concrete formula plugin implementation.

methodforEachFormulaResultInRange
forEachFormulaResultInRange(startRow: number, startColumn: number, endRow: number, endColumn: number, visit: (row: number, column: number): void): void

Visits calculated result coordinates in an inclusive range. Providers that project results into cells without persisted data must implement this so range consumers can discover those cells without probing empty positions.

startRow: number
startColumn: number
endRow: number
endColumn: number
visit: (row: number, column: number): void
methodgetFormulaResult
getFormulaResult(row: number, col: number): FormulaValue | undefined

Gets the calculated result for a formula anchor or one of its dynamic-array spill cells.

ReturnsFormulaValue, or undefined when not calculated or not a formula cell.

row: number

Row index (0-based).

col: number

Column index (0-based).