GenerateContent.fromJson constructor

GenerateContent.fromJson(
  1. Map<String, dynamic> json
)

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),
  };
}