UNPKG

@d1g1tal/collections

Version:
3 lines (2 loc) 755 B
class u extends Map{set(e,t){return super.set(e,t instanceof Set?t:(super.get(e)??new Set).add(t)),this}getOrInsert(e,t){return this.has(e)?super.get(e):(super.set(e,t instanceof Set?t:(super.get(e)??new Set).add(t)),t)}getOrInsertComputed(e,t){if(this.has(e))return super.get(e);const r=t(e);return super.set(e,r instanceof Set?r:(super.get(e)??new Set).add(r)),r}find(e,t){const r=this.get(e);if(r!==void 0)return Array.from(r).find(t)}hasValue(e,t){const r=super.get(e);return r?r.has(t):!1}deleteValue(e,t){if(t===void 0)return this.delete(e);const r=super.get(e);if(r){const s=r.delete(t);return r.size===0&&super.delete(e),s}return!1}get[Symbol.toStringTag](){return"SetMultiMap"}}export{u as SetMultiMap}; //# sourceMappingURL=set-multi-map.js.map