BloomTelemetryEvent.fromJson constructor

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

Constructs a BloomTelemetryEvent from a JSON json map.

Implementation

factory BloomTelemetryEvent.fromJson(Map<String, dynamic> json) {
  return BloomTelemetryEvent(
    eventId: json['eventId'] as String? ?? '',
    timestamp: json['timestamp'] != null
        ? DateTime.tryParse(json['timestamp'].toString()) ?? DateTime.now().toUtc()
        : DateTime.now().toUtc(),
    level: json['level'] != null
        ? BloomErrorLevel.fromJson(json['level'].toString())
        : BloomErrorLevel.error,
    exceptionType: json['exceptionType'] as String? ?? 'UnknownException',
    message: json['message'] as String? ?? '',
    stackTrace: json['stackTrace'] as String?,
    fingerprint: (json['fingerprint'] as List<dynamic>?)?.map((e) => e.toString()).toList() ?? [],
    fingerprintHash: json['fingerprintHash'] as String?,
    context: json['context'] is Map ? Map<String, dynamic>.from(json['context'] as Map) : {},
    breadcrumbs: (json['breadcrumbs'] as List<dynamic>?)
            ?.map((e) => BloomBreadcrumb.fromJson(Map<String, dynamic>.from(e as Map)))
            .toList() ??
        [],
    app: json['app'] is Map ? Map<String, dynamic>.from(json['app'] as Map) : {},
    runtime: json['runtime'] is Map ? Map<String, dynamic>.from(json['runtime'] as Map) : {},
    device: json['device'] is Map ? Map<String, dynamic>.from(json['device'] as Map) : {},
  );
}