UNPKG

3.02 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.isMatchWholeWord = exports.isAscending = exports.majorVersionsCheck = exports.getCurrentUrl = void 0;
4const child_process_1 = require("child_process");
5function isAscending(a, b) {
6 if (a > b) {
7 return 1;
8 }
9 if (b > a) {
10 return -1;
11 }
12 return 0;
13}
14exports.isAscending = isAscending;
15function 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}
34exports.majorVersionsCheck = majorVersionsCheck;
35function isMatchWholeWord(stringToSearch, word) {
36 return new RegExp("\\b" + word + "\\b").test(stringToSearch);
37}
38exports.isMatchWholeWord = isMatchWholeWord;
39async 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}
53exports.getCurrentUrl = getCurrentUrl;
54async 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}
67async 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//# sourceMappingURL=utils.js.map
\No newline at end of file