playground: minor improvements

This commit is contained in:
Yeicor
2025-07-26 14:15:09 +02:00
parent 9e70a3998d
commit 38be4c638b
13 changed files with 109 additions and 111 deletions

View File

@@ -25,6 +25,9 @@ export type MessageEventDataIn = {
id: number;
path: string;
content: string;
} | {
type: 'makeSnapshot';
id: number;
}
self.onmessage = async (event: MessageEvent<MessageEventDataIn>) => {
@@ -64,6 +67,15 @@ self.onmessage = async (event: MessageEvent<MessageEventDataIn>) => {
} catch (error: any) {
self.postMessage({id: event.data.id, error: error.message});
}
} else if (event.data.type === 'makeSnapshot') {
// Take a snapshot of the current Pyodide filesystem.
const pyodide = await pyodideReadyPromise;
try {
const snapshot = pyodide.makeMemorySnapshot();
self.postMessage({id: event.data.id, result: snapshot});
} catch (error: any) {
self.postMessage({id: event.data.id, error: error.message});
}
} else {
console.error("Unknown message type:", (event.data as any)?.type);
self.postMessage({id: (event.data as any)?.id, error: "Unknown message type: " + (event.data as any)?.type});