UNPKG

hyperformula-dc

Version:

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

49 lines (37 loc) 1.39 kB
"use strict"; exports.__esModule = true; exports.filterDependenciesOutOfScope = exports.absolutizeDependencies = void 0; require("core-js/modules/es.array.map.js"); require("core-js/modules/es.array.filter.js"); var _AbsoluteCellRange = require("./AbsoluteCellRange"); var _Cell = require("./Cell"); var _parser = require("./parser"); /** * @license * Copyright (c) 2021 Handsoncode. All rights reserved. */ /** * 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 */ var absolutizeDependencies = function absolutizeDependencies(deps, baseAddress) { return deps.map(function (dep) { return dep.absolutize(baseAddress); }); }; exports.absolutizeDependencies = absolutizeDependencies; var filterDependenciesOutOfScope = function filterDependenciesOutOfScope(deps) { return deps.filter(function (dep) { if (dep instanceof _parser.NamedExpressionDependency) { return true; } if (dep instanceof _AbsoluteCellRange.AbsoluteCellRange) { return !((0, _Cell.invalidSimpleCellAddress)(dep.start) || (0, _Cell.invalidSimpleCellAddress)(dep.end)); } else { return !(0, _Cell.invalidSimpleCellAddress)(dep); } }); }; exports.filterDependenciesOutOfScope = filterDependenciesOutOfScope;