UNPKG

currencies-exchange-rates

Version:
42 lines (32 loc) 3.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _nodeFetch = _interopRequireDefault(require("node-fetch")); var _index = require("../index"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } class CurrencyService { static async fetchData(url) { try { const response = await (0, _nodeFetch.default)(url); return await response.json(); } catch (err) { throw new Error(err); } } static async convert(from, to, amount = 0, date) { try { const currencyRate = await (0, _index.getCurrencyRate)(from, to, date); if (!currencyRate || !currencyRate.rates) { throw new Error('Currency Exchange rate is unknown!'); } return amount * currencyRate.rates[to.toUpperCase()]; } catch (err) { throw new Error(err); } } } var _default = CurrencyService; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9jdXJyZW5jeS1zZXJ2aWNlLmpzIl0sIm5hbWVzIjpbIkN1cnJlbmN5U2VydmljZSIsImZldGNoRGF0YSIsInVybCIsInJlc3BvbnNlIiwianNvbiIsImVyciIsIkVycm9yIiwiY29udmVydCIsImZyb20iLCJ0byIsImFtb3VudCIsImRhdGUiLCJjdXJyZW5jeVJhdGUiLCJyYXRlcyIsInRvVXBwZXJDYXNlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7Ozs7QUFFQSxNQUFNQSxlQUFOLENBQXNCO0FBRWxCLGVBQWFDLFNBQWIsQ0FBd0JDLEdBQXhCLEVBQTZCO0FBQ3pCLFFBQUk7QUFDQSxZQUFNQyxRQUFRLEdBQUcsTUFBTSx3QkFBTUQsR0FBTixDQUF2QjtBQUNBLGFBQU8sTUFBTUMsUUFBUSxDQUFDQyxJQUFULEVBQWI7QUFDSCxLQUhELENBR0UsT0FBT0MsR0FBUCxFQUFZO0FBQ1YsWUFBTSxJQUFJQyxLQUFKLENBQVVELEdBQVYsQ0FBTjtBQUNIO0FBQ0o7O0FBRUQsZUFBYUUsT0FBYixDQUFzQkMsSUFBdEIsRUFBNEJDLEVBQTVCLEVBQWdDQyxNQUFNLEdBQUcsQ0FBekMsRUFBNENDLElBQTVDLEVBQWtEO0FBQzlDLFFBQUk7QUFDQSxZQUFNQyxZQUFZLEdBQUcsTUFBTSw0QkFBZ0JKLElBQWhCLEVBQXNCQyxFQUF0QixFQUEwQkUsSUFBMUIsQ0FBM0I7O0FBQ0EsVUFBSSxDQUFDQyxZQUFELElBQWlCLENBQUNBLFlBQVksQ0FBQ0MsS0FBbkMsRUFBMEM7QUFDdEMsY0FBTSxJQUFJUCxLQUFKLENBQVUsb0NBQVYsQ0FBTjtBQUNIOztBQUNELGFBQU9JLE1BQU0sR0FBR0UsWUFBWSxDQUFDQyxLQUFiLENBQW1CSixFQUFFLENBQUNLLFdBQUgsRUFBbkIsQ0FBaEI7QUFDSCxLQU5ELENBTUUsT0FBT1QsR0FBUCxFQUFZO0FBQ1YsWUFBTSxJQUFJQyxLQUFKLENBQVVELEdBQVYsQ0FBTjtBQUNIO0FBQ0o7O0FBckJpQjs7ZUF3QlBMLGUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZmV0Y2ggZnJvbSAnbm9kZS1mZXRjaCc7XHJcbmltcG9ydCB7IGdldEN1cnJlbmN5UmF0ZSB9IGZyb20gJy4uL2luZGV4JztcclxuXHJcbmNsYXNzIEN1cnJlbmN5U2VydmljZSB7XHJcblxyXG4gICAgc3RhdGljIGFzeW5jIGZldGNoRGF0YSAodXJsKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwpO1xyXG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgcmVzcG9uc2UuanNvbigpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGFzeW5jIGNvbnZlcnQgKGZyb20sIHRvLCBhbW91bnQgPSAwLCBkYXRlKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgY3VycmVuY3lSYXRlID0gYXdhaXQgZ2V0Q3VycmVuY3lSYXRlKGZyb20sIHRvLCBkYXRlKTtcclxuICAgICAgICAgICAgaWYgKCFjdXJyZW5jeVJhdGUgfHwgIWN1cnJlbmN5UmF0ZS5yYXRlcykge1xyXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDdXJyZW5jeSBFeGNoYW5nZSByYXRlIGlzIHVua25vd24hJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGFtb3VudCAqIGN1cnJlbmN5UmF0ZS5yYXRlc1t0by50b1VwcGVyQ2FzZSgpXTtcclxuICAgICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBDdXJyZW5jeVNlcnZpY2U7Il19