marshall-y-slate
Version:
Yjs bindings for Slate.
30 lines (29 loc) • 933 B
TypeScript
import { Descendant, Path, Range } from 'slate';
import * as Y from 'yjs';
export declare type SyncElement = Y.Map<any>;
export declare type SharedType = Y.Array<SyncElement>;
export declare type SyncNode = SharedType | SyncElement;
export interface Cursor extends Range {
data: {
[key: string]: unknown;
};
}
export interface CursorInfo extends Cursor {
isForward: boolean;
originAnchorPath: Path;
originFocusPath: Path;
isCaret: boolean;
}
export interface CustomNode extends Node {
[key: string]: any;
children?: Descendant[];
}
export declare const SyncElement: {
getText(element: SyncElement): Y.Text | undefined;
getChildren(element: SyncElement): Y.Array<SyncElement> | undefined;
};
export declare const SyncNode: {
getChildren(node: SyncNode): Y.Array<SyncElement> | undefined;
getText(node: SyncNode): Y.Text | undefined;
getFirstText(node: SyncNode): Y.Text;
};