MCPcopy
hub / github.com/coder/mux / load

Method load

src/node/services/ExtensionMetadataService.ts:147–169  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

145 }
146
147 private async load(): Promise<ExtensionMetadataFile> {
148 try {
149 await access(this.filePath, constants.F_OK);
150 } catch {
151 return { version: 1, workspaces: {} };
152 }
153
154 try {
155 const content = await readFile(this.filePath, "utf-8");
156 const parsed = JSON.parse(content) as ExtensionMetadataFile;
157
158 // Validate structure
159 if (typeof parsed !== "object" || parsed.version !== 1) {
160 log.error("Invalid metadata file, resetting");
161 return { version: 1, workspaces: {} };
162 }
163
164 return parsed;
165 } catch (error) {
166 log.error("Failed to load metadata:", error);
167 return { version: 1, workspaces: {} };
168 }
169 }
170
171 private async save(data: ExtensionMetadataFile): Promise<void> {
172 // Throws on failure so callers that need to know whether the write

Callers 6

setSidebarStatusMethod · 0.95
getSnapshotMethod · 0.95
deleteWorkspaceMethod · 0.95
clearStaleStreamingMethod · 0.95
getAllSnapshotsMethod · 0.95

Calls 2

readFileFunction · 0.50
parseMethod · 0.45

Tested by

no test coverage detected