ChatMessage.fromJson constructor

ChatMessage.fromJson(
  1. Map<String, Object?> json
)

Deserializes a message.

The message is compatible with toJson.

Implementation

factory ChatMessage.fromJson(Map<String, Object?> json) {
  final List<StandardPart> parts =
      (json[_Json.parts] as List<Object?>?)
          ?.map((e) => StandardPart.fromJson(e as Map<String, Object?>))
          .toList() ??
      const [];

  return ChatMessage(
    role: ChatMessageRole.values.byName(json[_Json.role] as String),
    parts: parts,
    metadata: (json[_Json.metadata] as Map<String, Object?>?) ?? const {},
    finishStatus: json[_Json.finishStatus] == null
        ? null
        : FinishStatus.fromJson(
            json[_Json.finishStatus] as Map<String, Object?>,
          ),
  );
}