20 lines
476 B
TypeScript
20 lines
476 B
TypeScript
import { Node } from "prosemirror-model";
|
|
import { findTextNodes, NodeWithPos } from "prosemirror-utils";
|
|
|
|
export default function findLinkNodes(doc: Node): NodeWithPos[] {
|
|
const textNodes = findTextNodes(doc);
|
|
const nodes: NodeWithPos[] = [];
|
|
|
|
for (const nodeWithPos of textNodes) {
|
|
const hasLinkMark = nodeWithPos.node.marks.find(
|
|
(mark) => mark.type.name === "link"
|
|
);
|
|
|
|
if (hasLinkMark) {
|
|
nodes.push(nodeWithPos);
|
|
}
|
|
}
|
|
|
|
return nodes;
|
|
}
|