FileData.fromJson constructor

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

Implementation

factory FileData.fromJson(Map<String, dynamic> json) {
  final e = json.entries.first;
  return switch (e.key) {
    'Data' => FileDataData(
        data: FileBytes.fromJson((e.value as Map)['data'] as Map<String, dynamic>)),
    'Url' => FileDataUrl(url: (e.value as Map)['url'] as String),
    'Reference' => FileDataReference(
        reference: (e.value as Map)['reference'] as Map<String, dynamic>),
    'Text' => FileDataText(text: (e.value as Map)['text'] as String),
    _ => throw FormatException('unknown FileData tag: $e'),
  };
}