UNPKG

@nesvet/n

Version:
20 lines 698 B
const timeoutsMapMap = new Map(); // eslint-disable-line @typescript-eslint/no-explicit-any export function cleanup(map, key) { map.delete(key); const timeoutsMap = timeoutsMapMap.get(map); if (timeoutsMap) { const timeout = timeoutsMap.get(key); if (timeout) { clearTimeout(timeout); timeoutsMap.delete(key); } if (!timeoutsMap.size) timeoutsMapMap.delete(map); } } export function setup(map, key, ms) { const timeout = setTimeout(() => cleanup(map, key), ms); timeoutsMapMap.get(map)?.set(key, timeout) ?? timeoutsMapMap.set(map, new Map([[key, timeout]])); } //# sourceMappingURL=timeouts.js.map