hyperformula-dc
Version:
HyperFormula is a JavaScript engine for efficient processing of spreadsheet-like data and formulas
46 lines (33 loc) • 1.63 kB
JavaScript
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;
;