UNPKG

github-repository-provider

Version:
41 lines (34 loc) 1.11 kB
import { RepositoryGroup } from "repository-provider"; import { GithubMixin } from "./github-mixin.mjs"; /** * */ export class GithubOwner extends GithubMixin(RepositoryGroup) { get repositoryClass() { return this.provider.repositoryClass; } async _initialize() { await this.fetchAllRepositories(); } async fetchAllRepositories() { let pageInfo = {}; do { const result = await this.github.query( `query($username: String!,$after: String) { repositoryOwner(login: $username) { repositories(after:$after,first:100,affiliations:[OWNER]) {pageInfo {endCursor hasNextPage} nodes { id name description } } }}`, { username: this.name, after: pageInfo.endCursor } ); const repositories = result.repositoryOwner.repositories; pageInfo = repositories.pageInfo; for (const node of repositories.nodes) { const repository = new this.repositoryClass(this, node.name, node); this._repositories.set(repository.name, repository); } } while (pageInfo.hasNextPage); } }