hyperformula
Version:
HyperFormula is a JavaScript engine for efficient processing of spreadsheet-like data and formulas
87 lines (86 loc) • 3.82 kB
TypeScript
/**
* @license
* Copyright (c) 2025 Handsoncode. All rights reserved.
*/
import { SimpleCellAddress } from '../Cell';
import { CellAddress } from '../parser';
import { ColumnAddress } from '../parser/ColumnAddress';
import { RowAddress } from '../parser/RowAddress';
import { Transformer } from './Transformer';
/**
* Transformer that reassigns references from a merged sheet into the surviving sheet.
*/
export declare class RenameSheetTransformer extends Transformer {
readonly sheetIdToKeep: number;
readonly sheetBeingMerged: number;
constructor(sheetIdToKeep: number, sheetBeingMerged: number);
/**
* Returns id of sheet that survives merge operation.
*
* @returns {number} sheet identifier.
*/
get sheet(): number;
/**
* Sheet merge cannot be undone because original sheet id is lost.
*
* @returns {boolean} always true to indicate transformation irreversibility.
*/
isIrreversible(): boolean;
/**
* Updates cell address sheet when it points to merged sheet.
*
* @param {T} dependencyAddress - dependency address needing sheet update.
* @param {SimpleCellAddress} _formulaAddress - location of formula (unused but required by base class).
* @returns {T | false} updated address or false when nothing changes.
*/
protected transformCellAddress<T extends CellAddress>(dependencyAddress: T, _formulaAddress: SimpleCellAddress): T | false;
/**
* Updates sheet for both ends of cell range.
*
* @param {CellAddress} start - start address of range.
* @param {CellAddress} end - end address of range.
* @param {SimpleCellAddress} _formulaAddress - formula location (unused).
* @returns {[CellAddress, CellAddress] | false} updated range tuple or false when unchanged.
*/
protected transformCellRange(start: CellAddress, end: CellAddress, _formulaAddress: SimpleCellAddress): [CellAddress, CellAddress] | false;
/**
* Updates sheet for both ends of column range.
*
* @param {ColumnAddress} start - beginning column of range.
* @param {ColumnAddress} end - ending column of range.
* @param {SimpleCellAddress} _formulaAddress - formula location (unused).
* @returns {[ColumnAddress, ColumnAddress] | false} updated column range or false.
*/
protected transformColumnRange(start: ColumnAddress, end: ColumnAddress, _formulaAddress: SimpleCellAddress): [ColumnAddress, ColumnAddress] | false;
/**
* Updates sheet for both ends of row range.
*
* @param {RowAddress} start - beginning row address.
* @param {RowAddress} end - ending row address.
* @param {SimpleCellAddress} _formulaAddress - formula location (unused).
* @returns {[RowAddress, RowAddress] | false} updated row range or false.
*/
protected transformRowRange(start: RowAddress, end: RowAddress, _formulaAddress: SimpleCellAddress): [RowAddress, RowAddress] | false;
/**
* Node addresses are already absolute, so no change is needed.
*
* @param {SimpleCellAddress} address - node address to inspect.
* @returns {SimpleCellAddress} original address unchanged.
*/
protected fixNodeAddress(address: SimpleCellAddress): SimpleCellAddress;
/**
* Updates sheet identifier for both range ends if needed.
*
* @param {T} start - range start address.
* @param {T} end - range end address.
* @returns {[T, T] | false} tuple with updated addresses or false when no updates happen.
*/
private transformRange;
/**
* Replaces sheet id in address when it points to merged sheet.
*
* @param {T} address - address to update.
* @returns {T | false} address with new sheet id or false when no change occurs.
*/
private updateSheetInAddress;
}