fromJson static method

CharacterMultiFightResultSchema? fromJson(
  1. dynamic value
)

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

Implementation

// ignore: prefer_constructors_over_static_methods
static CharacterMultiFightResultSchema? 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'character_name'),
          'Required key "CharacterMultiFightResultSchema[character_name]" is missing from JSON.');
      assert(json[r'character_name'] != null,
          'Required key "CharacterMultiFightResultSchema[character_name]" has a null value in JSON.');
      assert(json.containsKey(r'xp'),
          'Required key "CharacterMultiFightResultSchema[xp]" is missing from JSON.');
      assert(json[r'xp'] != null,
          'Required key "CharacterMultiFightResultSchema[xp]" has a null value in JSON.');
      assert(json.containsKey(r'gold'),
          'Required key "CharacterMultiFightResultSchema[gold]" is missing from JSON.');
      assert(json[r'gold'] != null,
          'Required key "CharacterMultiFightResultSchema[gold]" has a null value in JSON.');
      assert(json.containsKey(r'drops'),
          'Required key "CharacterMultiFightResultSchema[drops]" is missing from JSON.');
      assert(json[r'drops'] != null,
          'Required key "CharacterMultiFightResultSchema[drops]" has a null value in JSON.');
      assert(json.containsKey(r'final_hp'),
          'Required key "CharacterMultiFightResultSchema[final_hp]" is missing from JSON.');
      assert(json[r'final_hp'] != null,
          'Required key "CharacterMultiFightResultSchema[final_hp]" has a null value in JSON.');
      return true;
    }());

    return CharacterMultiFightResultSchema(
      characterName: mapValueOfType<String>(json, r'character_name')!,
      xp: mapValueOfType<int>(json, r'xp')!,
      gold: mapValueOfType<int>(json, r'gold')!,
      drops: DropSchema.listFromJson(json[r'drops']),
      finalHp: mapValueOfType<int>(json, r'final_hp')!,
    );
  }
  return null;
}