Files
tiptap/packages/core/src/helpers/getMarksBetween.ts
Philipp Kühn 4407d9a3d1 improve types
2021-01-28 09:50:17 +01:00

23 lines
508 B
TypeScript

import { Mark } from 'prosemirror-model'
import { EditorState } from 'prosemirror-state'
export type MarkPosition = {
mark: Mark,
start: number,
end: number,
}
export default function getMarksBetween(start: number, end: number, state: EditorState): MarkPosition[] {
let marks: MarkPosition[] = []
state.doc.nodesBetween(start, end, (node, pos) => {
marks = [...marks, ...node.marks.map(mark => ({
start: pos,
end: pos + node.nodeSize,
mark,
}))]
})
return marks
}