CompressedLogBatch.fromJson constructor

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

Implementation

factory CompressedLogBatch.fromJson(Map<String, dynamic> json) {
  return CompressedLogBatch(
    id: json['id'] as String,
    timestamp: DateTime.parse(json['timestamp'] as String),
    logCount: json['logCount'] as int,
    uncompressedSize: json['uncompressedSize'] as int,
    compressedSize: json['compressedSize'] as int,
    compressionRatio: (json['compressionRatio'] as num).toDouble(),
    compressedData: base64Decode(json['compressedData'] as String),
    logLevels: (json['logLevels'] as List)
        .map(
          (l) => LogLevel.values.firstWhere(
            (level) => level.name == l,
            orElse: () => LogLevel.info,
          ),
        )
        .toList(),
    timeRange: {
      'start': DateTime.parse(json['timeRange']['start'] as String),
      'end': DateTime.parse(json['timeRange']['end'] as String),
    },
  );
}