Browse Source

Fix issue where certain symbols were incorrectly identified as currencies

pull/7024/head
Thomas Kaul 3 months ago
parent
commit
613d39d569
  1. 33
      apps/api/src/services/data-provider/data-enhancer/yahoo-finance/yahoo-finance.service.ts

33
apps/api/src/services/data-provider/data-enhancer/yahoo-finance/yahoo-finance.service.ts

@ -73,26 +73,21 @@ export class YahooFinanceDataEnhancerService implements DataEnhancerInterface {
* DOGEUSD -> DOGE-USD * DOGEUSD -> DOGE-USD
*/ */
public convertToYahooFinanceSymbol(aSymbol: string) { public convertToYahooFinanceSymbol(aSymbol: string) {
if ( if (isCurrencySymbol(aSymbol)) {
aSymbol.includes(DEFAULT_CURRENCY) && return `${aSymbol}=X`;
aSymbol.length > DEFAULT_CURRENCY.length } else if (
this.cryptocurrencyService.isCryptocurrency(
aSymbol.replace(new RegExp(`-${DEFAULT_CURRENCY}$`), DEFAULT_CURRENCY)
)
) { ) {
if (isCurrencySymbol(aSymbol)) { // Add a dash before the last three characters
return `${aSymbol}=X`; // BTCUSD -> BTC-USD
} else if ( // DOGEUSD -> DOGE-USD
this.cryptocurrencyService.isCryptocurrency( // SOL1USD -> SOL1-USD
aSymbol.replace(new RegExp(`-${DEFAULT_CURRENCY}$`), DEFAULT_CURRENCY) return aSymbol.replace(
) new RegExp(`-?${DEFAULT_CURRENCY}$`),
) { `-${DEFAULT_CURRENCY}`
// Add a dash before the last three characters );
// BTCUSD -> BTC-USD
// DOGEUSD -> DOGE-USD
// SOL1USD -> SOL1-USD
return aSymbol.replace(
new RegExp(`-?${DEFAULT_CURRENCY}$`),
`-${DEFAULT_CURRENCY}`
);
}
} }
return aSymbol; return aSymbol;

Loading…
Cancel
Save