sliceNode function
Implementation
(Node previousDelta, Node? nextDelta) sliceNode(
Node node,
int selectionIndex,
) {
final delta = node.delta;
if (delta == null) {
return (node, null); // // Node doesn't have a delta
}
final previousDelta = delta.slice(0, selectionIndex);
final nextDelta = delta.slice(selectionIndex, delta.length);
return (
Node(
id: node.id,
parent: node.parent,
children: node.children,
type: node.type,
attributes: node.attributes
..remove(ParagraphBlockKeys.delta)
..addAll({ParagraphBlockKeys.delta: previousDelta.toJson()}),
),
Node(
type: node.type,
attributes: node.attributes
..remove(ParagraphBlockKeys.delta)
..addAll({ParagraphBlockKeys.delta: nextDelta.toJson()}),
)
);
}