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