UNPKG

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