From b292d374f61d53d621ae6b5570548265db4433b2 Mon Sep 17 00:00:00 2001 From: Thomas <4159106+dtslvr@users.noreply.github.com> Date: Sun, 10 Jul 2022 21:52:42 +0200 Subject: [PATCH] Handle occasional currency pair inconsistency: GBP=X instead of USDGBP=X --- .../data-provider/yahoo-finance/yahoo-finance.service.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts b/apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts index b2c79284b..34556b061 100644 --- a/apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts +++ b/apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts @@ -37,10 +37,15 @@ export class YahooFinanceService implements DataProviderInterface { } public convertFromYahooFinanceSymbol(aYahooFinanceSymbol: string) { - const symbol = aYahooFinanceSymbol.replace( + let symbol = aYahooFinanceSymbol.replace( new RegExp(`-${this.baseCurrency}$`), this.baseCurrency ); + + if (symbol.includes('=X') && !symbol.includes(this.baseCurrency)) { + symbol = `${this.baseCurrency}${symbol}`; + } + return symbol.replace('=X', ''); }