UNPKG

hyperformula

Version:

HyperFormula is a JavaScript engine for efficient processing of spreadsheet-like data and formulas

42 lines 1.22 kB
/** * @license * Copyright (c) 2025 Handsoncode. All rights reserved. */ import { ErrorType } from "../Cell.mjs"; import { Transformer } from "./Transformer.mjs"; export class RemoveSheetTransformer extends Transformer { constructor(sheet) { super(); this.sheet = sheet; } isIrreversible() { return true; } performEagerTransformations(graph, _parser) { for (const node of graph.arrayFormulaNodes()) { const [newAst] = this.transformSingleAst(node.getFormula(graph.lazilyTransformingAstService), node.getAddress(graph.lazilyTransformingAstService)); node.setFormula(newAst); } } fixNodeAddress(address) { return address; } transformCellAddress(dependencyAddress, _formulaAddress) { return this.transformAddress(dependencyAddress); } transformCellRange(start, _end, _formulaAddress) { return this.transformAddress(start); } transformColumnRange(start, _end, _formulaAddress) { return this.transformAddress(start); } transformRowRange(start, _end, _formulaAddress) { return this.transformAddress(start); } transformAddress(address) { if (address.sheet === this.sheet) { return ErrorType.REF; } return false; } }