fromJson static method

RealtimeMessageContent fromJson(
  1. Map<String, dynamic> c
)

Implementation

static RealtimeMessageContent fromJson(Map<String, dynamic> c) {
  switch (c['type']) {
    case 'input_text':
      return RealtimeInputText(c['text']);
    case 'text':
    case 'output_text':
      return RealtimeOutputText(text: c['text'], type: c['type']);
    case 'input_audio':
      return RealtimeInputAudio(
        audioB64: c['audio'],
        transcript: c['transcript'],
      );

    case 'audio':
    case 'output_audio':
      return RealtimeOutputAudio(
        audioB64: c['audio'],
        transcript: c['transcript'],
        type: c['type'],
      );
    case 'item_reference':
      return RealtimeItemReferenceMessageContent(c['id']);
    default:
      throw ArgumentError('Unknown content type "${c['type']}"');
  }
}