From d793ebfc4b94b3e2d544efa6be21fb3c834b5aff Mon Sep 17 00:00:00 2001 From: dpiercey Date: Tue, 9 Apr 2024 19:48:10 -0700 Subject: [PATCH] refactor: cleanup dynamic tag runtime --- packages/runtime-tags/src/html/dynamic-tag.ts | 33 +++++-------------- 1 file changed, 8 insertions(+), 25 deletions(-) diff --git a/packages/runtime-tags/src/html/dynamic-tag.ts b/packages/runtime-tags/src/html/dynamic-tag.ts index d0d973f6d..8b0fe31a6 100644 --- a/packages/runtime-tags/src/html/dynamic-tag.ts +++ b/packages/runtime-tags/src/html/dynamic-tag.ts @@ -10,24 +10,10 @@ import { writeScope, } from "./writer"; -const voidElements = new Set([ - "area", - "base", - "br", - "col", - "embed", - "hr", - "img", - "input", - "link", - "meta", - "param", - "source", - "track", - "wbr", -]); +const voidElementsReg = + /^(?:area|b(?:ase|r)|col|embed|hr|i(?:mg|nput)|link|meta|param|source|track|wbr)$/; interface RenderBodyObject { - [x: string]: unknown; + [x: PropertyKey]: unknown; renderBody: Renderer; } @@ -53,7 +39,7 @@ export function dynamicTagInput( nextScopeId(); write(`<${tag}${attrs(input)}>`); - if (!voidElements.has(tag)) { + if (!voidElementsReg.test(tag)) { if (renderBody) { renderBody(); } @@ -91,14 +77,11 @@ export function dynamicTagArgs( if (typeof tag === "string") { nextScopeId(); - write(`<${tag}${attrs(args[0] as Record)}>`); + write(`<${tag}${attrs(args[0] as Record)}>`); - // if (!voidElements.has(tag)) { - // if (renderBody) { - // renderBody(); - // } - // write(``); - // } + if (!voidElementsReg.test(tag)) { + write(``); + } return futureScope; }