github-tools / github

A higher-level wrapper around the Github API. Intended for the browser.
BSD 3-Clause "New" or "Revised" License
3.6k stars 755 forks source link

Pagination #578

Open j-rewerts opened 5 years ago

j-rewerts commented 5 years ago

This issue will track all pagination-related issues. Our goal is to support both loading everything, as well as passing a token through and managing paging yourself.

j-rewerts commented 5 years ago

Documentation

Features

Bugs

j-rewerts commented 5 years ago

Some of these issues are likely outdated.

j-rewerts commented 5 years ago

Our goal will be to have a standardized paging methodology that all functions make use of. Part of the problem right now is that some functions use _requestAllPages and some don't.

If we want to maintain backwards compatibility for our current 3.x.x release, I'm proposing that we default to _requestAllPages, but allow options to be passed in that includes per_page and page.

If we have time, having async-based pagination would be really slick.

sustained commented 4 years ago

There seem to be a lot of pagination-related issues. I'm happy to try to help get this sorted but I might need a bit of help/guidance because I don't know the codebase.

j-rewerts commented 4 years ago

Yes this is the primary issue with the library right now. The big thing we'd need is standardization. Every function call in our library that hits a GitHub endpoint that allows paging should allow for our users to pass through something like:

{
  per_page: 15,
  page: 3
}

In terms of guidance, I'll try to put together a PR with an example of the direction I'm thinking of going in.

v1adko commented 4 years ago

I'd like to add that orgainsation.getRepos( only returns first 100 repositories.