UNPKG

hyperformula-dc

Version:

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

46 lines (33 loc) 1.63 kB
"use strict"; exports.__esModule = true; exports.AdvancedFind = void 0; var _InterpreterValue = require("../interpreter/InterpreterValue"); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var AdvancedFind = /*#__PURE__*/function () { function AdvancedFind(dependencyGraph) { _classCallCheck(this, AdvancedFind); this.dependencyGraph = dependencyGraph; } _createClass(AdvancedFind, [{ key: "advancedFind", value: function advancedFind(keyMatcher, rangeValue) { var values; var range = rangeValue.range; if (range === undefined) { values = rangeValue.valuesFromTopLeftCorner(); } else { values = this.dependencyGraph.computeListOfValuesInRange(range); } for (var i = 0; i < values.length; i++) { if (keyMatcher((0, _InterpreterValue.getRawValue)(values[i]))) { return i; } } return -1; } }]); return AdvancedFind; }(); exports.AdvancedFind = AdvancedFind;