import { findInPrecedingSiblingNodes } from 'extra-dom' export function previousSibling( predicate: (node: Node, nth: number) => unknown = () => true ): (node: Node) => T | undefined { return (node: Node) => { let i = 0 return findInPrecedingSiblingNodes( node , node => predicate(node, ++i) ) as T | undefined } }