shurcooL / githubv4

Package githubv4 is a client library for accessing GitHub GraphQL API v4 (https://docs.github.com/en/graphql).
MIT License
1.1k stars 89 forks source link

Create a "deep-search" query execution #118

Open isihu opened 8 months ago

isihu commented 8 months ago

Hi there,

consider the query of the pagination example in your README. How about providing a second function that, instead of returning the query as is, would deep-query the result and follow any pageInfo object until HasNextPage is false? The new results can just be appended to the existing one so the return type of the 2 functions wouldn't differ. The API for it could be

err = ghClient.DeepQuery(ctx, &query, nil)

Do you see anything blocking this? We will need to implement this in the future for our specific use case anyway, might as well make it general and provide a PR here.

Kind regards

isihu commented 6 months ago

@dmitshur Sorry for ping. Is this something you'd be interested in? I'd be happy to provide a PR

dmitshur commented 6 months ago

This sounds interesting, can you say more about how it would work? Would it only handle one level of pagination or are you thinking about multiple nested levels of pagination too?

I don't know when I'll have time to review a PR for functionality like this, but if you don't mind that feel free to send one, or just a link to where it's already done. Thanks.