From: daiwei Date: Sun, 3 Aug 2025 02:33:39 +0000 (+0800) Subject: fix: use Namespace type for namespace handling X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d0da0226ad3b25ebcb3e45f1cf4b891d1c6f438b;p=thirdparty%2Fvuejs%2Fcore.git fix: use Namespace type for namespace handling --- diff --git a/packages/compiler-vapor/src/ir/index.ts b/packages/compiler-vapor/src/ir/index.ts index b7c67eac92..fd4eefd559 100644 --- a/packages/compiler-vapor/src/ir/index.ts +++ b/packages/compiler-vapor/src/ir/index.ts @@ -5,7 +5,7 @@ import type { SimpleExpressionNode, TemplateChildNode, } from '@vue/compiler-dom' -import type { Prettify } from '@vue/shared' +import type { Namespace, Prettify } from '@vue/shared' import type { DirectiveTransform, NodeTransform } from '../transform' import type { IRProp, IRProps, IRSlots } from './component' @@ -59,7 +59,7 @@ export interface RootIRNode { type: IRNodeTypes.ROOT node: RootNode source: string - template: Map + template: Map templateIndexMap: Map rootTemplateIndex?: number component: Set diff --git a/packages/runtime-vapor/src/dom/template.ts b/packages/runtime-vapor/src/dom/template.ts index 684626a1aa..66b9ea7d2d 100644 --- a/packages/runtime-vapor/src/dom/template.ts +++ b/packages/runtime-vapor/src/dom/template.ts @@ -1,13 +1,14 @@ import { mathmlNS, svgNS } from '@vue/runtime-dom' import { adoptTemplate, currentHydrationNode, isHydrating } from './hydration' import { child, createTextNode } from './node' +import { type Namespace, Namespaces } from '@vue/shared' let t: HTMLTemplateElement let st: HTMLTemplateElement let mt: HTMLTemplateElement /*! #__NO_SIDE_EFFECTS__ */ -export function template(html: string, root?: boolean, ns?: number) { +export function template(html: string, root?: boolean, ns?: Namespace) { let node: Node return (): Node & { $root?: true } => { if (isHydrating) { @@ -26,7 +27,7 @@ export function template(html: string, root?: boolean, ns?: number) { t = t || document.createElement('template') t.innerHTML = html node = child(t.content) - } else if (ns === 1) { + } else if (ns === Namespaces.SVG) { st = st || document.createElementNS(svgNS, 'template') st.innerHTML = html node = child(st)