Files
pokemon_api_dart/lib/held_item.dart
Chen Asraf 9bc5f691ce feat: more types
chore: cleanup
2023-07-15 02:21:00 +03:00

49 lines
1.3 KiB
Dart

import 'base.dart';
import 'named_api_resource.dart';
class PokemonHeldItem with ResourceBase {
final NamedAPIResource item;
final List<PokemonHeldItemVersion> versionDetails;
@override
final Map<String, dynamic> rawData;
PokemonHeldItem({
required this.rawData,
required this.item,
required this.versionDetails,
});
factory PokemonHeldItem.fromJson(Map<String, dynamic> json) => PokemonHeldItem(
rawData: json,
item: NamedAPIResource.fromJson(json["item"]),
versionDetails:
List<PokemonHeldItemVersion>.from(json["version_details"].map((x) => PokemonHeldItemVersion.fromJson(x))),
);
@override
Map<String, dynamic> toJson() => {
"item": item.toJson(),
"version_details": List<dynamic>.from(versionDetails.map((x) => x.toJson())),
};
}
class PokemonHeldItemVersion with ResourceBase {
PokemonHeldItemVersion({
required this.rawData,
required this.version,
required this.rarity,
});
final NamedAPIResource version;
final int rarity;
@override
final Map<String, dynamic> rawData;
factory PokemonHeldItemVersion.fromJson(Map<String, dynamic> json) => PokemonHeldItemVersion(
rawData: json,
version: NamedAPIResource.fromJson(json["version"]),
rarity: json["rarity"],
);
}