wrapAtChars method
Wraps this string at width character boundaries (grapheme-safe). Returns chunks joined by newline.
Implementation
@useResult
String wrapAtChars(int width) {
if (width < 1) return this;
final Characters charSeq = characters;
if (charSeq.length <= width) return this;
final int partCount = (charSeq.length / width).ceil();
final List<String> parts = List<String>.filled(partCount, '');
for (int i = 0; i < partCount; i++) {
final int start = i * width;
final int end = (start + width) > charSeq.length ? charSeq.length : start + width;
parts[i] = charSeq.getRange(start, end).string;
}
return parts.join('\n');
}