UNPKG

currencies-exchange-rates

Version:
31 lines (18 loc) 4.58 kB
"use strict"; 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