https://github.com/arlac77/repository-provider
abstract interface to git repository providers like github bitbucket
https://github.com/arlac77/repository-provider
git
Last synced: 4 months ago
JSON representation
abstract interface to git repository providers like github bitbucket
- Host: GitHub
- URL: https://github.com/arlac77/repository-provider
- Owner: arlac77
- License: bsd-2-clause
- Created: 2017-11-14T20:03:22.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-10-26T14:26:07.000Z (over 1 year ago)
- Last Synced: 2024-10-27T11:23:32.562Z (over 1 year ago)
- Topics: git
- Language: JavaScript
- Homepage:
- Size: 3.99 MB
- Stars: 3
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://www.npmjs.com/package/repository-provider)
[](https://spdx.org/licenses/0BSD.html)
[](https://bundlejs.com/?q=repository-provider)
[](https://npmjs.org/package/repository-provider)
[](https://github.com/arlac77/repository-provider/issues)
[](https://actions-badge.atrox.dev/arlac77/repository-provider/goto)
[](https://github.com/prettier/prettier)
[](http://commitizen.github.io/cz-cli/)
[](https://snyk.io/test/github/arlac77/repository-provider)
# repository-provider
abstract interface to git repository providers like github, bitbucket, gitlab, gitea, ...
see list of avaliable implementations below
# Example
```es6
import { Provider } from 'repository-provider';
const provider = new Provider({ /* access options as hosts and credentials */ });
const branch = await provider.branch('myuser/myrepo#myBranch');
for await (const entry of branch.entries('**/*.md')) {
console.log(entry.name);
}
const readme = await branch.entry('README.md');
console.log(await readme.string);
```
# Derived Providers
[list by *repository-provider* keyword](https://www.npmjs.com/browse/keyword/repository-provider)
# API
### Table of Contents
* [Application](#application)
* [BaseObject](#baseobject)
* [Parameters](#parameters)
* [Properties](#properties)
* [id](#id)
* [description](#description)
* [updateAttributes](#updateattributes)
* [Parameters](#parameters-1)
* [update](#update)
* [toString](#tostring)
* [fullName](#fullname)
* [isWritable](#iswritable)
* [isDisabled](#isdisabled)
* [isTemplate](#istemplate)
* [equals](#equals)
* [Parameters](#parameters-2)
* [type](#type)
* [collectionName](#collectionname)
* [attributes](#attributes)
* [writableAttributes](#writableattributes)
* [BaseProvider](#baseprovider)
* [equals](#equals-1)
* [Parameters](#parameters-3)
* [repositoryBases](#repositorybases)
* [supportsBase](#supportsbase)
* [Parameters](#parameters-4)
* [normalizeRepositoryName](#normalizerepositoryname)
* [Parameters](#parameters-5)
* [normalizeGroupName](#normalizegroupname)
* [Parameters](#parameters-6)
* [areRepositoryNamesCaseSensitive](#arerepositorynamescasesensitive)
* [areGroupNamesCaseSensitive](#aregroupnamescasesensitive)
* [parseName](#parsename)
* [Parameters](#parameters-7)
* [createRepository](#createrepository)
* [Parameters](#parameters-8)
* [list](#list)
* [Parameters](#parameters-9)
* [projects](#projects)
* [Parameters](#parameters-10)
* [milestones](#milestones)
* [Parameters](#parameters-11)
* [repositories](#repositories)
* [Parameters](#parameters-12)
* [branches](#branches)
* [Parameters](#parameters-13)
* [tags](#tags)
* [Parameters](#parameters-14)
* [hooks](#hooks)
* [Parameters](#parameters-15)
* [pullRequests](#pullrequests)
* [Parameters](#parameters-16)
* [name](#name)
* [provider](#provider)
* [toJSON](#tojson)
* [repositoryGroupClassFor](#repositorygroupclassfor)
* [Parameters](#parameters-17)
* [instanceIdentifier](#instanceidentifier)
* [initialize](#initialize)
* [Parameters](#parameters-18)
* [BaseProvider](#baseprovider-1)
* [Parameters](#parameters-19)
* [Properties](#properties-1)
* [equals](#equals-2)
* [Parameters](#parameters-20)
* [repositoryBases](#repositorybases-1)
* [supportsBase](#supportsbase-1)
* [Parameters](#parameters-21)
* [normalizeRepositoryName](#normalizerepositoryname-1)
* [Parameters](#parameters-22)
* [normalizeGroupName](#normalizegroupname-1)
* [Parameters](#parameters-23)
* [areRepositoryNamesCaseSensitive](#arerepositorynamescasesensitive-1)
* [areGroupNamesCaseSensitive](#aregroupnamescasesensitive-1)
* [parseName](#parsename-1)
* [Parameters](#parameters-24)
* [createRepository](#createrepository-1)
* [Parameters](#parameters-25)
* [list](#list-1)
* [Parameters](#parameters-26)
* [projects](#projects-1)
* [Parameters](#parameters-27)
* [milestones](#milestones-1)
* [Parameters](#parameters-28)
* [repositories](#repositories-1)
* [Parameters](#parameters-29)
* [branches](#branches-1)
* [Parameters](#parameters-30)
* [tags](#tags-1)
* [Parameters](#parameters-31)
* [hooks](#hooks-1)
* [Parameters](#parameters-32)
* [pullRequests](#pullrequests-1)
* [Parameters](#parameters-33)
* [name](#name-1)
* [provider](#provider-1)
* [toJSON](#tojson-1)
* [repositoryGroupClassFor](#repositorygroupclassfor-1)
* [Parameters](#parameters-34)
* [instanceIdentifier](#instanceidentifier-1)
* [initialize](#initialize-1)
* [Parameters](#parameters-35)
* [DecodedRepositoryName](#decodedrepositoryname)
* [Properties](#properties-2)
* [MessageDestination](#messagedestination)
* [Properties](#properties-3)
* [name](#name-2)
* [messageDestination](#messagedestination-1)
* [parsedName](#parsedname)
* [Branch](#branch)
* [Parameters](#parameters-36)
* [Properties](#properties-4)
* [url](#url)
* [refType](#reftype)
* [isWritable](#iswritable-1)
* [isDefault](#isdefault)
* [delete](#delete)
* [commit](#commit)
* [Parameters](#parameters-37)
* [commitIntoPullRequest](#commitintopullrequest)
* [Parameters](#parameters-38)
* [removeEntries](#removeentries)
* [Parameters](#parameters-39)
* [createPullRequest](#createpullrequest)
* [Parameters](#parameters-40)
* [createBranch](#createbranch)
* [Parameters](#parameters-41)
* [CommitResult](#commitresult)
* [Parameters](#parameters-42)
* [Properties](#properties-5)
* [Commit](#commit-1)
* [Parameters](#parameters-43)
* [Properties](#properties-6)
* [Hook](#hook)
* [Issue](#issue)
* [Milestone](#milestone)
* [MultiGroupProvider](#multigroupprovider)
* [repository](#repository)
* [Parameters](#parameters-44)
* [branch](#branch-1)
* [Parameters](#parameters-45)
* [repositoryGroup](#repositorygroup)
* [Parameters](#parameters-46)
* [repositoryGroups](#repositorygroups)
* [Parameters](#parameters-47)
* [createRepositoryGroup](#createrepositorygroup)
* [Parameters](#parameters-48)
* [addRepositoryGroup](#addrepositorygroup)
* [Parameters](#parameters-49)
* [NamedObject](#namedobject)
* [Parameters](#parameters-50)
* [Properties](#properties-7)
* [displayName](#displayname)
* [condensedName](#condensedname)
* [fullCondensedName](#fullcondensedname)
* [equals](#equals-3)
* [Parameters](#parameters-51)
* [toJSON](#tojson-2)
* [Parameters](#parameters-52)
* [OwnedObject](#ownedobject)
* [Parameters](#parameters-53)
* [delete](#delete-1)
* [equals](#equals-4)
* [Parameters](#parameters-54)
* [homePageURL](#homepageurl)
* [issuesURL](#issuesurl)
* [isLocked](#islocked)
* [isArchived](#isarchived)
* [isDisabled](#isdisabled-1)
* [api](#api)
* [slug](#slug)
* [url](#url-1)
* [provider](#provider-2)
* [identifier](#identifier)
* [fullName](#fullname-1)
* [trace](#trace)
* [Parameters](#parameters-55)
* [info](#info)
* [Parameters](#parameters-56)
* [warn](#warn)
* [Parameters](#parameters-57)
* [error](#error)
* [Parameters](#parameters-58)
* [debug](#debug)
* [Parameters](#parameters-59)
* [addMethodName](#addmethodname)
* [deleteMethodName](#deletemethodname)
* [OwnedObject](#ownedobject-1)
* [Parameters](#parameters-60)
* [delete](#delete-2)
* [equals](#equals-5)
* [Parameters](#parameters-61)
* [homePageURL](#homepageurl-1)
* [issuesURL](#issuesurl-1)
* [isLocked](#islocked-1)
* [isArchived](#isarchived-1)
* [isDisabled](#isdisabled-2)
* [api](#api-1)
* [slug](#slug-1)
* [url](#url-2)
* [provider](#provider-3)
* [identifier](#identifier-1)
* [fullName](#fullname-2)
* [trace](#trace-1)
* [Parameters](#parameters-62)
* [info](#info-1)
* [Parameters](#parameters-63)
* [warn](#warn-1)
* [Parameters](#parameters-64)
* [error](#error-1)
* [Parameters](#parameters-65)
* [debug](#debug-1)
* [Parameters](#parameters-66)
* [addMethodName](#addmethodname-1)
* [deleteMethodName](#deletemethodname-1)
* [Project](#project)
* [PullRequest](#pullrequest)
* [Parameters](#parameters-67)
* [Properties](#properties-8)
* [source](#source)
* [fullName](#fullname-3)
* [url](#url-3)
* [repository](#repository-1)
* [delete](#delete-3)
* [merge](#merge)
* [Parameters](#parameters-68)
* [decline](#decline)
* [reviews](#reviews)
* [identifier](#identifier-2)
* [defaultListStates](#defaultliststates)
* [states](#states)
* [validMergeMethods](#validmergemethods)
* [list](#list-2)
* [Parameters](#parameters-69)
* [open](#open)
* [Parameters](#parameters-70)
* [state](#state)
* [locked](#locked)
* [merged](#merged)
* [draft](#draft)
* [Ref](#ref)
* [ref](#ref-1)
* [refId](#refid)
* [entries](#entries)
* [Parameters](#parameters-71)
* [asyncIterator](#asynciterator)
* [maybeEntry](#maybeentry)
* [Parameters](#parameters-72)
* [entry](#entry)
* [Parameters](#parameters-73)
* [repository](#repository-2)
* [fullName](#fullname-4)
* [fullCondensedName](#fullcondensedname-1)
* [isProtected](#isprotected)
* [isDefault](#isdefault-1)
* [attributes](#attributes-1)
* [Ref](#ref-2)
* [ref](#ref-3)
* [refId](#refid-1)
* [entries](#entries-1)
* [Parameters](#parameters-74)
* [asyncIterator](#asynciterator-1)
* [maybeEntry](#maybeentry-1)
* [Parameters](#parameters-75)
* [entry](#entry-1)
* [Parameters](#parameters-76)
* [repository](#repository-3)
* [fullName](#fullname-5)
* [fullCondensedName](#fullcondensedname-2)
* [isProtected](#isprotected-1)
* [isDefault](#isdefault-2)
* [attributes](#attributes-2)
* [isProtected](#isprotected-2)
* [RepositoryGroup](#repositorygroup-1)
* [Parameters](#parameters-77)
* [Properties](#properties-9)
* [type](#type-1)
* [homePageURL](#homepageurl-2)
* [RepositoryOwner](#repositoryowner)
* [Parameters](#parameters-78)
* [Repository](#repository-4)
* [Parameters](#parameters-79)
* [Properties](#properties-10)
* [slug](#slug-2)
* [url](#url-4)
* [entry](#entry-2)
* [Parameters](#parameters-80)
* [entries](#entries-2)
* [Parameters](#parameters-81)
* [maybeEntry](#maybeentry-2)
* [Parameters](#parameters-82)
* [commits](#commits)
* [Parameters](#parameters-83)
* [cloneURL](#cloneurl)
* [issuesURL](#issuesurl-2)
* [homePageURL](#homepageurl-3)
* [isArchived](#isarchived-2)
* [isLocked](#islocked-2)
* [delete](#delete-4)
* [defaultBranch](#defaultbranch)
* [branch](#branch-2)
* [Parameters](#parameters-84)
* [hasBranches](#hasbranches)
* [branches](#branches-2)
* [Parameters](#parameters-85)
* [createBranch](#createbranch-1)
* [Parameters](#parameters-86)
* [addBranch](#addbranch)
* [Parameters](#parameters-87)
* [deleteBranch](#deletebranch)
* [Parameters](#parameters-88)
* [tag](#tag)
* [Parameters](#parameters-89)
* [tags](#tags-2)
* [Parameters](#parameters-90)
* [addTag](#addtag)
* [Parameters](#parameters-91)
* [\_addTag](#_addtag)
* [Parameters](#parameters-92)
* [createPullRequest](#createpullrequest-1)
* [Parameters](#parameters-93)
* [addPullRequest](#addpullrequest)
* [Parameters](#parameters-94)
* [\_addPullRequest](#_addpullrequest)
* [Parameters](#parameters-95)
* [pullRequests](#pullrequests-2)
* [pullRequest](#pullrequest-1)
* [Parameters](#parameters-96)
* [deletePullRequest](#deletepullrequest)
* [Parameters](#parameters-97)
* [addHook](#addhook)
* [Parameters](#parameters-98)
* [\_addHook](#_addhook)
* [Parameters](#parameters-99)
* [createHook](#createhook)
* [Parameters](#parameters-100)
* [hooks](#hooks-2)
* [hook](#hook-1)
* [Parameters](#parameters-101)
* [\_addMilestone](#_addmilestone)
* [Parameters](#parameters-102)
* [milestone](#milestone-1)
* [Parameters](#parameters-103)
* [\_addProject](#_addproject)
* [Parameters](#parameters-104)
* [project](#project-1)
* [Parameters](#parameters-105)
* [\_addApplication](#_addapplication)
* [Parameters](#parameters-106)
* [application](#application-1)
* [Parameters](#parameters-107)
* [type](#type-2)
* [refId](#refid-2)
* [Parameters](#parameters-108)
* [attributes](#attributes-3)
* [defaultBranchName](#defaultbranchname)
* [branches](#branches-3)
* [tags](#tags-3)
* [projects](#projects-2)
* [applications](#applications)
* [milestones](#milestones-2)
* [pullRequests](#pullrequests-3)
* [hooks](#hooks-3)
* [Review](#review)
* [SingleGroupProvider](#singlegroupprovider)
* [repository](#repository-5)
* [Parameters](#parameters-109)
* [repositoryGroup](#repositorygroup-2)
* [Parameters](#parameters-110)
* [repositoryGroups](#repositorygroups-1)
* [Parameters](#parameters-111)
* [Tag](#tag-1)
* [refType](#reftype-1)
* [asArray](#asarray)
* [Parameters](#parameters-112)
* [stripBaseName](#stripbasename)
* [Parameters](#parameters-113)
* [stripBaseNames](#stripbasenames)
* [Parameters](#parameters-114)
* [generateBranchName](#generatebranchname)
* [Parameters](#parameters-115)
## Application
**Extends OwnedObject**
## BaseObject
Creates an instance of BaseObject.
### Parameters
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?**
* `additionalProperties` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?**
### Properties
* `id` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?**
* `description` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?**
### id
Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
### description
Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
### updateAttributes
Takes values from options.
#### Parameters
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?**
### update
Save object attributes in the backing store.
### toString
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** fullName
### fullName
Complete name in the hierachy.
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
### isWritable
By default cannot be written to.
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** false
### isDisabled
By default we are not disabled.
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** false
### isTemplate
By default we are not a template.
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** false
### equals
Check for equality
#### Parameters
* `other` **([BaseObject](#baseobject) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))**
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true if other is present
### type
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** type we represent
### collectionName
Tag -> tags
Repository -> repositories
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** name of the collection holding us in the owner
### attributes
Attributes definitions.
Returns **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
### writableAttributes
User modifyable attributes.
Returns **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** writable attributes
## BaseProvider
**Extends BaseObject**
### equals
#### Parameters
* `other` **any**
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true if other provider is the same as the receiver
### repositoryBases
All supported base urls.
For github something like:
*
* git://github.com
* git+ssh://github.com
*
* git+
By default we provide provider name with ':'.
Returns **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>** common base urls of all repositories
### supportsBase
Does the provider support the base name.
#### Parameters
* `base` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** to be checked
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true if base is supported or base is undefined
### normalizeRepositoryName
Bring a repository name into its normal form by removing any clutter.
Like .git suffix or #branch names.
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
* `forLookup` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**
Returns **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))** normalized name
### normalizeGroupName
Bring a group name into its normal form by removing any clutter.
Like .git suffix or #branch names.
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
* `forLookup` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**
Returns **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))** normalized name
### areRepositoryNamesCaseSensitive
Are repository names case sensitive.
Overwrite and return false if you want to have case insensitive repository lookup.
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true
### areGroupNamesCaseSensitive
Are repositroy group names case sensitive.
Overwrite and return false if you want to have case insensitive group lookup.
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true
### parseName
Parses repository name and tries to split it into
base, group, repository and branch.
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?**
* `focus` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** where lies the focus if only one path component is given (optional, default `"repository"`)
Returns **[DecodedRepositoryName](#decodedrepositoryname)** result
### createRepository
Create a repository.
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of group and repository
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?**
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[Repository](#repository)>**
### list
List provider objects of a given type.
#### Parameters
* `type` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** name of the method to deliver typed iterator projects,milestones,hooks,repositories,branches,tags
* `patterns` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>** group / repository filter
Returns **AsyncIterable<([Repository](#repository) | [PullRequest](#pullrequest) | [Branch](#branch) | [Tag](#tag) | [Project](#project) | [Milestone](#milestone) | [Hook](#hook))>** all matching repositories of the providers
### projects
List projects.
#### Parameters
* `patterns` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))?**
Returns **AsyncIterable<[Project](#project)>** all matching projects of the provider
### milestones
List milestones.
#### Parameters
* `patterns` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))?**
Returns **AsyncIterable<[Milestone](#milestone)>** all matching milestones of the provider
### repositories
List repositories.
#### Parameters
* `patterns` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))?**
Returns **AsyncIterable<[Repository](#repository)>** all matching repos of the provider
### branches
List branches.
#### Parameters
* `patterns` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))?**
Returns **AsyncIterable<[Branch](#branch)>** all matching branches of the provider
### tags
List tags.
#### Parameters
* `patterns` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))?**
Returns **AsyncIterable<[Tag](#tag)>** all matching tags of the provider
### hooks
List hooks.
#### Parameters
* `patterns` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))?**
Returns **AsyncIterable<[Hook](#hook)>** all matching hooks of the provider
### pullRequests
List pull requests.
#### Parameters
* `patterns` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))?**
Returns **AsyncIterable<[PullRequest](#pullrequest)>** all matching pullRequests of the provider
### name
Deliver the provider name.
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** class name by default
### provider
We are our own provider.
Returns **[BaseProvider](#baseprovider)** this
### toJSON
List all defined entries from attributes.
Returns **{name: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)}**
### repositoryGroupClassFor
Retrieve class suitable to hold repository group for name and options
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
Returns **[Function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)**
### instanceIdentifier
Prefix used to form environment variables.
'GITHUB\_' -> 'GITHUB\_TOKEN'
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** identifier for environment options
### initialize
Creates a new provider for a given set of options.
#### Parameters
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** additional options
* `options.instanceIdentifier` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** name of the provider instance
* `options.description` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?**
* `options.messageDestination` **[MessageDestination](#messagedestination)?**
* `env` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** taken from process.env
Returns **([BaseProvider](#baseprovider) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))** newly created provider or undefined if options are not sufficient to construct a provider
## BaseProvider
**Extends BaseObject**
### Parameters
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?**
* `options.url` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?**
* `options.messageDestination` **[MessageDestination](#messagedestination)?**
### Properties
* `messageDestination` **[MessageDestination](#messagedestination)**
* `url` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
* `api` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
### equals
#### Parameters
* `other` **any**
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true if other provider is the same as the receiver
### repositoryBases
All supported base urls.
For github something like:
*
* git://github.com
* git+ssh://github.com
*
* git+
By default we provide provider name with ':'.
Returns **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>** common base urls of all repositories
### supportsBase
Does the provider support the base name.
#### Parameters
* `base` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** to be checked
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true if base is supported or base is undefined
### normalizeRepositoryName
Bring a repository name into its normal form by removing any clutter.
Like .git suffix or #branch names.
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
* `forLookup` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**
Returns **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))** normalized name
### normalizeGroupName
Bring a group name into its normal form by removing any clutter.
Like .git suffix or #branch names.
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
* `forLookup` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**
Returns **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))** normalized name
### areRepositoryNamesCaseSensitive
Are repository names case sensitive.
Overwrite and return false if you want to have case insensitive repository lookup.
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true
### areGroupNamesCaseSensitive
Are repositroy group names case sensitive.
Overwrite and return false if you want to have case insensitive group lookup.
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true
### parseName
Parses repository name and tries to split it into
base, group, repository and branch.
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?**
* `focus` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** where lies the focus if only one path component is given (optional, default `"repository"`)
Returns **[DecodedRepositoryName](#decodedrepositoryname)** result
### createRepository
Create a repository.
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of group and repository
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?**
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[Repository](#repository)>**
### list
List provider objects of a given type.
#### Parameters
* `type` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** name of the method to deliver typed iterator projects,milestones,hooks,repositories,branches,tags
* `patterns` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>** group / repository filter
Returns **AsyncIterable<([Repository](#repository) | [PullRequest](#pullrequest) | [Branch](#branch) | [Tag](#tag) | [Project](#project) | [Milestone](#milestone) | [Hook](#hook))>** all matching repositories of the providers
### projects
List projects.
#### Parameters
* `patterns` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))?**
Returns **AsyncIterable<[Project](#project)>** all matching projects of the provider
### milestones
List milestones.
#### Parameters
* `patterns` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))?**
Returns **AsyncIterable<[Milestone](#milestone)>** all matching milestones of the provider
### repositories
List repositories.
#### Parameters
* `patterns` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))?**
Returns **AsyncIterable<[Repository](#repository)>** all matching repos of the provider
### branches
List branches.
#### Parameters
* `patterns` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))?**
Returns **AsyncIterable<[Branch](#branch)>** all matching branches of the provider
### tags
List tags.
#### Parameters
* `patterns` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))?**
Returns **AsyncIterable<[Tag](#tag)>** all matching tags of the provider
### hooks
List hooks.
#### Parameters
* `patterns` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))?**
Returns **AsyncIterable<[Hook](#hook)>** all matching hooks of the provider
### pullRequests
List pull requests.
#### Parameters
* `patterns` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))?**
Returns **AsyncIterable<[PullRequest](#pullrequest)>** all matching pullRequests of the provider
### name
Deliver the provider name.
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** class name by default
### provider
We are our own provider.
Returns **[BaseProvider](#baseprovider)** this
### toJSON
List all defined entries from attributes.
Returns **{name: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)}**
### repositoryGroupClassFor
Retrieve class suitable to hold repository group for name and options
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
Returns **[Function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)**
### instanceIdentifier
Prefix used to form environment variables.
'GITHUB\_' -> 'GITHUB\_TOKEN'
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** identifier for environment options
### initialize
Creates a new provider for a given set of options.
#### Parameters
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** additional options
* `options.instanceIdentifier` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** name of the provider instance
* `options.description` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?**
* `options.messageDestination` **[MessageDestination](#messagedestination)?**
* `env` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** taken from process.env
Returns **([BaseProvider](#baseprovider) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))** newly created provider or undefined if options are not sufficient to construct a provider
## DecodedRepositoryName
Type: [Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)
### Properties
* `base` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?**
* `group` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?**
* `repository` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?**
* `branch` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?**
## MessageDestination
Type: [Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)
### Properties
* `info` **function ([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)): void**
* `debug` **function ([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)): void**
* `warn` **function ([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)): void**
* `error` **function ([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)): void**
* `trace` **function ([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)): void**
## name
Name of the provider.
## messageDestination
To forward info/warn and error messages to
## parsedName
Type: [Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)
## Branch
* **See**: [Repository#\_addBranch](Repository#_addBranch)
Abstract branch.
### Parameters
* `owner` **[RepositoryOwner](#repositoryowner)**
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
### Properties
* `repository` **[Repository](#repository)**
* `provider` **Provider**
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
### url
Deliver repository and branch url combined.
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 'repoUrl#branch'
### refType
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** heades
### isWritable
Returns **any** true if not [isArchived](isArchived) and [isDisabled](isDisabled) and [isLocked](isLocked) and [isProtected](#isprotected)
### isDefault
Are we the default branch.
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true if name matches the repository default branch
### delete
* **See**: [Repository#deleteBranch](#repositorydeletebranch)
Delete the branch from the [Repository](#repository).
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\**
### commit
Commit entries.
#### Parameters
* `message` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** commit message
* `updates` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)\** content to be commited
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<([CommitResult](#commitresult) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))>**
### commitIntoPullRequest
Add commits into a pull request.
#### Parameters
* `commits` **([Commit](#commit) | AsyncGenerator<[Commit](#commit)>)** to be commited
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
* `options.pullRequestBranch` **([Branch](#branch) | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))** to commit into
* `options.dry` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** do not create a branch and do not commit only create dummy PR (optional, default `false`)
* `options.skipWithoutCommits` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** do not create a PR if no commits are given
* `options.bodyFromCommitMessages` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** generate body from commit messages
* `options.body` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** body of the PR
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[PullRequest](#pullrequest)>**
### removeEntries
Remove entries form the branch.
#### Parameters
* `entries` **AsyncIterable\**
### createPullRequest
Create a pull request.
#### Parameters
* `toBranch` **[Branch](#branch)**
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?**
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[PullRequest](#pullrequest)>**
### createBranch
Create a new [Branch](#branch) by cloning a given source branch.
Simply calls Repository.createBranch() with the receiver as source branch
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** the new branch
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?** passed through
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[Branch](#branch)>** newly created branch (or already present old one with the same name)
## CommitResult
### Parameters
* `ref`
### Properties
* `ref` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
## Commit
### Parameters
* `repository` **[Repository](#repository)**
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
### Properties
* `repository` **[Repository](#repository)**
* `message` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
* `sha` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
* `author` **User**
* `committer` **User**
## Hook
**Extends OwnedObject**
Repository hook.
## Issue
**Extends OwnedObject**
## Milestone
**Extends OwnedObject**
## MultiGroupProvider
**Extends BaseProvider**
Provider supporting serveral repository groups.
### repository
Lookup a repository in the provider and all of its repository groups.
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of the repository
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<([Repository](#repository) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))>**
### branch
Lookup a branch.
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of the branch
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<([Branch](#branch) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))>**
### repositoryGroup
Lookup a repository group.
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of the group
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<([RepositoryGroup](#repositorygroup) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))>**
### repositoryGroups
List groups.
#### Parameters
* `patterns` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))?**
Returns **AsyncIterable<[RepositoryGroup](#repositorygroup)>** all matching repositories groups of the provider
### createRepositoryGroup
Create a new repository group.
If there is already a group for the given name it will be returend instead
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of the group
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?**
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[RepositoryGroup](#repositorygroup)>**
### addRepositoryGroup
Add a new repository group (not provider specific actions are executed).
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of the group
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?**
Returns **[RepositoryGroup](#repositorygroup)**
## NamedObject
**Extends BaseObject**
Object with a name.
### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?**
* `options.id` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?**
* `options.name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?**
* `options.description` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?**
* `additionalProperties` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?**
### Properties
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
### displayName
Beautified name use for human displaying only.
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** human readable name
### condensedName
Name with default parts removed
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
### fullCondensedName
Complete name in the hierachy.
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
### equals
Check for equality.
#### Parameters
* `other` **[NamedObject](#namedobject)**
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true if names are equal and have the same provider
### toJSON
Provided name and all defined attributes.
#### Parameters
* `filter`
## OwnedObject
**Extends NamedObject**
### Parameters
* `owner`
* `name`
* `options`
### delete
Removes the receiver from the owner.
### equals
Check for equality.
#### Parameters
* `other` **[OwnedObject](#ownedobject)**
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true if receiver and owner are equal
### homePageURL
* **See**: [Repository#homePageURL](#repositoryhomepageurl)
Url of home page.
Returns **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))** as provided from the owner
### issuesURL
* **See**: [Repository#issuesURL](#repositoryissuesurl)
Url of issue tracking system.
Returns **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))** as provided from the repository
### isLocked
Forwarded from the owner.
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**
### isArchived
Forwarded from the owner.
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**
### isDisabled
Forwarded from the owner.
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**
### api
API as given by the owner.
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** url
### slug
API as given by the owner.
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** url
### url
URL as given by the owner.
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** url
### provider
The provider we live in.
Returns **[BaseProvider](#baseprovider)**
### identifier
Short human readable identifier with provider and branch.
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
### fullName
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** name with owner name
### trace
Forwarded to the owner.
#### Parameters
* `args` **...any**
### info
Forwarded to the owner.
#### Parameters
* `args` **...any**
### warn
Forwarded to the owner.
#### Parameters
* `args` **...any**
### error
Forwarded to the owner.
#### Parameters
* `args` **...any**
### debug
Forwarded to the owner.
#### Parameters
* `args` **...any**
### addMethodName
Method name to be called to register one instance in the owner.
sample: Application => \_addApplication
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
### deleteMethodName
Method name to be called to unregister one instance in the owner.
sample: Application => \_deleteApplication
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
## OwnedObject
**Extends NamedObject**
Named Object registering itself in the owner.
### Parameters
* `owner` **[BaseObject](#baseobject)**
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
* `options` **([Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))**
### delete
Removes the receiver from the owner.
### equals
Check for equality.
#### Parameters
* `other` **[OwnedObject](#ownedobject)**
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true if receiver and owner are equal
### homePageURL
* **See**: [Repository#homePageURL](#repositoryhomepageurl)
Url of home page.
Returns **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))** as provided from the owner
### issuesURL
* **See**: [Repository#issuesURL](#repositoryissuesurl)
Url of issue tracking system.
Returns **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))** as provided from the repository
### isLocked
Forwarded from the owner.
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**
### isArchived
Forwarded from the owner.
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**
### isDisabled
Forwarded from the owner.
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**
### api
API as given by the owner.
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** url
### slug
API as given by the owner.
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** url
### url
URL as given by the owner.
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** url
### provider
The provider we live in.
Returns **[BaseProvider](#baseprovider)**
### identifier
Short human readable identifier with provider and branch.
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
### fullName
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** name with owner name
### trace
Forwarded to the owner.
#### Parameters
* `args` **...any**
### info
Forwarded to the owner.
#### Parameters
* `args` **...any**
### warn
Forwarded to the owner.
#### Parameters
* `args` **...any**
### error
Forwarded to the owner.
#### Parameters
* `args` **...any**
### debug
Forwarded to the owner.
#### Parameters
* `args` **...any**
### addMethodName
Method name to be called to register one instance in the owner.
sample: Application => \_addApplication
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
### deleteMethodName
Method name to be called to unregister one instance in the owner.
sample: Application => \_deleteApplication
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
## Project
**Extends OwnedObject**
## PullRequest
**Extends OwnedObject**
Abstract pull request.
[Repository#addPullRequest](#repositoryaddpullrequest)
### Parameters
* `source` **[Branch](#branch)** merge source
* `owner` **[Branch](#branch)** merge target
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?**
* `options.title` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?**
* `options.state` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?**
* `options.merged` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)?**
* `options.locked` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)?**
### Properties
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
* `source` **[Branch](#branch)**
* `destination` **[Branch](#branch)**
* `title` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?**
* `state` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?**
* `merged` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)?**
* `locked` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)?**
* `url` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
### source
Type: [Branch](#branch)
### fullName
Name of the PR together with the repository.
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** PR full name
### url
URL of the pull request.
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** url
### repository
Returns **[Repository](#repository)** destination repository
### delete
* **See**: [Repository#deletePullRequest](#repositorydeletepullrequest)
Delete the pull request from the [Repository](#repository).
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)**
### merge
Merge the pull request.
#### Parameters
* `method` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** (optional, default `"MERGE"`)
### decline
Decline the pull request.
### reviews
Returns **AsyncIterable<[Review](#review)>**
### identifier
Short human readable identifier with provider and branch.
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
### defaultListStates
States to list pull request by default
Returns **[Set](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Set)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>** states to list by default
### states
possible states
Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
### validMergeMethods
All valid merge methods
Type: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)
Returns **[Set](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Set)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>** valid merge methods.
### list
List all pull request for a given repo.
Result will be filtered by source branch, destination branch and states
#### Parameters
* `repository` **[Repository](#repository)**
* `filter` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?**
* `filter.source` **[Branch](#branch)??**
* `filter.destination` **[Branch](#branch)??**
* `filter.states` **[Set](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Set)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>?**
Returns **AsyncIterable<[PullRequest](#pullrequest)>**
### open
Open a pull request
#### Parameters
* `source` **[Branch](#branch)**
* `destination` **[Branch](#branch)**
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?**
## state
state of the pull request.
* OPEN
* MERGED
* CLOSED
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
## locked
Locked state of the pull request.
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**
## merged
Merged state of the pull request.
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**
## draft
Draft state of the pull request.
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**
## Ref
**Extends OwnedObject**
### ref
Full ref path.
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** git ref of the Ref
### refId
Get sha of our ref.
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>** sha of the ref
### entries
List entries of the branch.
#### Parameters
* `matchingPatterns` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))?**
Returns **AsyncGenerator\** all matching entries in the branch
### asyncIterator
List all entries of the branch.
Returns **AsyncGenerator\** all entries in the branch
### maybeEntry
Get exactly one matching entry by name or undefine if no such entry is found.
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<(ContentEntry | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))>**
### entry
Get exactly one matching entry by name (throws if entry is not found).
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\**
### repository
* **See**: [Repository#owner](Repository#owner)
Ref owner.
By default we provide the repository owner
Returns **[Repository](#repository)**
### fullName
Repository and branch name combined.
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 'repo#branch'
### fullCondensedName
Repository fullName and branch name combined.
But skipping the branch name if it is the default branch.
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 'user/repo#branch'
### isProtected
Returns **any** false
### isDefault
Are we the default ref.
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** false
### attributes
Attributes
Type: [Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)
## Ref
**Extends OwnedObject**
Base for Branch and Tag
### ref
Full ref path.
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** git ref of the Ref
### refId
Get sha of our ref.
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>** sha of the ref
### entries
List entries of the branch.
#### Parameters
* `matchingPatterns` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))?**
Returns **AsyncGenerator\** all matching entries in the branch
### asyncIterator
List all entries of the branch.
Returns **AsyncGenerator\** all entries in the branch
### maybeEntry
Get exactly one matching entry by name or undefine if no such entry is found.
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<(ContentEntry | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))>**
### entry
Get exactly one matching entry by name (throws if entry is not found).
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\**
### repository
* **See**: [Repository#owner](Repository#owner)
Ref owner.
By default we provide the repository owner
Returns **[Repository](#repository)**
### fullName
Repository and branch name combined.
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 'repo#branch'
### fullCondensedName
Repository fullName and branch name combined.
But skipping the branch name if it is the default branch.
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 'user/repo#branch'
### isProtected
Returns **any** false
### isDefault
Are we the default ref.
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** false
### attributes
Attributes
Type: [Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)
## isProtected
Can the ref be modified.
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**
## RepositoryGroup
**Extends RepositoryOwner(OwnedObject)**
Abstract repository collection.
### Parameters
* `provider` **[BaseProvider](#baseprovider)**
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of the group
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?**
* `options.description` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** human readable description
* `options.id` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** internal id
* `options.url` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** home
### Properties
* `provider` **[BaseProvider](#baseprovider)**
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
## type
Type of the repository group either User or Organization.
## homePageURL
The url of home page.
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
## RepositoryOwner
Mixin to define a class able to handle a collection of repositories.
### Parameters
* `base` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** to be extendet
## Repository
**Extends OwnedObject**
Abstract repository
### Parameters
* `owner` **[RepositoryOwner](#repositoryowner)**
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** (#branch) will be removed
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?**
### Properties
* `owner` **[RepositoryOwner](#repositoryowner)**
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** without (#branch)
* `description` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** from options.description
* `id` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** from options.id
* `branches` **[Map](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Map)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String), [Branch](#branch)>**
* `tags` **[Map](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Map)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String), [Tag](#tag)>**
* `pullRequests` **[Map](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Map)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String), [PullRequest](#pullrequest)>**
* `milestones` **[Map](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Map)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String), [Milestone](#milestone)>**
### slug
Name of the repo as used in the URL.
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
### url
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
### entry
Lookup entries form the head of the default branch.
[Branch#entry](Branch#entry)
#### Parameters
* `name`
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\**
### entries
List entries of the default branch.
#### Parameters
* `patterns` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))?**
Returns **AsyncIterable\** all matching entries in the branch
### maybeEntry
Get exactly one matching entry by name or undefined if no such entry is found.
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<(ContentEntry | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))>**
### commits
List commits of the default branch.
#### Parameters
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?**
Returns **AsyncIterable<[Commit](#commit)>** all matching commits in the repository
### cloneURL
The url used for cloning the repo.
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
### issuesURL
The url of issue tracking system.
Returns **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))**
### homePageURL
The url of home page.
Returns **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))**
### isArchived
By default we are not archived.
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** false
### isLocked
By default we are not locked.
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** false
### delete
Delete the repository from the [Provider](Provider).
[Provider#deleteRepository](Provider#deleteRepository)
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\**
### defaultBranch
Lookup the default branch.
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<([Branch](#branch) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))>** branch named after defaultBranchName
### branch
Lookup branch by name.
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<([Branch](#branch) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))>**
### hasBranches
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true if there is at least one branch
### branches
#### Parameters
* `patterns` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))?**
Returns **AsyncGenerator<[Branch](#branch)>** of all branches
### createBranch
Create a new [Branch](#branch) by cloning a given source branch.
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of the new branch
* `source` **[Branch](#branch)** branch defaults to the defaultBranch
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?**
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[Branch](#branch)>** newly created branch (or already present old one with the same name)
### addBranch
Add a new [Branch](#branch).
Internal branch creation does not call repository.initialize()
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of the new branch
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?** to be passed to the branch
Returns **[Branch](#branch)** newly created branch or already present one for the given name
### deleteBranch
Delete a [Branch](#branch).
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of the branch
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\**
### tag
Get a Tag.
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<([Tag](#tag) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))>**
### tags
#### Parameters
* `patterns` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))?**
Returns **AsyncGenerator<[Tag](#tag)>** of all tags
### addTag
Add a new [Tag](#tag).
Internal tag creation does not call repository.initialize()
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of the new tag
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?**
Returns **[Tag](#tag)** newly created tag
### \_addTag
#### Parameters
* `tag` **[Tag](#tag)**
### createPullRequest
Create a pull request (or deliver an already present for the given name).
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of the pr
* `source` **[Branch](#branch)** branch
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?**
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[PullRequest](#pullrequest)>**
### addPullRequest
Add a pull request.
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
* `source` **[Branch](#branch)**
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?**
Returns **[PullRequest](#pullrequest)**
### \_addPullRequest
#### Parameters
* `pr` **[PullRequest](#pullrequest)**
### pullRequests
Deliver all [PullRequest](#pullrequest)s.
Returns **AsyncGenerator<[PullRequest](#pullrequest)>** of all pull requests
### pullRequest
The @see [PullRequest](#pullrequest) for a given name.
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<([PullRequest](#pullrequest) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))>**
### deletePullRequest
Delete a [PullRequest](#pullrequest).
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\**
### addHook
Add a new [Hook](#hook).
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of the new hoook name
* `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)?**
Returns **[Hook](#hook)** newly created hook
### \_addHook
#### Parameters
* `hook` **[Hook](#hook)**
### createHook
Add a new Hook.
#### Parameters
* `hook` **[Hook](#hook)**
### hooks
List hooks.
Returns **AsyncGenerator<[Hook](#hook)>** all hooks of the repository
### hook
Get a Hook.
#### Parameters
* `id` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number))**
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<([Hook](#hook) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))>** for the given id
### \_addMilestone
#### Parameters
* `milestone` **[Milestone](#milestone)**
### milestone
Get a Milestone.
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<([Milestone](#milestone) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))>** for the given name
### \_addProject
#### Parameters
* `project` **[Project](#project)**
### project
Get a Project.
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<([Project](#project) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))>** for the given name
### \_addApplication
#### Parameters
* `application` **[Application](#application)**
### application
Get an Application.
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<([Application](#application) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))>** for the given name
### type
Get type of the repository.
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 'git'
### refId
Get sha of a ref.
#### Parameters
* `ref` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))>** sha of the ref
### attributes
options
## defaultBranchName
The name of the default branch
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
## branches
Type: [Map](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Map)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String), [Branch](#branch)>
## tags
Type: [Map](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Map)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String), [Tag](#tag)>
## projects
Type: [Map](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Map)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String), [Project](#project)>
## applications
Type: [Map](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Map)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String), [Application](#application)>
## milestones
Type: [Map](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Map)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String), [Milestone](#milestone)>
## pullRequests
Type: [Map](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Map)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String), [PullRequest](#pullrequest)>
## hooks
Type: [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[Hook](#hook)>
## Review
**Extends OwnedObject**
## SingleGroupProvider
**Extends RepositoryOwner(BaseProvider)**
Provider holding a single set of repositories (no repository groups).
### repository
Lookup a repository in the provider and all of its repository groups.
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of the repository
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<([Repository](#repository) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))>**
### repositoryGroup
Get a single group.
#### Parameters
* `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<([RepositoryGroup](#repositorygroup) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))>** deliver the one and only present group
### repositoryGroups
List groups.
#### Parameters
* `patterns` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))**
Returns **AsyncIterable<[RepositoryGroup](#repositorygroup)>** always deliver the one and only present group
## Tag
**Extends Ref**
Tag refs
### refType
Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** tags
## asArray
Convert scalar into an array.
The value undefined will be represented as an empty array.
### Parameters
* `value` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array) | any)**
Returns **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)** value encapsulated in an array
## stripBaseName
Strip repository base name away.
A URL auth component will be removed to.
### Parameters
* `name` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))**
* `repositoryBases` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>** all possible bases
* `whenFound` **function ([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)): void?** to be called with the found base name
Returns **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))** name without base
## stripBaseNames
Loops over names and executes stripBaseName.
### Parameters
* `names` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))**
* `repositoryBases` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>** all possible bases
* `whenFound` **function ([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)): void?** to be called with the found base name
Returns **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))** names without base
## generateBranchName
Find a new branch name for a given pattern.
'*' will be replaced by a number.
'something/*' will get to something/1 something/2 ...
### Parameters
* `repository` **[Repository](#repository)**
* `pattern` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>**
# install
With [npm](http://npmjs.org) do:
```shell
npm install repository-provider
```
# license
BSD-2-Clause