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

Function waitForScript

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

Source from the content-addressed store, hash-verified

445
446// Waits indefinitely for the script so pair it with Promise.race.
447async function waitForScript(
448 model: DevTools.DebuggerModel,
449 scriptId: Protocol.Runtime.ScriptId,
450 signal: AbortSignal,
451) {
452 while (true) {
453 if (signal.aborted) {
454 throw signal.reason;
455 }
456
457 const script = model.scriptForId(scriptId);
458 if (script) {
459 return script;
460 }
461
462 await new Promise((resolve, reject) => {
463 signal.addEventListener('abort', () => reject(signal.reason), {
464 once: true,
465 });
466 void model
467 .once(
468 'ParsedScriptSource' as Parameters<DevTools.DebuggerModel['once']>[0],
469 )
470 .then(resolve);
471 });
472 }
473}

Callers 1

createStackTraceFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected