UNPKG

hyperformula

Version:

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

28 lines 933 B
/** * @license * Copyright (c) 2025 Handsoncode. All rights reserved. */ import { AbsoluteCellRange } from "./AbsoluteCellRange.mjs"; import { isColOrRowInvalid } from "./Cell.mjs"; import { NamedExpressionDependency } from "./parser/index.mjs"; /** * Converts dependencies from maybe relative addressing to absolute addressing. * * @param deps - list of addresses in R0C0 format * @param baseAddress - base address with regard to which make a convertion */ export const absolutizeDependencies = (deps, baseAddress) => { return deps.map(dep => dep.absolutize(baseAddress)); }; export const filterDependenciesOutOfScope = deps => { return deps.filter(dep => { if (dep instanceof NamedExpressionDependency) { return true; } if (dep instanceof AbsoluteCellRange) { return !(isColOrRowInvalid(dep.start) || isColOrRowInvalid(dep.end)); } else { return !isColOrRowInvalid(dep); } }); };