1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.isMatchWholeWord = exports.isAscending = exports.majorVersionsCheck = exports.getCurrentUrl = void 0;
|
4 | const child_process_1 = require("child_process");
|
5 | function isAscending(a, b) {
|
6 | if (a > b) {
|
7 | return 1;
|
8 | }
|
9 | if (b > a) {
|
10 | return -1;
|
11 | }
|
12 | return 0;
|
13 | }
|
14 | exports.isAscending = isAscending;
|
15 | function majorVersionsCheck(expectedV, inputV) {
|
16 | if (!inputV) {
|
17 | throw new Error(`Swagger-Typescript working with openApi v3/ swagger v2, seem your json is not openApi openApi v3/ swagger v2`);
|
18 | }
|
19 | const expectedVMajor = expectedV.split(".")[0];
|
20 | const inputVMajor = inputV.split(".")[0];
|
21 | function isValidPart(x) {
|
22 | return /^\d+$/.test(x);
|
23 | }
|
24 | if (!isValidPart(expectedVMajor) || !isValidPart(inputVMajor)) {
|
25 | throw new Error(`Swagger-Typescript working with openApi v3/ swagger v2 your json openApi version is not valid "${inputV}"`);
|
26 | }
|
27 | const expectedMajorNumber = Number(expectedVMajor);
|
28 | const inputMajorNumber = Number(inputVMajor);
|
29 | if (expectedMajorNumber <= inputMajorNumber) {
|
30 | return;
|
31 | }
|
32 | throw new Error(`Swagger-Typescript working with openApi v3/ swagger v2 your json openApi version is ${inputV}`);
|
33 | }
|
34 | exports.majorVersionsCheck = majorVersionsCheck;
|
35 | function isMatchWholeWord(stringToSearch, word) {
|
36 | return new RegExp("\\b" + word + "\\b").test(stringToSearch);
|
37 | }
|
38 | exports.isMatchWholeWord = isMatchWholeWord;
|
39 | async function getCurrentUrl({ url, branch: branchName }) {
|
40 | var _a, _b;
|
41 | const urls = url;
|
42 | if (!branchName) {
|
43 | branchName = await execAsync("git branch --show-current");
|
44 | branchName = branchName === null || branchName === void 0 ? void 0 : branchName.split("/")[0];
|
45 | branchName = (_a = urls.find((item) => branchName === item.branch)) === null || _a === void 0 ? void 0 : _a.branch;
|
46 | }
|
47 | if (!branchName) {
|
48 | branchName = (await getSourceBranch()).find((treeItem) => urls.find((item) => treeItem === item.branch));
|
49 | }
|
50 | const currentUrl = ((_b = urls.find((item) => branchName === item.branch)) === null || _b === void 0 ? void 0 : _b.url) || urls[0].url;
|
51 | return currentUrl;
|
52 | }
|
53 | exports.getCurrentUrl = getCurrentUrl;
|
54 | async function getSourceBranch() {
|
55 | const result = await execAsync('git log --format="%D"');
|
56 | const branchesTree = result
|
57 | .split("\n")
|
58 | .flatMap((item) => item.split(", "))
|
59 | .map((branch) => {
|
60 | branch = branch.trim();
|
61 | branch = branch.replace("HEAD -> ", "");
|
62 | branch = branch.trim();
|
63 | return branch;
|
64 | });
|
65 | return branchesTree;
|
66 | }
|
67 | async function execAsync(command) {
|
68 | return new Promise((resolve, reject) => {
|
69 | const child = (0, child_process_1.exec)(command, (error, stdout) => {
|
70 | child.kill();
|
71 | if (error) {
|
72 | reject(error);
|
73 | return;
|
74 | }
|
75 | resolve(stdout);
|
76 | });
|
77 | });
|
78 | }
|
79 |
|
\ | No newline at end of file |