import { Node as ProseMirrorNode } from 'prosemirror-model' import { Predicate, NodeWithPos } from '../types' export default function findChildren(node: ProseMirrorNode, predicate: Predicate): NodeWithPos[] { const nodesWithPos: NodeWithPos[] = [] node.descendants((child, pos) => { if (predicate(child)) { nodesWithPos.push({ node: child, pos, }) } }) return nodesWithPos }