@elisra-devops/docgen-data-provider 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/bin/helpers/helper.js +22 -7
  2. package/bin/helpers/helper.js.map +1 -1
  3. package/bin/helpers/tfs.js +62 -77
  4. package/bin/helpers/tfs.js.map +1 -1
  5. package/bin/index.d.ts +3 -1
  6. package/bin/index.js +17 -31
  7. package/bin/index.js.map +1 -1
  8. package/bin/models/tfs-data.d.ts +3 -3
  9. package/bin/models/tfs-data.js +54 -17
  10. package/bin/models/tfs-data.js.map +1 -1
  11. package/bin/modules/GitDataProvider.js +213 -259
  12. package/bin/modules/GitDataProvider.js.map +1 -1
  13. package/bin/modules/MangementDataProvider.js +26 -43
  14. package/bin/modules/MangementDataProvider.js.map +1 -1
  15. package/bin/modules/PipelinesDataProvider.js +57 -82
  16. package/bin/modules/PipelinesDataProvider.js.map +1 -1
  17. package/bin/modules/ResultDataProvider.d.ts +89 -0
  18. package/bin/modules/ResultDataProvider.js +409 -0
  19. package/bin/modules/ResultDataProvider.js.map +1 -0
  20. package/bin/modules/TestDataProvider.js +196 -236
  21. package/bin/modules/TestDataProvider.js.map +1 -1
  22. package/bin/modules/TicketsDataProvider.js +259 -300
  23. package/bin/modules/TicketsDataProvider.js.map +1 -1
  24. package/bin/modules/test/gitDataProvider.test.js +67 -76
  25. package/bin/modules/test/gitDataProvider.test.js.map +1 -1
  26. package/bin/modules/test/managmentDataProvider.test.js +16 -25
  27. package/bin/modules/test/managmentDataProvider.test.js.map +1 -1
  28. package/bin/modules/test/pipelineDataProvider.test.js +32 -41
  29. package/bin/modules/test/pipelineDataProvider.test.js.map +1 -1
  30. package/bin/modules/test/testDataProvider.test.js +56 -65
  31. package/bin/modules/test/testDataProvider.test.js.map +1 -1
  32. package/bin/modules/test/ticketsDataProvider.test.js +39 -48
  33. package/bin/modules/test/ticketsDataProvider.test.js.map +1 -1
  34. package/package.json +17 -11
  35. package/src/index.ts +19 -15
  36. package/src/modules/ResultDataProvider.ts +496 -0
  37. package/src/modules/TestDataProvider.ts +1 -0
  38. package/tsconfig.json +2 -2
@@ -1,300 +1,254 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  const tfs_1 = require("../helpers/tfs");
13
4
  const TicketsDataProvider_1 = require("./TicketsDataProvider");
14
5
  const logger_1 = require("../utils/logger");
