From c388557b768e3440676ffd4a380aef0ae9cb56ca Mon Sep 17 00:00:00 2001 From: Simon Holthausen Date: Fri, 12 May 2023 15:05:09 +0200 Subject: [PATCH] Convert src/compiler/compile/render_dom/wrappers/Comment.ts to JavaScript --- .../compile/render_dom/wrappers/Comment.ts | 85 ++++++++++--------- 1 file changed, 47 insertions(+), 38 deletions(-) diff --git a/src/compiler/compile/render_dom/wrappers/Comment.ts b/src/compiler/compile/render_dom/wrappers/Comment.ts index 3436b10e91..4e058917c4 100644 --- a/src/compiler/compile/render_dom/wrappers/Comment.ts +++ b/src/compiler/compile/render_dom/wrappers/Comment.ts @@ -1,42 +1,51 @@ -import Renderer from '../Renderer'; -import Block from '../Block'; -import Comment from '../../nodes/Comment'; -import Wrapper from './shared/Wrapper'; +import Wrapper from './shared/Wrapper.js'; import { x } from 'code-red'; -import { Identifier } from 'estree'; +/** @extends Wrapper */ export default class CommentWrapper extends Wrapper { - node: Comment; - var: Identifier; - - constructor(renderer: Renderer, block: Block, parent: Wrapper, node: Comment) { - super(renderer, block, parent, node); - this.var = x`c` as Identifier; - } - - render(block: Block, parent_node: Identifier, parent_nodes: Identifier) { - if (!this.renderer.options.preserveComments) return; - - const string_literal = { - type: 'Literal', - value: this.node.data, - loc: { - start: this.renderer.locate(this.node.start), - end: this.renderer.locate(this.node.end) - } - }; - - block.add_element( - this.var, - x`@comment(${string_literal})`, - parent_nodes && x`@claim_comment(${parent_nodes}, ${string_literal})`, - parent_node - ); - } - - text() { - if (!this.renderer.options.preserveComments) return ''; - - return ``; - } + + /** @type {import('../../nodes/Comment.js').default} */ + node; + + /** @type {import('estree').Identifier} */ + var; + + /** + * @param {import('../Renderer.js').default} renderer + * @param {import('../Block.js').default} block + * @param {import('./shared/Wrapper.js').default} parent + * @param {import('../../nodes/Comment.js').default} node + */ + constructor(renderer, block, parent, node) { + super(renderer, block, parent, node); + this.var = /** @type {import('estree').Identifier} */ (x `c`); + } + + /** + * @param {import('../Block.js').default} block + * @param {import('estree').Identifier} parent_node + * @param {import('estree').Identifier} parent_nodes + */ + render(block, parent_node, parent_nodes) { + if (!this.renderer.options.preserveComments) + return; + const string_literal = { + type: 'Literal', + value: this.node.data, + loc: { + start: this.renderer.locate(this.node.start), + end: this.renderer.locate(this.node.end) + } + }; + block.add_element(this.var, x `@comment(${string_literal})`, parent_nodes && x `@claim_comment(${parent_nodes}, ${string_literal})`, parent_node); + } + text() { + if (!this.renderer.options.preserveComments) + return ''; + return ``; + } } + + + +