UNPKG

@alba-cars/common-modules

Version:

A package containing DTOs, validation classes and common modules and interfaces for Alba Cars

40 lines (39 loc) 1.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.formatCurrency = void 0; /** * Formats a number as UAE Dirham (AED) currency with proper comma separation * @param amount The numeric value to be formatted * @param options Optional configuration for formatting * @returns Formatted currency string */ const formatCurrency = (amount, options = {}) => { // If amount is null or undefined, return 'N/A' if (amount == null) return 'N/A'; // Default options const { currency = 'AED', minimumFractionDigits = 0, maximumFractionDigits = 0 } = options; try { // Use English locale to ensure consistent formatting const formatter = new Intl.NumberFormat('en-US', { minimumFractionDigits, maximumFractionDigits, useGrouping: true }); // Format the number with comma separation const formattedAmount = formatter.format(amount); // Prepend AED to the formatted amount return `AED ${formattedAmount}`; } catch (error) { // Fallback formatting if Intl.NumberFormat fails console.warn('Currency formatting failed, using basic formatting', error); // Basic fallback formatting const baseFormatted = amount.toLocaleString('en-US', { minimumFractionDigits, maximumFractionDigits }); return `AED ${baseFormatted}`; } }; exports.formatCurrency = formatCurrency;