UNPKG

35.8 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- [Provider](#provider)
50 - [Parameters](#parameters)
51 - [Properties](#properties)
52 - [equals](#equals)
53 - [Parameters](#parameters-1)
54 - [repositoryGroup](#repositorygroup)
55 - [Parameters](#parameters-2)
56 - [createRepositoryGroup](#createrepositorygroup)
57 - [Parameters](#parameters-3)
58 - [addRepositoryGroup](#addrepositorygroup)
59 - [Parameters](#parameters-4)
60 - [repositoryBases](#repositorybases)
61 - [normalizeRepositoryName](#normalizerepositoryname)
62 - [Parameters](#parameters-5)
63 - [parseName](#parsename)
64 - [Parameters](#parameters-6)
65 - [decomposeName](#decomposename)
66 - [Parameters](#parameters-7)
67 - [repository](#repository)
68 - [Parameters](#parameters-8)
69 - [branch](#branch)
70 - [Parameters](#parameters-9)
71 - [repositoryGroups](#repositorygroups)
72 - [Parameters](#parameters-10)
73 - [repositories](#repositories)
74 - [Parameters](#parameters-11)
75 - [branches](#branches)
76 - [Parameters](#parameters-12)
77 - [tags](#tags)
78 - [Parameters](#parameters-13)
79 - [repositoryGroupClass](#repositorygroupclass)
80 - [hookClass](#hookclass)
81 - [name](#name)
82 - [provider](#provider-1)
83 - [toJSON](#tojson)
84 - [optionsFromEnvironment](#optionsfromenvironment)
85 - [Parameters](#parameters-14)
86 - [environmentOptions](#environmentoptions)
87 - [areOptionsSufficciant](#areoptionssufficciant)
88 - [Parameters](#parameters-15)
89 - [initialize](#initialize)
90 - [Parameters](#parameters-16)
91- [priority](#priority)
92- [Branch](#branch-1)
93 - [Parameters](#parameters-17)
94 - [Properties](#properties-1)
95 - [equals](#equals-1)
96 - [Parameters](#parameters-18)
97 - [provider](#provider-2)
98 - [owner](#owner)
99 - [fullName](#fullname)
100 - [fullCondensedName](#fullcondensedname)
101 - [url](#url)
102 - [issuesURL](#issuesurl)
103 - [homePageURL](#homepageurl)
104 - [ref](#ref)
105 - [isDefault](#isdefault)
106 - [isLocked](#islocked)
107 - [isArchived](#isarchived)
108 - [isDisabled](#isdisabled)
109 - [delete](#delete)
110 - [commit](#commit)
111 - [Parameters](#parameters-19)
112 - [entries](#entries)
113 - [Parameters](#parameters-20)
114 - [asyncIterator](#asynciterator)
115 - [maybeEntry](#maybeentry)
116 - [Parameters](#parameters-21)
117 - [entry](#entry)
118 - [Parameters](#parameters-22)
119 - [removeEntries](#removeentries)
120 - [Parameters](#parameters-23)
121 - [refId](#refid)
122 - [Parameters](#parameters-24)
123 - [entryClass](#entryclass)
124 - [createPullRequest](#createpullrequest)
125 - [Parameters](#parameters-25)
126 - [pullRequestClass](#pullrequestclass)
127 - [createBranch](#createbranch)
128 - [Parameters](#parameters-26)
129 - [toJSON](#tojson-1)
130 - [defaultOptions](#defaultoptions)
131- [Owner](#owner-1)
132 - [Properties](#properties-2)
133- [RepositoryOwnerMixin](#repositoryownermixin)
134 - [Parameters](#parameters-27)
135 - [Properties](#properties-3)
136- [defaultOptions](#defaultoptions-1)
137- [defaultOptions](#defaultoptions-2)
138- [log](#log)
139 - [Parameters](#parameters-28)
140- [Repository](#repository-1)
141 - [Parameters](#parameters-29)
142 - [Properties](#properties-4)
143- [description](#description)
144- [description](#description-1)
145- [id](#id)
146- [id](#id-1)
147- [id](#id-2)
148- [uuid](#uuid)
149- [uuid](#uuid-1)
150- [defaultBranchName](#defaultbranchname)
151- [urls](#urls)
152- [homePageURL](#homepageurl-1)
153- [issuesURL](#issuesurl-1)
154- [PullRequest](#pullrequest)
155 - [Parameters](#parameters-30)
156 - [Properties](#properties-5)
157 - [repository](#repository-2)
158 - [provider](#provider-3)
159 - [equals](#equals-2)
160 - [Parameters](#parameters-31)
161 - [delete](#delete-1)
162 - [merge](#merge)
163 - [Parameters](#parameters-32)
164 - [decline](#decline)
165 - [validStates](#validstates)
166 - [defaultListStates](#defaultliststates)
167 - [validMergeMethods](#validmergemethods)
168 - [list](#list)
169 - [Parameters](#parameters-33)
170 - [open](#open)
171 - [Parameters](#parameters-34)
172- [title](#title)
173- [body](#body)
174- [state](#state)
175- [locked](#locked)
176- [merged](#merged)
177- [Hook](#hook)
178 - [Parameters](#parameters-35)
179 - [Properties](#properties-6)
180 - [equals](#equals-3)
181 - [Parameters](#parameters-36)
182 - [toJSON](#tojson-2)
183- [Milestone](#milestone)
184 - [Parameters](#parameters-37)
185- [RepositoryGroup](#repositorygroup-1)
186 - [Parameters](#parameters-38)
187 - [Properties](#properties-7)
188 - [repositoryClass](#repositoryclass)
189 - [branchClass](#branchclass)
190 - [contentClass](#contentclass)
191 - [pullRequestClass](#pullrequestclass-1)
192- [url](#url-1)
193- [definePropertiesFromOptions](#definepropertiesfromoptions)
194 - [Parameters](#parameters-39)
195- [optionJSON](#optionjson)
196 - [Parameters](#parameters-40)
197- [generateBranchName](#generatebranchname)
198 - [Parameters](#parameters-41)
199- [mapAttributes](#mapattributes)
200 - [Parameters](#parameters-42)
201
202## Provider
203
204**Extends Owner**
205
206Base repository provider acts as a source of repositories
207
208### Parameters
209
210- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
211
212### Properties
213
214- `_repositoryGroups` **[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), [RepositoryGroup](#repositorygroup)>**
215
216### equals
217
218#### Parameters
219
220- `other`
221
222Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true if other provider is the same as the receiver
223
224### repositoryGroup
225
226Lookup a repository group
227
228#### Parameters
229
230- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of the group
231
232Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;[RepositoryGroup](#repositorygroup)>**
233
234### createRepositoryGroup
235
236Create a new repository group
237If there is already a group for the given name it will be returend instead
238
239#### Parameters
240
241- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of the group
242- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
243
244Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;[RepositoryGroup](#repositorygroup)>**
245
246### addRepositoryGroup
247
248Add a new repository group (not provider specific actions are executed)
249
250#### Parameters
251
252- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of the group
253- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
254
255Returns **[RepositoryGroup](#repositorygroup)**
256
257### repositoryBases
258
259All possible base urls
260For github something like
261
262- git@github.com
263- git://github.com
264- git+ssh://github.com
265- <https://github.com>
266- git+<https://github.com>
267
268Returns **[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
269
270### normalizeRepositoryName
271
272Bring a repository name into its normal form by removing any clutter
273like .git suffix or #branch names
274
275#### Parameters
276
277- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
278- `forLookup` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**
279
280Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** normalized name
281
282### parseName
283
284Parses repository name and tries to split it into
285base, group, repository and branch
286
287#### Parameters
288
289- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
290
291Returns **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
292
293### decomposeName
294
295#### Parameters
296
297- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
298
299### repository
300
301Lookup a repository in the provider and all of its repository groups
302
303#### Parameters
304
305- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of the repository
306
307Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;[Repository](#repository)>**
308
309### branch
310
311Lookup a branch in the provider and all of its repository groups
312
313#### Parameters
314
315- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of the branch
316
317Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;[Branch](#branch)>**
318
319### repositoryGroups
320
321List groups
322
323#### Parameters
324
325- `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))**
326
327Returns **Iterator&lt;[RepositoryGroup](#repositorygroup)>** all matching repositories groups of the provider
328
329### repositories
330
331List repositories
332
333#### Parameters
334
335- `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))**
336
337Returns **Iterator&lt;[Repository](#repository)>** all matching repos of the provider
338
339### branches
340
341List branches
342
343#### Parameters
344
345- `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))**
346
347Returns **Iterator&lt;[Branch](#branch)>** all matching branches of the provider
348
349### tags
350
351List tags
352
353#### Parameters
354
355- `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))**
356
357Returns **Iterator&lt;[Branch](#branch)>** all matching tags of the provider
358
359### repositoryGroupClass
360
361Returns **Class** repository group class used by the Provider
362
363### hookClass
364
365Returns **Class** hook class used by the Provider
366
367### name
368
369Deliver the provider name
370
371Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** class name by default
372
373### provider
374
375we are our own provider
376
377Returns **[Provider](#provider)** this
378
379### toJSON
380
381list all defined entries from defaultOptions
382
383### optionsFromEnvironment
384
385Extract options suitable for the constructor
386form the given set of environment variables
387
388#### Parameters
389
390- `env` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** taken from process.env
391
392Returns **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** undefined if no suitable environment variables have been found
393
394### environmentOptions
395
396Known mapping from environment variable to options
397
398Returns **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** with the mapping of environmentvaraible names to option keys
399
400### areOptionsSufficciant
401
402Check if given options are sufficint to create a provider
403
404#### Parameters
405
406- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
407
408Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true if options ar sufficiant to construct a provider
409
410### initialize
411
412Creates a new provider for a given set of options
413
414#### Parameters
415
416- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** additional options
417- `env` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** taken from process.env
418
419Returns **[Provider](#provider)** newly createdprovider or undefined if optionsa re not sufficient to construct a provider
420
421## priority
422
423in case there are several provider able to support a given source which one sould be used ?
424this defines the order
425
426## Branch
427
428- **See: [Repository#\_addBranch](Repository#_addBranch)
429 **
430
431Abstract branch
432
433### Parameters
434
435- `repository` **[Repository](#repository)**
436- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** (optional, default `"master"`)
437- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
438
439### Properties
440
441- `repository` **[Repository](#repository)**
442- `provider` **[Provider](#provider)**
443- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
444
445### equals
446
447Check for equality
448
449#### Parameters
450
451- `other` **[Branch](#branch)**
452
453Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true if name and repository are equal
454
455### provider
456
457The provider we live in
458
459Returns **[Provider](#provider)**
460
461### owner
462
463- **See: [Repository#owner](Repository#owner)
464 **
465
466Branch owner
467By default we provide the repository owner
468
469Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
470
471### fullName
472
473Repository and branch name combined
474
475Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 'repo#branch'
476
477### fullCondensedName
478
479Repository fullName and branch name combined.
480But skipping the branch name if it is the default branch
481
482Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 'user/repo#branch'
483
484### url
485
486Deliver repository and branch url combined
487
488Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** 'repoUrl#branch'
489
490### issuesURL
491
492- **See: [Repository#issuesURL](Repository#issuesURL)
493 **
494
495Url of issue tracking system.
496
497Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** as provided from the repository
498
499### homePageURL
500
501- **See: [Repository#homePageURL](Repository#homePageURL)
502 **
503
504Url of home page.
505
506Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** as provided from the repository
507
508### ref
509
510Git branch ref name
511
512Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** git ref of the branch
513
514### isDefault
515
516Are we the default branch
517
518Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true if name is the repository default branch
519
520### isLocked
521
522forwarded from the repository
523
524### isArchived
525
526forwarded from the repository
527
528### isDisabled
529
530forwarded from the repository
531
532### delete
533
534- **See: [Repository#deleteBranch](Repository#deleteBranch)
535 **
536
537Delete the branch from the [Repository](#repository).
538
539Returns **[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)>**
540
541### commit
542
543Commit entries
544
545#### Parameters
546
547- `message` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** commit message
548- `updates` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)&lt;Entry>** content to be commited
549- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
550
551Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)**
552
553### entries
554
555List entries of the branch
556
557#### Parameters
558
559- `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)>**
560
561Returns **Entry** all matching entries in the branch
562
563### asyncIterator
564
565List all entries of the branch
566
567Returns **asyncIterator&lt;Entry>** all entries in the branch
568
569### maybeEntry
570
571get exactly one matching entry by name or undefine if no such entry is found
572
573#### Parameters
574
575- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
576
577Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;Entry>**
578
579### entry
580
581get exactly one matching entry by name (throws if entry is not found)
582
583#### Parameters
584
585- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
586
587Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;Entry>**
588
589### removeEntries
590
591Remove entries form the branch
592
593#### Parameters
594
595- `entries` **Iterator&lt;Entry>**
596
597### refId
598
599Get sha of a ref
600
601#### Parameters
602
603- `ref` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** (optional, default `this.ref`)
604
605Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** sha of the ref
606
607### entryClass
608
609By default we use the providers implementation.
610
611Returns **Class** as defined in the repository
612
613### createPullRequest
614
615Create a pull request
616
617#### Parameters
618
619- `toBranch` **[Branch](#branch)**
620- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
621
622Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;[PullRequest](#pullrequest)>**
623
624### pullRequestClass
625
626By default we use the repository implementation.
627
628Returns **Class** as defined in the repository
629
630### createBranch
631
632Create a new [Branch](#branch) by cloning a given source branch.
633Simply calls Repository.createBranch() with the receiver as source branch
634
635#### Parameters
636
637- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** the new branch
638- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
639
640Returns **[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)
641
642### toJSON
643
644provide name and all defined defaultOptions
645
646### defaultOptions
647
648options
649
650## Owner
651
652Collection of repositories
653
654### Properties
655
656- `repositories` **[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), [Repository](#repository)>**
657
658## RepositoryOwnerMixin
659
660Collection of repositories
661
662### Parameters
663
664- `parent`
665
666### Properties
667
668- `repositories` **[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), [Repository](#repository)>**
669
670## defaultOptions
671
672options
673
674## defaultOptions
675
676options
677
678## log
679
680default logger
681
682### Parameters
683
684- `args` **...any**
685
686## Repository
687
688Abstract repository
689
690### Parameters
691
692- `owner` **[Owner](#owner)**
693- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** (#branch) will be removed
694- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
695 - `options.description` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** human readable description
696 - `options.id` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** internal id
697
698### Properties
699
700- `owner` **[Owner](#owner)**
701- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** without (#branch)
702- `description` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** from options.description
703- `id` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** from options.id
704- `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)>**
705- `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)>**
706
707## description
708
709the description of the repository content.
710
711Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
712
713## description
714
715the description of the repository group.
716
717Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
718
719## id
720
721unique id within the provider.
722
723Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
724
725## id
726
727internal id.
728
729Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
730
731## id
732
733unique id within the provider.
734
735Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
736
737## uuid
738
739unique id.
740
741Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
742
743## uuid
744
745unique id.
746
747Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
748
749## defaultBranchName
750
751The name of the default branch
752
753Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
754
755## urls
756
757urls of the repository
758
759Returns **[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)>**
760
761## homePageURL
762
763the url of home page.
764
765Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
766
767## issuesURL
768
769the url of issue tracking system.
770
771Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
772
773## PullRequest
774
775Abstract pull request
776[Repository#addPullRequest](Repository#addPullRequest)
777
778### Parameters
779
780- `source` **[Branch](#branch)** merge source
781- `destination` **[Branch](#branch)** merge target
782- `number` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
783- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
784 - `options.title` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?**
785 - `options.state` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?**
786 - `options.merged` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)?**
787 - `options.locked` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)?**
788
789### Properties
790
791- `number` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
792- `source` **[Branch](#branch)**
793- `destination` **[Branch](#branch)**
794- `title` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?**
795- `state` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?**
796- `merged` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)?**
797- `locked` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)?**
798
799### repository
800
801Returns **[Repository](#repository)** destination repository
802
803### provider
804
805Returns **[Provider](#provider)**
806
807### equals
808
809Check for equality
810
811#### Parameters
812
813- `other` **[PullRequest](#pullrequest)**
814
815Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true if number and repository are equal
816
817### delete
818
819- **See: [Repository#deletePullRequest](Repository#deletePullRequest)
820 **
821
822Delete the pull request from the [Repository](#repository).
823
824Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)**
825
826### merge
827
828Merge the pull request
829
830#### Parameters
831
832- `method` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
833
834### decline
835
836Decline the pull request
837
838### validStates
839
840All valid states
841
842Returns **[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
843
844### defaultListStates
845
846States to list pull request by default
847
848Returns **[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
849
850### validMergeMethods
851
852All valid merge methods
853
854Returns **[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
855
856### list
857
858List all pull request for a given repo
859result will be filtered by source branch, destination branch and states
860
861#### Parameters
862
863- `repository` **[Repository](#repository)**
864- `filter` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
865 - `filter.source` **[Branch](#branch)?**
866 - `filter.destination` **[Branch](#branch)?**
867 - `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)>?**
868
869Returns **Iterator&lt;[PullRequest](#pullrequest)>**
870
871### open
872
873Opens a new pull request
874
875#### Parameters
876
877- `source` **[Branch](#branch)**
878- `destination` **[Branch](#branch)**
879- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
880 - `options.title` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
881 - `options.body` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
882
883Returns **[PullRequest](#pullrequest)**
884
885## title
886
887the one line description of the pull request.
888
889Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
890
891## body
892
893the description of the pull request.
894
895Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
896
897## state
898
899state of the pull request.
900
901- OPEN
902- MERGED
903- CLOSED
904
905Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
906
907## locked
908
909locked state of the pull request.
910
911Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**
912
913## merged
914
915merged state of the pull request.
916
917Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**
918
919## Hook
920
921### Parameters
922
923- `repository`
924- `name`
925- `events` (optional, default `new Set(["*"])`)
926- `options`
927
928### Properties
929
930- `repository` **[Repository](#repository)**
931- `url` **[URL](https://developer.mozilla.org/docs/Web/API/URL/URL)**
932- `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)>**
933
934### equals
935
936Check for equality
937
938#### Parameters
939
940- `other` **[Hook](#hook)**
941
942Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** true if name and repository are equal
943
944### toJSON
945
946provide name, events and all defined defaultOptions
947
948## Milestone
949
950### Parameters
951
952- `owner`
953- `options`
954
955## RepositoryGroup
956
957**Extends Owner**
958
959Abstract repository collection
960
961### Parameters
962
963- `provider` **[Provider](#provider)**
964- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** of the group
965- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
966 - `options.description` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** human readable description
967 - `options.id` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** internal id
968 - `options.uuid` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** internal id
969 - `options.url` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** home
970
971### Properties
972
973- `provider` **[Provider](#provider)**
974- `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
975
976### repositoryClass
977
978By default we use the providers implementation.
979
980Returns **Class** as defined in the provider
981
982### branchClass
983
984By default we use the providers implementation.
985
986Returns **Class** as defined in the provider
987
988### contentClass
989
990By default we use the providers implementation.
991
992Returns **Class** as defined in the provider
993
994### pullRequestClass
995
996By default we use the providers implementation.
997
998Returns **Class** as defined in the provider
999
1000## url
1001
1002group home.
1003
1004Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
1005
1006## definePropertiesFromOptions
1007
1008- **See: Object.definedProperties()
1009 **
1010- **See: Object.hasOwnProperty()
1011 **
1012
1013Create properties from options and default options
1014Already present properties (direct) are skipped
1015
1016### Parameters
1017
1018- `object` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** target object
1019- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** as passed to object constructor
1020- `properties` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** object properties (optional, default `{}`)
1021
1022## optionJSON
1023
1024create json based on present options.
1025In other words only produce key value pairs if value is defined.
1026
1027### Parameters
1028
1029- `object` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
1030- `initial` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** (optional, default `{}`)
1031- `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 `[]`)
1032
1033Returns **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** initial + defined values
1034
1035## generateBranchName
1036
1037find a new branch name for a given pattern
1038'_' will be replaced by a number
1039'something/_' will get to something/1 something/2 ...
1040
1041### Parameters
1042
1043- `repository` **[Repository](#repository)**
1044- `pattern` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
1045
1046## mapAttributes
1047
1048Rename attributes
1049
1050### Parameters
1051
1052- `object` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
1053- `mapping` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**
1054
1055Returns **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** keys renamed after mapping
1056
1057# install
1058
1059With [npm](http://npmjs.org) do:
1060
1061```shell
1062npm install repository-provider
1063```
1064
1065# license
1066
1067BSD-2-Clause