@elisra-devops/docgen-data-provider 0.4.6 → 0.4.13

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 (68) hide show
  1. package/.github/sonar-project.properties +4 -4
  2. package/.github/workflows/ci.yml +21 -21
  3. package/.github/workflows/release.yml +45 -40
  4. package/LICENSE +21 -21
  5. package/README.md +39 -38
  6. package/bin/helpers/helper.d.ts +37 -0
  7. package/bin/helpers/helper.js +83 -0
  8. package/bin/helpers/helper.js.map +1 -0
  9. package/bin/helpers/tfs.d.ts +5 -0
  10. package/bin/helpers/tfs.js +100 -0
  11. package/bin/helpers/tfs.js.map +1 -0
  12. package/bin/index.d.ts +16 -0
  13. package/bin/index.js +53 -0
  14. package/bin/index.js.map +1 -0
  15. package/bin/models/tfs-data.d.ts +86 -0
  16. package/bin/models/tfs-data.js +63 -0
  17. package/bin/models/tfs-data.js.map +1 -0
  18. package/bin/modules/GitDataProvider.d.ts +26 -0
  19. package/bin/modules/GitDataProvider.js +301 -0
  20. package/bin/modules/GitDataProvider.js.map +1 -0
  21. package/bin/modules/MangementDataProvider.d.ts +9 -0
  22. package/bin/modules/MangementDataProvider.js +62 -0
  23. package/bin/modules/MangementDataProvider.js.map +1 -0
  24. package/bin/modules/PipelinesDataProvider.d.ts +13 -0
  25. package/bin/modules/PipelinesDataProvider.js +103 -0
  26. package/bin/modules/PipelinesDataProvider.js.map +1 -0
  27. package/bin/modules/TestDataProvider.d.ts +24 -0
  28. package/bin/modules/TestDataProvider.js +294 -0
  29. package/bin/modules/TestDataProvider.js.map +1 -0
  30. package/bin/modules/TicketsDataProvider.d.ts +26 -0
  31. package/bin/modules/TicketsDataProvider.js +385 -0
  32. package/bin/modules/TicketsDataProvider.js.map +1 -0
  33. package/bin/modules/test/gitDataProvider.test.d.ts +1 -0
  34. package/bin/modules/test/gitDataProvider.test.js +138 -0
  35. package/bin/modules/test/gitDataProvider.test.js.map +1 -0
  36. package/bin/modules/test/managmentDataProvider.test.d.ts +1 -0
  37. package/bin/modules/test/managmentDataProvider.test.js +40 -0
  38. package/bin/modules/test/managmentDataProvider.test.js.map +1 -0
  39. package/bin/modules/test/pipelineDataProvider.test.d.ts +1 -0
  40. package/bin/modules/test/pipelineDataProvider.test.js +62 -0
  41. package/bin/modules/test/pipelineDataProvider.test.js.map +1 -0
  42. package/bin/modules/test/testDataProvider.test.d.ts +1 -0
  43. package/bin/modules/test/testDataProvider.test.js +103 -0
  44. package/bin/modules/test/testDataProvider.test.js.map +1 -0
  45. package/bin/modules/test/ticketsDataProvider.test.d.ts +1 -0
  46. package/bin/modules/test/ticketsDataProvider.test.js +103 -0
  47. package/bin/modules/test/ticketsDataProvider.test.js.map +1 -0
  48. package/bin/utils/logger.d.ts +3 -0
  49. package/bin/utils/logger.js +33 -0
  50. package/bin/utils/logger.js.map +1 -0
  51. package/enviroment.d.ts +12 -12
  52. package/package.json +53 -53
  53. package/src/helpers/helper.ts +117 -117
  54. package/src/helpers/tfs.ts +92 -92
  55. package/src/index.ts +36 -36
  56. package/src/models/tfs-data.ts +136 -136
  57. package/src/modules/GitDataProvider.ts +446 -446
  58. package/src/modules/MangementDataProvider.ts +59 -59
  59. package/src/modules/PipelinesDataProvider.ts +142 -142
  60. package/src/modules/TestDataProvider.ts +423 -423
  61. package/src/modules/TicketsDataProvider.ts +435 -435
  62. package/src/modules/test/gitDataProvider.test.ts +207 -207
  63. package/src/modules/test/managmentDataProvider.test.ts +33 -33
  64. package/src/modules/test/pipelineDataProvider.test.ts +79 -79
  65. package/src/modules/test/testDataProvider.test.ts +139 -139
  66. package/src/modules/test/ticketsDataProvider.test.ts +138 -138
  67. package/src/utils/logger.ts +37 -37
  68. package/tsconfig.json +27 -27
