analyze method
Analyzes the code and generates new list of issues.
Implementation
@override
Future<AnalysisResult> analyze(Code code) async {
final client = http.Client();
final response = await client.post(
Uri.parse(_url),
body: json.encode({
'source': code.text,
}),
encoding: utf8,
);
final decodedResponse = jsonDecode(utf8.decode(response.bodyBytes)) as Map;
final issueMaps = decodedResponse['issues'];
if (issueMaps is! Iterable || (issueMaps.isEmpty)) {
return const AnalysisResult(issues: []);
}
final issues = issueMaps
.cast<Map<String, dynamic>>()
.map(issueFromJson)
.toList(growable: false);
return AnalysisResult(issues: issues);
}