deleteText method

void deleteText(
  1. Node node,
  2. int index,
  3. int length
)

Deletes the length characters at the given index.

Implementation

void deleteText(
  Node node,
  int index,
  int length,
) {
  final delta = node.delta;
  if (delta == null) {
    assert(false, 'The node must have a delta.');
    return;
  }

  assert(
    index + length <= delta.length && index >= 0 && length >= 0,
    'The index($index) or length($length) is out of range or negative.',
  );

  final delete = Delta()
    ..retain(index)
    ..delete(length);

  addDeltaToComposeMap(node, delete);

  afterSelection = Selection.collapsed(
    Position(path: node.path, offset: index),
  );
}