UNPKG

@mui/x-charts

Version:

The community edition of MUI X Charts components.

27 lines (26 loc) 921 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.findClosestIndex = findClosestIndex; var _getAsNumber = require("./getAsNumber"); /** * Returns the index of the entry in `axisData` whose numeric value is closest * to `valueAsNumber`. Returns -1 if `axisData` is empty. */ function findClosestIndex(axisData, valueAsNumber) { return axisData.findIndex((pointValue, index) => { const v = (0, _getAsNumber.getAsNumber)(pointValue); if (v > valueAsNumber) { if (index === 0 || Math.abs(valueAsNumber - v) <= Math.abs(valueAsNumber - (0, _getAsNumber.getAsNumber)(axisData[index - 1]))) { return true; } } if (v <= valueAsNumber) { if (index === axisData.length - 1 || Math.abs(valueAsNumber - v) < Math.abs(valueAsNumber - (0, _getAsNumber.getAsNumber)(axisData[index + 1]))) { return true; } } return false; }); }