import { errorRequest } from "./error-request"; import { wrapRequest } from "./wrap-request"; export const VERSION = "0.0.0-development"; export function retry(octokit, octokitOptions = {}) { const state = Object.assign({ enabled: true, retryAfterBaseValue: 1000, doNotRetry: [400, 401, 403, 404, 422], retries: 3, }, octokitOptions.retry); octokit.retry = { retryRequest: (error, retries, retryAfter) => { error.request.request = Object.assign({}, error.request.request, { retries: retries, retryAfter: retryAfter, }); return error; }, }; if (!state.enabled) { return; } octokit.hook.error("request", errorRequest.bind(null, octokit, state)); octokit.hook.wrap("request", wrapRequest.bind(null, state)); } retry.VERSION = VERSION;