Skip to content

Commit 91d6e7f

Browse files
committed
separate onstatus from onerror
1 parent 1f41f8a commit 91d6e7f

File tree

2 files changed

+16
-10
lines changed

2 files changed

+16
-10
lines changed

packages/repl/src/lib/Bundler.ts

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,13 @@ export default class Bundler {
1616
constructor({
1717
packages_url,
1818
svelte_url,
19-
onstatus
19+
onstatus,
20+
onerror
2021
}: {
2122
packages_url: string;
2223
svelte_url: string;
23-
onstatus: (val: string | null, kind?: 'status' | 'error') => void;
24+
onstatus: (val: string | null) => void;
25+
onerror?: (message: string) => void;
2426
}) {
2527
this.hash = `${packages_url}:${svelte_url}`;
2628

@@ -39,8 +41,13 @@ export default class Bundler {
3941

4042
if (handler) {
4143
// if no handler, was meant for a different REPL
42-
if (event.data.type === 'status' || event.data.type === 'error') {
43-
onstatus(event.data.message, event.data.type);
44+
if (event.data.type === 'status') {
45+
onstatus(event.data.message);
46+
return;
47+
}
48+
49+
if (event.data.type === 'error') {
50+
onerror?.(event.data.message);
4451
return;
4552
}
4653

packages/repl/src/lib/Repl.svelte

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@
124124
? new Bundler({
125125
packages_url: packagesUrl,
126126
svelte_url: svelteUrl,
127-
onstatus: (message, kind) => {
127+
onstatus: (message) => {
128128
if (message) {
129129
// show bundler status, but only after time has elapsed, to
130130
// prevent the banner flickering
@@ -138,11 +138,10 @@
138138
status_visible = false;
139139
status_timeout = undefined;
140140
}
141-
if (kind === 'status') {
142-
status = message;
143-
} else if (message) {
144-
runtime_error = new Error(message);
145-
}
141+
status = message;
142+
},
143+
onerror: (message) => {
144+
runtime_error = new Error(message);
146145
}
147146
})
148147
: null;

0 commit comments

Comments
 (0)