UNPKG

@blue-impact-engine/blue-impact-engine-client

Version:
76 lines 2.47 kB
/** * Formatting utilities */ export const formatting = { /** * Format date to ISO string * @param date - Date to format * @returns string - ISO formatted date */ formatDate(date) { if (typeof date === "string") { return new Date(date).toISOString(); } return date.toISOString(); }, /** * Format currency amount * @param amount - Amount to format * @param currency - Currency code (default: USD) * @param locale - Locale (default: en-US) * @returns string - Formatted currency */ formatCurrency(amount, currency = "USD", locale = "en-US") { return new Intl.NumberFormat(locale, { style: "currency", currency, }).format(amount); }, /** * Format file size in human readable format * @param bytes - Size in bytes * @returns string - Formatted size */ formatFileSize(bytes) { const sizes = ["Bytes", "KB", "MB", "GB", "TB"]; if (bytes === 0) return "0 Bytes"; const i = Math.floor(Math.log(bytes) / Math.log(1024)); return Math.round((bytes / Math.pow(1024, i)) * 100) / 100 + " " + sizes[i]; }, /** * Format duration in human readable format * @param milliseconds - Duration in milliseconds * @returns string - Formatted duration */ formatDuration(milliseconds) { const seconds = Math.floor(milliseconds / 1000); const minutes = Math.floor(seconds / 60); const hours = Math.floor(minutes / 60); const days = Math.floor(hours / 24); if (days > 0) return `${days}d ${hours % 24}h`; if (hours > 0) return `${hours}h ${minutes % 60}m`; if (minutes > 0) return `${minutes}m ${seconds % 60}s`; return `${seconds}s`; }, /** * Format phone number * @param phone - Phone number to format * @param country - Country code (default: US) * @returns string - Formatted phone number */ formatPhoneNumber(phone, country = "US") { // Simple US phone number formatting if (country === "US") { const cleaned = phone.replace(/\D/g, ""); if (cleaned.length === 10) { return `(${cleaned.slice(0, 3)}) ${cleaned.slice(3, 6)}-${cleaned.slice(6)}`; } } return phone; }, }; //# sourceMappingURL=formattingUtils.js.map