UNPKG

2.14 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.toLinuxArchString = toLinuxArchString;
7exports.getArchCliNames = getArchCliNames;
8exports.getArchSuffix = getArchSuffix;
9exports.archFromString = archFromString;
10exports.getArtifactArchName = getArtifactArchName;
11exports.Arch = void 0;
12var Arch;
13exports.Arch = Arch;
14
15(function (Arch) {
16 Arch[Arch["ia32"] = 0] = "ia32";
17 Arch[Arch["x64"] = 1] = "x64";
18 Arch[Arch["armv7l"] = 2] = "armv7l";
19 Arch[Arch["arm64"] = 3] = "arm64";
20})(Arch || (exports.Arch = Arch = {}));
21
22function toLinuxArchString(arch, targetName) {
23 switch (arch) {
24 case Arch.x64:
25 return "amd64";
26
27 case Arch.ia32:
28 return targetName === "pacman" ? "i686" : "i386";
29
30 case Arch.armv7l:
31 return targetName === "snap" || targetName === "deb" ? "armhf" : "armv7l";
32
33 case Arch.arm64:
34 return "arm64";
35
36 default:
37 throw new Error(`Unsupported arch ${arch}`);
38 }
39}
40
41function getArchCliNames() {
42 return [Arch[Arch.ia32], Arch[Arch.x64], Arch[Arch.armv7l], Arch[Arch.arm64]];
43}
44
45function getArchSuffix(arch) {
46 return arch === Arch.x64 ? "" : `-${Arch[arch]}`;
47}
48
49function archFromString(name) {
50 switch (name) {
51 case "x64":
52 return Arch.x64;
53
54 case "ia32":
55 return Arch.ia32;
56
57 case "arm64":
58 return Arch.arm64;
59
60 case "armv7l":
61 return Arch.armv7l;
62
63 default:
64 throw new Error(`Unsupported arch ${name}`);
65 }
66}
67
68function getArtifactArchName(arch, ext) {
69 let archName = Arch[arch];
70 const isAppImage = ext === "AppImage" || ext === "appimage";
71
72 if (arch === Arch.x64) {
73 if (isAppImage || ext === "rpm") {
74 archName = "x86_64";
75 } else if (ext === "deb" || ext === "snap") {
76 archName = "amd64";
77 }
78 } else if (arch === Arch.ia32) {
79 if (ext === "deb" || isAppImage || ext === "snap") {
80 archName = "i386";
81 } else if (ext === "pacman" || ext === "rpm") {
82 archName = "i686";
83 }
84 } else if (arch === Arch.armv7l) {
85 if (ext === "snap") {
86 archName = "armhf";
87 }
88 }
89
90 return archName;
91}
92// __ts-babel@6.0.4
93//# sourceMappingURL=arch.js.map
\No newline at end of file