currencies-exchange-rates
Version:
currencies-exchange-rates
31 lines (18 loc) • 4.58 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.convertCurrency = exports.getCurrencyRate = exports.getCurrencyRateList = void 0;
var _currencyService = _interopRequireDefault(require("./services/currency-service"));
var _cacheService = _interopRequireDefault(require("./services/cache-service"));
var _helpers = require("./utils/helpers");
var _constants = require("./constants");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const cache = new _cacheService.default(_constants.ttl); // Create a new cache service instance
const getCurrencyRateList = async (base = _constants.EUR, date) => await cache.get(`getCurrencyRateList_${(0, _helpers.prepareAbbreviation)(base)}_${(0, _helpers.prepareDate)(date)}`, () => _currencyService.default.fetchData(`${_constants.exchangeApi}${(0, _helpers.prepareDate)(date)}?base=${(0, _helpers.prepareAbbreviation)(base)}`));
exports.getCurrencyRateList = getCurrencyRateList;
const getCurrencyRate = async (from, to, date) => await cache.get(`getCurrencyRate_${(0, _helpers.prepareAbbreviation)(from)}_to_${(0, _helpers.prepareAbbreviation)(to)}_${(0, _helpers.prepareDate)(date)}`, () => _currencyService.default.fetchData(`${_constants.exchangeApi}${(0, _helpers.prepareDate)(date)}?base=${(0, _helpers.prepareAbbreviation)(from)}&symbols=${(0, _helpers.prepareAbbreviation)(to)}`));
exports.getCurrencyRate = getCurrencyRate;
const convertCurrency = async (from, to, amount, date) => await _currencyService.default.convert(from, to, amount, date);
exports.convertCurrency = convertCurrency;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJjYWNoZSIsIkNhY2hlU2VydmljZSIsInR0bCIsImdldEN1cnJlbmN5UmF0ZUxpc3QiLCJiYXNlIiwiRVVSIiwiZGF0ZSIsImdldCIsIkN1cnJlbmN5U2VydmljZSIsImZldGNoRGF0YSIsImV4Y2hhbmdlQXBpIiwiZ2V0Q3VycmVuY3lSYXRlIiwiZnJvbSIsInRvIiwiY29udmVydEN1cnJlbmN5IiwiYW1vdW50IiwiY29udmVydCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBRUEsTUFBTUEsS0FBSyxHQUFHLElBQUlDLHFCQUFKLENBQWlCQyxjQUFqQixDQUFkLEMsQ0FBcUM7O0FBRTlCLE1BQU1DLG1CQUFtQixHQUFHLE9BQU9DLElBQUksR0FBR0MsY0FBZCxFQUFtQkMsSUFBbkIsS0FDL0IsTUFBTU4sS0FBSyxDQUFDTyxHQUFOLENBQVcsdUJBQXNCLGtDQUFvQkgsSUFBcEIsQ0FBMEIsSUFBRywwQkFBWUUsSUFBWixDQUFrQixFQUFoRixFQUNGLE1BQU1FLHlCQUFnQkMsU0FBaEIsQ0FBMkIsR0FBRUMsc0JBQVksR0FBRSwwQkFBWUosSUFBWixDQUFrQixTQUFRLGtDQUFvQkYsSUFBcEIsQ0FBMEIsRUFBL0YsQ0FESixDQURIOzs7O0FBSUEsTUFBTU8sZUFBZSxHQUFHLE9BQU9DLElBQVAsRUFBYUMsRUFBYixFQUFpQlAsSUFBakIsS0FDM0IsTUFBTU4sS0FBSyxDQUFDTyxHQUFOLENBQVcsbUJBQWtCLGtDQUFvQkssSUFBcEIsQ0FBMEIsT0FBTSxrQ0FBb0JDLEVBQXBCLENBQXdCLElBQUcsMEJBQVlQLElBQVosQ0FBa0IsRUFBMUcsRUFDRixNQUFNRSx5QkFBZ0JDLFNBQWhCLENBQTJCLEdBQUVDLHNCQUFZLEdBQUUsMEJBQVlKLElBQVosQ0FBa0IsU0FBUSxrQ0FBb0JNLElBQXBCLENBQTBCLFlBQVcsa0NBQW9CQyxFQUFwQixDQUF3QixFQUFsSSxDQURKLENBREg7Ozs7QUFJQSxNQUFNQyxlQUFlLEdBQUcsT0FBT0YsSUFBUCxFQUFhQyxFQUFiLEVBQWlCRSxNQUFqQixFQUF5QlQsSUFBekIsS0FBbUMsTUFBTUUseUJBQWdCUSxPQUFoQixDQUF3QkosSUFBeEIsRUFBOEJDLEVBQTlCLEVBQWtDRSxNQUFsQyxFQUEwQ1QsSUFBMUMsQ0FBakUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ3VycmVuY3lTZXJ2aWNlIGZyb20gJy4vc2VydmljZXMvY3VycmVuY3ktc2VydmljZSc7XHJcbmltcG9ydCBDYWNoZVNlcnZpY2UgZnJvbSAnLi9zZXJ2aWNlcy9jYWNoZS1zZXJ2aWNlJztcclxuaW1wb3J0IHsgcHJlcGFyZUFiYnJldmlhdGlvbiwgcHJlcGFyZURhdGUgfSBmcm9tICcuL3V0aWxzL2hlbHBlcnMnO1xyXG5pbXBvcnQgeyBFVVIsIGV4Y2hhbmdlQXBpLCB0dGwgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcclxuXHJcbmNvbnN0IGNhY2hlID0gbmV3IENhY2hlU2VydmljZSh0dGwpOyAvLyBDcmVhdGUgYSBuZXcgY2FjaGUgc2VydmljZSBpbnN0YW5jZVxyXG5cclxuZXhwb3J0IGNvbnN0IGdldEN1cnJlbmN5UmF0ZUxpc3QgPSBhc3luYyAoYmFzZSA9IEVVUiwgZGF0ZSkgPT5cclxuICAgIGF3YWl0IGNhY2hlLmdldChgZ2V0Q3VycmVuY3lSYXRlTGlzdF8ke3ByZXBhcmVBYmJyZXZpYXRpb24oYmFzZSl9XyR7cHJlcGFyZURhdGUoZGF0ZSl9YCxcclxuICAgICAgICAoKSA9PiBDdXJyZW5jeVNlcnZpY2UuZmV0Y2hEYXRhKGAke2V4Y2hhbmdlQXBpfSR7cHJlcGFyZURhdGUoZGF0ZSl9P2Jhc2U9JHtwcmVwYXJlQWJicmV2aWF0aW9uKGJhc2UpfWApKTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRDdXJyZW5jeVJhdGUgPSBhc3luYyAoZnJvbSwgdG8sIGRhdGUpID0+XHJcbiAgICBhd2FpdCBjYWNoZS5nZXQoYGdldEN1cnJlbmN5UmF0ZV8ke3ByZXBhcmVBYmJyZXZpYXRpb24oZnJvbSl9X3RvXyR7cHJlcGFyZUFiYnJldmlhdGlvbih0byl9XyR7cHJlcGFyZURhdGUoZGF0ZSl9YCxcclxuICAgICAgICAoKSA9PiBDdXJyZW5jeVNlcnZpY2UuZmV0Y2hEYXRhKGAke2V4Y2hhbmdlQXBpfSR7cHJlcGFyZURhdGUoZGF0ZSl9P2Jhc2U9JHtwcmVwYXJlQWJicmV2aWF0aW9uKGZyb20pfSZzeW1ib2xzPSR7cHJlcGFyZUFiYnJldmlhdGlvbih0byl9YCkpO1xyXG5cclxuZXhwb3J0IGNvbnN0IGNvbnZlcnRDdXJyZW5jeSA9IGFzeW5jIChmcm9tLCB0bywgYW1vdW50LCBkYXRlKSA9PiAgYXdhaXQgQ3VycmVuY3lTZXJ2aWNlLmNvbnZlcnQoZnJvbSwgdG8sIGFtb3VudCwgZGF0ZSk7Il19