UNPKG

@tendrock/lib

Version:

A lib under the Tendrock system for Minecraft Bedrock Script API

47 lines (46 loc) 1.24 kB
import { BetterSet } from './BetterSet'; /** * @deprecated */ export class SetMap { constructor() { this.elementMap = new Map(); } push(key, value) { var _a; const eleSet = (_a = this.elementMap.get(key)) !== null && _a !== void 0 ? _a : new BetterSet(); const isSucceed = eleSet.add(value); this.elementMap.set(key, eleSet); return isSucceed; } delete(key, value) { const eleSet = this.elementMap.get(key); if (!eleSet) return false; const isSucceed = eleSet.delete(value); if (eleSet.size() > 0) { this.elementMap.set(key, eleSet); } else { this.elementMap.delete(key); } return isSucceed; } get(key) { return this.elementMap.get(key); } getAt(key, index) { const eleSet = this.elementMap.get(key); if (!eleSet) return undefined; return eleSet.get(index); } forEach(callback) { this.elementMap.forEach((eleSet, key) => { eleSet.forEach((element, index) => callback(element, key, index)); }); } forEachSet(callback) { this.elementMap.forEach(callback); } }