iterateGraphemes method

Iterable<String> iterateGraphemes(
  1. String str
)

Implementation

Iterable<String> iterateGraphemes(String str) sync* {
  var index = 0;
  String value;
  int brk;
  while (true) {
    if ((brk = nextBreak(str, index)) < str.length) {
      value = str.substring(index, brk);
      index = brk;
      yield value;
    } else if (index < str.length) {
      value = str.substring(index);
      index = str.length;
      yield value;
    } else {
      break;
    }
  }
}