in pkgs/google_generative_ai/lib/src/api.dart [636:665]
Candidate _parseCandidate(Object? jsonObject) {
if (jsonObject is! Map) {
throw unhandledFormat('Candidate', jsonObject);
}
return Candidate(
jsonObject.containsKey('content')
? parseContent(jsonObject['content'] as Object)
: Content(null, []),
switch (jsonObject) {
{'safetyRatings': final List<Object?> safetyRatings} =>
safetyRatings.map(_parseSafetyRating).toList(),
_ => null
},
switch (jsonObject) {
{'citationMetadata': final Object citationMetadata} =>
_parseCitationMetadata(citationMetadata),
_ => null
},
switch (jsonObject) {
{'finishReason': final Object finishReason} =>
FinishReason._parseValue(finishReason),
_ => null
},
switch (jsonObject) {
{'finishMessage': final String finishMessage} => finishMessage,
_ => null
},
);
}