UNPKG

@blackglory/wait-for

Version:

A module for waiting for things to happen.

21 lines 829 B
import { fromMutationObserver } from "./utils/from-mutation-observer.js"; import { filter, mergeMap } from 'rxjs/operators'; export function waitForDetached(...nodes) { return new Promise(resolve => { if (isDetached(nodes)) return resolve(); const observer = fromMutationObserver(document.documentElement, { childList: true, subtree: true }).pipe(mergeMap(mutations => mutations), filter(isRemovedNodesMutation)).subscribe(() => { if (isDetached(nodes)) { observer.unsubscribe(); resolve(); } }); }); } function isDetached(nodes) { return nodes.every(x => !document.documentElement.contains(x)); } function isRemovedNodesMutation(mutation) { return !!mutation.removedNodes; } //# sourceMappingURL=wait-for-detached.js.map