UNPKG

slate

Version:

A completely customizable framework for building rich text editors.

46 lines 1.51 kB
import { Path, Point, Range } from '..'; /** * The `Location` interface is a union of the ways to refer to a specific * location in a Slate document: paths, points or ranges. * * Methods will often accept a `Location` instead of requiring only a `Path`, * `Point` or `Range`. This eliminates the need for developers to manage * converting between the different interfaces in their own code base. */ export type Location = Path | Point | Range; export interface LocationInterface { /** * Check if a value implements the `Location` interface. */ isLocation: (value: any) => value is Location; /** * Check if a location is a `Path`. */ isPath: (at: Location) => at is Path; /** * Check if a location is a `Point`. */ isPoint: (at: Location) => at is Point; /** * Check if a location is a `Range`. */ isRange: (at: Location) => at is Range; /** * Differentiate between a normal `Location` and a `Span`. */ isSpan: (at: Location | Span) => at is Span; } export declare const Location: LocationInterface; /** * The `Span` interface is a low-level way to refer to locations in nodes * without using `Point` which requires leaf text nodes to be present. */ export type Span = [Path, Path]; export interface SpanInterface { /** * Check if a value implements the `Span` interface. */ isSpan: (value: any) => value is Span; } export declare const Span: SpanInterface; //# sourceMappingURL=location.d.ts.map