UNPKG

repository-provider

Version:

abstract interface to git repository providers like github, bitbucket and gitlab

104 lines (103 loc) 4.55 kB
/** * 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";