Home / Function/ pollForResult() — dead-code-hunter Function Reference

pollForResult() — dead-code-hunter Function Reference

Architecture documentation for the pollForResult() function in index.ts from the dead-code-hunter codebase.

Entity Profile

Dependency Diagram

graph TD
  9e6e1b2a_ab53_bba7_59da_9202ddc5c9a5["pollForResult()"]
  1916269f_4df6_c8ce_0c1a_a8a66a4fb245["index.ts"]
  9e6e1b2a_ab53_bba7_59da_9202ddc5c9a5 -->|defined in| 1916269f_4df6_c8ce_0c1a_a8a66a4fb245
  0c3136ed_f7b1_d5d1_589e_7b15515e6598["run()"]
  0c3136ed_f7b1_d5d1_589e_7b15515e6598 -->|calls| 9e6e1b2a_ab53_bba7_59da_9202ddc5c9a5
  80da4995_6c48_50be_0cb3_097a47c76d46["sleep()"]
  9e6e1b2a_ab53_bba7_59da_9202ddc5c9a5 -->|calls| 80da4995_6c48_50be_0cb3_097a47c76d46
  style 9e6e1b2a_ab53_bba7_59da_9202ddc5c9a5 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

src/index.ts lines 126–158

async function pollForResult(
  api: DefaultApi,
  idempotencyKey: string,
  zipBlob: Blob
): Promise<DeadCodeAnalysisResponse> {
  const startTime = Date.now();

  for (let attempt = 1; attempt <= MAX_POLL_ATTEMPTS; attempt++) {
    const response: DeadCodeAnalysisResponseAsync = await api.generateDeadCodeAnalysis({
      idempotencyKey,
      file: zipBlob,
    });

    if (response.status === 'completed' && response.result) {
      return response.result;
    }

    if (response.status === 'failed') {
      throw new Error(`Analysis job failed: ${response.error || 'unknown error'}`);
    }

    const elapsed = Date.now() - startTime;
    if (elapsed >= POLL_TIMEOUT_MS) {
      throw new Error(`Analysis timed out after ${Math.round(elapsed / 1000)}s (job: ${response.jobId})`);
    }

    const retryMs = (response.retryAfter ?? DEFAULT_RETRY_INTERVAL_MS / 1000) * 1000;
    core.info(`Job ${response.jobId} status: ${response.status} (attempt ${attempt}/${MAX_POLL_ATTEMPTS}, retry in ${retryMs / 1000}s)`);
    await sleep(retryMs);
  }

  throw new Error(`Analysis did not complete within ${MAX_POLL_ATTEMPTS} polling attempts`);
}

Domain

Subdomains

Defined In

Calls

Called By

Frequently Asked Questions

What does pollForResult() do?
pollForResult() is a function in the dead-code-hunter codebase, defined in src/index.ts.
Where is pollForResult() defined?
pollForResult() is defined in src/index.ts at line 126.
What does pollForResult() call?
pollForResult() calls 1 function(s): sleep.
What calls pollForResult()?
pollForResult() is called by 1 function(s): run.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free