概要
Github API を簡単に使える JavaScript のライブラリ、Octokit.js を使用していたところ、ページネーションをする必要が出てきた。 Octokit.js でのページネーションについて、公式ドキュメントを読んでもわかりにくかったので、その備忘録として軽く記す。
ページネーション
そもそもページネーションとはなんぞやというのは、Github の公式ドキュメントがわかりやすい。 https://docs.github.com/ja/rest/guides/traversing-with-pagination
ドキュメント曰く、ページネーションに関する情報は、レスポンスの Link ヘッダーで提供されているらしいが、Octokit.js ではどうやるのだろうか。
octokit.js でページネーション
まず、octokit.js 公式ドキュメントを読んでみよう。 https://octokit.github.io/rest.js/v19#pagination
どうやら、octokit.request()
とやって API を実行している部分をoctokit.paginate()
とするだけで良いらしい。
ということで、無邪気に変えてみてもpaginate()
関数なぞありませんと言われる。
実は、pagenate()
を使うには、プラグインを入れなければならないからである。
そのプラグインがこちらである。 https://github.com/octokit/plugin-paginate-rest.js/
あとは、README にあるように、npm install
してインポートして、↓のようにプラグインを入れて、octokit.request()
をoctokit.paginate()
に変えれば良い。
const MyOctokit = Octokit.plugin(paginateRest); const octokit = new MyOctokit({ auth: "secret123" });