The Location interface is a union of the ways to refer to a specific location
in a Plate document: paths, points, or ranges. Methods often accept Location
instead of requiring only Path, Point, or Range.
type Location = Path | Point | Range;type Location = Path | Point | Range;Public read and update methods with an at option accept NodeTarget, which
adds live text and element nodes without changing the Location type.
type NodeTarget<N extends Descendant = Descendant> = Location | N;type NodeTarget<N extends Descendant = Descendant> = Location | N;Use editor.read.nodes.path(node) when you need to resolve a node target to its
current path. Pure location utilities continue to accept structural locations.
LocationApi.isLocation(value: unknown) => value is LocationCheck if a value implements the Location interface.
A Span identifies its endpoints with two node paths. Unlike a Range, it
does not store text offsets.
type Span = readonly [Path, Path];type Span = readonly [Path, Path];SpanApi.isSpan(value: unknown) => value is SpanCheck if a value implements the Span interface.