@@ -78,8 +78,12 @@ export const getIsValue = (key: string) => {
78
78
} else return false ;
79
79
} ;
80
80
export const getElement = ( template : string , trim ?: boolean ) => {
81
- const elWrapper = document . createElement ( "template" ) ;
82
- elWrapper . innerHTML = trim ? template . trim ( ) : template ;
81
+ const elementDocument = new DOMParser ( ) . parseFromString (
82
+ `<template>${ trim ? template . trim ( ) : template } </template>` ,
83
+ "text/html"
84
+ ) ;
85
+ const elWrapper = elementDocument . childNodes [ 0 ] . childNodes [ 0 ]
86
+ . firstChild as HTMLTemplateElement ;
83
87
if ( elWrapper . content . children . length > 1 ) {
84
88
createError ( "Component include only one node with type 'Element'" ) ;
85
89
}
@@ -89,7 +93,7 @@ export const getElement = (template: string, trim?: boolean) => {
89
93
if ( ( node as Element ) . tagName === "pre" ) return ;
90
94
break ;
91
95
case Node . TEXT_NODE :
92
- if ( ! / \S / . test ( node . textContent as string ) ) {
96
+ if ( ! / \S / . test ( node . textContent ! ) ) {
93
97
node . remove ( ) ;
94
98
return ;
95
99
}
@@ -100,7 +104,9 @@ export const getElement = (template: string, trim?: boolean) => {
100
104
}
101
105
} ;
102
106
prepareNode ( elWrapper . content . childNodes [ 0 ] ) ;
103
- return elWrapper . content . firstElementChild ;
107
+ const currentEl = elWrapper . content . firstElementChild ;
108
+ if ( ! currentEl ) createError ( "Element is undefined" ) ;
109
+ return currentEl ;
104
110
} ;
105
111
export const isValuesEqual = ( val : any , newVal : any ) : boolean => {
106
112
if ( val === newVal ) return true ;
@@ -485,12 +491,6 @@ export const getArrImportString = (
485
491
}
486
492
} ;
487
493
488
- export const checkNodes = ( template : string ) : boolean => {
489
- const el = document . createElement ( "template" ) ;
490
- el . innerHTML = template ;
491
- return el . content . childNodes . length === 1 ;
492
- } ;
493
-
494
494
export const getElements = ( el : Element | null ) => {
495
495
const els : Array < Element > = [ ] ;
496
496
if ( el ) {
0 commit comments