Movatterモバイル変換


[0]ホーム

URL:


GitHub.js

/** * @file * @copyright  2013 Michael Aufreiter (Development Seed) and 2016 Yahoo Inc. * @license    Licensed under {@link https://spdx.org/licenses/BSD-3-Clause-Clear.html BSD-3-Clause-Clear}. *             Github.js is freely distributable. *//* eslint valid-jsdoc: ["error", {"requireReturnDescription": false}] */import Gist from './Gist';import User from './User';import Issue from './Issue';import Search from './Search';import RateLimit from './RateLimit';import Repository from './Repository';import Organization from './Organization';import Team from './Team';import Markdown from './Markdown';import Project from './Project';/** * GitHub encapsulates the functionality to create various API wrapper objects. */class GitHub {   /**    * Create a new GitHub.    * @param {Requestable.auth} [auth] - the credentials to authenticate to Github. If auth is    *                                  not provided requests will be made unauthenticated    * @param {string} [apiBase=https://api.github.com] - the base Github API URL    */   constructor(auth, apiBase = 'https://api.github.com') {      this.__apiBase = apiBase;      this.__auth = auth || {};   }   /**    * Create a new Gist wrapper    * @param {number} [id] - the id for the gist, leave undefined when creating a new gist    * @return {Gist}    */   getGist(id) {      return new Gist(id, this.__auth, this.__apiBase);   }   /**    * Create a new User wrapper    * @param {string} [user] - the name of the user to get information about    *                        leave undefined for the authenticated user    * @return {User}    */   getUser(user) {      return new User(user, this.__auth, this.__apiBase);   }   /**    * Create a new Organization wrapper    * @param {string} organization - the name of the organization    * @return {Organization}    */   getOrganization(organization) {      return new Organization(organization, this.__auth, this.__apiBase);   }   /**    * create a new Team wrapper    * @param {string} teamId - the name of the team    * @return {team}    */   getTeam(teamId) {      return new Team(teamId, this.__auth, this.__apiBase);   }   /**    * Create a new Repository wrapper    * @param {string} user - the user who owns the respository    * @param {string} repo - the name of the repository    * @return {Repository}    */   getRepo(user, repo) {      return new Repository(this._getFullName(user, repo), this.__auth, this.__apiBase);   }   /**    * Create a new Issue wrapper    * @param {string} user - the user who owns the respository    * @param {string} repo - the name of the repository    * @return {Issue}    */   getIssues(user, repo) {      return new Issue(this._getFullName(user, repo), this.__auth, this.__apiBase);   }   /**    * Create a new Search wrapper    * @param {string} query - the query to search for    * @return {Search}    */   search(query) {      return new Search(query, this.__auth, this.__apiBase);   }   /**    * Create a new RateLimit wrapper    * @return {RateLimit}    */   getRateLimit() {      return new RateLimit(this.__auth, this.__apiBase);   }   /**    * Create a new Markdown wrapper    * @return {Markdown}    */   getMarkdown() {      return new Markdown(this.__auth, this.__apiBase);   }   /**    * Create a new Project wrapper    * @param {string} id - the id of the project    * @return {Markdown}    */   getProject(id) {      return new Project(id, this.__auth, this.__apiBase);   }   /**    * Computes the full repository name    * @param {string} user - the username (or the full name)    * @param {string} repo - the repository name, must not be passed if `user` is the full name    * @return {string} the repository's full name    */   _getFullName(user, repo) {      let fullname = user;      if (repo) {         fullname = `${user}/${repo}`;      }      return fullname;   }}module.exports = GitHub;


[8]ページ先頭

©2009-2025 Movatter.jp