Tracing.fromJson constructor

Tracing.fromJson(
  1. dynamic raw
)

Parse whatever the server returned (null, "auto" or {…}).

Implementation

factory Tracing.fromJson(dynamic raw) {
  if (raw == null) return const TracingDisabled();
  if (raw is String && raw == 'auto') return const TracingAuto();
  if (raw is Map<String, dynamic>) {
    return TracingDetailed(
      workflowName: raw['workflow_name'],
      groupId: raw['group_id'],
      metadata: raw['metadata']?.cast<String, dynamic>(),
    );
  }
  throw ArgumentError('Unexpected tracing value: $raw');
}