SessionUpdateEvent.fromJson constructor

SessionUpdateEvent.fromJson(
  1. Map<String, dynamic> j
)

Implementation

factory SessionUpdateEvent.fromJson(Map<String, dynamic> j) {
  final sessionJson = j['session'] as Map<String, dynamic>;
  final sessionType = sessionJson['type'] as String?;

  final BaseRealtimeSession session;
  switch (sessionType) {
    case 'realtime':
      session = RealtimeSession.fromJson(sessionJson);
      break;
    case 'transcription':
      session = RealtimeTranscriptionSession.fromJson(sessionJson);
      break;
    default:
      throw ArgumentError('Unknown session type "$sessionType" in session.update event');
  }

  return SessionUpdateEvent(
    eventId: j['event_id'] as String?,
    session: session,
  );
}