hyperformula
Version:
HyperFormula is a JavaScript engine for efficient processing of spreadsheet-like data and formulas
30 lines • 1.01 kB
JavaScript
/**
* @license
* Copyright (c) 2025 Handsoncode. All rights reserved.
*/
import { ErrorType } from "../Cell.mjs";
import { Transformer } from "./Transformer.mjs";
export class CleanOutOfScopeDependenciesTransformer extends Transformer {
constructor(sheet) {
super();
this.sheet = sheet;
}
isIrreversible() {
return true;
}
fixNodeAddress(address) {
return address;
}
transformCellAddress(dependencyAddress, formulaAddress) {
return dependencyAddress.isInvalid(formulaAddress) ? ErrorType.REF : false;
}
transformCellRange(start, end, formulaAddress) {
return start.isInvalid(formulaAddress) || end.isInvalid(formulaAddress) ? ErrorType.REF : false;
}
transformColumnRange(start, end, formulaAddress) {
return start.isInvalid(formulaAddress) || end.isInvalid(formulaAddress) ? ErrorType.REF : false;
}
transformRowRange(start, end, formulaAddress) {
return start.isInvalid(formulaAddress) || end.isInvalid(formulaAddress) ? ErrorType.REF : false;
}
}