@@ -0,0 +1,385 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const tfs_1 = require("../helpers/tfs");
13
+ const tfs_data_1 = require("../models/tfs-data");
14
+ const helper_1 = require("../helpers/helper");
15
+ const tfs_data_2 = require("../models/tfs-data");
16
+ const tfs_data_3 = require("../models/tfs-data");
17
+ const tfs_data_4 = require("../models/tfs-data");
18
+ const tfs_data_5 = require("../models/tfs-data");
19
+ const tfs_data_6 = require("../models/tfs-data");
20
+ const logger_1 = require("../utils/logger");
21
+ class TicketsDataProvider {
22
+ constructor(orgUrl, token) {
23
+ this.orgUrl = "";
24
+ this.token = "";
25
+ this.queriesList = new Array();
26
+ this.orgUrl = orgUrl;
27
+ this.token = token;
28
+ }
29
+ GetWorkItem(project, id) {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ let url = `${this.orgUrl}${project}/_apis/wit/workitems/${id}?$expand=All`;
32
+ return tfs_1.TFSServices.getItemContent(url, this.token);
33
+ });
34
+ }
35
+ GetLinksByIds(project, ids) {
36
+ return __awaiter(this, void 0, void 0, function* () {
37
+ var trace = new Array();
38
+ let wis = yield this.PopulateWorkItemsByIds(ids, project);
39
+ let linksMap = yield this.GetRelationsIds(wis);
40
+ let relations;
41
+ for (let i = 0; i < wis.length; i++) {
42
+ let traceItem; //= new Trace();
43
+ traceItem = yield this.GetParentLink(project, wis[i]);
44
+ if (linksMap.get(wis[i].id).rels.length > 0) {
45
+ relations = yield this.PopulateWorkItemsByIds(linksMap.get(wis[i].id).rels, project);
46
+ traceItem.links = yield this.GetLinks(project, wis[i], relations);
47
+ }
48
+ trace.push(traceItem);
49
+ }
50
+ return trace;
51
+ });
52
+ }
53
+ GetParentLink(project, wi) {
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ let trace = new helper_1.Trace();
56
+ if (wi != null) {
57
+ trace.id = wi.id;
58
+ trace.title = wi.fields["System.Title"];
59
+ trace.url = this.orgUrl + project + "/_workitems/edit/" + wi.id;
60
+ if (wi.fields["System.CustomerId"] != null &&
61
+ wi.fields["System.CustomerId"] != undefined) {
62
+ trace.customerId = wi.fields["System.CustomerId"];
63
+ }
64
+ }
65
+ return trace;
66
+ });
67
+ }
68
+ GetRelationsIds(ids) {
69
+ return __awaiter(this, void 0, void 0, function* () {
70
+ let rel = new Map();
71
+ try {
72
+ for (let i = 0; i < ids.length; i++) {
73
+ var link = new helper_1.Relations();
74
+ link.id = ids[i].id;
75
+ if (ids[i].relations != null)
76
+ for (let j = 0; j < ids[i].relations.length; j++) {
77
+ if (ids[i].relations[j].rel != "AttachedFile") {
78
+ let index = ids[i].relations[j].url.lastIndexOf("/");
79
+ let id = ids[i].relations[j].url.substring(index + 1);
80
+ link.rels.push(id);
81
+ }
82
+ }
83
+ rel.set(ids[i].id, link);
84
+ }
85
+ }
86
+ catch (e) { }
87
+ return rel;
88
+ });
89
+ }
90
+ GetLinks(project, wi, links) {
91
+ return __awaiter(this, void 0, void 0, function* () {
92
+ var linkList = new Array();
93
+ for (let i = 0; i < wi.relations.length; i++) {
94
+ for (let j = 0; j < links.length; j++) {
95
+ let index = wi.relations[i].url.lastIndexOf("/");
96
+ let linkId = wi.relations[i].url.substring(index + 1);
97
+ if (linkId == links[j].id) {
98
+ var link = new helper_1.Links();
99
+ link.type = wi.relations[i].rel;
100
+ link.id = links[j].id;
101
+ link.title = links[j].fields["System.Title"];
102
+ link.description = links[j].fields["System.Description"];
103
+ link.url = this.orgUrl + project + "/_workitems/edit/" + linkId;
104
+ linkList.push(link);
105
+ break;
106
+ }
107
+ }
108
+ }
109
+ return linkList;
110
+ });
111
+ }
112
+ // gets queries recursiv
113
+ GetSharedQueries(project, path) {
114
+ return __awaiter(this, void 0, void 0, function* () {
115
+ let url;
116
+ try {
117
+ if (path == "")
118
+ url = `${this.orgUrl}${project}/_apis/wit/queries/Shared%20Queries?$depth=1`;
119
+ else
120
+ url = `${this.orgUrl}${project}/_apis/wit/queries/${path}?$depth=1`;
121
+ let queries = yield tfs_1.TFSServices.getItemContent(url, this.token);
122
+ for (let i = 0; i < queries.children.length; i++)
123
+ if (queries.children[i].isFolder) {
124
+ this.queriesList.push(queries.children[i]);
125
+ yield this.GetSharedQueries(project, queries.children[i].path);
126
+ }
127
+ else {
128
+ this.queriesList.push(queries.children[i]);
129
+ }
130
+ return this.GetModeledQuery(this.queriesList);
131
+ }
132
+ catch (e) { }
133
+ });
134
+ }
135
+ // get queris structured
136
+ GetModeledQuery(list) {
137
+ let queryListObject = [];
138
+ list.forEach((query) => {
139
+ let newObj = {
140
+ queryName: query.name,
141
+ wiql: query._links.wiql != null ? query._links.wiql : null,
142
+ id: query.id,
143
+ };
144
+ queryListObject.push(newObj);
145
+ });
146
+ return queryListObject;
147
+ }
148
+ // gets query results
149
+ GetQueryResultsByWiqlHref(wiqlHref, project) {
150
+ return __awaiter(this, void 0, void 0, function* () {
151
+ try {
152
+ let results = yield tfs_1.TFSServices.getItemContent(wiqlHref, this.token);
153
+ let modeledResult = yield this.GetModeledQueryResults(results, project);
154
+ if (modeledResult.queryType == "tree") {
155
+ let levelResults = helper_1.Helper.LevelBuilder(modeledResult, modeledResult.workItems[0].fields[0].value);
156
+ return levelResults;
157
+ }
158
+ return modeledResult.workItems;
159
+ }
160
+ catch (e) { }
161
+ });
162
+ }
163
+ // gets query results
164
+ GetQueryResultsByWiqlString(wiql, projectName) {
165
+ return __awaiter(this, void 0, void 0, function* () {
166
+ let res;
167
+ let url = `${this.orgUrl}${projectName}/_apis/wit/wiql?$top=2147483646&expand={all}`;
168
+ try {
169
+ res = yield tfs_1.TFSServices.getItemContent(url, this.token, "post", {
170
+ query: wiql,
171
+ });
172
+ }
173
+ catch (error) {
174
+ console.log(error);
175
+ return [];
176
+ }
177
+ return res;
178
+ });
179
+ }
180
+ GetQueryResultById(query, project) {
181
+ return __awaiter(this, void 0, void 0, function* () {
182
+ var url = `${this.orgUrl}${project}/_apis/wit/queries/${query}`;
183
+ let querie = yield tfs_1.TFSServices.getItemContent(url, this.token);
184
+ var wiql = querie._links.wiql;
185
+ return yield this.GetQueryResultsByWiqlHref(wiql.href, project);
186
+ });
187
+ }
188
+ PopulateWorkItemsByIds(workItemsArray = [], projectName = "") {
189
+ return __awaiter(this, void 0, void 0, function* () {
190
+ let url = `${this.orgUrl}${projectName}/_apis/wit/workitemsbatch`;
191
+ let res = [];
192
+ let divByMax = Math.floor(workItemsArray.length / 200);
193
+ let modulusByMax = workItemsArray.length % 200;
194
+ //iterating
195
+ for (let i = 0; i < divByMax; i++) {
196
+ let from = i * 200;
197
+ let to = (i + 1) * 200;
198
+ let currentIds = workItemsArray.slice(from, to);
199
+ try {
200
+ let subRes = yield tfs_1.TFSServices.getItemContent(url, this.token, "post", {
201
+ $expand: "Relations",
202
+ ids: currentIds,
203
+ });
204
+ res = [...res, ...subRes.value];
205
+ }
206
+ catch (error) {
207
+ logger_1.default.error(`error populating workitems array`);
208
+ logger_1.default.error(JSON.stringify(error));
209
+ return [];
210
+ }
211
+ }
212
+ //compliting the rimainder
213
+ if (modulusByMax !== 0) {
214
+ try {
215
+ let currentIds = workItemsArray.slice(workItemsArray.length - modulusByMax, workItemsArray.length);
216
+ let subRes = yield tfs_1.TFSServices.getItemContent(url, this.token, "post", {
217
+ $expand: "Relations",
218
+ ids: currentIds,
219
+ });
220
+ res = [...res, ...subRes.value];
221
+ }
222
+ catch (error) {
223
+ logger_1.default.error(`error populating workitems array`);
224
+ logger_1.default.error(JSON.stringify(error));
225
+ return [];
226
+ }
227
+ } //if
228
+ return res;
229
+ });
230
+ }
231
+ GetModeledQueryResults(results, project) {
232
+ return __awaiter(this, void 0, void 0, function* () {
233
+ let ticketsDataProvider = new TicketsDataProvider(this.orgUrl, this.token);
234
+ var queryResult = new tfs_data_2.Query();
235
+ queryResult.asOf = results.asOf;
236
+ queryResult.queryResultType = results.queryResultType;
237
+ queryResult.queryType = results.queryType;
238
+ if (results.queryType == tfs_data_3.QueryType.Flat) {
239
+ // //Flat Query
240
+ //TODo: attachment
241
+ //TODO:check if wi.relations exist
242
+ //TODO: add attachment to any list from 1
243
+ for (var j = 0; j < results.workItems.length; j++) {
244
+ let wi = yield ticketsDataProvider.GetWorkItem(project, results.workItems[j].id);
245
+ queryResult.workItems[j] = new tfs_data_1.Workitem();
246
+ queryResult.workItems[j].url = results.workItems[j].url;
247
+ queryResult.workItems[j].fields = new Array(results.columns.length);
248
+ if (wi.relations != null) {
249
+ queryResult.workItems[j].attachments = wi.relations;
250
+ }
251
+ var rel = new tfs_data_4.QueryAllTypes();
252
+ for (var i = 0; i < results.columns.length; i++) {
253
+ queryResult.columns[i] = new tfs_data_5.Column();
254
+ queryResult.workItems[j].fields[i] = new tfs_data_6.value();
255
+ queryResult.columns[i].name = results.columns[i].name;
256
+ queryResult.columns[i].referenceName =
257
+ results.columns[i].referenceName;
258
+ queryResult.columns[i].url = results.columns[i].url;
259
+ if (results.columns[i].referenceName.toUpperCase() == "SYSTEM.ID") {
260
+ queryResult.workItems[j].fields[i].value = wi.id.toString();
261
+ queryResult.workItems[j].fields[i].name = "ID";
262
+ }
263
+ else if (results.columns[i].referenceName.toUpperCase() ==
264
+ "SYSTEM.ASSIGNEDTO" &&
265
+ wi.fields[results.columns[i].referenceName] != null)
266
+ queryResult.workItems[j].fields[i].value =
267
+ wi.fields[results.columns[i].referenceName].displayName;
268
+ else {
269
+ let s = wi.fields[results.columns[i].referenceName];
270
+ queryResult.workItems[j].fields[i].value =
271
+ wi.fields[results.columns[i].referenceName];
272
+ queryResult.workItems[j].fields[i].name = results.columns[i].name;
273
+ }
274
+ }
275
+ }
276
+ } //Tree Query
277
+ else {
278
+ this.BuildColumns(results, queryResult);
279
+ for (var j = 0; j < results.workItemRelations.length; j++) {
280
+ if (results.workItemRelations[j].target != null) {
281
+ let wiT = yield ticketsDataProvider.GetWorkItem(project, results.workItemRelations[j].target.id);
282
+ // var rel = new QueryAllTypes();
283
+ queryResult.workItems[j] = new tfs_data_1.Workitem();
284
+ queryResult.workItems[j].url = wiT.url;
285
+ queryResult.workItems[j].fields = new Array(results.columns.length);
286
+ if (wiT.relations != null) {
287
+ queryResult.workItems[j].attachments = wiT.relations;
288
+ }
289
+ // rel.q = queryResult;
290
+ for (i = 0; i < queryResult.columns.length; i++) {
291
+ //.. rel.q.workItems[j].fields[i] = new value();
292
+ queryResult.workItems[j].fields[i] = new tfs_data_6.value();
293
+ queryResult.workItems[j].fields[i].name =
294
+ queryResult.columns[i].name;
295
+ if (results.columns[i].referenceName.toUpperCase() ==
296
+ "SYSTEM.ASSIGNEDTO" &&
297
+ wiT.fields[results.columns[i].referenceName] != null)
298
+ queryResult.workItems[j].fields[i].value =
299
+ wiT.fields[results.columns[i].referenceName].displayName;
300
+ else
301
+ queryResult.workItems[j].fields[i].value =
302
+ wiT.fields[queryResult.columns[i].referenceName];
303
+ //}
304
+ }
305
+ if (results.workItemRelations[j].source != null)
306
+ queryResult.workItems[j].Source =
307
+ results.workItemRelations[j].source.id;
308
+ }
309
+ }
310
+ }
311
+ return queryResult;
312
+ });
313
+ }
314
+ BuildColumns(results, queryResult) {
315
+ for (var i = 0; i < results.columns.length; i++) {
316
+ queryResult.columns[i] = new tfs_data_5.Column();
317
+ queryResult.columns[i].name = results.columns[i].name;
318
+ queryResult.columns[i].referenceName = results.columns[i].referenceName;
319
+ queryResult.columns[i].url = results.columns[i].url;
320
+ }
321
+ }
322
+ GetIterationsByTeamName(projectName, teamName) {
323
+ return __awaiter(this, void 0, void 0, function* () {
324
+ let res;
325
+ let url;
326
+ if (teamName) {
327
+ url = `${this.orgUrl}${projectName}/${teamName}/_apis/work/teamsettings/iterations`;
328
+ }
329
+ else {
330
+ url = `${this.orgUrl}${projectName}/_apis/work/teamsettings/iterations`;
331
+ }
332
+ res = yield tfs_1.TFSServices.getItemContent(url, this.token, "get");
333
+ return res;
334
+ });
335
+ } //GetIterationsByTeamName
336
+ CreateNewWorkItem(projectName, wiBody, wiType, byPass) {
337
+ return __awaiter(this, void 0, void 0, function* () {
338
+ let url = `${this.orgUrl}${projectName}/_apis/wit/workitems/$${wiType}?bypassRules=${String(byPass).toString()}`;
339
+ return tfs_1.TFSServices.getItemContent(url, this.token, "POST", wiBody, { "Content-Type": "application/json-patch+json" });
340
+ });
341
+ } //CreateNewWorkItem
342
+ GetWorkitemAttachments(project, id) {
343
+ return __awaiter(this, void 0, void 0, function* () {
344
+ let attachmentList = [];
345
+ let ticketsDataProvider = new TicketsDataProvider(this.orgUrl, this.token);
346
+ try {
347
+ let wi = yield ticketsDataProvider.GetWorkItem(project, id);
348
+ if (!wi.relations)
349
+ return [];
350
+ yield Promise.all(wi.relations.map((relation) => __awaiter(this, void 0, void 0, function* () {
351
+ if (relation.rel == "AttachedFile") {
352
+ let attachment = JSON.parse(JSON.stringify(relation));
353
+ attachment.downloadUrl = `${relation.url}/${relation.attributes.name}`;
354
+ attachmentList.push(attachment);
355
+ }
356
+ })));
357
+ return attachmentList;
358
+ }
359
+ catch (e) {
360
+ logger_1.default.error(`error fetching attachments for work item ${id}`);
361
+ logger_1.default.error(`${JSON.stringify(e)}`);
362
+ return [];
363
+ }
364
+ });
365
+ }
366
+ GetWorkitemAttachmentsJSONData(project, attachmentId) {
367
+ return __awaiter(this, void 0, void 0, function* () {
368
+ let wiuRL = `${this.orgUrl}${project}/_apis/wit/attachments/${attachmentId}`;
369
+ let attachment = yield tfs_1.TFSServices.getItemContent(wiuRL, this.token);
370
+ return attachment;
371
+ });
372
+ }
373
+ UpdateWorkItem(projectName, wiBody, workItemId, byPass) {
374
+ return __awaiter(this, void 0, void 0, function* () {
375
+ let res;
376
+ let url = `${this.orgUrl}${projectName}/_apis/wit/workitems/${workItemId}?bypassRules=${String(byPass).toString()}`;
377
+ res = yield tfs_1.TFSServices.getItemContent(url, this.token, "patch", wiBody, {
378
+ "Content-Type": "application/json-patch+json",
379
+ });
380
+ return res;
381
+ });
382
+ } //CreateNewWorkItem
383
+ }
384
+ exports.default = TicketsDataProvider;
385
+ //# sourceMappingURL=TicketsDataProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TicketsDataProvider.js","sourceRoot":"","sources":["../../src/modules/TicketsDataProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,138 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const __1 = require("../..");
13
+ require("dotenv").config();
14
+ jest.setTimeout(60000);
15
+ const orgUrl = process.env.ORG_URL;
16
+ const token = process.env.PAT;
17
+ const dgDataProviderAzureDevOps = new __1.default(orgUrl, token);
18
+ describe("git module - tests", () => {
19
+ test("should return repo list for teamProject", () => __awaiter(void 0, void 0, void 0, function* () {
20
+ let gitDataProvider = yield dgDataProviderAzureDevOps.getGitDataProvider();
21
+ let json = yield gitDataProvider.GetTeamProjectGitReposList("tests");
22
+ expect(json).toBeDefined();
23
+ }));
24
+ test("should return repo from repoid", () => __awaiter(void 0, void 0, void 0, function* () {
25
+ let gitDataProvider = yield dgDataProviderAzureDevOps.getGitDataProvider();
26
+ let json = yield gitDataProvider.GetGitRepoFromRepoId("68f2aee7-0864-458e-93ce-320303a080ed");
27
+ expect(json).toBeDefined();
28
+ }));
29
+ test("should return repo by pullrequest id", () => __awaiter(void 0, void 0, void 0, function* () {
30
+ let gitDataProvider = yield dgDataProviderAzureDevOps.getGitDataProvider();
31
+ let json = yield gitDataProvider.GetGitRepoFromPrId(73);
32
+ expect(json.repository).toBeDefined();
33
+ }));
34
+ test("should return commits by pullrequest & repo id", () => __awaiter(void 0, void 0, void 0, function* () {
35
+ let gitDataProvider = yield dgDataProviderAzureDevOps.getGitDataProvider();
36
+ let json = yield gitDataProvider.GetGitRepoFromPrId(73);
37
+ let commitJson = yield gitDataProvider.GetPullRequestCommits(json.repository.id, 73);
38
+ expect(commitJson.value.length).toBeGreaterThan(0);
39
+ }));
40
+ test("should return pullrequest threads", () => __awaiter(void 0, void 0, void 0, function* () {
41
+ let gitDataProvider = yield dgDataProviderAzureDevOps.getGitDataProvider();
42
+ let json = yield gitDataProvider.GetPullRequestComments("tests", "68f2aee7-0864-458e-93ce-320303a080ed", 73);
43
+ expect(json.count).toBeDefined;
44
+ }));
45
+ test("should create pullrequest thread", () => __awaiter(void 0, void 0, void 0, function* () {
46
+ let data = {
47
+ comments: [
48
+ {
49
+ parentCommentId: 0,
50
+ content: "Should we add a comment about what this value means?",
51
+ commentType: 1,
52
+ },
53
+ ],
54
+ status: 1,
55
+ threadContext: {
56
+ filePath: "/assaf.txt",
57
+ leftFileEnd: null,
58
+ leftFileStart: null,
59
+ rightFileEnd: {
60
+ line: 2,
61
+ offset: 1,
62
+ },
63
+ rightFileStart: {
64
+ line: 2,
65
+ offset: 5,
66
+ },
67
+ },
68
+ pullRequestThreadContext: {
69
+ changeTrackingId: 1,
70
+ iterationContext: {
71
+ firstComparingIteration: 1,
72
+ secondComparingIteration: 1,
73
+ },
74
+ },
75
+ };
76
+ let gitDataProvider = yield dgDataProviderAzureDevOps.getGitDataProvider();
77
+ let json = yield gitDataProvider.CreatePullRequestComment("tests", "68f2aee7-0864-458e-93ce-320303a080ed", 73, data);
78
+ expect(json.comment).toBeDefined;
79
+ }));
80
+ test("should return commits with linked items in date range", () => __awaiter(void 0, void 0, void 0, function* () {
81
+ let gitDataProvider = yield dgDataProviderAzureDevOps.getGitDataProvider();
82
+ let commitRange = yield gitDataProvider.GetCommitsInDateRange("Azuretraining", "b77bccb5-38de-4dca-9dcb-b0f8046bc045", "2016-10-21T12:51:51Z", "2024-10-24T12:51:51Z", "main");
83
+ let items = yield gitDataProvider.GetItemsInCommitRange("Azuretraining", "b77bccb5-38de-4dca-9dcb-b0f8046bc045", commitRange);
84
+ expect(items[0].workItem).toBeDefined();
85
+ }));
86
+ test("should return source trigger commit for pipline", () => __awaiter(void 0, void 0, void 0, function* () {
87
+ let gitDataProvider = yield dgDataProviderAzureDevOps.getGitDataProvider();
88
+ let json = yield gitDataProvider.GetCommitForPipeline("tests", 248);
89
+ expect(json).toBe("59d59691ee002815e7aa774f0a90ef28a6e4708f");
90
+ }));
91
+ test("should return commits in commit range", () => __awaiter(void 0, void 0, void 0, function* () {
92
+ let gitDataProvider = yield dgDataProviderAzureDevOps.getGitDataProvider();
93
+ let json = yield gitDataProvider.GetCommitsInCommitRange("tests", "68f2aee7-0864-458e-93ce-320303a080ed", "4ce7f96f74f10bb60d27d7180a8d1bd44da1ffac", "e46f8023be49db94b5cf188b41f7ba9db6fd8274");
94
+ expect(json.count).toBeGreaterThan(0);
95
+ }));
96
+ test("should return items linked in build range", () => __awaiter(void 0, void 0, void 0, function* () {
97
+ let gitDataProvider = yield dgDataProviderAzureDevOps.getGitDataProvider();
98
+ let json = yield gitDataProvider.GetItemsForPipelinesRange("tests", 244, 244);
99
+ expect(json.length).toBeGreaterThan(0);
100
+ }));
101
+ test("should return commits range between dates ", () => __awaiter(void 0, void 0, void 0, function* () {
102
+ let gitDataProvider = yield dgDataProviderAzureDevOps.getGitDataProvider();
103
+ let json = yield gitDataProvider.GetCommitsInDateRange("tests", "68f2aee7-0864-458e-93ce-320303a080ed", "2009-11-30T12:51:51Z", "2021-11-30T12:51:51Z");
104
+ expect(json.count).toBeGreaterThanOrEqual(14);
105
+ }));
106
+ test("should return all commits for repo ", () => __awaiter(void 0, void 0, void 0, function* () {
107
+ let gitDataProvider = yield dgDataProviderAzureDevOps.getGitDataProvider();
108
+ let json = yield gitDataProvider.GetCommitsForRepo("tests", "68f2aee7-0864-458e-93ce-320303a080ed", "master");
109
+ expect(json.count).toBeGreaterThanOrEqual(0);
110
+ }));
111
+ test("should return all pullrequests for repo ", () => __awaiter(void 0, void 0, void 0, function* () {
112
+ let gitDataProvider = yield dgDataProviderAzureDevOps.getGitDataProvider();
113
+ let json = yield gitDataProvider.GetPullRequestsForRepo("tests", "68f2aee7-0864-458e-93ce-320303a080ed");
114
+ expect(json.count).toBeGreaterThanOrEqual(0);
115
+ }));
116
+ test("should return all pullrequests for repo with Given PrId ", () => __awaiter(void 0, void 0, void 0, function* () {
117
+ let gitDataProvider = yield dgDataProviderAzureDevOps.getGitDataProvider();
118
+ let json = yield gitDataProvider.GetItemsInPullRequestRange("tests", "68f2aee7-0864-458e-93ce-320303a080ed", [73, 74]);
119
+ expect(json.count).toBeGreaterThanOrEqual(0);
120
+ }));
121
+ test("should return branches of repository ", () => __awaiter(void 0, void 0, void 0, function* () {
122
+ let gitDataProvider = yield dgDataProviderAzureDevOps.getGitDataProvider();
123
+ let json = yield gitDataProvider.GetRepoBranches("tests", "68f2aee7-0864-458e-93ce-320303a080ed");
124
+ expect(json.count).toBeGreaterThanOrEqual(0);
125
+ }));
126
+ }); //describe
127
+ test("should return pull requests in commit range without linked items", () => __awaiter(void 0, void 0, void 0, function* () {
128
+ let gitDataProvider = yield dgDataProviderAzureDevOps.getGitDataProvider();
129
+ // Get the commit range using the date range
130
+ let commitRange = yield gitDataProvider.GetCommitsInDateRange("Azuretraining", "b77bccb5-38de-4dca-9dcb-b0f8046bc045", "2023-7-21T12:51:51Z", "2024-8-21T12:51:51Z", "main");
131
+ // Use the new function to get pull requests without linked items
132
+ let pullRequests = yield gitDataProvider.GetPullRequestsInCommitRangeWithoutLinkedItems("Azuretraining", "b77bccb5-38de-4dca-9dcb-b0f8046bc045", commitRange);
133
+ // Print the pull requests
134
+ console.log("Pull Requests:", pullRequests);
135
+ expect(pullRequests).toBeDefined();
136
+ expect(pullRequests.length).toBeGreaterThan(0);
137
+ }));
138
+ //# sourceMappingURL=gitDataProvider.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitDataProvider.test.js","sourceRoot":"","sources":["../../../src/modules/test/gitDataProvider.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,6BAA8C;AAE9C,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;AAC3B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACvB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;AACnC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;AAE9B,MAAM,yBAAyB,GAAG,IAAI,WAAyB,CAAC,MAAM,EAAC,KAAK,CAAC,CAAC;AAG9E,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,CAAC,yCAAyC,EAAE,GAAS,EAAE;QACzD,IAAI,eAAe,GAAG,MAAM,yBAAyB,CAAC,kBAAkB,EAAE,CAAC;QAC3E,IAAI,IAAI,GAAQ,MAAM,eAAe,CAAC,0BAA0B,CAC9D,OAAO,CACR,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC,CAAA,CAAC,CAAC;IACH,IAAI,CAAC,gCAAgC,EAAE,GAAS,EAAE;QAChD,IAAI,eAAe,GAAG,MAAM,yBAAyB,CAAC,kBAAkB,EAAE,CAAC;QAC3E,IAAI,IAAI,GAAQ,MAAM,eAAe,CAAC,oBAAoB,CACxD,sCAAsC,CACvC,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC,CAAA,CAAC,CAAC;IACH,IAAI,CAAC,sCAAsC,EAAE,GAAS,EAAE;QACtD,IAAI,eAAe,GAAG,MAAM,yBAAyB,CAAC,kBAAkB,EAAE,CAAC;QAC3E,IAAI,IAAI,GAAQ,MAAM,eAAe,CAAC,kBAAkB,CACtD,EAAE,CACH,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;IACxC,CAAC,CAAA,CAAC,CAAC;IACH,IAAI,CAAC,gDAAgD,EAAE,GAAS,EAAE;QAChE,IAAI,eAAe,GAAG,MAAM,yBAAyB,CAAC,kBAAkB,EAAE,CAAC;QAC3E,IAAI,IAAI,GAAQ,MAAM,eAAe,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QAC7D,IAAI,UAAU,GAAQ,MAAM,eAAe,CAAC,qBAAqB,CAC/D,IAAI,CAAC,UAAU,CAAC,EAAE,EAClB,EAAE,CACH,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC,CAAA,CAAC,CAAC;IACH,IAAI,CAAC,mCAAmC,EAAE,GAAS,EAAE;QACnD,IAAI,eAAe,GAAG,MAAM,yBAAyB,CAAC,kBAAkB,EAAE,CAAC;QAC3E,IAAI,IAAI,GAAG,MAAM,eAAe,CAAC,sBAAsB,CACrD,OAAO,EACP,sCAAsC,EACtC,EAAE,CACH,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC;IACjC,CAAC,CAAA,CAAC,CAAC;IACH,IAAI,CAAC,kCAAkC,EAAE,GAAS,EAAE;QAClD,IAAI,IAAI,GAAG;YACT,QAAQ,EAAE;gBACR;oBACE,eAAe,EAAE,CAAC;oBAClB,OAAO,EAAE,sDAAsD;oBAC/D,WAAW,EAAE,CAAC;iBACf;aACF;YACD,MAAM,EAAE,CAAC;YACT,aAAa,EAAE;gBACb,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,IAAI;gBACnB,YAAY,EAAE;oBACZ,IAAI,EAAE,CAAC;oBACP,MAAM,EAAE,CAAC;iBACV;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,CAAC;oBACP,MAAM,EAAE,CAAC;iBACV;aACF;YACD,wBAAwB,EAAE;gBACxB,gBAAgB,EAAE,CAAC;gBACnB,gBAAgB,EAAE;oBAChB,uBAAuB,EAAE,CAAC;oBAC1B,wBAAwB,EAAE,CAAC;iBAC5B;aACF;SACF,CAAC;QACF,IAAI,eAAe,GAAG,MAAM,yBAAyB,CAAC,kBAAkB,EAAE,CAAC;QAC3E,IAAI,IAAI,GAAG,MAAM,eAAe,CAAC,wBAAwB,CACvD,OAAO,EACP,sCAAsC,EACtC,EAAE,EACF,IAAI,CACL,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC;IACnC,CAAC,CAAA,CAAC,CAAC;IACH,IAAI,CAAC,uDAAuD,EAAE,GAAS,EAAE;QACvE,IAAI,eAAe,GAAG,MAAM,yBAAyB,CAAC,kBAAkB,EAAE,CAAC;QAC3E,IAAI,WAAW,GAAG,MAAM,eAAe,CAAC,qBAAqB,CAC3D,eAAe,EACf,sCAAsC,EACtC,sBAAsB,EACtB,sBAAsB,EACtB,MAAM,CACP,CAAC;QACF,IAAI,KAAK,GAAG,MAAM,eAAe,CAAC,qBAAqB,CACrD,eAAe,EACf,sCAAsC,EACtC,WAAW,CACZ,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1C,CAAC,CAAA,CAAC,CAAC;IACH,IAAI,CAAC,iDAAiD,EAAE,GAAS,EAAE;QACjE,IAAI,eAAe,GAAG,MAAM,yBAAyB,CAAC,kBAAkB,EAAE,CAAC;QAC3E,IAAI,IAAI,GAAG,MAAM,eAAe,CAAC,oBAAoB,CACnD,OAAO,EACP,GAAG,CACJ,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IAChE,CAAC,CAAA,CAAC,CAAC;IACH,IAAI,CAAC,uCAAuC,EAAE,GAAS,EAAE;QACvD,IAAI,eAAe,GAAG,MAAM,yBAAyB,CAAC,kBAAkB,EAAE,CAAC;QAC3E,IAAI,IAAI,GAAG,MAAM,eAAe,CAAC,uBAAuB,CACtD,OAAO,EACP,sCAAsC,EACtC,0CAA0C,EAC1C,0CAA0C,CAC3C,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC,CAAA,CAAC,CAAC;IACH,IAAI,CAAC,2CAA2C,EAAE,GAAS,EAAE;QAC3D,IAAI,eAAe,GAAG,MAAM,yBAAyB,CAAC,kBAAkB,EAAE,CAAC;QAC3E,IAAI,IAAI,GAAG,MAAM,eAAe,CAAC,yBAAyB,CACxD,OAAO,EACP,GAAG,EACH,GAAG,CACJ,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAA,CAAC,CAAC;IACH,IAAI,CAAC,4CAA4C,EAAE,GAAS,EAAE;QAC5D,IAAI,eAAe,GAAG,MAAM,yBAAyB,CAAC,kBAAkB,EAAE,CAAC;QAC3E,IAAI,IAAI,GAAG,MAAM,eAAe,CAAC,qBAAqB,CACpD,OAAO,EACP,sCAAsC,EACtC,sBAAsB,EACtB,sBAAsB,CACvB,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAA,CAAC,CAAC;IACH,IAAI,CAAC,qCAAqC,EAAE,GAAQ,EAAE;QACpD,IAAI,eAAe,GAAG,MAAM,yBAAyB,CAAC,kBAAkB,EAAE,CAAC;QAC3E,IAAI,IAAI,GAAG,MAAM,eAAe,CAAC,iBAAiB,CAChD,OAAO,EACP,sCAAsC,EACtC,QAAQ,CACT,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAA,CAAC,CAAA;IACF,IAAI,CAAC,0CAA0C,EAAE,GAAQ,EAAE;QACzD,IAAI,eAAe,GAAG,MAAM,yBAAyB,CAAC,kBAAkB,EAAE,CAAC;QAC3E,IAAI,IAAI,GAAG,MAAM,eAAe,CAAC,sBAAsB,CACrD,OAAO,EACP,sCAAsC,CACvC,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAA,CAAC,CAAA;IAEF,IAAI,CAAC,0DAA0D,EAAE,GAAQ,EAAE;QACzE,IAAI,eAAe,GAAG,MAAM,yBAAyB,CAAC,kBAAkB,EAAE,CAAC;QAC3E,IAAI,IAAI,GAAG,MAAM,eAAe,CAAC,0BAA0B,CACzD,OAAO,EACP,sCAAsC,EACtC,CAAC,EAAE,EAAC,EAAE,CAAC,CACN,CAAC;QACJ,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAA,CAAC,CAAA;IAEF,IAAI,CAAC,uCAAuC,EAAE,GAAQ,EAAE;QACtD,IAAI,eAAe,GAAG,MAAM,yBAAyB,CAAC,kBAAkB,EAAE,CAAC;QAC3E,IAAI,IAAI,GAAG,MAAM,eAAe,CAAC,eAAe,CAC9C,OAAO,EACP,sCAAsC,CACrC,CAAC;QACJ,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAA,CAAC,CAAA;AAEJ,CAAC,CAAC,CAAC,CAAC,UAAU;AAEd,IAAI,CAAC,kEAAkE,EAAE,GAAS,EAAE;IAClF,IAAI,eAAe,GAAG,MAAM,yBAAyB,CAAC,kBAAkB,EAAE,CAAC;IAE3E,4CAA4C;IAC5C,IAAI,WAAW,GAAG,MAAM,eAAe,CAAC,qBAAqB,CAC3D,eAAe,EACf,sCAAsC,EACtC,qBAAqB,EACrB,qBAAqB,EACrB,MAAM,CACP,CAAC;IAEF,iEAAiE;IACjE,IAAI,YAAY,GAAG,MAAM,eAAe,CAAC,8CAA8C,CACrF,eAAe,EACf,sCAAsC,EACtC,WAAW,CACZ,CAAC;IAEF,0BAA0B;IAC1B,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IAE5C,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;IACnC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAA,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,40 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const __1 = require("../..");
13
+ require("dotenv").config();
14
+ jest.setTimeout(60000);
15
+ const orgUrl = process.env.ORG_URL;
16
+ const token = process.env.PAT;
17
+ const dgDataProviderAzureDevOps = new __1.default(orgUrl, token);
18
+ describe("Common functions module - tests", () => {
19
+ test("should return all collecttion projects", () => __awaiter(void 0, void 0, void 0, function* () {
20
+ let managmentDataProvider = yield dgDataProviderAzureDevOps.getMangementDataProvider();
21
+ let json = yield managmentDataProvider.GetProjects();
22
+ expect(json.count).toBeGreaterThanOrEqual(1);
23
+ }));
24
+ test("should return project by name", () => __awaiter(void 0, void 0, void 0, function* () {
25
+ let managmentDataProvider = yield dgDataProviderAzureDevOps.getMangementDataProvider();
26
+ let json = yield managmentDataProvider.GetProjectByName("tests");
27
+ expect(json.name).toBe("tests");
28
+ }));
29
+ test("should return project by id", () => __awaiter(void 0, void 0, void 0, function* () {
30
+ let managmentDataProvider = yield dgDataProviderAzureDevOps.getMangementDataProvider();
31
+ let json = yield managmentDataProvider.GetProjectByID("45a48633-890c-42bb-ace3-148d17806857");
32
+ expect(json.name).toBe("tests");
33
+ }));
34
+ test("should return all collecttion link types", () => __awaiter(void 0, void 0, void 0, function* () {
35
+ let managmentDataProvider = yield dgDataProviderAzureDevOps.getMangementDataProvider();
36
+ let json = yield managmentDataProvider.GetCllectionLinkTypes();
37
+ expect(json.count).toBeGreaterThan(1);
38
+ }));
39
+ }); //describe
40
+ //# sourceMappingURL=managmentDataProvider.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managmentDataProvider.test.js","sourceRoot":"","sources":["../../../src/modules/test/managmentDataProvider.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,6BAA8C;AAE9C,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;AAC3B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAEvB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;AACnC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;AAC9B,MAAM,yBAAyB,GAAG,IAAI,WAAyB,CAAC,MAAM,EAAC,KAAK,CAAC,CAAC;AAG9E,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC/C,IAAI,CAAC,wCAAwC,EAAE,GAAS,EAAE;QACxD,IAAI,qBAAqB,GAAG,MAAM,yBAAyB,CAAC,wBAAwB,EAAE,CAAC;QACvF,IAAI,IAAI,GAAG,MAAM,qBAAqB,CAAC,WAAW,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAA,CAAC,CAAC;IACH,IAAI,CAAC,+BAA+B,EAAE,GAAS,EAAE;QAC/C,IAAI,qBAAqB,GAAG,MAAM,yBAAyB,CAAC,wBAAwB,EAAE,CAAC;QACvF,IAAI,IAAI,GAAG,MAAM,qBAAqB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACjE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC,CAAA,CAAC,CAAC;IACH,IAAI,CAAC,6BAA6B,EAAE,GAAS,EAAE;QAC7C,IAAI,qBAAqB,GAAG,MAAM,yBAAyB,CAAC,wBAAwB,EAAE,CAAC;QACvF,IAAI,IAAI,GAAG,MAAM,qBAAqB,CAAC,cAAc,CACnD,sCAAsC,CACvC,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC,CAAA,CAAC,CAAC;IACH,IAAI,CAAC,0CAA0C,EAAE,GAAS,EAAE;QAC1D,IAAI,qBAAqB,GAAG,MAAM,yBAAyB,CAAC,wBAAwB,EAAE,CAAC;QACvF,IAAI,IAAI,GAAG,MAAM,qBAAqB,CAAC,qBAAqB,EAAE,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,UAAU"}
@@ -0,0 +1 @@
1
+ export {};