MCPcopy Create free account
hub / github.com/Acode-Foundation/Acode / convertToProotPath

Function convertToProotPath

src/lib/openFolder.js:49–88  ·  view source on GitHub ↗
(url = "")

Source from the content-addressed store, hash-verified

47};
48
49const convertToProotPath = (url = "") => {
50 const { alpineRoot, publicDir } = getTerminalPaths();
51 if (isAcodeTerminalPublicSafUri(url)) {
52 try {
53 const { docId } = Uri.parse(url);
54 const cleanDocId = /::/.test(url)
55 ? decodeURIComponent(docId || "")
56 : docId || "";
57 if (!cleanDocId) return "/public";
58 if (cleanDocId.startsWith(publicDir)) {
59 return cleanDocId.replace(publicDir, "/public") || "/public";
60 }
61 if (cleanDocId.startsWith("/public")) {
62 return cleanDocId;
63 }
64 if (cleanDocId.startsWith("public:")) {
65 const relativePath = cleanDocId.slice("public:".length);
66 return relativePath ? Path.join("/public", relativePath) : "/public";
67 }
68 const relativePath = cleanDocId
69 .replace(/^\/+/, "")
70 .replace(/^public\//, "");
71 return relativePath ? Path.join("/public", relativePath) : "/public";
72 } catch (error) {
73 console.warn(
74 `Failed to parse public SAF URI for terminal conversion: ${url}`,
75 );
76 return "/public";
77 }
78 }
79 const cleanUrl = url.replace(/^file:\/\//, "");
80 if (cleanUrl.startsWith(publicDir)) {
81 return cleanUrl.replace(publicDir, "/public");
82 }
83 if (cleanUrl.startsWith(alpineRoot)) {
84 return cleanUrl.replace(alpineRoot, "") || "/";
85 }
86 console.warn(`Unrecognized path for terminal conversion: ${url}`);
87 return cleanUrl;
88};
89
90/**
91 * @typedef {import('../components/collapsableList').Collapsible} Collapsible

Callers 1

openInTerminalFunction · 0.85

Calls 2

getTerminalPathsFunction · 0.85

Tested by

no test coverage detected