From 6cb4fbd6083040033e9e31941ea57f8a0c53700d Mon Sep 17 00:00:00 2001 From: Simon Holthausen Date: Fri, 12 May 2023 12:05:57 +0200 Subject: [PATCH] Convert src/compiler/compile/render_ssr/handlers/IfBlock.ts to JavaScript --- .../compile/render_ssr/handlers/HtmlTag.js | 2 +- .../compile/render_ssr/handlers/IfBlock.ts | 44 +++++++++++-------- 2 files changed, 27 insertions(+), 19 deletions(-) diff --git a/src/compiler/compile/render_ssr/handlers/HtmlTag.js b/src/compiler/compile/render_ssr/handlers/HtmlTag.js index f488582551..c0ef5b6ada 100644 --- a/src/compiler/compile/render_ssr/handlers/HtmlTag.js +++ b/src/compiler/compile/render_ssr/handlers/HtmlTag.js @@ -5,6 +5,6 @@ */ export default function (node, renderer, options) { if (options.hydratable) renderer.add_string(''); - renderer.add_expression(/** @type {Expression} */ (node.expression.node)); + renderer.add_expression(/** @type {import('estree').Expression} */ (node.expression.node)); if (options.hydratable) renderer.add_string(''); } diff --git a/src/compiler/compile/render_ssr/handlers/IfBlock.ts b/src/compiler/compile/render_ssr/handlers/IfBlock.ts index 60c61b332e..ec101e4f62 100644 --- a/src/compiler/compile/render_ssr/handlers/IfBlock.ts +++ b/src/compiler/compile/render_ssr/handlers/IfBlock.ts @@ -1,23 +1,31 @@ -import IfBlock from '../../nodes/IfBlock'; -import Renderer, { RenderOptions } from '../Renderer'; import { x } from 'code-red'; -import { get_const_tags } from './shared/get_const_tags'; -import { Node } from 'estree'; +import { get_const_tags } from './shared/get_const_tags.js'; -export default function (node: IfBlock, renderer: Renderer, options: RenderOptions) { - const condition = node.expression.node; +/** + * @param {import('../../nodes/IfBlock.js').default} node + * @param {import('../Renderer.js').default} renderer + * @param {import('../Renderer.js').RenderOptions} options + */ +export default function (node, renderer, options) { + const condition = node.expression.node; + renderer.push(); + renderer.render(node.children, options); - renderer.push(); - renderer.render(node.children, options); - let consequent: Node = renderer.pop(); - if (node.const_tags.length > 0) - consequent = x`(() => { ${get_const_tags(node.const_tags)}; return ${consequent} })()`; + /** @type {import('estree').Node} */ + let consequent = renderer.pop(); + if (node.const_tags.length > 0) + consequent = x `(() => { ${get_const_tags(node.const_tags)}; return ${consequent} })()`; + renderer.push(); + if (node.else) + renderer.render(node.else.children, options); - renderer.push(); - if (node.else) renderer.render(node.else.children, options); - let alternate: Node = renderer.pop(); - if (node.else && node.else.const_tags.length > 0) - alternate = x`(() => { ${get_const_tags(node.else.const_tags)}; return ${alternate} })()`; - - renderer.add_expression(x`${condition} ? ${consequent} : ${alternate}`); + /** @type {import('estree').Node} */ + let alternate = renderer.pop(); + if (node.else && node.else.const_tags.length > 0) + alternate = x `(() => { ${get_const_tags(node.else.const_tags)}; return ${alternate} })()`; + renderer.add_expression(x `${condition} ? ${consequent} : ${alternate}`); } + + + +