fixer-wrapper
Version:
Fixer.io Unofficial wrapper for Javascript
70 lines (69 loc) • 3.06 kB
JavaScript
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;
}
}