From 0d890b1359ac5dfd04310c7ac9e6118f49d9d01c Mon Sep 17 00:00:00 2001 From: Conduitry Date: Mon, 29 Apr 2019 21:22:08 -0400 Subject: [PATCH] fix resubscriptions inside script block (#2435) --- src/compile/render-dom/index.ts | 2 +- test/runtime/samples/store-resubscribe-b/_config.js | 3 +++ test/runtime/samples/store-resubscribe-b/main.svelte | 7 +++++++ 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 test/runtime/samples/store-resubscribe-b/_config.js create mode 100644 test/runtime/samples/store-resubscribe-b/main.svelte diff --git a/src/compile/render-dom/index.ts b/src/compile/render-dom/index.ts index a6ef0ac69c..5c095edb42 100644 --- a/src/compile/render-dom/index.ts +++ b/src/compile/render-dom/index.ts @@ -201,7 +201,7 @@ export default function dom( const variable = component.var_lookup.get(name); if (variable && (variable.hoistable || variable.global || variable.module)) return; - if (single) { + if (single && !(variable.subscribable && variable.reassigned)) { code.prependRight(node.start, `$$invalidate('${name}', `); code.appendLeft(node.end, `)`); } else { diff --git a/test/runtime/samples/store-resubscribe-b/_config.js b/test/runtime/samples/store-resubscribe-b/_config.js new file mode 100644 index 0000000000..d043bbcd87 --- /dev/null +++ b/test/runtime/samples/store-resubscribe-b/_config.js @@ -0,0 +1,3 @@ +export default { + html: `42`, +}; diff --git a/test/runtime/samples/store-resubscribe-b/main.svelte b/test/runtime/samples/store-resubscribe-b/main.svelte new file mode 100644 index 0000000000..0bc321f698 --- /dev/null +++ b/test/runtime/samples/store-resubscribe-b/main.svelte @@ -0,0 +1,7 @@ + + +{$foo}