marshall-y-slate
Version:
Yjs bindings for Slate.
33 lines • 2.38 kB
JavaScript
import * as Y from 'yjs';
export const SyncElement = {
getText(element) {
return element === null || element === void 0 ? void 0 : element.get('text');
},
getChildren(element) {
return element === null || element === void 0 ? void 0 : element.get('children');
}
};
export const SyncNode = {
getChildren(node) {
if (node instanceof Y.Array) {
return node;
}
return SyncElement.getChildren(node);
},
getText(node) {
if (node instanceof Y.Array) {
return undefined;
}
return SyncElement.getText(node);
},
getFirstText(node) {
let text = SyncElement.getText(node);
if (text) {
return text;
}
const children = SyncNode.getChildren(node);
const firstChild = children === null || children === void 0 ? void 0 : children.get(0);
return SyncNode.getFirstText(firstChild);
}
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUM7QUF5QnpCLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN2QixPQUFPLENBQUMsT0FBb0I7UUFDeEIsT0FBTyxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBb0I7UUFDNUIsT0FBTyxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7Q0FDSixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHO0lBQ3BCLFdBQVcsQ0FBQyxJQUFjO1FBQ3RCLElBQUksSUFBSSxZQUFZLENBQUMsQ0FBQyxLQUFLLEVBQUU7WUFDekIsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELE9BQU8sV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQWM7UUFDbEIsSUFBSSxJQUFJLFlBQVksQ0FBQyxDQUFDLEtBQUssRUFBRTtZQUN6QixPQUFPLFNBQVMsQ0FBQztTQUNwQjtRQUVELE9BQU8sV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQWM7UUFDdkIsSUFBSSxJQUFJLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFtQixDQUFDLENBQUM7UUFDcEQsSUFBSSxJQUFJLEVBQUU7WUFDTixPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxNQUFNLFVBQVUsR0FBRyxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQyxVQUFzQixDQUFDLENBQUM7SUFDekQsQ0FBQztDQUNKLENBQUMifQ==