playground improvements

This commit is contained in:
2024-11-06 20:51:57 -08:00
parent d82c224bc3
commit de5f9379d9
4 changed files with 24 additions and 11 deletions

View File

@@ -15,7 +15,6 @@ function run(src: string) {
}
newtWorker.onmessage = (ev) => {
console.log("worker sent", ev.data);
state.output.value = ev.data.output;
state.javascript.value = ev.data.javascript;
};
@@ -67,11 +66,12 @@ function Editor({ initialValue }: EditorProps) {
state.editor.value = editor;
editor.onDidChangeModelContent((ev) => {
console.log("mc", ev);
let value = editor.getValue();
clearTimeout(timeout);
timeout = setTimeout(() => run(value), 1000);
localStorage.code = value;
timeout = setTimeout(() => {
let value = editor.getValue()
run(value)
localStorage.code = value;
}, 1000);
});
run(initialValue);
}, []);

View File

@@ -120,15 +120,21 @@ process.stdout.write = (s) => {
};
onmessage = function (e) {
console.log('worker got', e.data)
let {src} = e.data
process.argv = ["", "", "src/Main.newt", "-o", "out.js"];
console.log("args", process.argv);
files["src/Main.newt"] = src;
files['out.js'] = 'No JS output';
stdout = ''
newtMain();
try {
newtMain();
} catch (e) {
// make it clickable
console.error(e)
// make it visable
stdout += '\n' + String(e)
}
let javascript = files['out.js']
let output = stdout
console.log('WORKER POSTS', {javascript, output})
postMessage({javascript, output})
}