1.1.0 • Published 8 years ago

github-pager v1.1.0

Weekly downloads
1
License
LGPL-2.0
Repository
github
Last release
8 years ago

Pagination support for the GitHub API

Given you are using the GitHub API, this package can help you to retrieve ALL results instead of just the first perPage. GitHub API is of this writing limited to 100 results. In case you need all results, this module will retrieve all matches for your request, by parsing the links response attribute and following up to the next page until there is one, then returning all results together like in a sinlg call.

This release is compatible with the following setup:

https://github.com/mikedeboer/node-github https://developer.github.com/v3/

It is written in plain old JavaScript for your convenience.

Usage example

To retrieve all pull requests between to dates:

githubPager.readAllUnique(github.search.issues, {
    q: 'repo:${options.owner}/${options.repository} type:pr created:${options.dateFrom}..${options.dateTo}',
    sort: 'created',
    order: 'asc'
})
.then(...)
.catch(...);

API specification

readAll(method, options)

Execute the GitHub API method with given options and return its promise. perPage defaults to 100. Duplicate items are possible in the resolved response.

readAllUnique(method, options)

Execute the GitHub API method with given options and return its promise. perPage defaults to 100. Duplicate items from the results are filtered using the number attribute as unique key.

parseLinks(links)

Synchronous method to parse GitHub API links attribute. Returns array of links.

Quality Assurance

THIS IS AS-IS CODE WRITTEN AS A QUICK HACK. USE IT AT YOUR OWN RISK.

1.1.0

8 years ago

1.0.0

8 years ago