repository-provider
Version:
abstract interface to git repository providers like github, bitbucket and gitlab
52 lines (51 loc) • 1.89 kB
text/typescript
/**
* Provider supporting serveral repository groups.
*
*/
export class MultiGroupProvider extends BaseProvider {
/**
* Lookup a repository in the provider and all of its repository groups.
* @param {string} name of the repository
* @return {Promise<Repository|undefined>}
*/
repository(name: string): Promise<Repository | undefined>;
/**
* Lookup a branch.
* @param {string} name of the branch
* @return {Promise<Branch|undefined>}
*/
branch(name: string): Promise<Branch | undefined>;
/**
* Lookup a repository group.
* @param {string} name of the group
* @return {Promise<RepositoryGroup|undefined>}
*/
repositoryGroup(name: string): Promise<RepositoryGroup | undefined>;
/**
* List groups.
* @param {string[]|string} [patterns]
* @return {AsyncIterable<RepositoryGroup>} all matching repositories groups of the provider
*/
repositoryGroups(patterns?: string[] | string): AsyncIterable<RepositoryGroup>;
/**
* Create a new repository group.
* If there is already a group for the given name it will be returend instead
* @param {string} name of the group
* @param {Object} [options]
* @return {Promise<RepositoryGroup>}
*/
createRepositoryGroup(name: string, options?: any): Promise<RepositoryGroup>;
/**
* Add a new repository group (not provider specific actions are executed).
* @param {string} name of the group
* @param {Object} [options]
* @return {RepositoryGroup}
*/
addRepositoryGroup(name: string, options?: any): RepositoryGroup;
_addRepositoryGroup(repositoryGroup: any): void;
#private;
}
import { BaseProvider } from "./base-provider.mjs";
import { Repository } from "./repository.mjs";
import { Branch } from "./branch.mjs";
import { RepositoryGroup } from "./repository-group.mjs";