| module.exports = Octokit; |
| |
| const { request } = require("@octokit/request"); |
| const Hook = require("before-after-hook"); |
| |
| const parseClientOptions = require("./parse-client-options"); |
| |
| function Octokit(plugins, options) { |
| options = options || {}; |
| const hook = new Hook.Collection(); |
| const log = Object.assign( |
| { |
| debug: () => {}, |
| info: () => {}, |
| warn: console.warn, |
| error: console.error |
| }, |
| options && options.log |
| ); |
| const api = { |
| hook, |
| log, |
| request: request.defaults(parseClientOptions(options, log, hook)) |
| }; |
| |
| plugins.forEach(pluginFunction => pluginFunction(api, options)); |
| |
| return api; |
| } |