GenerateContent.fromJson constructor
Decode an externally-tagged content map. Unknown tags fall back to GenerateContentUnknown instead of throwing.
Implementation
factory GenerateContent.fromJson(Map<String, dynamic> json) {
final e = json.entries.first;
final payload = e.value as Map<String, dynamic>;
return switch (e.key) {
'Text' => GenerateContentText.fromJson(payload),
'ToolCall' => GenerateContentToolCall.fromJson(payload),
'Source' => GenerateContentSource.fromJson(payload),
'Reasoning' => GenerateContentReasoning.fromJson(payload),
'File' => GenerateContentFile.fromJson(payload),
'ToolResult' => GenerateContentToolResult.fromJson(payload),
_ => GenerateContentUnknown(tag: e.key, data: payload),
};
}