/// SPDX-License-Identifier: GPL-3.0-or-later /// SPDX-FileCopyrightText: Copyright © 2016-2021 Tony Garnock-Jones // Utilities for Maps of Sets import { FlexSet, FlexMap, Canonicalizer } from '@preserves/core'; export function add(m: FlexMap>, k: K, v: V, c: Canonicalizer) { let s = m.get(k); if (!s) { s = new FlexSet(c); m.set(k, s); } s.add(v); } export function del(m: FlexMap>, k: K, v: V) { const s = m.get(k); if (!s) return; s.delete(v); if (s.size === 0) m.delete(k); }