返回 DeepSeek-Reasonix
download-link.js
根目录 / site / src / scripts / download-link.js
1 const DOWNLOAD_PANES = new Set(["npm", "brew", "desktop", "cli", "vscode"]);
2
3 // Return the requested install pane only for the homepage download section.
4 // Plain #start links keep the rendered default pane; query links opt into one.
5 export function downloadPaneFromURL(input, base = "https://reasonix.io/") {
6 let url;
7 try {
8 url = new URL(input, base);
9 } catch {
10 return "";
11 }
12 if (url.hash !== "#start") return "";
13 const pane = url.searchParams.get("download") || "";
14 return DOWNLOAD_PANES.has(pane) ? pane : "";
15 }
16
17 export function releaseChannelFromURL(input, base = "https://reasonix.io/") {
18 let url;
19 try {
20 url = new URL(input, base);
21 } catch {
22 return "";
23 }
24 if (url.hash !== "#start") return "";
25 const pane = url.searchParams.get("download") || "";
26 if (pane !== "desktop" && pane !== "cli") return "";
27 return "";
28 }
29
30 export function downloadURLForPane(input, pane, channel, base = "https://reasonix.io/") {
31 if (!DOWNLOAD_PANES.has(pane)) return "";
32 let url;
33 try {
34 url = new URL(input, base);
35 } catch {
36 return "";
37 }
38 url.searchParams.set("download", pane);
39 void channel;
40 url.searchParams.delete("channel");
41 url.hash = "start";
42 return url.href;
43 }
44
44 lines JAVASCRIPT