UNPKG

uhtml

Version:
25 lines (22 loc) • 592 B
'use strict'; const { SVG_NAMESPACE, newRange } = require('./utils.js'); let template = document.createElement('template'), svg, range; /** * @param {string} text * @param {boolean} xml * @returns {DocumentFragment} */ module.exports = (text, xml) => { if (xml) { if (!svg) { svg = document.createElementNS(SVG_NAMESPACE, 'svg'); range = newRange(); range.selectNodeContents(svg); } return range.createContextualFragment(text); } template.innerHTML = text; const { content } = template; template = template.cloneNode(false); return content; };