mirror of
https://github.com/actions/setup-node
synced 2024-11-30 21:22:29 +08:00
27 lines
621 B
JavaScript
27 lines
621 B
JavaScript
|
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
|
||
|
}
|