1
0
mirror of https://github.com/ianstormtaylor/slate.git synced 2025-08-21 06:31:28 +02:00
Files
slate/docs/api/locations/point.md
Doug Reeder 7d9d25e179 Adds clarification & examples to demystify Transforms. (#4653)
* Adds clarification & examples to demystify Transforms.

* Fleshes out documentation of NodeOptions for Transforms

* Update docs/concepts/04-transforms.md

Co-authored-by: Dylan Schiemann <dylan@dojotoolkit.org>

* Uses 'API' in the title of all API documents

Co-authored-by: Dylan Schiemann <dylan@dojotoolkit.org>
2021-11-16 02:20:43 -07:00

1.4 KiB

Point API

Point objects refer to a specific location in a text node in a Slate document. Its path refers to the location of the node in the tree, and its offset refers to distance into the node's string of text. Points may only refer to Text nodes.

interface Point {
  path: Path
  offset: number
}

Static methods

Retrieval methods

Point.compare(point: Point, another: Point) => -1 | 0 | 1

Compare a point to another, returning an integer indicating whether the point was before, at or after the other.

Check methods

Point.isAfter(point: Point, another: Point) => boolean

Check if a point is after another.

Point.isBefore(point: Point, another: Point) => boolean

Check if a point is before another.

Point.equals(point: Point, another: Point) => boolean

Check if a point is exactly equal to another.

Point.isPoint(value: any) => value is Point

Check if a value implements the Point interface.

Transform methods

Point.transform(point: Point, op: Operation, options?) => Point | null

Transform a point by an op.

Options: {affinity?: 'forward' | 'backward' | null}