js-essential-kit
Version:
This library provides a comprehensive set of utility functions for various common tasks, including date calculations, formatting, masking, normalizing data, and validation
79 lines (78 loc) • 2.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.formatDecimal = exports.formatRound = exports.formatReal = void 0;
/**
* Formats a given amount as Brazilian Real currency.
*
* This function takes a number or a string that can be parsed to a number,
* formats it to two decimal places, and converts it to Brazilian Real currency format.
*
* @param {number | string} [amount=0] - The amount to be formatted. Defaults to 0 if not provided.
* @returns {string} - The formatted currency string in Brazilian Real.
*
* @example
* // Format number to BRL currency
* console.log(formatReal(1234.56)); // 'R$ 1.234,56'
*
* // Format string to BRL currency
* console.log(formatReal('1234.56')); // 'R$ 1.234,56'
*
* // Handle undefined input
* console.log(formatReal()); // 'R$ 0,00'
*/
const formatReal = (amount = 0) => {
const number = Number(amount) || 0;
return number.toLocaleString('pt-BR', {
style: 'currency',
currency: 'BRL',
minimumFractionDigits: 2,
maximumFractionDigits: 2,
});
};
exports.formatReal = formatReal;
/**
* Rounds the given number to the nearest integer.
*
* This function rounds the given number to the nearest integer. If the value is -1,
* it returns 0.
*
* @param {number} value - The number to be rounded.
* @returns {number} - The rounded number or 0 if the input is -1.
*
* @example
* // Round a number
* console.log(formatRound(4.567)); // 5
*
* // Handle special case of -1
* console.log(formatRound(-1)); // 0
*/
const formatRound = (value) => {
if (value === -1) {
return 0;
}
return Math.round(value);
};
exports.formatRound = formatRound;
/**
* Formats the given number to a string with two decimal places.
*
* This function formats the given number to a string with two decimal places, replacing
* the decimal point with a comma. If the value is -1, it returns "0,00".
*
* @param {number} value - The number to be formatted.
* @returns {string} - The formatted number as a string with two decimal places.
*
* @example
* // Format a number to two decimal places
* console.log(formatDecimal(1234.56)); // "1234,56"
*
* // Handle special case of -1
* console.log(formatDecimal(-1)); // "0,00"
*/
const formatDecimal = (value) => {
if (value === -1) {
return '0,00';
}
return value.toFixed(2).replace('.', ',');
};
exports.formatDecimal = formatDecimal;