From c24850a32f68e1d3d6dd14387ed16bcbeaeeefed Mon Sep 17 00:00:00 2001 From: Richard Harris Date: Mon, 28 Jan 2019 00:07:59 -0500 Subject: [PATCH] remove template_references --- src/compile/Component.ts | 4 ---- src/compile/render-dom/index.ts | 6 ++---- src/compile/render-ssr/index.ts | 4 ++-- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/src/compile/Component.ts b/src/compile/Component.ts index 3a268e5d1b..7d3c61dcd1 100644 --- a/src/compile/Component.ts +++ b/src/compile/Component.ts @@ -71,7 +71,6 @@ export default class Component { has_reactive_assignments = false; indirectDependencies: Map> = new Map(); - template_references: Set = new Set(); file: string; locate: (c: number) => { line: number, column: number }; @@ -173,9 +172,6 @@ export default class Component { writable: true }); } - - // TODO remove this - this.template_references.add(name); } addSourcemapLocations(node: Node) { diff --git a/src/compile/render-dom/index.ts b/src/compile/render-dom/index.ts index 18f8ccb844..8567725763 100644 --- a/src/compile/render-dom/index.ts +++ b/src/compile/render-dom/index.ts @@ -269,8 +269,7 @@ export default function dom( return true; }); - const reactive_stores = Array.from(component.template_references).filter(n => n[0] === '$'); - filtered_declarations.push(...reactive_stores); + const reactive_stores = component.vars.filter(variable => variable.name[0] === '$'); if (renderer.slots.size > 0) { const arr = Array.from(renderer.slots); @@ -286,7 +285,6 @@ export default function dom( filtered_props.length > 0 || component.partly_hoisted.length > 0 || filtered_declarations.length > 0 || - reactive_stores.length > 0 || component.reactive_declarations.length > 0 ); @@ -306,7 +304,7 @@ export default function dom( ); const reactive_store_subscriptions = reactive_stores.length > 0 && reactive_stores - .map(name => deindent` + .map(({ name }) => deindent` let ${name}; ${component.options.dev && `@validate_store(${name.slice(1)}, '${name.slice(1)}');`} $$self.$$.on_destroy.push(${name.slice(1)}.subscribe($$value => { ${name} = $$value; $$invalidate('${name}', ${name}); })); diff --git a/src/compile/render-ssr/index.ts b/src/compile/render-ssr/index.ts index 93ea3ee37f..351a36570a 100644 --- a/src/compile/render-ssr/index.ts +++ b/src/compile/render-ssr/index.ts @@ -34,8 +34,8 @@ export default function ssr( user_code = `let { ${props.map(prop => prop.export_name).join(', ')} } = $$props;` } - const reactive_stores = Array.from(component.template_references).filter(n => n[0] === '$'); - const reactive_store_values = reactive_stores.map(name => { + const reactive_stores = component.vars.filter(variable => variable.name[0] === '$'); + const reactive_store_values = reactive_stores.map(({ name }) => { const assignment = `const ${name} = @get_store_value(${name.slice(1)});`; return component.options.dev