Index: node_modules/vulcanize/node_modules/whacko/node_modules/CSSselect/node_modules/domutils/lib/manipulation.js |
diff --git a/node_modules/vulcanize/node_modules/whacko/node_modules/CSSselect/node_modules/domutils/lib/manipulation.js b/node_modules/vulcanize/node_modules/whacko/node_modules/CSSselect/node_modules/domutils/lib/manipulation.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6b44cbc5a3b5c7de40f570a274364cd937176911 |
--- /dev/null |
+++ b/node_modules/vulcanize/node_modules/whacko/node_modules/CSSselect/node_modules/domutils/lib/manipulation.js |
@@ -0,0 +1,77 @@ |
+exports.removeElement = function(elem){ |
+ if(elem.prev) elem.prev.next = elem.next; |
+ if(elem.next) elem.next.prev = elem.prev; |
+ |
+ if(elem.parent){ |
+ var childs = elem.parent.children; |
+ childs.splice(childs.lastIndexOf(elem), 1); |
+ } |
+}; |
+ |
+exports.replaceElement = function(elem, replacement){ |
+ var prev = replacement.prev = elem.prev; |
+ if(prev){ |
+ prev.next = replacement; |
+ } |
+ |
+ var next = replacement.next = elem.next; |
+ if(next){ |
+ next.prev = replacement; |
+ } |
+ |
+ var parent = replacement.parent = elem.parent; |
+ if(parent){ |
+ var childs = parent.children; |
+ childs[childs.lastIndexOf(elem)] = replacement; |
+ } |
+}; |
+ |
+exports.appendChild = function(elem, child){ |
+ child.parent = elem; |
+ |
+ if(elem.children.push(child) !== 1){ |
+ var sibling = elem.children[elem.children.length - 2]; |
+ sibling.next = child; |
+ child.prev = sibling; |
+ child.next = null; |
+ } |
+}; |
+ |
+exports.append = function(elem, next){ |
+ var parent = elem.parent, |
+ currNext = elem.next; |
+ |
+ next.next = currNext; |
+ next.prev = elem; |
+ elem.next = next; |
+ next.parent = parent; |
+ |
+ if(currNext){ |
+ currNext.prev = next; |
+ if(parent){ |
+ var childs = parent.children; |
+ childs.splice(childs.lastIndexOf(currNext), 0, next); |
+ } |
+ } else if(parent){ |
+ parent.children.push(next); |
+ } |
+}; |
+ |
+exports.prepend = function(elem, prev){ |
+ var parent = elem.parent; |
+ if(parent){ |
+ var childs = parent.children; |
+ childs.splice(childs.lastIndexOf(elem), 0, prev); |
+ } |
+ |
+ if(elem.prev){ |
+ elem.prev.next = prev; |
+ } |
+ |
+ prev.parent = parent; |
+ prev.prev = elem.prev; |
+ prev.next = elem; |
+ elem.prev = prev; |
+}; |
+ |
+ |