public static async Task <JsonDocument> GetCommentPageAsync(
            GitHubGraphQLClient client,
            string repo,
            string owner,
            int issueNumber,
            string?previousCursor,
            CancellationToken cancellationToken)
        {
            return(await client.GetQueryDataDocumentAsync(@"
query ($owner: String!, $repo: String!, $issueNumber: Int!, $previousCursor: String) {
  repository(owner: $owner, name: $repo) {
    issue(number: $issueNumber) {
      comments(first: 100, after: $previousCursor) {
        nodes {
          body
          author {
            login
            url
          }
          createdAt
          url
        }
        pageInfo {
          hasNextPage
          endCursor
        }
      }
    }
  }
}",
                                                          new Dictionary <string, object?> {
                ["owner"] = owner, ["repo"] = repo, ["issueNumber"] = issueNumber, ["previousCursor"] = previousCursor
            },
                                                          cancellationToken).ConfigureAwait(false));
        }
        public static async Task <JsonDocument> GetIssuePageAsync(
            GitHubGraphQLClient client,
            string repo,
            string owner,
            string?previousCursor,
            CancellationToken cancellationToken)
        {
            return(await client.GetQueryDataDocumentAsync(@"
query ($owner: String!, $repo: String!, $previousCursor: String) {
  repository(owner: $owner, name: $repo) {
    issues(first: 100, orderBy: {field: UPDATED_AT, direction: DESC}, after: $previousCursor) {
      nodes {
        number
        title
        author {
          login
          url
        }
        createdAt
        url
        body
        comments(first: 100) {
          nodes {
            body
            author {
              login
              url
            }
            createdAt
            url
          }
          pageInfo {
            hasNextPage
            endCursor
          }
        }
      }
      pageInfo {
        hasNextPage
        endCursor
      }
      totalCount
    }
  }
}",
                                                          new Dictionary <string, object?> {
                ["owner"] = owner, ["repo"] = repo, ["previousCursor"] = previousCursor
            },
                                                          cancellationToken).ConfigureAwait(false));
        }