diff options
| author | nsfisis <nsfisis@gmail.com> | 2025-07-04 19:21:01 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2025-07-04 19:21:01 +0900 |
| commit | 76660a3b367f38ed554d32ec20dbe7a1fd39f470 (patch) | |
| tree | 3ea11251abc063ba8c71da2a6ad7123f71685f32 /services/blog/nuldoc-src/jsx | |
| parent | 6b78b4de6ec5f96d82be5b153294797074c8c2b1 (diff) | |
| download | nsfisis.dev-76660a3b367f38ed554d32ec20dbe7a1fd39f470.tar.gz nsfisis.dev-76660a3b367f38ed554d32ec20dbe7a1fd39f470.tar.zst nsfisis.dev-76660a3b367f38ed554d32ec20dbe7a1fd39f470.zip | |
refactor(blog/nuldoc): refactor DOM-related code
Diffstat (limited to 'services/blog/nuldoc-src/jsx')
| -rw-r--r-- | services/blog/nuldoc-src/jsx/render.ts | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/services/blog/nuldoc-src/jsx/render.ts b/services/blog/nuldoc-src/jsx/render.ts index 8603f6c3..a72d9ad7 100644 --- a/services/blog/nuldoc-src/jsx/render.ts +++ b/services/blog/nuldoc-src/jsx/render.ts @@ -1,4 +1,5 @@ import type { Element, Node } from "../dom.ts"; +import { elem, text } from "../dom.ts"; import type { JSXNode, JSXNullableSimpleNode, @@ -16,7 +17,7 @@ function transformNode(node: JSXNode): Promise<Node[]> { .filter((c): c is JSXSimpleNode => c != null && c !== false) .map((c) => { if (typeof c === "string") { - return { kind: "text", content: c, raw: false }; + return text(c); } else if ("kind" in c) { return c; } else { @@ -32,13 +33,8 @@ export async function renderToDOM( const { tag, props } = element; if (typeof tag === "string") { const { children, ...attrs } = props; - const attrsMap = new Map(Object.entries(attrs)) as Map<string, string>; - return { - kind: "element", - name: tag, - attributes: attrsMap, - children: await transformNode(children), - }; + const attrsMap = attrs as Record<string, string>; + return elem(tag, attrsMap, ...(await transformNode(children))); } else { return renderToDOM(await tag(props)); } |
