UNPKG

evtjs

Version:

Javascript API Bindings for the everiToken blockchain.

45 lines (35 loc) 1.21 kB
"use strict"; var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck"); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require("babel-runtime/helpers/createClass"); var _createClass3 = _interopRequireDefault(_createClass2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var MemoryCache = function () { function MemoryCache(limit) { (0, _classCallCheck3.default)(this, MemoryCache); this.limit = limit || 200; this.map = {}; this.keys = []; } (0, _createClass3.default)(MemoryCache, [{ key: "set", value: function set(key, value) { var map = this.map; var keys = this.keys; if (!Object.prototype.hasOwnProperty.call(map, key)) { if (keys.length === this.limit) { delete map[keys.shift()]; } keys.push(key); } map[key] = value; } }, { key: "get", value: function get(key) { return this.map[key]; } }]); return MemoryCache; }(); module.exports = MemoryCache;