findJsonParseIssue function
Parses text and returns a JsonParseIssue when jsonDecode fails.
Implementation
JsonParseIssue? findJsonParseIssue(String text) {
final trimmed = text.trim();
if (trimmed.isEmpty) return null;
try {
jsonDecode(text);
return null;
} on FormatException catch (e) {
final rawOffset = e.offset;
final offset = (rawOffset ?? _fallbackErrorOffset(text)).clamp(0, text.length);
// Underline a short window around the failure point.
final length = _errorUnderlineLength(text, offset);
return JsonParseIssue(
offset: offset,
length: length,
message: e.message,
);
} catch (e) {
return JsonParseIssue(
offset: 0,
length: math.min(1, text.length),
message: e.toString(),
);
}
}