react / wstein / node_modules / jest-cli / node_modules / jsdom / node_modules / htmlparser2 / node_modules / domutils / lib / manipulation.js
81149 viewsexports.removeElement = function(elem){1if(elem.prev) elem.prev.next = elem.next;2if(elem.next) elem.next.prev = elem.prev;34if(elem.parent){5var childs = elem.parent.children;6childs.splice(childs.lastIndexOf(elem), 1);7}8};910exports.replaceElement = function(elem, replacement){11var prev = replacement.prev = elem.prev;12if(prev){13prev.next = replacement;14}1516var next = replacement.next = elem.next;17if(next){18next.prev = replacement;19}2021var parent = replacement.parent = elem.parent;22if(parent){23var childs = parent.children;24childs[childs.lastIndexOf(elem)] = replacement;25}26};2728exports.appendChild = function(elem, child){29child.parent = elem;3031if(elem.children.push(child) !== 1){32var sibling = elem.children[elem.children.length - 2];33sibling.next = child;34child.prev = sibling;35child.next = null;36}37};3839exports.append = function(elem, next){40var parent = elem.parent,41currNext = elem.next;4243next.next = currNext;44next.prev = elem;45elem.next = next;46next.parent = parent;4748if(currNext){49currNext.prev = next;50if(parent){51var childs = parent.children;52childs.splice(childs.lastIndexOf(currNext), 0, next);53}54} else if(parent){55parent.children.push(next);56}57};5859exports.prepend = function(elem, prev){60var parent = elem.parent;61if(parent){62var childs = parent.children;63childs.splice(childs.lastIndexOf(elem), 0, prev);64}6566if(elem.prev){67elem.prev.next = prev;68}6970prev.parent = parent;71prev.prev = elem.prev;72prev.next = elem;73elem.prev = prev;74};7576777879