15
6
  class GitDataProvider {
7
+ orgUrl = "";
8
+ token = "";
9
+ ticketsDataProvider;
16
10
  constructor(orgUrl, token) {
17
- this.orgUrl = "";
18
- this.token = "";
19
11
  this.orgUrl = orgUrl;
20
12
  this.token = token;
21
13
  this.ticketsDataProvider = new TicketsDataProvider_1.default(this.orgUrl, this.token);
22
14
  }
23
- GetTeamProjectGitReposList(teamProject) {
24
- return __awaiter(this, void 0, void 0, function* () {
25
- logger_1.default.debug(`fetching repos list for team project - ${teamProject}`);
26
- let url = `${this.orgUrl}/${teamProject}/_apis/git/repositories`;
27
- return tfs_1.TFSServices.getItemContent(url, this.token, "get");
28
- });
15
+ async GetTeamProjectGitReposList(teamProject) {
16
+ logger_1.default.debug(`fetching repos list for team project - ${teamProject}`);
17
+ let url = `${this.orgUrl}/${teamProject}/_apis/git/repositories`;
18
+ return tfs_1.TFSServices.getItemContent(url, this.token, "get");
29
19
  } //GetGitRepoFromPrId
30
- GetGitRepoFromRepoId(repoId) {
31
- return __awaiter(this, void 0, void 0, function* () {
32
- logger_1.default.debug(`fetching repo data by id - ${repoId}`);
33
- let url = `${this.orgUrl}_apis/git/repositories/${repoId}`;
34
- return tfs_1.TFSServices.getItemContent(url, this.token, "get");
35
- });
20
+ async GetGitRepoFromRepoId(repoId) {
21
+ logger_1.default.debug(`fetching repo data by id - ${repoId}`);
22
+ let url = `${this.orgUrl}_apis/git/repositories/${repoId}`;
23
+ return tfs_1.TFSServices.getItemContent(url, this.token, "get");
36
24
  } //GetGitRepoFromPrId
37
- GetJsonFileFromGitRepo(projectName, repoName, filePath) {
38
- return __awaiter(this, void 0, void 0, function* () {
39
- let url = `${this.orgUrl}${projectName}/_apis/git/repositories/${repoName}/items?path=${filePath}&includeContent=true`;
40
- let res = yield tfs_1.TFSServices.getItemContent(url, this.token, "get");
41
- let jsonObject = JSON.parse(res.content);
42
- return jsonObject;
43
- });
25
+ async GetJsonFileFromGitRepo(projectName, repoName, filePath) {
26
+ let url = `${this.orgUrl}${projectName}/_apis/git/repositories/${repoName}/items?path=${filePath}&includeContent=true`;
27
+ let res = await tfs_1.TFSServices.getItemContent(url, this.token, "get");
28
+ let jsonObject = JSON.parse(res.content);
29
+ return jsonObject;
44
30
  } //GetJsonFileFromGitRepo
45
- GetGitRepoFromPrId(pullRequestId) {
46
- return __awaiter(this, void 0, void 0, function* () {
47
- let url = `${this.orgUrl}_apis/git/pullrequests/${pullRequestId}`;
48
- let res = yield tfs_1.TFSServices.getItemContent(url, this.token, "get");
49
- return res;
50
- });
31
+ async GetGitRepoFromPrId(pullRequestId) {
32
+ let url = `${this.orgUrl}_apis/git/pullrequests/${pullRequestId}`;
33
+ let res = await tfs_1.TFSServices.getItemContent(url, this.token, "get");
34
+ return res;
51
35
  } //GetGitRepoFromPrId
52
- GetPullRequestCommits(repositoryId, pullRequestId) {
53
- return __awaiter(this, void 0, void 0, function* () {
54
- let url = `${this.orgUrl}_apis/git/repositories/${repositoryId}/pullRequests/${pullRequestId}/commits`;
55
- let res = yield tfs_1.TFSServices.getItemContent(url, this.token, "get");
56
- return res;
57
- });
36
+ async GetPullRequestCommits(repositoryId, pullRequestId) {
37
+ let url = `${this.orgUrl}_apis/git/repositories/${repositoryId}/pullRequests/${pullRequestId}/commits`;
38
+ let res = await tfs_1.TFSServices.getItemContent(url, this.token, "get");
39
+ return res;
58
40
  } //GetGitRepoFromPrId
59
- GetPullRequestsLinkedItemsInCommitRange(projectId, repositoryId, commitRangeArray) {
60
- return __awaiter(this, void 0, void 0, function* () {
61
- let pullRequestsFilteredArray = [];
62
- let ChangeSetsArray = [];
63
- //get all pr's in git repo
64
- let url = `${this.orgUrl}${projectId}/_apis/git/repositories/${repositoryId}/pullrequests?status=completed&includeLinks=true&$top=2000}`;
65
- logger_1.default.debug(`request url: ${url}`);
66
- let pullRequestsArray = yield tfs_1.TFSServices.getItemContent(url, this.token, "get");
67
- logger_1.default.info(`got ${pullRequestsArray.count} pullrequests for repo: ${repositoryId}`);
68
- //iterate commit list to filter relavant pullrequests
69
- pullRequestsArray.value.forEach((pr) => {
70
- commitRangeArray.value.forEach((commit) => {
71
- if (pr.lastMergeCommit.commitId == commit.commitId) {
72
- pullRequestsFilteredArray.push(pr);
73
- }
74
- });
75
- });
76
- logger_1.default.info(`filtered in commit range ${pullRequestsFilteredArray.length} pullrequests for repo: ${repositoryId}`);
77
- //extract linked items and append them to result
78
- yield Promise.all(pullRequestsFilteredArray.map((pr) => __awaiter(this, void 0, void 0, function* () {
79
- let linkedItems = {};
80
- try {
81
- if (pr._links.workItems.href) {
82
- //get workitems linked to pr
83
- let url = pr._links.workItems.href;
84
- linkedItems = yield tfs_1.TFSServices.getItemContent(url, this.token, "get");
85
- logger_1.default.info(`got ${linkedItems.count} items linked to pr ${pr.pullRequestId}`);
86
- yield Promise.all(linkedItems.value.map((item) => __awaiter(this, void 0, void 0, function* () {
87
- let populatedItem = yield this.ticketsDataProvider.GetWorkItem(projectId, item.id);
88
- let changeSet = {
89
- workItem: populatedItem,
90
- pullrequest: pr,
91
- };
92
- ChangeSetsArray.push(changeSet);
93
- })));
94
- }
41
+ async GetPullRequestsLinkedItemsInCommitRange(projectId, repositoryId, commitRangeArray) {
42
+ let pullRequestsFilteredArray = [];
43
+ let ChangeSetsArray = [];
44
+ //get all pr's in git repo
45
+ let url = `${this.orgUrl}${projectId}/_apis/git/repositories/${repositoryId}/pullrequests?status=completed&includeLinks=true&$top=2000}`;
46
+ logger_1.default.debug(`request url: ${url}`);
47
+ let pullRequestsArray = await tfs_1.TFSServices.getItemContent(url, this.token, "get");
48
+ logger_1.default.info(`got ${pullRequestsArray.count} pullrequests for repo: ${repositoryId}`);
49
+ //iterate commit list to filter relavant pullrequests
50
+ pullRequestsArray.value.forEach((pr) => {
51
+ commitRangeArray.value.forEach((commit) => {
52
+ if (pr.lastMergeCommit.commitId == commit.commitId) {
53
+ pullRequestsFilteredArray.push(pr);
95
54
  }
96
- catch (error) {
97
- logger_1.default.error(error);
98
- }
99
- })));
100
- return ChangeSetsArray;
55
+ });
101
56
  });
102
- } //GetPullRequestsInCommitRange
103
- GetItemsInCommitRange(projectId, repositoryId, commitRange) {
104
- return __awaiter(this, void 0, void 0, function* () {
105
- //get all items linked to commits
106
- let res = [];
107
- let commitChangesArray = [];
108
- //extract linked items and append them to result
109
- for (const commit of commitRange.value) {
110
- if (commit.workItems) {
111
- for (const wi of commit.workItems) {
112
- let populatedItem = yield this.ticketsDataProvider.GetWorkItem(projectId, wi.id);
113
- let changeSet = { workItem: populatedItem, commit: commit };
114
- commitChangesArray.push(changeSet);
115
- }
57
+ logger_1.default.info(`filtered in commit range ${pullRequestsFilteredArray.length} pullrequests for repo: ${repositoryId}`);
58
+ //extract linked items and append them to result
59
+ await Promise.all(pullRequestsFilteredArray.map(async (pr) => {
60
+ let linkedItems = {};
61
+ try {
62
+ if (pr._links.workItems.href) {
63
+ //get workitems linked to pr
64
+ let url = pr._links.workItems.href;
65
+ linkedItems = await tfs_1.TFSServices.getItemContent(url, this.token, "get");
66
+ logger_1.default.info(`got ${linkedItems.count} items linked to pr ${pr.pullRequestId}`);
67
+ await Promise.all(linkedItems.value.map(async (item) => {
68
+ let populatedItem = await this.ticketsDataProvider.GetWorkItem(projectId, item.id);
69
+ let changeSet = {
70
+ workItem: populatedItem,
71
+ pullrequest: pr,
72
+ };
73
+ ChangeSetsArray.push(changeSet);
74
+ }));
116
75
  }
117
76
  }
118
- //get all items and pr data from pr's in commit range - using the above function
119
- let pullRequestsChangesArray = yield this.GetPullRequestsLinkedItemsInCommitRange(projectId, repositoryId, commitRange);
120
- //merge commit links with pr links
121
- logger_1.default.info(`got ${pullRequestsChangesArray.length} items from pr's and`);
122
- res = [...commitChangesArray, ...pullRequestsChangesArray];
123
- let workItemIds = [];
124
- for (let index = 0; index < res.length; index++) {
125
- if (workItemIds.includes(res[index].workItem.id)) {
126
- res.splice(index, 1);
127
- index--;
128
- }
129
- else {
130
- workItemIds.push(res[index].workItem.id);
77
+ catch (error) {
78
+ logger_1.default.error(error);
79
+ }
80
+ }));
81
+ return ChangeSetsArray;
82
+ } //GetPullRequestsInCommitRange
83
+ async GetItemsInCommitRange(projectId, repositoryId, commitRange) {
84
+ //get all items linked to commits
85
+ let res = [];
86
+ let commitChangesArray = [];
87
+ //extract linked items and append them to result
88
+ for (const commit of commitRange.value) {
89
+ if (commit.workItems) {
90
+ for (const wi of commit.workItems) {
91
+ let populatedItem = await this.ticketsDataProvider.GetWorkItem(projectId, wi.id);
92
+ let changeSet = { workItem: populatedItem, commit: commit };
93
+ commitChangesArray.push(changeSet);
131
94
  }
132
95
  }
133
- return res;
134
- });
96
+ }
97
+ //get all items and pr data from pr's in commit range - using the above function
98
+ let pullRequestsChangesArray = await this.GetPullRequestsLinkedItemsInCommitRange(projectId, repositoryId, commitRange);
99
+ //merge commit links with pr links
100
+ logger_1.default.info(`got ${pullRequestsChangesArray.length} items from pr's and`);
101
+ res = [...commitChangesArray, ...pullRequestsChangesArray];
102
+ let workItemIds = [];
103
+ for (let index = 0; index < res.length; index++) {
104
+ if (workItemIds.includes(res[index].workItem.id)) {
105
+ res.splice(index, 1);
106
+ index--;
107
+ }
108
+ else {
109
+ workItemIds.push(res[index].workItem.id);
110
+ }
111
+ }
112
+ return res;
135
113
  } //GetItemsInCommitRange
136
- GetPullRequestsInCommitRangeWithoutLinkedItems(projectId, repositoryId, commitRangeArray) {
137
- return __awaiter(this, void 0, void 0, function* () {
138
- let pullRequestsFilteredArray = [];
139
- // Extract the organization name from orgUrl
140
- let orgName = this.orgUrl.split('/').filter(Boolean).pop();
141
- // Get all PRs in the git repo
142
- let url = `${this.orgUrl}${projectId}/_apis/git/repositories/${repositoryId}/pullrequests?status=completed&includeLinks=true&$top=2000}`;
143
- logger_1.default.debug(`request url: ${url}`);
144
- let pullRequestsArray = yield tfs_1.TFSServices.getItemContent(url, this.token, "get");
145
- logger_1.default.info(`got ${pullRequestsArray.count} pullrequests for repo: ${repositoryId}`);
146
- // Iterate commit list to filter relevant pull requests
147
- pullRequestsArray.value.forEach((pr) => {
148
- commitRangeArray.value.forEach((commit) => {
149
- if (pr.lastMergeCommit.commitId == commit.commitId) {
150
- // Construct the pull request URL
151
- const prUrl = `https://dev.azure.com/${orgName}/${projectId}/_git/${repositoryId}/pullrequest/${pr.pullRequestId}`;
152
- // Extract only the desired properties from the PR
153
- const prFilteredData = {
154
- pullRequestId: pr.pullRequestId,
155
- createdBy: pr.createdBy.displayName,
156
- creationDate: pr.creationDate,
157
- closedDate: pr.closedDate,
158
- title: pr.title,
159
- description: pr.description,
160
- url: prUrl // Use the constructed URL here
161
- };
162
- pullRequestsFilteredArray.push(prFilteredData);
163
- }
164
- });
114
+ async GetPullRequestsInCommitRangeWithoutLinkedItems(projectId, repositoryId, commitRangeArray) {
115
+ let pullRequestsFilteredArray = [];
116
+ // Extract the organization name from orgUrl
117
+ let orgName = this.orgUrl.split('/').filter(Boolean).pop();
118
+ // Get all PRs in the git repo
119
+ let url = `${this.orgUrl}${projectId}/_apis/git/repositories/${repositoryId}/pullrequests?status=completed&includeLinks=true&$top=2000}`;
120
+ logger_1.default.debug(`request url: ${url}`);
121
+ let pullRequestsArray = await tfs_1.TFSServices.getItemContent(url, this.token, "get");
122
+ logger_1.default.info(`got ${pullRequestsArray.count} pullrequests for repo: ${repositoryId}`);
123
+ // Iterate commit list to filter relevant pull requests
124
+ pullRequestsArray.value.forEach((pr) => {
125
+ commitRangeArray.value.forEach((commit) => {
126
+ if (pr.lastMergeCommit.commitId == commit.commitId) {
127
+ // Construct the pull request URL
128
+ const prUrl = `https://dev.azure.com/${orgName}/${projectId}/_git/${repositoryId}/pullrequest/${pr.pullRequestId}`;
129
+ // Extract only the desired properties from the PR
130
+ const prFilteredData = {
131
+ pullRequestId: pr.pullRequestId,
132
+ createdBy: pr.createdBy.displayName,
133
+ creationDate: pr.creationDate,
134
+ closedDate: pr.closedDate,
135
+ title: pr.title,
136
+ description: pr.description,
137
+ url: prUrl // Use the constructed URL here
138
+ };
139
+ pullRequestsFilteredArray.push(prFilteredData);
140
+ }
165
141
  });
166
- logger_1.default.info(`filtered in commit range ${pullRequestsFilteredArray.length} pullrequests for repo: ${repositoryId}`);
167
- return pullRequestsFilteredArray;
168
142
  });
143
+ logger_1.default.info(`filtered in commit range ${pullRequestsFilteredArray.length} pullrequests for repo: ${repositoryId}`);
144
+ return pullRequestsFilteredArray;
169
145
  } // GetPullRequestsInCommitRangeWithoutLinkedItems
170
- GetCommitByCommitId(projectId, repositoryId, commitSha) {
171
- return __awaiter(this, void 0, void 0, function* () {
172
- let url = `${this.orgUrl}${projectId}/_apis/git/repositories/${repositoryId}/commits/${commitSha}`;
173
- return tfs_1.TFSServices.getItemContent(url, this.token, "get");
174
- });
146
+ async GetCommitByCommitId(projectId, repositoryId, commitSha) {
147
+ let url = `${this.orgUrl}${projectId}/_apis/git/repositories/${repositoryId}/commits/${commitSha}`;
148
+ return tfs_1.TFSServices.getItemContent(url, this.token, "get");
175
149
  }
176
- GetCommitForPipeline(projectId, buildId) {
177
- return __awaiter(this, void 0, void 0, function* () {
178
- let url = `${this.orgUrl}${projectId}/_apis/build/builds/${buildId}`;
179
- let res = yield tfs_1.TFSServices.getItemContent(url, this.token, "get");
180
- return res.sourceVersion;
181
- });
150
+ async GetCommitForPipeline(projectId, buildId) {
151
+ let url = `${this.orgUrl}${projectId}/_apis/build/builds/${buildId}`;
152
+ let res = await tfs_1.TFSServices.getItemContent(url, this.token, "get");
153
+ return res.sourceVersion;
182
154
  } //GetCommitForPipeline
183
- GetItemsForPipelinesRange(projectId, fromBuildId, toBuildId) {
184
- return __awaiter(this, void 0, void 0, function* () {
185
- let linkedItemsArray = [];
186
- let url = `${this.orgUrl}${projectId}/_apis/build/workitems?fromBuildId=${fromBuildId}&toBuildId=${toBuildId}&$top=2000`;
187
- let res = yield tfs_1.TFSServices.getItemContent(url, this.token, "get");
188
- logger_1.default.info(`recieved ${res.count} items in build range ${fromBuildId}-${toBuildId}`);
189
- yield Promise.all(res.value.map((wi) => __awaiter(this, void 0, void 0, function* () {
190
- let populatedItem = yield this.ticketsDataProvider.GetWorkItem(projectId, wi.id);
191
- let changeSet = { workItem: populatedItem, build: toBuildId };
192
- linkedItemsArray.push(changeSet);
193
- })));
194
- return linkedItemsArray;
195
- });
155
+ async GetItemsForPipelinesRange(projectId, fromBuildId, toBuildId) {
156
+ let linkedItemsArray = [];
157
+ let url = `${this.orgUrl}${projectId}/_apis/build/workitems?fromBuildId=${fromBuildId}&toBuildId=${toBuildId}&$top=2000`;
158
+ let res = await tfs_1.TFSServices.getItemContent(url, this.token, "get");
159
+ logger_1.default.info(`recieved ${res.count} items in build range ${fromBuildId}-${toBuildId}`);
160
+ await Promise.all(res.value.map(async (wi) => {
161
+ let populatedItem = await this.ticketsDataProvider.GetWorkItem(projectId, wi.id);
162
+ let changeSet = { workItem: populatedItem, build: toBuildId };
163
+ linkedItemsArray.push(changeSet);
164
+ }));
165
+ return linkedItemsArray;
196
166
  } //GetCommitForPipeline
197
- GetCommitsInDateRange(projectId, repositoryId, fromDate, toDate, branchName) {
198
- return __awaiter(this, void 0, void 0, function* () {
199
- let url;
200
- if (typeof branchName !== 'undefined') {
201
- url = `${this.orgUrl}${projectId}/_apis/git/repositories/${repositoryId}/commits?searchCriteria.fromDate=${fromDate}&searchCriteria.toDate=${toDate}&searchCriteria.includeWorkItems=true&searchCriteria.$top=2000&searchCriteria.itemVersion.version=${branchName}`;
202
- }
203
- else {
204
- url = `${this.orgUrl}${projectId}/_apis/git/repositories/${repositoryId}/commits?searchCriteria.fromDate=${fromDate}&searchCriteria.toDate=${toDate}&searchCriteria.includeWorkItems=true&searchCriteria.$top=2000`;
205
- }
206
- return tfs_1.TFSServices.getItemContent(url, this.token, "get");
207
- });
167
+ async GetCommitsInDateRange(projectId, repositoryId, fromDate, toDate, branchName) {
168
+ let url;
169
+ if (typeof branchName !== 'undefined') {
170
+ url = `${this.orgUrl}${projectId}/_apis/git/repositories/${repositoryId}/commits?searchCriteria.fromDate=${fromDate}&searchCriteria.toDate=${toDate}&searchCriteria.includeWorkItems=true&searchCriteria.$top=2000&searchCriteria.itemVersion.version=${branchName}`;
171
+ }
172
+ else {
173
+ url = `${this.orgUrl}${projectId}/_apis/git/repositories/${repositoryId}/commits?searchCriteria.fromDate=${fromDate}&searchCriteria.toDate=${toDate}&searchCriteria.includeWorkItems=true&searchCriteria.$top=2000`;
174
+ }
175
+ return tfs_1.TFSServices.getItemContent(url, this.token, "get");
208
176
  } //GetCommitsInDateRange
209
- GetCommitsInCommitRange(projectId, repositoryId, fromSha, toSha) {
210
- return __awaiter(this, void 0, void 0, function* () {
211
- let url = `${this.orgUrl}${projectId}/_apis/git/repositories/${repositoryId}/commits?searchCriteria.fromCommitId=${fromSha}&searchCriteria.toCommitId=${toSha}&searchCriteria.includeWorkItems=true&searchCriteria.$top=2000`;
212
- return tfs_1.TFSServices.getItemContent(url, this.token, "get");
213
- });
177
+ async GetCommitsInCommitRange(projectId, repositoryId, fromSha, toSha) {
178
+ let url = `${this.orgUrl}${projectId}/_apis/git/repositories/${repositoryId}/commits?searchCriteria.fromCommitId=${fromSha}&searchCriteria.toCommitId=${toSha}&searchCriteria.includeWorkItems=true&searchCriteria.$top=2000`;
179
+ return tfs_1.TFSServices.getItemContent(url, this.token, "get");
214
180
  } //GetCommitsInCommitRange doesen't work!!!
215
- CreatePullRequestComment(projectName, repoID, pullRequestID, threads) {
216
- return __awaiter(this, void 0, void 0, function* () {
217
- let url = `${this.orgUrl}${projectName}/_apis/git/repositories/${repoID}/pullRequests/${pullRequestID}/threads?api-version=5.0`;
218
- let res = yield tfs_1.TFSServices.getItemContent(url, this.token, "post", threads, null);
219
- return res;
220
- });
181
+ async CreatePullRequestComment(projectName, repoID, pullRequestID, threads) {
182
+ let url = `${this.orgUrl}${projectName}/_apis/git/repositories/${repoID}/pullRequests/${pullRequestID}/threads?api-version=5.0`;
183
+ let res = await tfs_1.TFSServices.getItemContent(url, this.token, "post", threads, null);
184
+ return res;
221
185
  }
222
- GetPullRequestComments(projectName, repoID, pullRequestID) {
223
- return __awaiter(this, void 0, void 0, function* () {
224
- let url = `${this.orgUrl}${projectName}/_apis/git/repositories/${repoID}/pullRequests/${pullRequestID}/threads`;
225
- return tfs_1.TFSServices.getItemContent(url, this.token, "get", null, null);
226
- });
186
+ async GetPullRequestComments(projectName, repoID, pullRequestID) {
187
+ let url = `${this.orgUrl}${projectName}/_apis/git/repositories/${repoID}/pullRequests/${pullRequestID}/threads`;
188
+ return tfs_1.TFSServices.getItemContent(url, this.token, "get", null, null);
227
189
  }
228
- GetCommitsForRepo(projectName, repoID, branchName) {
229
- return __awaiter(this, void 0, void 0, function* () {
230
- let url;
231
- if (typeof branchName !== 'undefined') {
232
- url = `${this.orgUrl}${projectName}/_apis/git/repositories/${repoID}/commits?searchCriteria.$top=2000&searchCriteria.itemVersion.version=${branchName}`;
233
- }
234
- else {
235
- url = `${this.orgUrl}${projectName}/_apis/git/repositories/${repoID}/commits?searchCriteria.$top=2000`;
236
- }
237
- let res = yield tfs_1.TFSServices.getItemContent(url, this.token, "get", null, null);
238
- return res;
239
- });
190
+ async GetCommitsForRepo(projectName, repoID, branchName) {
191
+ let url;
192
+ if (typeof branchName !== 'undefined') {
193
+ url = `${this.orgUrl}${projectName}/_apis/git/repositories/${repoID}/commits?searchCriteria.$top=2000&searchCriteria.itemVersion.version=${branchName}`;
194
+ }
195
+ else {
196
+ url = `${this.orgUrl}${projectName}/_apis/git/repositories/${repoID}/commits?searchCriteria.$top=2000`;
197
+ }
198
+ let res = await tfs_1.TFSServices.getItemContent(url, this.token, "get", null, null);
199
+ return res;
240
200
  }
241
- GetPullRequestsForRepo(projectName, repoID) {
242
- return __awaiter(this, void 0, void 0, function* () {
243
- let url = `${this.orgUrl}${projectName}/_apis/git/repositories/${repoID}/pullrequests?status=completed&includeLinks=true&$top=2000}`;
244
- let res = yield tfs_1.TFSServices.getItemContent(url, this.token, "get", null, null);
245
- return res;
246
- });
201
+ async GetPullRequestsForRepo(projectName, repoID) {
202
+ let url = `${this.orgUrl}${projectName}/_apis/git/repositories/${repoID}/pullrequests?status=completed&includeLinks=true&$top=2000}`;
203
+ let res = await tfs_1.TFSServices.getItemContent(url, this.token, "get", null, null);
204
+ return res;
247
205
  }
248
- GetItemsInPullRequestRange(projectId, repositoryId, pullRequestIDs) {
249
- return __awaiter(this, void 0, void 0, function* () {
250
- let pullRequestsFilteredArray = [];
251
- let ChangeSetsArray = [];
252
- //get all pr's in git repo
253
- let url = `${this.orgUrl}${projectId}/_apis/git/repositories/${repositoryId}/pullrequests?status=completed&includeLinks=true&$top=2000}`;
254
- logger_1.default.debug(`request url: ${url}`);
255
- let pullRequestsArray = yield tfs_1.TFSServices.getItemContent(url, this.token, "get");
256
- logger_1.default.info(`got ${pullRequestsArray.count} pullrequests for repo: ${repositoryId}`);
257
- //iterate commit list to filter relavant pullrequests
258
- pullRequestsArray.value.forEach((pr) => {
259
- pullRequestIDs.forEach((prId) => {
260
- if (prId == pr.pullRequestId) {
261
- pullRequestsFilteredArray.push(pr);
262
- }
263
- });
264
- });
265
- logger_1.default.info(`filtered in prId range ${pullRequestsFilteredArray.length} pullrequests for repo: ${repositoryId}`);
266
- //extract linked items and append them to result
267
- yield Promise.all(pullRequestsFilteredArray.map((pr) => __awaiter(this, void 0, void 0, function* () {
268
- let linkedItems = {};
269
- try {
270
- if (pr._links.workItems.href) {
271
- //get workitems linked to pr
272
- let url = pr._links.workItems.href;
273
- linkedItems = yield tfs_1.TFSServices.getItemContent(url, this.token, "get");
274
- logger_1.default.info(`got ${linkedItems.count} items linked to pr ${pr.pullRequestId}`);
275
- yield Promise.all(linkedItems.value.map((item) => __awaiter(this, void 0, void 0, function* () {
276
- let populatedItem = yield this.ticketsDataProvider.GetWorkItem(projectId, item.id);
277
- let changeSet = {
278
- workItem: populatedItem,
279
- pullrequest: pr,
280
- };
281
- ChangeSetsArray.push(changeSet);
282
- })));
283
- }
206
+ async GetItemsInPullRequestRange(projectId, repositoryId, pullRequestIDs) {
207
+ let pullRequestsFilteredArray = [];
208
+ let ChangeSetsArray = [];
209
+ //get all pr's in git repo
210
+ let url = `${this.orgUrl}${projectId}/_apis/git/repositories/${repositoryId}/pullrequests?status=completed&includeLinks=true&$top=2000}`;
211
+ logger_1.default.debug(`request url: ${url}`);
212
+ let pullRequestsArray = await tfs_1.TFSServices.getItemContent(url, this.token, "get");
213
+ logger_1.default.info(`got ${pullRequestsArray.count} pullrequests for repo: ${repositoryId}`);
214
+ //iterate commit list to filter relavant pullrequests
215
+ pullRequestsArray.value.forEach((pr) => {
216
+ pullRequestIDs.forEach((prId) => {
217
+ if (prId == pr.pullRequestId) {
218
+ pullRequestsFilteredArray.push(pr);
284
219
  }
285
- catch (error) {
286
- logger_1.default.error(error);
287
- }
288
- })));
289
- return ChangeSetsArray;
220
+ });
290
221
  });
222
+ logger_1.default.info(`filtered in prId range ${pullRequestsFilteredArray.length} pullrequests for repo: ${repositoryId}`);
223
+ //extract linked items and append them to result
224
+ await Promise.all(pullRequestsFilteredArray.map(async (pr) => {
225
+ let linkedItems = {};
226
+ try {
227
+ if (pr._links.workItems.href) {
228
+ //get workitems linked to pr
229
+ let url = pr._links.workItems.href;
230
+ linkedItems = await tfs_1.TFSServices.getItemContent(url, this.token, "get");
231
+ logger_1.default.info(`got ${linkedItems.count} items linked to pr ${pr.pullRequestId}`);
232
+ await Promise.all(linkedItems.value.map(async (item) => {
233
+ let populatedItem = await this.ticketsDataProvider.GetWorkItem(projectId, item.id);
234
+ let changeSet = {
235
+ workItem: populatedItem,
236
+ pullrequest: pr,
237
+ };
238
+ ChangeSetsArray.push(changeSet);
239
+ }));
240
+ }
241
+ }
242
+ catch (error) {
243
+ logger_1.default.error(error);
244
+ }
245
+ }));
246
+ return ChangeSetsArray;
291
247
  }
292
- GetRepoBranches(projectName, repoID) {
293
- return __awaiter(this, void 0, void 0, function* () {
294
- let url = `${this.orgUrl}${projectName}/_apis/git/repositories/${repoID}/refs?searchCriteria.$top=1000&filter=heads`;
295
- let res = yield tfs_1.TFSServices.getItemContent(url, this.token, "get", null, null);
296
- return res;
297
- });
248
+ async GetRepoBranches(projectName, repoID) {
249
+ let url = `${this.orgUrl}${projectName}/_apis/git/repositories/${repoID}/refs?searchCriteria.$top=1000&filter=heads`;
250
+ let res = await tfs_1.TFSServices.getItemContent(url, this.token, "get", null, null);
251
+ return res;
298
252
  }
299
253
  }
300
254
  exports.default = GitDataProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"GitDataProvider.js","sourceRoot":"","sources":["../../src/modules/GitDataProvider.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,wCAA6C;AAC7C,+DAAwD;AACxD,4CAAqC;AACrC,MAAqB,eAAe;IAKlC,YAAY,MAAc,EAAE,KAAa;QAJzC,WAAM,GAAW,EAAE,CAAC;QACpB,UAAK,GAAW,EAAE,CAAC;QAIjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,mBAAmB,GAAG,IAAI,6BAAmB,CAChD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,KAAK,CACX,CAAC;IACJ,CAAC;IACK,0BAA0B,CAC9B,WAAmB;;YAEnB,gBAAM,CAAC,KAAK,CAAC,0CAA0C,WAAW,EAAE,CAAC,CAAC;YACtE,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,WAAW,yBAAyB,CAAC;YACjE,OAAO,iBAAW,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC;KAAA,CAAC,oBAAoB;IAEhB,oBAAoB,CACxB,MAAc;;YAEd,gBAAM,CAAC,KAAK,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAC;YACrD,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,0BAA0B,MAAM,EAAE,CAAC;YAC3D,OAAO,iBAAW,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC;KAAA,CAAC,oBAAoB;IAEhB,sBAAsB,CAC1B,WAAmB,EACnB,QAAgB,EAChB,QAAgB;;YAEhB,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,WAAW,2BAA2B,QAAQ,eAAe,QAAQ,sBAAsB,CAAC;YACvH,IAAI,GAAG,GAAG,MAAM,iBAAW,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACnE,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO,UAAU,CAAC;QACpB,CAAC;KAAA,CAAC,wBAAwB;IAEpB,kBAAkB,CACtB,aAAqB;;YAErB,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,0BAA0B,aAAa,EAAE,CAAC;YAClE,IAAI,GAAG,GAAG,MAAM,iBAAW,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACnE,OAAO,GAAG,CAAC;QACb,CAAC;KAAA,CAAC,oBAAoB;IAEhB,qBAAqB,CACzB,YAAoB,EACpB,aAAqB;;YAErB,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,0BAA0B,YAAY,iBAAiB,aAAa,UAAU,CAAC;YACvG,IAAI,GAAG,GAAG,MAAM,iBAAW,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACnE,OAAO,GAAG,CAAC;QACb,CAAC;KAAA,CAAC,oBAAoB;IAEhB,uCAAuC,CAC3C,SAAiB,EACjB,YAAoB,EACpB,gBAAqB;;YAErB,IAAI,yBAAyB,GAAQ,EAAE,CAAC;YACxC,IAAI,eAAe,GAAQ,EAAE,CAAC;YAC9B,0BAA0B;YAC1B,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,2BAA2B,YAAY,6DAA6D,CAAC;YACzI,gBAAM,CAAC,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC;YACpC,IAAI,iBAAiB,GAAG,MAAM,iBAAW,CAAC,cAAc,CACtD,GAAG,EACH,IAAI,CAAC,KAAK,EACV,KAAK,CACN,CAAC;YACF,gBAAM,CAAC,IAAI,CACT,OAAO,iBAAiB,CAAC,KAAK,2BAA2B,YAAY,EAAE,CACxE,CAAC;YACF,qDAAqD;YACrD,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAO,EAAE,EAAE;gBAC1C,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAW,EAAE,EAAE;oBAC7C,IAAI,EAAE,CAAC,eAAe,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE;wBAClD,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;qBACpC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,gBAAM,CAAC,IAAI,CACT,4BAA4B,yBAAyB,CAAC,MAAM,2BAA2B,YAAY,EAAE,CACtG,CAAC;YACF,gDAAgD;YAChD,MAAM,OAAO,CAAC,GAAG,CACf,yBAAyB,CAAC,GAAG,CAAC,CAAO,EAAO,EAAE,EAAE;gBAC9C,IAAI,WAAW,GAAQ,EAAE,CAAC;gBAC1B,IAAI;oBACF,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;wBAC5B,4BAA4B;wBAC5B,IAAI,GAAG,GAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;wBAC3C,WAAW,GAAG,MAAM,iBAAW,CAAC,cAAc,CAC5C,GAAG,EACH,IAAI,CAAC,KAAK,EACV,KAAK,CACN,CAAC;wBACF,gBAAM,CAAC,IAAI,CACT,OAAO,WAAW,CAAC,KAAK,uBAAuB,EAAE,CAAC,aAAa,EAAE,CAClE,CAAC;wBACF,MAAM,OAAO,CAAC,GAAG,CACf,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAO,IAAS,EAAE,EAAE;4BACxC,IAAI,aAAa,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAC5D,SAAS,EACT,IAAI,CAAC,EAAE,CACR,CAAC;4BACF,IAAI,SAAS,GAAQ;gCACnB,QAAQ,EAAE,aAAa;gCACvB,WAAW,EAAE,EAAE;6BAChB,CAAC;4BACF,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBAClC,CAAC,CAAA,CAAC,CACH,CAAC;qBACH;iBACF;gBAAC,OAAO,KAAK,EAAE;oBACd,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBACrB;YACH,CAAC,CAAA,CAAC,CACH,CAAC;YACF,OAAO,eAAe,CAAC;QACzB,CAAC;KAAA,CAAC,8BAA8B;IAE1B,qBAAqB,CACzB,SAAiB,EACjB,YAAoB,EACpB,WAAe;;YAEf,iCAAiC;YACjC,IAAI,GAAG,GAAQ,EAAE,CAAC;YAClB,IAAI,kBAAkB,GAAQ,EAAE,CAAC;YACjC,gDAAgD;YAChD,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,KAAK,EAAE;gBACtC,IAAI,MAAM,CAAC,SAAS,EAAE;oBACpB,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,SAAS,EAAE;wBACjC,IAAI,aAAa,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAC5D,SAAS,EACT,EAAE,CAAC,EAAE,CACN,CAAC;wBACF,IAAI,SAAS,GAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;wBACjE,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;qBACpC;iBACF;aACF;YACD,gFAAgF;YAChF,IAAI,wBAAwB,GAC1B,MAAM,IAAI,CAAC,uCAAuC,CAChD,SAAS,EACT,YAAY,EACZ,WAAW,CACZ,CAAC;YACJ,kCAAkC;YAClC,gBAAM,CAAC,IAAI,CAAC,OAAO,wBAAwB,CAAC,MAAM,sBAAsB,CAAC,CAAC;YAC1E,GAAG,GAAG,CAAC,GAAG,kBAAkB,EAAE,GAAG,wBAAwB,CAAC,CAAC;YAC3D,IAAI,WAAW,GAAQ,EAAE,CAAA;YACzB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAC/C,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAC;oBAC/C,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBACrB,KAAK,EAAE,CAAC;iBACT;qBACG;oBACF,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;iBACzC;aACF;YACD,OAAO,GAAG,CAAC;QACb,CAAC;KAAA,CAAC,uBAAuB;IAEnB,8CAA8C,CAClD,SAAiB,EACjB,YAAoB,EACpB,gBAAqB;;YAErB,IAAI,yBAAyB,GAAU,EAAE,CAAC;YAE1C,4CAA4C;YAC5C,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;YAE3D,8BAA8B;YAC9B,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,2BAA2B,YAAY,6DAA6D,CAAC;YACzI,gBAAM,CAAC,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC;YACpC,IAAI,iBAAiB,GAAG,MAAM,iBAAW,CAAC,cAAc,CACtD,GAAG,EACH,IAAI,CAAC,KAAK,EACV,KAAK,CACN,CAAC;YACF,gBAAM,CAAC,IAAI,CACT,OAAO,iBAAiB,CAAC,KAAK,2BAA2B,YAAY,EAAE,CACxE,CAAC;YAEF,uDAAuD;YACvD,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAO,EAAE,EAAE;gBAC1C,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAW,EAAE,EAAE;oBAC7C,IAAI,EAAE,CAAC,eAAe,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE;wBAClD,iCAAiC;wBACjC,MAAM,KAAK,GAAG,yBAAyB,OAAO,IAAI,SAAS,SAAS,YAAY,gBAAgB,EAAE,CAAC,aAAa,EAAE,CAAC;wBAEnH,kDAAkD;wBAClD,MAAM,cAAc,GAAG;4BACrB,aAAa,EAAE,EAAE,CAAC,aAAa;4BAC/B,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW;4BACnC,YAAY,EAAE,EAAE,CAAC,YAAY;4BAC7B,UAAU,EAAE,EAAE,CAAC,UAAU;4BACzB,KAAK,EAAE,EAAE,CAAC,KAAK;4BACf,WAAW,EAAE,EAAE,CAAC,WAAW;4BAC3B,GAAG,EAAE,KAAK,CAAE,+BAA+B;yBAC5C,CAAC;wBACF,yBAAyB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;qBAChD;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,gBAAM,CAAC,IAAI,CACT,4BAA4B,yBAAyB,CAAC,MAAM,2BAA2B,YAAY,EAAE,CACtG,CAAC;YAEF,OAAO,yBAAyB,CAAC;QACnC,CAAC;KAAA,CAAC,iDAAiD;IAG7C,mBAAmB,CACvB,SAAiB,EACjB,YAAoB,EACpB,SAAiB;;YAEjB,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,2BAA2B,YAAY,YAAY,SAAS,EAAE,CAAC;YACnG,OAAO,iBAAW,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC;KAAA;IAEK,oBAAoB,CACxB,SAAiB,EACjB,OAAe;;YAEf,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,uBAAuB,OAAO,EAAE,CAAC;YACrE,IAAI,GAAG,GAAG,MAAM,iBAAW,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACnE,OAAO,GAAG,CAAC,aAAa,CAAC;QAC3B,CAAC;KAAA,CAAC,sBAAsB;IAElB,yBAAyB,CAC7B,SAAiB,EACjB,WAAmB,EACnB,SAAiB;;YAEjB,IAAI,gBAAgB,GAAQ,EAAE,CAAC;YAC/B,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,sCAAsC,WAAW,cAAc,SAAS,YAAY,CAAC;YACzH,IAAI,GAAG,GAAG,MAAM,iBAAW,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACnE,gBAAM,CAAC,IAAI,CACT,YAAY,GAAG,CAAC,KAAK,yBAAyB,WAAW,IAAI,SAAS,EAAE,CACzE,CAAC;YACF,MAAM,OAAO,CAAC,GAAG,CACf,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAO,EAAO,EAAE,EAAE;gBAC9B,IAAI,aAAa,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAC5D,SAAS,EACT,EAAE,CAAC,EAAE,CACN,CAAC;gBACF,IAAI,SAAS,GAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;gBACnE,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC,CAAA,CAAC,CACH,CAAC;YACF,OAAO,gBAAgB,CAAC;QAC1B,CAAC;KAAA,CAAC,sBAAsB;IAGlB,qBAAqB,CACzB,SAAiB,EACjB,YAAoB,EACpB,QAAgB,EAChB,MAAc,EACd,UAAmB;;YAEnB,IAAI,GAAU,CAAA;YACd,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;gBACrC,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,2BAA2B,YAAY,oCAAoC,QAAQ,0BAA0B,MAAM,qGAAqG,UAAU,EAAE,CAAC;aACtQ;iBACG;gBACF,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,2BAA2B,YAAY,oCAAoC,QAAQ,0BAA0B,MAAM,gEAAgE,CAAC;aACrN;YACD,OAAO,iBAAW,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC;KAAA,CAAC,uBAAuB;IAEnB,uBAAuB,CAC3B,SAAiB,EACjB,YAAoB,EACpB,OAAe,EACf,KAAa;;YAEb,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,2BAA2B,YAAY,wCAAwC,OAAO,8BAA8B,KAAK,gEAAgE,CAAC;YAC9N,OAAO,iBAAW,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC;KAAA,CAAC,0CAA0C;IAEtC,wBAAwB,CAC5B,WAAmB,EACnB,MAAc,EACd,aAAqB,EACrB,OAAY;;YAEZ,IAAI,GAAG,GAAW,GAAG,IAAI,CAAC,MAAM,GAAG,WAAW,2BAA2B,MAAM,iBAAiB,aAAa,0BAA0B,CAAC;YACxI,IAAI,GAAG,GAAQ,MAAM,iBAAW,CAAC,cAAc,CAC7C,GAAG,EACH,IAAI,CAAC,KAAK,EACV,MAAM,EACN,OAAO,EACP,IAAI,CACL,CAAC;YACF,OAAO,GAAG,CAAC;QACb,CAAC;KAAA;IAEK,sBAAsB,CAC1B,WAAmB,EACnB,MAAc,EACd,aAAqB;;YAErB,IAAI,GAAG,GAAW,GAAG,IAAI,CAAC,MAAM,GAAG,WAAW,2BAA2B,MAAM,iBAAiB,aAAa,UAAU,CAAC;YACxH,OAAO,iBAAW,CAAC,cAAc,CAC/B,GAAG,EACH,IAAI,CAAC,KAAK,EACV,KAAK,EACL,IAAI,EACJ,IAAI,CACL,CAAC;QACJ,CAAC;KAAA;IAEK,iBAAiB,CACrB,WAAmB,EACnB,MAAc,EACd,UAAmB;;YAEnB,IAAI,GAAW,CAAA;YACf,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;gBACrC,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,WAAW,2BAA2B,MAAM,wEAAwE,UAAU,EAAE,CAAA;aACxJ;iBACG;gBACD,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,WAAW,2BAA2B,MAAM,mCAAmC,CAAA;aACxG;YACC,IAAI,GAAG,GAAO,MAAM,iBAAW,CAAC,cAAc,CAC5C,GAAG,EACH,IAAI,CAAC,KAAK,EACV,KAAK,EACL,IAAI,EACJ,IAAI,CACH,CAAC;YACF,OAAO,GAAG,CAAC;QACjB,CAAC;KAAA;IAEK,sBAAsB,CAC1B,WAAmB,EACnB,MAAc;;YAEd,IAAI,GAAG,GACP,GAAG,IAAI,CAAC,MAAM,GAAG,WAAW,2BAA2B,MAAM,6DAA6D,CAAC;YAE3H,IAAI,GAAG,GAAO,MAAM,iBAAW,CAAC,cAAc,CAC5C,GAAG,EACH,IAAI,CAAC,KAAK,EACV,KAAK,EACL,IAAI,EACJ,IAAI,CACL,CAAC;YACF,OAAO,GAAG,CAAC;QACb,CAAC;KAAA;IAGK,0BAA0B,CAC9B,SAAiB,EACjB,YAAoB,EACpB,cAAmB;;YAEnB,IAAI,yBAAyB,GAAQ,EAAE,CAAC;YACxC,IAAI,eAAe,GAAQ,EAAE,CAAC;YAC9B,0BAA0B;YAC1B,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,2BAA2B,YAAY,6DAA6D,CAAC;YACzI,gBAAM,CAAC,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC;YACpC,IAAI,iBAAiB,GAAG,MAAM,iBAAW,CAAC,cAAc,CACtD,GAAG,EACH,IAAI,CAAC,KAAK,EACV,KAAK,CACN,CAAC;YACF,gBAAM,CAAC,IAAI,CACT,OAAO,iBAAiB,CAAC,KAAK,2BAA2B,YAAY,EAAE,CACxE,CAAC;YACF,qDAAqD;YACrD,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAO,EAAE,EAAE;gBAC1C,cAAc,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;oBACnC,IAAI,IAAI,IAAI,EAAE,CAAC,aAAa,EAAE;wBAC5B,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;qBACpC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,gBAAM,CAAC,IAAI,CACT,0BAA0B,yBAAyB,CAAC,MAAM,2BAA2B,YAAY,EAAE,CAClG,CAAC;YACJ,gDAAgD;YAChD,MAAM,OAAO,CAAC,GAAG,CACf,yBAAyB,CAAC,GAAG,CAAC,CAAO,EAAO,EAAE,EAAE;gBAC9C,IAAI,WAAW,GAAQ,EAAE,CAAC;gBAC1B,IAAI;oBACF,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;wBAC5B,4BAA4B;wBAC5B,IAAI,GAAG,GAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;wBAC3C,WAAW,GAAG,MAAM,iBAAW,CAAC,cAAc,CAC5C,GAAG,EACH,IAAI,CAAC,KAAK,EACV,KAAK,CACN,CAAC;wBACF,gBAAM,CAAC,IAAI,CACT,OAAO,WAAW,CAAC,KAAK,uBAAuB,EAAE,CAAC,aAAa,EAAE,CAClE,CAAC;wBACF,MAAM,OAAO,CAAC,GAAG,CACf,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAO,IAAS,EAAE,EAAE;4BACxC,IAAI,aAAa,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAC5D,SAAS,EACT,IAAI,CAAC,EAAE,CACR,CAAC;4BACF,IAAI,SAAS,GAAQ;gCACnB,QAAQ,EAAE,aAAa;gCACvB,WAAW,EAAE,EAAE;6BAChB,CAAC;4BACF,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBAClC,CAAC,CAAA,CAAC,CACH,CAAC;qBACH;iBACF;gBAAC,OAAO,KAAK,EAAE;oBACd,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBACrB;YACH,CAAC,CAAA,CAAC,CACH,CAAC;YACF,OAAO,eAAe,CAAC;QACzB,CAAC;KAAA;IAEK,eAAe,CACnB,WAAmB,EACnB,MAAc;;YAEZ,IAAI,GAAG,GAAW,GAAG,IAAI,CAAC,MAAM,GAAG,WAAW,2BAA2B,MAAM,6CAA6C,CAAA;YAC1H,IAAI,GAAG,GAAO,MAAM,iBAAW,CAAC,cAAc,CAC5C,GAAG,EACH,IAAI,CAAC,KAAK,EACV,KAAK,EACL,IAAI,EACJ,IAAI,CACH,CAAC;YACF,OAAO,GAAG,CAAC;QACnB,CAAC;KAAA;CACF;AA1bD,kCA0bC"}
1
+ {"version":3,"file":"GitDataProvider.js","sourceRoot":"","sources":["../../src/modules/GitDataProvider.ts"],"names":[],"mappings":"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"}