react-native-ui-lib
Version:
<p align="center"> <img src="https://user-images.githubusercontent.com/1780255/105469025-56759000-5ca0-11eb-993d-3568c1fd54f4.png" height="250px" style="display:block"/> </p> <p align="center">UI Toolset & Components Library for React Native</p> <p a
33 lines (26 loc) • 817 B
JavaScript
import _ from 'lodash';
export function formatLastItemLabel(label, options) {
const {
shouldAddPlus = true,
maxPlusLimit
} = options || {};
if (typeof label !== 'number') {
return label;
}
let formattedLabel;
const roundedNumber = _.toString(Math.round(label));
if (label < 1000) {
formattedLabel = `${label}`;
} else if (label >= 10000000) {
formattedLabel = `${roundedNumber.slice(0, -6)}m`;
} else if (label >= 1000000) {
formattedLabel = `${parseInt(roundedNumber.slice(0, -5)) / 10}m`;
} else {
formattedLabel = `${roundedNumber.slice(0, -3)}k`;
}
const isInPlusRange = !_.isNil(maxPlusLimit) ? formattedLabel.length <= maxPlusLimit : shouldAddPlus;
if (shouldAddPlus && isInPlusRange) {
return `+${formattedLabel}`;
}
return formattedLabel;
}