truncateString function

String truncateString(
  1. String value, {
  2. int maxLength = kDefaultStringTruncateLimit,
})

Truncates value to maxLength, avoiding surrogate pair splits.

Appends ... if the string was truncated.

Implementation

String truncateString(
  String value, {
  int maxLength = kDefaultStringTruncateLimit,
}) {
  if (value.length <= maxLength) return value;
  var end = maxLength;
  // Avoid splitting a surrogate pair at the truncation boundary.
  if (end > 0 &&
      value.codeUnitAt(end - 1) >= 0xD800 &&
      value.codeUnitAt(end - 1) <= 0xDBFF) {
    end--;
  }
  return '${value.substring(0, end)}...';
}