import { Pipe, PipeTransform } from '@angular/core'; import { CurrencyService } from '@core/services/currency.service'; import { ClientSettingsService } from '@features/client-settings/client-settings.service'; import { MoneyService } from '@yourcause/common'; @Pipe({ name: 'gcMoney' }) export class GcMoneyPipe implements PipeTransform { constructor ( private moneyService: MoneyService, private clientSettingsService: ClientSettingsService, private currencyService: CurrencyService ) { } transform ( amount: string|number, currency = this.clientSettingsService.defaultCurrency, showCurrencyAtEnd = false ): string { const formatting = this.currencyService.formattingData[currency]; const formatted = this.moneyService.formatMoney( amount, currency as any, formatting ); return `${formatted}${showCurrencyAtEnd ? ` ${currency}` : ''}`; } }