fromJson static method

BulkPreBanSummary? fromJson(
  1. dynamic value
)

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

Implementation

// ignore: prefer_constructors_over_static_methods
static BulkPreBanSummary? 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'status'), 'Required key "BulkPreBanSummary[status]" is missing from JSON.');
      assert(json[r'status'] != null, 'Required key "BulkPreBanSummary[status]" has a null value in JSON.');
      assert(json.containsKey(r'totalRelatedCommentCount'), 'Required key "BulkPreBanSummary[totalRelatedCommentCount]" is missing from JSON.');
      assert(json[r'totalRelatedCommentCount'] != null, 'Required key "BulkPreBanSummary[totalRelatedCommentCount]" has a null value in JSON.');
      assert(json.containsKey(r'emailDomains'), 'Required key "BulkPreBanSummary[emailDomains]" is missing from JSON.');
      assert(json[r'emailDomains'] != null, 'Required key "BulkPreBanSummary[emailDomains]" has a null value in JSON.');
      assert(json.containsKey(r'emails'), 'Required key "BulkPreBanSummary[emails]" is missing from JSON.');
      assert(json[r'emails'] != null, 'Required key "BulkPreBanSummary[emails]" has a null value in JSON.');
      assert(json.containsKey(r'userIds'), 'Required key "BulkPreBanSummary[userIds]" is missing from JSON.');
      assert(json[r'userIds'] != null, 'Required key "BulkPreBanSummary[userIds]" has a null value in JSON.');
      assert(json.containsKey(r'ipHashes'), 'Required key "BulkPreBanSummary[ipHashes]" is missing from JSON.');
      assert(json[r'ipHashes'] != null, 'Required key "BulkPreBanSummary[ipHashes]" has a null value in JSON.');
      return true;
    }());

    return BulkPreBanSummary(
      status: mapValueOfType<String>(json, r'status')!,
      totalRelatedCommentCount: mapValueOfType<int>(json, r'totalRelatedCommentCount')!,
      emailDomains: json[r'emailDomains'] is Iterable
          ? (json[r'emailDomains'] as Iterable).cast<String>().toList(growable: false)
          : const [],
      emails: json[r'emails'] is Iterable
          ? (json[r'emails'] as Iterable).cast<String>().toList(growable: false)
          : const [],
      userIds: json[r'userIds'] is Iterable
          ? (json[r'userIds'] as Iterable).cast<String>().toList(growable: false)
          : const [],
      ipHashes: json[r'ipHashes'] is Iterable
          ? (json[r'ipHashes'] as Iterable).cast<String>().toList(growable: false)
          : const [],
    );
  }
  return null;
}