UNPKG

@ubiquity-os/plugin-sdk

Version:

SDK for plugin support.

30 lines (29 loc) 1.25 kB
// src/octokit.ts import { Octokit } from "@octokit/core"; import { paginateRest } from "@octokit/plugin-paginate-rest"; import { restEndpointMethods } from "@octokit/plugin-rest-endpoint-methods"; import { retry } from "@octokit/plugin-retry"; import { throttling } from "@octokit/plugin-throttling"; import { paginateGraphQL } from "@octokit/plugin-paginate-graphql"; var defaultOptions = { throttle: { onAbuseLimit: (retryAfter, options, octokit) => { octokit.log.warn(`Abuse limit hit with "${options.method} ${options.url}", retrying in ${retryAfter} seconds.`); return true; }, onRateLimit: (retryAfter, options, octokit) => { octokit.log.warn(`Rate limit hit with "${options.method} ${options.url}", retrying in ${retryAfter} seconds.`); return true; }, onSecondaryRateLimit: (retryAfter, options, octokit) => { octokit.log.warn(`Secondary rate limit hit with "${options.method} ${options.url}", retrying in ${retryAfter} seconds.`); return true; } } }; var customOctokit = Octokit.plugin(throttling, retry, paginateRest, restEndpointMethods, paginateGraphQL).defaults((instanceOptions) => { return { ...defaultOptions, ...instanceOptions }; }); export { customOctokit };