fromJson static method

ParticipantSeriesSubscriptionTrackMetrics? fromJson(
  1. dynamic value
)

Returns a new ParticipantSeriesSubscriptionTrackMetrics instance and imports its values from value if it's a Map, null otherwise.

Implementation

// ignore: prefer_constructors_over_static_methods
static ParticipantSeriesSubscriptionTrackMetrics? fromJson(dynamic value) {
  if (value is Map) {
    final json = value.cast<String, dynamic>();

    // Ensure that the map contains the required keys.
    // Note 1: the values aren't checked for validity beyond being non-null.
    // Note 2: this code is stripped in release mode!
    assert(() {
      assert(json.containsKey(r'publisher_user_id'),
          'Required key "ParticipantSeriesSubscriptionTrackMetrics[publisher_user_id]" is missing from JSON.');
      assert(json[r'publisher_user_id'] != null,
          'Required key "ParticipantSeriesSubscriptionTrackMetrics[publisher_user_id]" has a null value in JSON.');
      return true;
    }());

    return ParticipantSeriesSubscriptionTrackMetrics(
      publisherName: mapValueOfType<String>(json, r'publisher_name'),
      publisherUserId: mapValueOfType<String>(json, r'publisher_user_id')!,
      publisherUserSessionId:
          mapValueOfType<String>(json, r'publisher_user_session_id'),
      tracks: json[r'tracks'] == null
          ? const {}
          : ParticipantSeriesTrackMetrics.mapListFromJson(json[r'tracks']),
    );
  }
  return null;
}