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
 | 
						|
}
 |