• Create a DisposableMap that manages Disposers and IDisposables with key.

    A DisposableMap is also a Disposer, which means it can be the dispose method of an IDisposable.

    A DisposableMap is also an IDisposable, which means it can be managed by another DisposableMap.

    Example

    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();

    Returns

    A disposable Map.

    Returns DisposableMap