21 lines
584 B
JavaScript
21 lines
584 B
JavaScript
|
// For wrapperless hydration of document.body.
|
||
|
// See https://gist.github.com/developit/f4c67a2ede71dc2fab7f357f39cff28c
|
||
|
export const createRootFragment = ( parent, replaceNode ) => {
|
||
|
replaceNode = [].concat( replaceNode );
|
||
|
const s = replaceNode[ replaceNode.length - 1 ].nextSibling;
|
||
|
function insert( c, r ) {
|
||
|
parent.insertBefore( c, r || s );
|
||
|
}
|
||
|
return ( parent.__k = {
|
||
|
nodeType: 1,
|
||
|
parentNode: parent,
|
||
|
firstChild: replaceNode[ 0 ],
|
||
|
childNodes: replaceNode,
|
||
|
insertBefore: insert,
|
||
|
appendChild: insert,
|
||
|
removeChild( c ) {
|
||
|
parent.removeChild( c );
|
||
|
},
|
||
|
} );
|
||
|
};
|