From bcfb9227609f69ae5667425feb59eff25c185403 Mon Sep 17 00:00:00 2001 From: Brian Takita Date: Sun, 3 Mar 2019 21:18:10 -0500 Subject: [PATCH] Override create_ssr_component().$$render to call set_current_component --- src/internal/ssr.js | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/src/internal/ssr.js b/src/internal/ssr.js index 762c01a3c5..acb02d3952 100644 --- a/src/internal/ssr.js +++ b/src/internal/ssr.js @@ -68,6 +68,22 @@ export function debug(file, line, column, values) { export function create_ssr_component($$render) { return { render: (props = {}, options = {}) => { + const result = { head: '', css: new Set() }; + this.$$render(result, props, {}, options); + + run_all($$.on_destroy); + + return { + html, + css: { + code: Array.from(result.css).map(css => css.code).join('\n'), + map: null // TODO + }, + head: result.head + }; + }, + + $$render: (result, props, bindings, options) => { const parent_component = current_component; // TODO do we need on_ready, since on_mount, @@ -82,23 +98,9 @@ export function create_ssr_component($$render) { }; set_current_component({ $$ }); + return $$render(result, props, bindings, options); - const result = { head: '', css: new Set() }; - const html = $$render(result, props, {}, options); - - run_all($$.on_destroy); - - return { - html, - css: { - code: Array.from(result.css).map(css => css.code).join('\n'), - map: null // TODO - }, - head: result.head - }; - }, - - $$render + } }; } @@ -106,4 +108,4 @@ export function get_store_value(store) { let value; store.subscribe(_ => value = _)(); return value; -} \ No newline at end of file +}