| Index: node_modules/vulcanize/node_modules/whacko/node_modules/CSSselect/node_modules/domutils/lib/helpers.js
|
| diff --git a/node_modules/vulcanize/node_modules/whacko/node_modules/CSSselect/node_modules/domutils/lib/helpers.js b/node_modules/vulcanize/node_modules/whacko/node_modules/CSSselect/node_modules/domutils/lib/helpers.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..476b8eb51b67247c802ad3a77d18ab4266bbb3b7
|
| --- /dev/null
|
| +++ b/node_modules/vulcanize/node_modules/whacko/node_modules/CSSselect/node_modules/domutils/lib/helpers.js
|
| @@ -0,0 +1,31 @@
|
| +// removeSubsets
|
| +// Given an array of nodes, remove any member that is contained by another.
|
| +exports.removeSubsets = function(nodes) {
|
| + var idx = nodes.length, node, ancestor, replace;
|
| +
|
| + // Check if each node (or one of its ancestors) is already contained in the
|
| + // array.
|
| + while (--idx > -1) {
|
| + node = ancestor = nodes[idx];
|
| +
|
| + // Temporarily remove the node under consideration
|
| + nodes[idx] = null;
|
| + replace = true;
|
| +
|
| + while (ancestor) {
|
| + if (nodes.indexOf(ancestor) > -1) {
|
| + replace = false;
|
| + nodes.splice(idx, 1);
|
| + break;
|
| + }
|
| + ancestor = ancestor.parent;
|
| + }
|
| +
|
| + // If the node has been found to be unique, re-insert it.
|
| + if (replace) {
|
| + nodes[idx] = node;
|
| + }
|
| + }
|
| +
|
| + return nodes;
|
| +};
|
|
|