waitForDomSettle function

Last updated: 2026-03-04T23:21:38.398Z

Metrics

LOC: 24 Complexity: 1 Params: 1

Signature

waitForDomSettle(ms: number): : Promise<void>

Source Code

function waitForDomSettle(ms: number): Promise<void> {
  return new Promise((resolve) => {
    let timer: ReturnType<typeof setTimeout>;
    const observer = new MutationObserver(() => {
      clearTimeout(timer);
      timer = setTimeout(() => {
        observer.disconnect();
        resolve();
      }, 200);
    });

    observer.observe(document.body, {
      childList: true,
      subtree: true,
      attributes: true,
    });

    // Fallback: resolve after max wait
    timer = setTimeout(() => {
      observer.disconnect();
      resolve();
    }, ms);
  });
}

No outgoing dependencies.

No incoming dependencies.