uhtml
Version:
A micro HTML/SVG render
23 lines (21 loc) • 511 B
JavaScript
;
const { newRange } = require('./utils.js');
let range;
/**
* @param {Node | Element} firstChild
* @param {Node | Element} lastChild
* @param {boolean} preserve
* @returns
*/
module.exports = (firstChild, lastChild, preserve) => {
if (!range) range = newRange();
/* c8 ignore start */
if (preserve)
range.setStartAfter(firstChild);
else
range.setStartBefore(firstChild);
/* c8 ignore stop */
range.setEndAfter(lastChild);
range.deleteContents();
return firstChild;
};