@fusioncharts/fusiontime
Version:
FusionCharts JavaScript time-series charting framework
1 lines • 835 B
JavaScript
;exports.__esModule=true;exports.default=void 0;var _default=exports.default=function _default(standardBins,intervalIndexMap,units,diffDuration){var i,j,unit,unitsLen=units.length,currentBin,oneMonthinMS=2592e6,sixMonthsandOneDayinMS=157248e5,standardDaysForOneMonth=30,exceptionThreshold=.067,duration=diffDuration;if(duration>oneMonthinMS&&duration<=sixMonthsandOneDayinMS){if(duration/standardDaysForOneMonth%1<exceptionThreshold){duration=oneMonthinMS*Math.floor(duration/oneMonthinMS)}}for(i=0;i<unitsLen;i++){unit=units[i];j=intervalIndexMap[unit.name.toLowerCase()];while(standardBins[j]&&standardBins[j][0].name()===unit.name.toLowerCase()){currentBin=standardBins[j];if(duration<=currentBin[2]){return{unit:unit,multiplier:currentBin[1]}}j++}}return{unit:units[i-1],multiplier:Math.round(duration/units[i-1].ms)}};