UNPKG

fixer-wrapper

Version:

Fixer.io Unofficial wrapper for Javascript

70 lines (69 loc) 3.06 kB
import axios from 'axios'; import { URL_BASE } from '../utils/keys.js'; export default class FixerWrapper { constructor(access_key) { this._access_key = access_key; } async latest(symbols, baseParam) { const base = typeof baseParam !== 'undefined' ? `&base=${baseParam}` : ''; const url = typeof symbols !== 'undefined' ? `/latest?access_key=${this._access_key}&symbols=${symbols}${base}` : `/latest?access_key=${this._access_key}`; const response = await axios({ url: url, method: 'GET', baseURL: URL_BASE }); return response.data; } async convert(params) { const { conversionFrom, conversionTo, amount, date } = params; const url = typeof date !== 'undefined' ? `/convert?access_key=${this._access_key}&from=${conversionFrom}&to=${conversionTo}&amount=${amount}&date=${date}` : `/convert?access_key=${this._access_key}&from=${conversionFrom}&to=${conversionTo}&amount=${amount}`; const response = await axios({ url: url, method: 'GET', baseURL: URL_BASE }); return response.data; } async timeSeries(params) { const { startDate, endDate, baseParam, symbols } = params; const base = typeof baseParam !== 'undefined' ? `&base=${baseParam}` : ''; const url = typeof symbols !== 'undefined' ? `/timeseries?access_key=${this._access_key}&start_date=${startDate}&end_date=${endDate}${base}&symbols=${symbols}` : `/timeseries?access_key=${this._access_key}&start_date=${startDate}&end_date=${endDate}${base}`; const response = await axios({ url: url, method: 'GET', baseURL: URL_BASE }); return response.data; } async historical(date, baseParam, symbols) { const base = typeof baseParam !== 'undefined' ? `&base=${baseParam}` : ''; const url = typeof symbols !== 'undefined' ? `${date}?access_key=${this._access_key}${base}&symbols=${symbols}` : `${date}?access_key=${this._access_key}${base}`; const response = await axios({ url: url, method: 'GET', baseURL: URL_BASE }); return response.data; } async fluctuation(params) { const { startDate, endDate, baseParam, symbols } = params; const base = typeof baseParam !== 'undefined' ? `&base=${baseParam}` : ''; const url = typeof symbols !== 'undefined' ? `/fluctuation?access_key=${this._access_key}&start_date=${startDate}&end_date=${endDate}${base}&symbols=${symbols}` : `/fluctuation?access_key=${this._access_key}&start_date=${startDate}&end_date=${endDate}${base}`; const response = await axios({ url: url, method: 'GET', baseURL: URL_BASE }); return response.data; } }