UNPKG

@darkwolf/qiwi.mjs

Version:
38 lines (32 loc) 1.09 kB
import { CrossRate } from '../types/index.mjs' import { UnknownError } from '../errors/index.mjs' import { EventType } from '../constants/index.mjs' export default class GetCrossRatesRequest { static endpoint = '/sinap/crossRates' static from(context) { return new GetCrossRatesRequest(context) } constructor(context) { this.endpoint = GetCrossRatesRequest.endpoint this.setContext(context) } setContext(context = {}) { this.context = context return this } async send() { const response = await this.context.qiwi.request(this) if (response) { if (response.ok) { response.setResult(response.result.result.map(rate => CrossRate.fromParams(rate))) this.context.qiwi.emit(EventType.RESPONSE, response) return response.result } else { const error = new UnknownError(response.message).setResponse(response) this.context.qiwi.emit(EventType.ERROR, error) if (!this.context.qiwi.settings.ignoreErrors) throw error } } return null } }