repository-provider
Version:
abstract interface to git repository providers like github, bitbucket and gitlab
104 lines (103 loc) • 4.55 kB
text/typescript
/**
* Mixin to define a class able to handle a collection of repositories.
* @param {Object} base to be extendet
*/
export function RepositoryOwner(base: any): {
new (): {
[x: string]: any;
"__#2@#repositories": Map<any, any>;
/**
* Normalizes a repository name.
* Strips branch away.
* @param {string} name
* @param {boolean} forLookup
* @return {string} normalized name
*/
normalizeRepositoryName(name: string, forLookup: boolean): string;
/**
* Lookup a repository.
* @param {string} [name] of the repository may contain a #branch
* @return {Promise<Repository|undefined>}
*/
repository(name?: string): Promise<Repository | undefined>;
/**
* List repositories for the owner.
* @param {string[]|string} [patterns]
* @return {AsyncIterable<Repository>} all matching repositories of the owner
*/
repositories(patterns?: string[] | string): AsyncIterable<Repository>;
/**
* Lookup entity of a given type and name.
* @param {string} type
* @param {string} [name]
* @param {function} [split]
* @param {Object} [defaultItem]
* @returns {Promise<OwnedObject|undefined>} from a repository
*/
lookup(type: string, name?: string, split?: Function, defaultItem?: any): Promise<OwnedObject | undefined>;
/**
* List entities for a given type and pattern.
* @param {string} type
* @param {string[]|string} [patterns]
* @param {function} [split]
* @param {Object} [defaultItem]
* @return {AsyncIterable<OwnedObject>} matching type and pattern
*/
list(type: string, patterns?: string[] | string, split?: Function, defaultItem?: any): AsyncIterable<OwnedObject>;
/**
* Create a new {@link Repository} in the provider.
* If there is already if repository for the given name it will be returned.
* @param {string} name
* @param {Object} [options]
* @return {Promise<Repository>} newly created repository (if not already present)
*/
createRepository(name: string, options?: any): Promise<Repository>;
/**
* Add a {@link Repository} to the group.
* Only adds the repository to the in memory representation (does not execute any provider actions).
* @param {string} name
* @param {Object} [options]
* @return {Promise<Repository>} newly created repository
*/
addRepository(name: string, options?: any): Promise<Repository>;
_addRepository(repository: any): void;
/**
* Delete a repository.
* @param {string} name
* @return {Promise<any>}
*/
deleteRepository(name: string): Promise<any>;
initializeRepositories(): void;
/**
* Lookup a branch.
* First lookup repository then the branch.
* If no branch was specified then the default branch will be delivered.
* @see {@link Repository#defaultBranch}
* @param {string} name with optional branch name as '#myBranchName'
* @return {Promise<Branch|undefined>}
*/
branch(name: string): Promise<Branch | undefined>;
/**
* List branches for the owner.
* @param {string[]|string} [patterns]
* @return {AsyncIterable<Branch>} all matching branches of the owner
*/
branches(patterns?: string[] | string): AsyncIterable<Branch>;
tag(name: any): Promise<OwnedObject>;
tags(patterns: any): AsyncGenerator<OwnedObject, void, any>;
pullRequest(name: any): Promise<OwnedObject>;
pullRequests(patterns: any): AsyncGenerator<OwnedObject, void, any>;
project(name: any): Promise<OwnedObject>;
projects(patterns: any): AsyncGenerator<OwnedObject, void, any>;
application(name: any): Promise<OwnedObject>;
applications(patterns: any): AsyncGenerator<OwnedObject, void, any>;
milestone(name: any): Promise<OwnedObject>;
milestones(patterns: any): AsyncGenerator<OwnedObject, void, any>;
hook(name: any): Promise<OwnedObject>;
hooks(patterns: any): AsyncGenerator<OwnedObject, void, any>;
};
[x: string]: any;
};
import { Repository } from "./repository.mjs";
import { OwnedObject } from "./owned-object.mjs";
import { Branch } from "./branch.mjs";