MCPcopy Create free account
hub / github.com/ChromeDevTools/chrome-devtools-mcp / waitForScript

Function waitForScript

src/devtools/DevtoolsUtils.ts:457–483  ·  view source on GitHub ↗
(
  model: DevTools.DebuggerModel,
  scriptId: Protocol.Runtime.ScriptId,
  signal: AbortSignal,
)

Source from the content-addressed store, hash-verified

455
456// Waits indefinitely for the script so pair it with Promise.race.
457async function waitForScript(
458 model: DevTools.DebuggerModel,
459 scriptId: Protocol.Runtime.ScriptId,
460 signal: AbortSignal,
461) {
462 while (true) {
463 if (signal.aborted) {
464 throw signal.reason;
465 }
466
467 const script = model.scriptForId(scriptId);
468 if (script) {
469 return script;
470 }
471
472 await new Promise((resolve, reject) => {
473 signal.addEventListener('abort', () => reject(signal.reason), {
474 once: true,
475 });
476 void model
477 .once(
478 'ParsedScriptSource' as Parameters<DevTools.DebuggerModel['once']>[0],
479 )
480 .then(resolve);
481 });
482 }
483}

Callers 1

createStackTraceFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected