constructor.js 652 B

1234567891011121314151617181920212223242526272829
  1. module.exports = Octokit;
  2. const { request } = require("@octokit/request");
  3. const Hook = require("before-after-hook");
  4. const parseClientOptions = require("./parse-client-options");
  5. function Octokit(plugins, options) {
  6. options = options || {};
  7. const hook = new Hook.Collection();
  8. const log = Object.assign(
  9. {
  10. debug: () => {},
  11. info: () => {},
  12. warn: console.warn,
  13. error: console.error
  14. },
  15. options && options.log
  16. );
  17. const api = {
  18. hook,
  19. log,
  20. request: request.defaults(parseClientOptions(options, log, hook))
  21. };
  22. plugins.forEach(pluginFunction => pluginFunction(api, options));
  23. return api;
  24. }