A disposable Map.
import { disposableMap } from "@wopjs/disposable";
const listen = (target, event, listener) => {
target.addEventListener(event, listener);
return () => target.removeEventListener(event, listener);
}
const map = disposableMap();
map.set("myClick", listen(window, "click", console.log));
map.make("anotherClick", () => {
const listener = console.log;
window.addEventListener("click", listener);
return () => window.removeEventListener("click", listener);
});
map.dispose();
Create a DisposableMap that manages Disposers and IDisposables with key.
A DisposableMap is also a Disposer, which means it can be the
disposemethod of an IDisposable.A DisposableMap is also an IDisposable, which means it can be managed by another DisposableMap.