"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LfuSet = void 0; const map_1 = require("../map"); class LfuSet { constructor(limit) { this.map = new map_1.LfuMap(limit); } has(value) { return this.map.has(value); } add(value) { this.map.set(value, value); return this; } delete(value) { return this.map.delete(value); } keys() { return this.map.keys(); } values() { return this.map.values(); } entries() { return this.map.entries(); } clear() { this.map.clear(); } [Symbol.iterator]() { return this.values(); } forEach(cb, thisArg) { this.map.forEach((item) => cb.call(thisArg, item, item, this)); } get size() { return this.map.size; } } exports.LfuSet = LfuSet;