@@ -64,34 +64,29 @@ function WrappedHead(
6464 }
6565
6666 applyProps ( props , matched ) ;
67- } , [ ] ) ;
67+ } , [ originalType , props , key ] ) ;
6868
6969 if ( enabled ) {
7070 return null ;
71+ } else {
72+ const inner = h ( originalType , props ) ;
73+ PATCHED . add ( inner ) ;
74+ return inner ;
7175 }
72-
73- const inner = h ( originalType , props ) ;
74- PATCHED . add ( inner ) ;
75- return inner ;
7676}
7777
7878const oldVNodeHook = options . vnode ;
7979options . vnode = ( vnode ) => {
8080 assetHashingHook ( vnode , BUILD_ID ) ;
8181
82- if ( typeof vnode . type === "string" ) {
82+ const originalType = vnode . type ;
83+ if ( typeof originalType === "string" ) {
8384 if ( CLIENT_NAV_ATTR in vnode . props ) {
8485 const value = vnode . props [ CLIENT_NAV_ATTR ] ;
8586 if ( typeof value === "boolean" ) {
8687 vnode . props [ CLIENT_NAV_ATTR ] = String ( value ) ;
8788 }
88- }
89- }
90-
91- const originalType = vnode . type ;
92-
93- if ( typeof originalType === "string" ) {
94- if ( ! PATCHED . has ( vnode ) ) {
89+ } else if ( ! PATCHED . has ( vnode ) ) {
9590 switch ( originalType ) {
9691 case "title" :
9792 case "meta" :
@@ -100,14 +95,19 @@ options.vnode = (vnode) => {
10095 case "style" :
10196 case "base" :
10297 case "noscript" :
103- case "template" :
104- vnode = h ( WrappedHead , {
98+ case "template" : {
99+ // deno-lint-ignore no-explicit-any
100+ const v = vnode as VNode < any > ;
101+ const props = vnode . props ;
102+ const key = vnode . key ;
103+ v . type = WrappedHead ;
104+ v . props = {
105105 originalType,
106- props : vnode . props ,
107- key : vnode . key ,
108- // deno-lint-ignore no-explicit-any
109- } ) as any ;
106+ props,
107+ key,
108+ } ;
110109 break ;
110+ }
111111 }
112112 }
113113 }
0 commit comments