UNPKG

50.9 kBMarkdownView Raw
1[![npm](https://img.shields.io/npm/v/repository-provider.svg)](https://www.npmjs.com/package/repository-provider)
2[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
3[![minified size](https://badgen.net/bundlephobia/min/repository-provider)](https://bundlephobia.com/result?p=repository-provider)
4[![downloads](http://img.shields.io/npm/dm/repository-provider.svg?style=flat-square)](https://npmjs.org/package/repository-provider)
5[![Build Status](https://travis-ci.com/arlac77/repository-provider.svg?branch=master)](https://travis-ci.com/arlac77/repository-provider)
6[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/arlac77/repository-provider.git)
7[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)
8[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)
9[![Known Vulnerabilities](https://snyk.io/test/github/arlac77/repository-provider/badge.svg)](https://snyk.io/test/github/arlac77/repository-provider)
10[![codecov.io](http://codecov.io/github/arlac77/repository-provider/coverage.svg?branch=master)](http://codecov.io/github/arlac77/repository-provider?branch=master)
11[![Coverage Status](https://coveralls.io/repos/arlac77/repository-provider/badge.svg)](https://coveralls.io/r/arlac77/repository-provider)
12
13# repository-provider
14
15abstract interface to git repository providers like github, bitbucket, gitlab, gitea, ...
16
17see list of avaliable implementations below
18
19# Example
20
21<!-- skip-example -->
22
23```es6
24import { Provider } from 'repository-provider';
25
26const provider = new Provider({ token: 'xxx' });
27
28const branch = await provider.branch('myuser/myrepo#myBranch');
29
30for await (const entry of branch.entries('**/*.md')) {
31 console.log(entry.name);
32}
33
34const readme = await branch.entry('README.md');
35
36console.log(await readme.getString());
37```
38
39# Derived Providers
40
41[list by _repository-provider_ keyword](https://www.npmjs.com/browse/keyword/repository-provider)
42
43# API
44
45<!-- Generated by documentation.js. Update this documentation by updating the source code. -->
46
47### Table of Contents
48
49- [BaseProvider](#baseprovider)
50 - [Parameters](#parameters)
51 - [equals](#equals)
52 - [Parameters](#parameters-1)
53 - [repositoryBases](#repositorybases)
54 - [normalizeRepositoryName](#normalizerepositoryname)
55 - [Parameters](#parameters-2)
56 - [areRepositoryNamesCaseSensitive](#arerepositorynamescasesensitive)
57 - [areGroupNamesCaseSensitive](#aregroupnamescasesensitive)
58 - [parseName](#parsename)
59 - [Parameters](#parameters-3)
60 - [decomposeName](#decomposename)
61 - [Parameters](#parameters-4)
62 - [repository](#repository)
63 - [Parameters](#parameters-5)
64 - [repositories](#repositories)
65 - [Parameters](#parameters-6)
66 - [branch](#branch)
67 - [Parameters](#parameters-7)
68 - [branches](#branches)
69 - [Parameters](#parameters-8)
70 - [tags](#tags)
71 - [Parameters](#parameters-9)
72 - [repositoryGroupClass](#repositorygroupclass)
73 - [hookClass](#hookclass)
74 - [name](#name)
75 - [provider](#provider)
76 - [toJSON](#tojson)
77 - [repositoryClass](#repositoryclass)
78 - [branchClass](#branchclass)
79 - [entryClass](#entryclass)
80 - [pullRequestClass](#pullrequestclass)
81 - [optionsFromEnvironment](#optionsfromenvironment)
82 - [Parameters](#parameters-10)
83 - [environmentOptions](#environmentoptions)
84 - [areOptionsSufficciant](#areoptionssufficciant)
85 - [Parameters](#parameters-11)
86 - [initialize](#initialize)
87 - [Parameters](#parameters-12)
88- [priority](#priority)
89- [SingleGroupProvider](#singlegroupprovider)
90 - [repositoryGroup](#repositorygroup)
91 - [Parameters](#parameters-13)
92 - [repositoryGroups](#repositorygroups)
93 - [Parameters](#parameters-14)
94- [MultiGroupProvider](#multigroupprovider)
95 - [Parameters](#parameters-15)
96 - [repositoryGroup](#repositorygroup-1)
97 - [Parameters](#parameters-16)
98 - [repositoryGroups](#repositorygroups-1)
99 - [Parameters](#parameters-17)
100 - [createRepositoryGroup](#createrepositorygroup)
101 - [Parameters](#parameters-18)
102 - [addRepositoryGroup](#addrepositorygroup)
103 - [Parameters](#parameters-19)
104- [RepositoryGroup](#repositorygroup-2)
105 - [Parameters](#parameters-20)
106 - [Properties](#properties)
107 - [repositoryClass](#repositoryclass-1)
108 - [branchClass](#branchclass-1)
109 - [contentClass](#contentclass)
110 - [pullRequestClass](#pullrequestclass-1)
111 - [branch](#branch-1)
112 - [Parameters](#parameters-21)
113 - [branches](#branches-1)
114 - [Parameters](#parameters-22)
115 - [attributeMapping](#attributemapping)
116- [id](#id)
117- [id](#id-1)
118- [id](#id-2)
119- [uuid](#uuid)
120- [uuid](#uuid-1)
121- [type](#type)
122- [url](#url)
123- [avatarURL](#avatarurl)
124- [Repository](#repository-1)
125 - [Parameters](#parameters-23)
126 - [Properties](#properties-1)
127 - [fullName](#fullname)
128 - [provider](#provider-1)
129 - [equals](#equals-1)
130 - [Parameters](#parameters-24)
131 - [entry](#entry)
132 - [Parameters](#parameters-25)
133 - [entries](#entries)
134 - [Parameters](#parameters-26)
135 - [maybeEntry](#maybeentry)
136 - [Parameters](#parameters-27)
137 - [urls](#urls)
138 - [url](#url-1)
139 - [issuesURL](#issuesurl)
140 - [homePageURL](#homepageurl)
141 - [condensedName](#condensedname)
142 - [isArchived](#isarchived)
143 - [isLocked](#islocked)
144 - [isDisabled](#isdisabled)
145 - [isTemplate](#istemplate)
146 - [branch](#branch-2)
147 - [Parameters](#parameters-28)
148 - [defaultBranch](#defaultbranch)
149 - [branches](#branches-2)
150 - [Parameters](#parameters-29)
151 - [createBranch](#createbranch)
152 - [Parameters](#parameters-30)
153 - [addBranch](#addbranch)
154 - [Parameters](#parameters-31)
155 - [deleteBranch](#deletebranch)
156 - [Parameters](#parameters-32)
157 - [tags](#tags-1)
158 - [Parameters](#parameters-33)
159 - [tag](#tag)
160 - [Parameters](#parameters-34)
161 - [delete](#delete)
162 - [createPullRequest](#createpullrequest)
163 - [Parameters](#parameters-35)
164 - [addPullRequest](#addpullrequest)
165 - [Parameters](#parameters-36)
166 - [pullRequests](#pullrequests)
167 - [pullRequest](#pullrequest)
168 - [Parameters](#parameters-37)
169 - [deletePullRequest](#deletepullrequest)
170 - [Parameters](#parameters-38)
171 - [addHook](#addhook)
172 - [Parameters](#parameters-39)
173 - [createHook](#createhook)
174 - [Parameters](#parameters-40)
175 - [hooks](#hooks)
176 - [type](#type-1)
177 - [refId](#refid)
178 - [Parameters](#parameters-41)
179 - [repositoryClass](#repositoryclass-2)
180 - [pullRequestClass](#pullrequestclass-2)
181 - [branchClass](#branchclass-2)
182 - [entryClass](#entryclass-1)
183 - [hookClass](#hookclass-1)
184 - [toJSON](#tojson-1)
185 - [defaultOptions](#defaultoptions)
186- [defaultBranchName](#defaultbranchname)
187- [urls](#urls-1)
188- [homePageURL](#homepageurl-1)
189- [issuesURL](#issuesurl-1)
190- [NamedObject](#namedobject)
191 - [Parameters](#parameters-42)
192 - [Properties](#properties-2)
193 - [equals](#equals-2)
194 - [Parameters](#parameters-43)
195 - [toJSON](#tojson-2)
196 - [defaultOptions](#defaultoptions-1)
197 - [attributeMapping](#attributemapping-1)
198- [description](#description)
199- [Ref](#ref)
200 - [Parameters](#parameters-44)
201 - [equals](#equals-3)
202 - [Parameters](#parameters-45)
203 - [ref](#ref-1)
204 - [refId](#refid-1)
205 - [Parameters](#parameters-46)
206 - [entries](#entries-1)
207 - [Parameters](#parameters-47)
208 - [asyncIterator](#asynciterator)
209 - [maybeEntry](#maybeentry-1)
210 - [Parameters](#parameters-48)
211 - [entry](#entry-1)
212 - [Parameters](#parameters-49)
213 - [provider](#provider-2)
214 - [owner](#owner)
215 - [issuesURL](#issuesurl-2)
216 - [homePageURL](#homepageurl-2)
217 - [isLocked](#islocked-1)
218 - [isArchived](#isarchived-1)
219 - [isDisabled](#isdisabled-1)
220 - [isProtected](#isprotected)
221 - [isWritable](#iswritable)
222 - [defaultOptions](#defaultoptions-2)
223- [isProtected](#isprotected-1)
224- [CommitResult](#commitresult)
225 - [Properties](#properties-3)
226- [Branch](#branch-3)
227 - [Parameters](#parameters-50)
228 - [Properties](#properties-4)
229 - [fullName](#fullname-1)
230 - [fullCondensedName](#fullcondensedname)
231 - [url](#url-2)
232 - [isDefault](#isdefault)
233 - [delete](#delete-1)
234 - [commit](#commit)
235 - [Parameters](#parameters-51)
236 - [removeEntries](#removeentries)
237 - [Parameters](#parameters-52)
238 - [entryClass](#entryclass-2)
239 - [createPullRequest](#createpullrequest-1)
240 - [Parameters](#parameters-53)
241 - [pullRequestClass](#pullrequestclass-3)
242 - [createBranch](#createbranch-1)
243 - [Parameters](#parameters-54)
244- [Issue](#issue)
245- [PullRequest](#pullrequest-1)
246 - [Parameters](#parameters-55)
247 - [Properties](#properties-5)
248 - [repository](#repository-2)
249 - [provider](#provider-3)
250 - [equals](#equals-4)
251 - [Parameters](#parameters-56)
252 - [delete](#delete-2)
253 - [merge](#merge)
254 - [Parameters](#parameters-57)
255 - [decline](#decline)
256 - [validStates](#validstates)
257 - [defaultListStates](#defaultliststates)
258 - [validMergeMethods](#validmergemethods)
259 - [list](#list)
260 - [Parameters](#parameters-58)
261 - [open](#open)
262 - [Parameters](#parameters-59)
263- [title](#title)
264- [body](#body)
265- [state](#state)
266- [locked](#locked)
267- [merged](#merged)
268- [Hook](#hook)
269 - [Parameters](#parameters-60)
270 - [Properties](#properties-6)
271 - [equals](#equals-5)
272 - [Parameters](#parameters-61)
273 - [toJSON](#tojson-3)
274- [Milestone](#milestone)
275 - [Parameters](#parameters-62)
276- [definePropertiesFromOptions](#definepropertiesfromoptions)
277 - [Parameters](#parameters-63)
278- [optionJSON](#optionjson)
279 - [Parameters](#parameters-64)
280- [generateBranchName](#generatebranchname)
281 - [Parameters](#parameters-65)
282- [mapAttributes](#mapattributes)
283 - [Parameters](#parameters-66)
284
285## BaseProvider
286
287### Parameters
288
289- `options`
290- `properties`
291
292### equals
293
294#### Parameters
295
296- `other`
297
298Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true if other provider is the same as the receiver
299
300### repositoryBases
301
302All possible base urls
303For github something like
304
305- git@github.com
306- git://github.com
307- git+ssh://github.com
308- <https://github.com>
309- git+<https://github.com>
310
311Returns **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)&lt;[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>** common base urls of all repositories
312
313### normalizeRepositoryName
314
315Bring a repository name into its normal form by removing any clutter
316like .git suffix or #branch names
317
318#### Parameters
319
320- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
321- `forLookup` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**
322
323Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** normalized name
324
325### areRepositoryNamesCaseSensitive
326
327Are repositroy names case sensitive.
328Overwrite and return false if you want to have case insensitive repository lookup
329
330Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true
331
332### areGroupNamesCaseSensitive
333
334Are repositroy group names case sensitive.
335Overwrite and return false if you want to have case insensitive group lookup
336
337Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true
338
339### parseName
340
341Parses repository name and tries to split it into
342base, group, repository and branch
343
344#### Parameters
345
346- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
347
348Returns **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
349
350### decomposeName
351
352#### Parameters
353
354- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
355
356### repository
357
358Lookup a repository in the provider and all of its repository groups
359
360#### Parameters
361
362- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of the repository
363
364Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;[Repository](#repository)>**
365
366### repositories
367
368List repositories
369
370#### Parameters
371
372- `patterns` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)&lt;[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))**
373
374Returns **Iterator&lt;[Repository](#repository)>** all matching repos of the provider
375
376### branch
377
378Lookup a branch in the provider and all of its repository groups
379
380#### Parameters
381
382- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of the branch
383
384Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;[Branch](#branch)>**
385
386### branches
387
388List branches
389
390#### Parameters
391
392- `patterns` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)&lt;[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))**
393
394Returns **Iterator&lt;[Branch](#branch)>** all matching branches of the provider
395
396### tags
397
398List tags
399
400#### Parameters
401
402- `patterns` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)&lt;[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))**
403
404Returns **Iterator&lt;[Branch](#branch)>** all matching tags of the provider
405
406### repositoryGroupClass
407
408Returns **Class** repository group class used by the Provider
409
410### hookClass
411
412Returns **Class** hook class used by the Provider
413
414### name
415
416Deliver the provider name
417
418Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** class name by default
419
420### provider
421
422We are our own provider
423
424Returns **Provider** this
425
426### toJSON
427
428List all defined entries from defaultOptions
429
430### repositoryClass
431
432Returns **Class** repository class used by the Provider
433
434### branchClass
435
436Returns **Class** branch class used by the Provider
437
438### entryClass
439
440Returns **Class** entry class used by the Provider
441
442### pullRequestClass
443
444Returns **Class** pull request class used by the Provider
445
446### optionsFromEnvironment
447
448Extract options suitable for the constructor
449form the given set of environment variables
450
451#### Parameters
452
453- `env` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** taken from process.env
454
455Returns **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** undefined if no suitable environment variables have been found
456
457### environmentOptions
458
459Known mapping from environment variable to options
460
461Returns **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** with the mapping of environmentvaraible names to option keys
462
463### areOptionsSufficciant
464
465Check if given options are sufficint to create a provider
466
467#### Parameters
468
469- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
470
471Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true if options ar sufficiant to construct a provider
472
473### initialize
474
475Creates a new provider for a given set of options
476
477#### Parameters
478
479- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** additional options
480- `env` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** taken from process.env
481
482Returns **Provider** newly created provider or undefined if options are not sufficient to construct a provider
483
484## priority
485
486In case there are several provider able to support a given source which one sould be used ?
487this defines the order
488
489## SingleGroupProvider
490
491**Extends RepositoryOwner(BaseProvider)**
492
493Provider with a single set of repositories
494
495### repositoryGroup
496
497List groups
498
499#### Parameters
500
501- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
502
503Returns **[RepositoryGroup](#repositorygroup)** deliver the one and only present group
504
505### repositoryGroups
506
507List groups
508
509#### Parameters
510
511- `patterns` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)&lt;[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))**
512
513Returns **Iterator&lt;[RepositoryGroup](#repositorygroup)>** always deliver the one and only present group
514
515## MultiGroupProvider
516
517**Extends BaseProvider**
518
519Provider supporting serveral repository groups
520
521### Parameters
522
523- `options`
524
525### repositoryGroup
526
527Lookup a repository group
528
529#### Parameters
530
531- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of the group
532
533Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;[RepositoryGroup](#repositorygroup)>**
534
535### repositoryGroups
536
537List groups
538
539#### Parameters
540
541- `patterns` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)&lt;[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))**
542
543Returns **Iterator&lt;[RepositoryGroup](#repositorygroup)>** all matching repositories groups of the provider
544
545### createRepositoryGroup
546
547Create a new repository group
548If there is already a group for the given name it will be returend instead
549
550#### Parameters
551
552- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of the group
553- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
554
555Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;[RepositoryGroup](#repositorygroup)>**
556
557### addRepositoryGroup
558
559Add a new repository group (not provider specific actions are executed)
560
561#### Parameters
562
563- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of the group
564- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
565
566Returns **[RepositoryGroup](#repositorygroup)**
567
568## RepositoryGroup
569
570**Extends RepositoryOwner(NamedObject)**
571
572Abstract repository collection
573
574### Parameters
575
576- `provider` **Provider**
577- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of the group
578- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
579 - `options.description` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** human readable description
580 - `options.id` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** internal id
581 - `options.uuid` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** internal id
582 - `options.url` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** home
583
584### Properties
585
586- `provider` **Provider**
587- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
588
589### repositoryClass
590
591By default we use the providers implementation.
592
593Returns **Class** as defined in the provider
594
595### branchClass
596
597By default we use the providers implementation.
598
599Returns **Class** as defined in the provider
600
601### contentClass
602
603By default we use the providers implementation.
604
605Returns **Class** as defined in the provider
606
607### pullRequestClass
608
609By default we use the providers implementation.
610
611Returns **Class** as defined in the provider
612
613### branch
614
615- **See: [Repository#defaultBranch](#repositorydefaultbranch)
616 **
617
618Lookup a branch
619First lookup repository then the branch
620If no branch was specified then the default branch will be delivered.
621
622#### Parameters
623
624- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** with optional branch name as '#myBranchName'
625
626Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;([Branch](#branch) \| [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))>**
627
628### branches
629
630List branches for the owner
631
632#### Parameters
633
634- `patterns` **([Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)&lt;[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)> | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))**
635
636Returns **Iterator&lt;[Branch](#branch)>** all matching branches of the owner
637
638### attributeMapping
639
640Map attributes between external and internal representation
641
642## id
643
644Unique id within the provider.
645
646Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
647
648## id
649
650Unique id within the provider.
651
652Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
653
654## id
655
656internal id.
657
658Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
659
660## uuid
661
662Unique id.
663
664Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
665
666## uuid
667
668Unique id.
669
670Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
671
672## type
673
674Type of the repository group either User or Organization.
675
676Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
677
678## url
679
680Group home.
681
682Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
683
684## avatarURL
685
686Avatar.
687
688Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
689
690## Repository
691
692**Extends NamedObject**
693
694Abstract repository
695
696### Parameters
697
698- `owner` **Owner**
699- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** (#branch) will be removed
700- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
701 - `options.description` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** human readable description
702 - `options.id` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** internal id
703
704### Properties
705
706- `owner` **Owner**
707- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** without (#branch)
708- `description` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** from options.description
709- `id` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** from options.id
710- `branches` **[Map](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Map)&lt;[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String), [Branch](#branch)>**
711- `pullRequests` **[Map](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Map)&lt;[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String), [PullRequest](#pullrequest)>**
712
713### fullName
714
715Full repository name within the provider
716
717Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** full repo name
718
719### provider
720
721the owners provider
722
723Returns **Provider**
724
725### equals
726
727Check for equality
728
729#### Parameters
730
731- `other` **[Repository](#repository)**
732
733Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true if name and provider are equal
734
735### entry
736
737Lookup entries form the head of the default branch
738[Branch#entry](Branch#entry)
739
740#### Parameters
741
742- `name`
743
744Returns **Entry**
745
746### entries
747
748List entries of the default branch
749
750#### Parameters
751
752- `matchingPatterns` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)&lt;[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>**
753
754Returns **Entry** all matching entries in the branch
755
756### maybeEntry
757
758get exactly one matching entry by name or undefined if no such entry is found
759
760#### Parameters
761
762- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
763
764Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;Entry>**
765
766### urls
767
768urls to access the repo
769
770Returns **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)&lt;[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>**
771
772### url
773
774preffered url to access the repo
775
776Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
777
778### issuesURL
779
780The url of issue tracking system.
781
782Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
783
784### homePageURL
785
786The url of home page.
787
788Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
789
790### condensedName
791
792Name without owner
793
794Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** name
795
796### isArchived
797
798By default we are not archived
799
800Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** false
801
802### isLocked
803
804By default we are not locked
805
806Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** false
807
808### isDisabled
809
810By default we are not disabled
811
812Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** false
813
814### isTemplate
815
816By default we are not a template
817
818Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** false
819
820### branch
821
822Lookup branch by name
823
824#### Parameters
825
826- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
827
828Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;[Branch](#branch)>**
829
830### defaultBranch
831
832Lookup the default branch
833
834Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;[Branch](#branch)>** branch named after defaultBranchName
835
836### branches
837
838#### Parameters
839
840- `patterns`
841
842Returns **Iterator&lt;[Branch](#branch)>** of all branches
843
844### createBranch
845
846Create a new [Branch](#branch) by cloning a given source branch
847
848#### Parameters
849
850- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of the new branch
851- `source` **[Branch](#branch)** branch defaults to the defaultBranch
852- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
853
854Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;[Branch](#branch)>** newly created branch (or already present old one with the same name)
855
856### addBranch
857
858Add a new [Branch](#branch).
859Internal branch creation does not call repository.initialize()
860
861#### Parameters
862
863- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of the new branch
864- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
865
866Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;[Branch](#branch)>** newly created branch
867
868### deleteBranch
869
870Delete a [Branch](#branch)
871
872#### Parameters
873
874- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of the branch
875
876Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;[undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined)>**
877
878### tags
879
880#### Parameters
881
882- `patterns` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) \| [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)&lt;[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>)**
883
884Returns **Iterator&lt;Tag>** of all tags
885
886### tag
887
888#### Parameters
889
890- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
891
892Returns **Tag**
893
894### delete
895
896Delete the repository from the [Provider](Provider).
897[Provider#deleteRepository](Provider#deleteRepository)
898
899Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;[undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined)>**
900
901### createPullRequest
902
903create a pull request (or deliver an already present for thefiven name)
904
905#### Parameters
906
907- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of the pr
908- `source` **[Branch](#branch)** branch
909- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
910
911Returns **[PullRequest](#pullrequest)**
912
913### addPullRequest
914
915Add a pull request
916
917#### Parameters
918
919- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
920- `source` **[Branch](#branch)**
921- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
922
923Returns **[PullRequest](#pullrequest)**
924
925### pullRequests
926
927Deliver all [PullRequest](#pullrequest)s
928
929Returns **Iterator&lt;[PullRequest](#pullrequest)>** of all pull requests
930
931### pullRequest
932
933The @{link PullRequest} for a given name
934
935#### Parameters
936
937- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
938
939Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;[PullRequest](#pullrequest)>**
940
941### deletePullRequest
942
943Delete a [PullRequest](#pullrequest)
944
945#### Parameters
946
947- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
948
949Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)**
950
951### addHook
952
953Add a hook
954
955#### Parameters
956
957- `hook` **[Hook](#hook)**
958
959### createHook
960
961Add a hook
962
963#### Parameters
964
965- `hook` **[Hook](#hook)**
966
967### hooks
968
969List hooks
970
971Returns **[Hook](#hook)** all hooks of the repository
972
973### type
974
975Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 'git'
976
977### refId
978
979Get sha of a ref
980
981#### Parameters
982
983- `ref` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
984
985Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** sha of the ref
986
987### repositoryClass
988
989By default we use the providers implementation.
990
991Returns **Class** as defined in the provider
992
993### pullRequestClass
994
995By default we use the providers implementation.
996
997Returns **Class** as defined in the provider
998
999### branchClass
1000
1001By default we use the providers implementation.
1002
1003Returns **Class** as defined in the provider
1004
1005### entryClass
1006
1007By default we use the providers implementation.
1008
1009Returns **Class** as defined in the provider
1010
1011### hookClass
1012
1013By default we use the providers implementation.
1014
1015Returns **Class** as defined in the provider
1016
1017### toJSON
1018
1019provide name and all defined defaultOptions
1020
1021### defaultOptions
1022
1023options
1024
1025## defaultBranchName
1026
1027The name of the default branch
1028
1029Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
1030
1031## urls
1032
1033URLs of the repository
1034
1035Returns **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)&lt;[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>**
1036
1037## homePageURL
1038
1039The url of home page.
1040
1041Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
1042
1043## issuesURL
1044
1045The url of issue tracking system.
1046
1047Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
1048
1049## NamedObject
1050
1051### Parameters
1052
1053- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
1054- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
1055- `additionaProperties`
1056
1057### Properties
1058
1059- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
1060
1061### equals
1062
1063Check for equality
1064
1065#### Parameters
1066
1067- `other` **[NamedObject](#namedobject)**
1068
1069Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true if names are equal
1070
1071### toJSON
1072
1073Provide name and all defined defaultOptions
1074
1075### defaultOptions
1076
1077options
1078
1079### attributeMapping
1080
1081Map attributes between external and internal representation
1082
1083Returns **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
1084
1085## description
1086
1087The description of the repository content.
1088
1089Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
1090
1091## Ref
1092
1093**Extends NamedObject**
1094
1095Base for Branch and Tag
1096
1097### Parameters
1098
1099- `repository`
1100- `name`
1101- `options`
1102
1103### equals
1104
1105Check for equality
1106
1107#### Parameters
1108
1109- `other` **[Branch](#branch)**
1110
1111Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true if name and repository are equal
1112
1113### ref
1114
1115ref name
1116
1117Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** git ref of the Ref
1118
1119### refId
1120
1121Get sha of a ref
1122
1123#### Parameters
1124
1125- `ref` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** (optional, default `this.ref`)
1126
1127Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** sha of the ref
1128
1129### entries
1130
1131List entries of the branch
1132
1133#### Parameters
1134
1135- `matchingPatterns` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)&lt;[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>**
1136
1137Returns **Entry** all matching entries in the branch
1138
1139### asyncIterator
1140
1141List all entries of the branch
1142
1143Returns **asyncIterator&lt;Entry>** all entries in the branch
1144
1145### maybeEntry
1146
1147Get exactly one matching entry by name or undefine if no such entry is found
1148
1149#### Parameters
1150
1151- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
1152
1153Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;Entry>**
1154
1155### entry
1156
1157Get exactly one matching entry by name (throws if entry is not found)
1158
1159#### Parameters
1160
1161- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
1162
1163Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;Entry>**
1164
1165### provider
1166
1167The provider we live in
1168
1169Returns **Provider**
1170
1171### owner
1172
1173- **See: [Repository#owner](Repository#owner)
1174 **
1175
1176Branch owner
1177By default we provide the repository owner
1178
1179Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
1180
1181### issuesURL
1182
1183- **See: [Repository#issuesURL](#repositoryissuesurl)
1184 **
1185
1186Url of issue tracking system.
1187
1188Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** as provided from the repository
1189
1190### homePageURL
1191
1192- **See: [Repository#homePageURL](#repositoryhomepageurl)
1193 **
1194
1195Url of home page.
1196
1197Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** as provided from the repository
1198
1199### isLocked
1200
1201Forwarded from the repository
1202
1203### isArchived
1204
1205Forwarded from the repository
1206
1207### isDisabled
1208
1209Forwarded from the repository
1210
1211### isProtected
1212
1213Returns **any** false
1214
1215### isWritable
1216
1217Returns **any** false
1218
1219### defaultOptions
1220
1221options
1222
1223## isProtected
1224
1225Can the brach be modified.
1226
1227Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
1228
1229## CommitResult
1230
1231Type: [Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)
1232
1233### Properties
1234
1235- `ref` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
1236
1237## Branch
1238
1239**Extends Ref**
1240
1241- **See: [Repository#\_addBranch](Repository#_addBranch)
1242 **
1243
1244Abstract branch
1245
1246### Parameters
1247
1248- `repository` **[Repository](#repository)**
1249- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** (optional, default `repository.defaultBranchName`)
1250- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
1251
1252### Properties
1253
1254- `repository` **[Repository](#repository)**
1255- `provider` **Provider**
1256- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
1257
1258### fullName
1259
1260Repository and branch name combined
1261
1262Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 'repo#branch'
1263
1264### fullCondensedName
1265
1266Repository fullName and branch name combined.
1267But skipping the branch name if it is the default branch
1268
1269Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 'user/repo#branch'
1270
1271### url
1272
1273Deliver repository and branch url combined
1274
1275Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 'repoUrl#branch'
1276
1277### isDefault
1278
1279Are we the default branch
1280
1281Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true if name is the repository default branch
1282
1283### delete
1284
1285- **See: [Repository#deleteBranch](#repositorydeletebranch)
1286 **
1287
1288Delete the branch from the [Repository](#repository).
1289
1290Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;[undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined)>**
1291
1292### commit
1293
1294Commit entries
1295
1296#### Parameters
1297
1298- `message` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** commit message
1299- `updates` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)&lt;Entry>** content to be commited
1300- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
1301
1302Returns **[CommitResult](#commitresult)**
1303
1304### removeEntries
1305
1306Remove entries form the branch
1307
1308#### Parameters
1309
1310- `entries` **Iterator&lt;Entry>**
1311
1312### entryClass
1313
1314By default we use the providers implementation.
1315
1316Returns **Class** as defined in the repository
1317
1318### createPullRequest
1319
1320Create a pull request
1321
1322#### Parameters
1323
1324- `toBranch` **[Branch](#branch)**
1325- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
1326
1327Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;[PullRequest](#pullrequest)>**
1328
1329### pullRequestClass
1330
1331By default we use the repository implementation.
1332
1333Returns **Class** as defined in the repository
1334
1335### createBranch
1336
1337Create a new [Branch](#branch) by cloning a given source branch.
1338Simply calls Repository.createBranch() with the receiver as source branch
1339
1340#### Parameters
1341
1342- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** the new branch
1343- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
1344
1345Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;[Branch](#branch)>** newly created branch (or already present old one with the same name)
1346
1347## Issue
1348
1349**Extends NamedObject**
1350
1351## PullRequest
1352
1353Abstract pull request
1354[Repository#addPullRequest](#repositoryaddpullrequest)
1355
1356### Parameters
1357
1358- `source` **[Branch](#branch)** merge source
1359- `destination` **[Branch](#branch)** merge target
1360- `number` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
1361- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
1362 - `options.title` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?**
1363 - `options.state` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?**
1364 - `options.merged` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)?**
1365 - `options.locked` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)?**
1366
1367### Properties
1368
1369- `number` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
1370- `source` **[Branch](#branch)**
1371- `destination` **[Branch](#branch)**
1372- `title` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?**
1373- `state` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?**
1374- `merged` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)?**
1375- `locked` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)?**
1376
1377### repository
1378
1379Returns **[Repository](#repository)** destination repository
1380
1381### provider
1382
1383Returns **Provider**
1384
1385### equals
1386
1387Check for equality
1388
1389#### Parameters
1390
1391- `other` **[PullRequest](#pullrequest)**
1392
1393Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true if number and repository are equal
1394
1395### delete
1396
1397- **See: [Repository#deletePullRequest](#repositorydeletepullrequest)
1398 **
1399
1400Delete the pull request from the [Repository](#repository).
1401
1402Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)**
1403
1404### merge
1405
1406Merge the pull request
1407
1408#### Parameters
1409
1410- `method` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
1411
1412### decline
1413
1414Decline the pull request
1415
1416### validStates
1417
1418All valid states
1419
1420Returns **[Set](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Set)&lt;[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>** valid states
1421
1422### defaultListStates
1423
1424States to list pull request by default
1425
1426Returns **[Set](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Set)&lt;[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>** states to list by default
1427
1428### validMergeMethods
1429
1430All valid merge methods
1431
1432Returns **[Set](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Set)&lt;[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>** valid merge methods
1433
1434### list
1435
1436List all pull request for a given repo
1437result will be filtered by source branch, destination branch and states
1438
1439#### Parameters
1440
1441- `repository` **[Repository](#repository)**
1442- `filter` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
1443 - `filter.source` **[Branch](#branch)?**
1444 - `filter.destination` **[Branch](#branch)?**
1445 - `filter.states` **[Set](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Set)&lt;[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>?**
1446
1447Returns **Iterator&lt;[PullRequest](#pullrequest)>**
1448
1449### open
1450
1451Opens a new pull request
1452
1453#### Parameters
1454
1455- `source` **[Branch](#branch)**
1456- `destination` **[Branch](#branch)**
1457- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
1458 - `options.title` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
1459 - `options.body` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
1460
1461Returns **[PullRequest](#pullrequest)**
1462
1463## title
1464
1465the one line description of the pull request.
1466
1467Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
1468
1469## body
1470
1471the description of the pull request.
1472
1473Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
1474
1475## state
1476
1477state of the pull request.
1478
1479- OPEN
1480- MERGED
1481- CLOSED
1482
1483Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
1484
1485## locked
1486
1487locked state of the pull request.
1488
1489Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**
1490
1491## merged
1492
1493merged state of the pull request.
1494
1495Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**
1496
1497## Hook
1498
1499**Extends NamedObject**
1500
1501### Parameters
1502
1503- `repository`
1504- `name`
1505- `events` (optional, default `new Set(["*"])`)
1506- `options`
1507
1508### Properties
1509
1510- `repository` **[Repository](#repository)**
1511- `url` **[URL](https://developer.mozilla.org/docs/Web/API/URL/URL)**
1512- `events` **[Set](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Set)&lt;[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>**
1513
1514### equals
1515
1516Check for equality
1517
1518#### Parameters
1519
1520- `other` **[Hook](#hook)**
1521
1522Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true if name and repository are equal
1523
1524### toJSON
1525
1526provide name, events and all defined defaultOptions
1527
1528## Milestone
1529
1530**Extends NamedObject**
1531
1532### Parameters
1533
1534- `owner`
1535- `name`
1536- `options`
1537
1538## definePropertiesFromOptions
1539
1540- **See: Object.definedProperties()
1541 **
1542- **See: Object.hasOwnProperty()
1543 **
1544
1545Create properties from options and default options
1546Already present properties (direct) are skipped
1547
1548### Parameters
1549
1550- `object` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** target object
1551- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** as passed to object constructor
1552- `properties` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** object properties (optional, default `{}`)
1553
1554## optionJSON
1555
1556Create json based on present options.
1557In other words only produce key value pairs if value is defined.
1558
1559### Parameters
1560
1561- `object` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
1562- `initial` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** (optional, default `{}`)
1563- `skip` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)&lt;[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>** keys not to put in the result (optional, default `[]`)
1564
1565Returns **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** initial + defined values
1566
1567## generateBranchName
1568
1569Find a new branch name for a given pattern
1570'_' will be replaced by a number
1571'something/_' will get to something/1 something/2 ...
1572
1573### Parameters
1574
1575- `repository` **[Repository](#repository)**
1576- `pattern` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
1577
1578## mapAttributes
1579
1580Rename attributes.
1581Filters out null, undefined and empty strings
1582
1583### Parameters
1584
1585- `object` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
1586- `mapping` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
1587
1588Returns **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** keys renamed after mapping
1589
1590# install
1591
1592With [npm](http://npmjs.org) do:
1593
1594```shell
1595npm install repository-provider
1596```
1597
1598# license
1599
1600BSD-2-Clause