Skip to content

TypeError: response.data.data.submissionList.submissions is not iterable in GitHub Action #77

@chienhsiang-hung

Description

@chienhsiang-hung

The GitHub Action for syncing LeetCode submissions is failing due to a TypeError in the code:

TypeError: response.data.data.submissionList.submissions is not iterable
    at addToSubmissions (/home/runner/work/_actions/joshcai/leetcode-sync/v1.7/dist/index.js:14759:62)
    at Object.sync (/home/runner/work/_actions/joshcai/leetcode-sync/v1.7/dist/index.js:14892:8)
    at async main (/home/runner/work/_actions/joshcai/leetcode-sync/v1.7/dist/index.js:19591:3)

Steps to Reproduce:

  1. Run the sync LeetCode GitHub Action in a repository.
  2. Observe the job failure.

Suggested Solution:
Add a guard to check that response.data.data.submissionList.submissions is an array before iterating. Example fix:

const submissions = response.data?.data?.submissionList?.submissions ?? [];
for (const submission of submissions) {
  // ...
}

or

if (Array.isArray(response.data?.data?.submissionList?.submissions)) {
  for (const submission of response.data.data.submissionList.submissions) {
    // ...
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions