UNPKG

currencies-exchange-rates

Version:
50 lines (38 loc) 3.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _nodeCache = _interopRequireDefault(require("node-cache")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } class CacheService { constructor(ttlSeconds) { this.cache = new _nodeCache.default({ stdTTL: ttlSeconds, checkperiod: ttlSeconds * 0.2, useClones: false }); } get(key, fetchData) { const value = this.cache.get(key); if (value) { return Promise.resolve(value); } if (!fetchData) { return undefined; } return fetchData().then(result => { this.cache.set(key, result); return result; }); } del(keys) { this.cache.del(keys); } flush() { this.cache.flushAll(); } } var _default = CacheService; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9jYWNoZS1zZXJ2aWNlLmpzIl0sIm5hbWVzIjpbIkNhY2hlU2VydmljZSIsImNvbnN0cnVjdG9yIiwidHRsU2Vjb25kcyIsImNhY2hlIiwiTm9kZUNhY2hlIiwic3RkVFRMIiwiY2hlY2twZXJpb2QiLCJ1c2VDbG9uZXMiLCJnZXQiLCJrZXkiLCJmZXRjaERhdGEiLCJ2YWx1ZSIsIlByb21pc2UiLCJyZXNvbHZlIiwidW5kZWZpbmVkIiwidGhlbiIsInJlc3VsdCIsInNldCIsImRlbCIsImtleXMiLCJmbHVzaCIsImZsdXNoQWxsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7QUFFQSxNQUFNQSxZQUFOLENBQW1CO0FBRWZDLEVBQUFBLFdBQVcsQ0FBQ0MsVUFBRCxFQUFhO0FBQ3BCLFNBQUtDLEtBQUwsR0FBYSxJQUFJQyxrQkFBSixDQUFjO0FBQUVDLE1BQUFBLE1BQU0sRUFBRUgsVUFBVjtBQUFzQkksTUFBQUEsV0FBVyxFQUFFSixVQUFVLEdBQUcsR0FBaEQ7QUFBcURLLE1BQUFBLFNBQVMsRUFBRTtBQUFoRSxLQUFkLENBQWI7QUFDSDs7QUFFREMsRUFBQUEsR0FBRyxDQUFDQyxHQUFELEVBQU1DLFNBQU4sRUFBaUI7QUFDaEIsVUFBTUMsS0FBSyxHQUFHLEtBQUtSLEtBQUwsQ0FBV0ssR0FBWCxDQUFlQyxHQUFmLENBQWQ7O0FBRUEsUUFBSUUsS0FBSixFQUFXO0FBQ1AsYUFBT0MsT0FBTyxDQUFDQyxPQUFSLENBQWdCRixLQUFoQixDQUFQO0FBQ0g7O0FBRUQsUUFBSSxDQUFDRCxTQUFMLEVBQWdCO0FBQ1osYUFBT0ksU0FBUDtBQUNIOztBQUVELFdBQU9KLFNBQVMsR0FBR0ssSUFBWixDQUFrQkMsTUFBRCxJQUFZO0FBQ2hDLFdBQUtiLEtBQUwsQ0FBV2MsR0FBWCxDQUFlUixHQUFmLEVBQW9CTyxNQUFwQjtBQUNBLGFBQU9BLE1BQVA7QUFDSCxLQUhNLENBQVA7QUFJSDs7QUFFREUsRUFBQUEsR0FBRyxDQUFDQyxJQUFELEVBQU87QUFDTixTQUFLaEIsS0FBTCxDQUFXZSxHQUFYLENBQWVDLElBQWY7QUFDSDs7QUFFREMsRUFBQUEsS0FBSyxHQUFHO0FBQ0osU0FBS2pCLEtBQUwsQ0FBV2tCLFFBQVg7QUFDSDs7QUE3QmM7O2VBaUNKckIsWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBOb2RlQ2FjaGUgZnJvbSAnbm9kZS1jYWNoZSc7XHJcblxyXG5jbGFzcyBDYWNoZVNlcnZpY2Uge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHR0bFNlY29uZHMpIHtcclxuICAgICAgICB0aGlzLmNhY2hlID0gbmV3IE5vZGVDYWNoZSh7IHN0ZFRUTDogdHRsU2Vjb25kcywgY2hlY2twZXJpb2Q6IHR0bFNlY29uZHMgKiAwLjIsIHVzZUNsb25lczogZmFsc2UgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0KGtleSwgZmV0Y2hEYXRhKSB7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmNhY2hlLmdldChrZXkpO1xyXG5cclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIWZldGNoRGF0YSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGZldGNoRGF0YSgpLnRoZW4oKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNhY2hlLnNldChrZXksIHJlc3VsdCk7XHJcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZGVsKGtleXMpIHtcclxuICAgICAgICB0aGlzLmNhY2hlLmRlbChrZXlzKTtcclxuICAgIH1cclxuXHJcbiAgICBmbHVzaCgpIHtcclxuICAgICAgICB0aGlzLmNhY2hlLmZsdXNoQWxsKCk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5leHBvcnQgZGVmYXVsdCBDYWNoZVNlcnZpY2U7Il19