Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | 2x 2x 2x 4x 1x 1x 1x 1x 1x 5x | import ElementNode from "./ElementNode";
import patchChildren from "./helpers/patchChildren";
import TextNode from "./TextNode";
export default class FragmentNode {
static isFragment: boolean = true;
constructor(
/**
* The children of the virtual node
*/
public children: (ElementNode | TextNode)[]
) { }
/**
* Creates a DOM node from this virtual node
* @returns DocumentFragment that holds the children nodes
*/
createDom(): DocumentFragment {
const { children } = this;
const node = document.createDocumentFragment();
for (const child of children) {
node.appendChild(child.createDom());
}
return node;
}
patchDom(container: HTMLElement | DocumentFragment): boolean {
return patchChildren(container, this.children);
}
} |