Pārlūkot izejas kodu

refac: code block

Timothy Jaeryang Baek 2 mēneši atpakaļ
vecāks
revīzija
a22d1d5410
1 mainītis faili ar 17 papildinājumiem un 2 dzēšanām
  1. 17 2
      src/lib/components/chat/Messages/CodeBlock.svelte

+ 17 - 2
src/lib/components/chat/Messages/CodeBlock.svelte

@@ -5,7 +5,14 @@
 
 	import { v4 as uuidv4 } from 'uuid';
 
-	import { getContext, getAllContexts, onMount, tick, createEventDispatcher } from 'svelte';
+	import {
+		getContext,
+		getAllContexts,
+		onMount,
+		tick,
+		createEventDispatcher,
+		onDestroy
+	} from 'svelte';
 	import { copyToClipboard } from '$lib/utils';
 
 	import 'highlight.js/styles/github-dark.min.css';
@@ -31,6 +38,8 @@
 	export let editorClassName = '';
 	export let stickyButtonsClassName = 'top-8';
 
+	let pyodideWorker = null;
+
 	let _code = '';
 	$: if (code) {
 		updateCode();
@@ -138,7 +147,7 @@
 
 		console.log(packages);
 
-		const pyodideWorker = new PyodideWorker();
+		pyodideWorker = new PyodideWorker();
 
 		pyodideWorker.postMessage({
 			id: id,
@@ -280,6 +289,12 @@
 			});
 		}
 	});
+
+	onDestroy(() => {
+		if (pyodideWorker) {
+			pyodideWorker.terminate();
+		}
+	});
 </script>
 
 <div>