in lib/src/characters_impl.dart [286:300]
Characters takeWhile(bool Function(String) test) {
if (string.isNotEmpty) {
var breaks = Breaks(string, 0, string.length, stateSoTNoBreak);
var index = 0;
var endIndex = 0;
while ((index = breaks.nextBreak()) >= 0) {
if (!test(string.substring(endIndex, index))) {
if (endIndex == 0) return Characters.empty;
return StringCharacters(string.substring(0, endIndex));
}
endIndex = index;
}
}
return this;
}