safeJsonParse<T> function
Safely parse JSON, reporting failures to UniTrack.
Implementation
T? safeJsonParse<T>(String targetType, String raw) {
try {
return jsonDecode(raw) as T;
} catch (e, st) {
UniTrack.instance.track('json_parse_error', properties: {
'type': targetType,
'error': '${e.runtimeType}: $e',
'stack': st.toString().split('\n').take(8).join('\n'),
'data_preview': raw.length > 200 ? raw.substring(0, 200) : raw,
});
if (kDebugMode) rethrow;
return null;
}
}