prosemirror-flat-list
Version:
Powerful list support for ProseMirror
20 lines (15 loc) • 458 B
text/typescript
import type { NodeRange } from 'prosemirror-model'
/**
* Returns a deeper block range if possible
*/
export function zoomInRange(range: NodeRange): NodeRange | null {
const { $from, $to, depth, start, end } = range
const doc = $from.doc
const deeper = (
$from.pos > start ? $from : doc.resolve(start + 1)
).blockRange($to.pos < end ? $to : doc.resolve(end - 1))
if (deeper && deeper.depth > depth) {
return deeper
}
return null
}