import { InternalServerErrorException } from '@nestjs/common'; import { PaymentMethod } from '../../modules/payment/types/PaymentMethod'; import type { CryptoAtomicConverter } from '../../types/CryptoAtomicConverter'; import { convertBtcAtomicToBtc } from '../bitcoin/convertBtcAtomicToBtc'; import { convertXmrAtomicToXmr } from '../monero/convertXmrAtomicToXmr'; export const resolveAtomicToCryptoConverter = (paymentMethod: PaymentMethod): CryptoAtomicConverter => { switch (paymentMethod) { case PaymentMethod.Xmr: return convertXmrAtomicToXmr; case PaymentMethod.Btc: return convertBtcAtomicToBtc; default: throw new InternalServerErrorException(`Unsupported payment method: ${String(paymentMethod)}`); } };