UNPKG

highcharts

Version:
70 lines (69 loc) 1.52 kB
/* * * * (c) 2009-2025 Highsoft AS * * License: www.highcharts.com/license * * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!! * * Authors: * - Sophie Bremer * * */ 'use strict'; import FormulaProcessor from '../FormulaProcessor.js'; const { getArgumentsValues } = FormulaProcessor; /* * * * Functions * * */ /** * Processor for the `MIN(...values)` implementation. Calculates the lowest * of the given values that are numbers. * * @private * @function Formula.processorFunctions.MIN * * @param {Highcharts.FormulaArguments} args * Arguments to process. * * @param {Highcharts.DataTable} [table] * Table to use for references and ranges. * * @return {number} * Result value of the process. */ function MIN(args, table) { const values = getArgumentsValues(args, table); let result = Number.POSITIVE_INFINITY; for (let i = 0, iEnd = values.length, value; i < iEnd; ++i) { value = values[i]; switch (typeof value) { case 'number': if (value < result) { result = value; } break; case 'object': value = MIN(value); if (value < result) { result = value; } break; } } return isFinite(result) ? result : 0; } /* * * * Registry * * */ FormulaProcessor.registerProcessorFunction('MIN', MIN); /* * * * Default Export * * */ export default MIN;