UNPKG

extra-dom

Version:
24 lines 829 B
import { isElement } from './is-element.js'; import { assert } from '@blackglory/errors'; export function nextElementSibling(node, distance = 1) { assert(Number.isInteger(distance), 'parameter distance must be an integer'); assert(distance >= 1, 'parameter distance must be greater than or equal to 1'); return _nextElementSibling(node, distance); } function _nextElementSibling(node, distance) { const currentNode = node.nextSibling; if (!currentNode) return undefined; if (isElement(currentNode)) { if (distance === 1) { return currentNode; } else { return _nextElementSibling(currentNode, distance - 1); } } else { return _nextElementSibling(currentNode, distance); } } //# sourceMappingURL=next-element-sibling.js.map