UNPKG

@visactor/vchart

Version:

charts lib based @visactor/VGrammar

34 lines (30 loc) 884 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }), exports.WordMeasureCache = void 0; class WordMeasureCache { constructor(maxSize = 1e3) { this._map = new Map, this._maxSize = maxSize; } get(key) { const v = this._map.get(key); if (v) return this._map.delete(key), this._map.set(key, v), v; } set(key, value) { if (this._map.has(key)) this._map.set(key, value); else { if (this._map.size >= this._maxSize) { const oldest = this._map.keys().next().value; void 0 !== oldest && this._map.delete(oldest); } this._map.set(key, value); } } clear() { this._map.clear(); } size() { return this._map.size; } } exports.WordMeasureCache = WordMeasureCache; //# sourceMappingURL=measure-cache.js.map