24 lines
438 B
JavaScript
24 lines
438 B
JavaScript
|
import matches from './matches';
|
||
|
export default function collectSiblings(node, refNode, selector) {
|
||
|
if (refNode === void 0) {
|
||
|
refNode = null;
|
||
|
}
|
||
|
|
||
|
if (selector === void 0) {
|
||
|
selector = null;
|
||
|
}
|
||
|
|
||
|
var siblings = [];
|
||
|
|
||
|
for (; node; node = node.nextElementSibling) {
|
||
|
if (node !== refNode) {
|
||
|
if (selector && matches(node, selector)) {
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
siblings.push(node);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return siblings;
|
||
|
}
|