const doc = document.createDocumentFragment()
const parser = new DOMParser
let temp
let div
let range
let html = `<div>${'<button>hii</button>'.repeat(200)}</div>`
function go(parseMode) {
switch (parseMode) {
case 'DOMParser':
var element = document.adoptNode(parser.parseFromString(html, 'text/html').body.firstElementChild)
break
case 'write': {
let doc = document.implementation.createHTMLDocument()
doc.write(html)
var element = document.adoptNode(doc.body.firstElementChild)
}
break
case 'setHTMLUnsafe': {
temp ??= document.createElement('template')
temp.setHTMLUnsafe(html)
var element = document.adoptNode(temp.content.firstElementChild)
}
break
case 'innerHTML': {
div ??= document.createElement('div')
div.innerHTML = html
var element = div.removeChild(div.firstElementChild)
}
break
case 'createHTMLDocument': {
let n = document.implementation.createHTMLDocument()
n.body.innerHTML = html
var element = document.adoptNode(n.body.firstElementChild)
}
break
case 'createRange':
var element = document.adoptNode((range ??= document.createRange()).createContextualFragment(html).firstElementChild)
break
case 'template': {
temp ??= document.createElement('template')
temp.innerHTML = html
var element = document.adoptNode(temp.content.firstElementChild)
}
break
case 'parseHTMLUnsafe':
var element = document.adoptNode(Document.parseHTMLUnsafe(html).body.firstElementChild)
break
}
return element
}