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

21 lines
508 B
Dart

import 'named_api_resource.dart';
mixin ResourceBase {
/// The raw JSON data from the API
Map<String, dynamic> get rawData;
/// Gets a resource from a NamedAPIResource
Future<T> getNamedResource<T>(NamedAPIResource resource, [T Function(dynamic value)? mapper]) async {
final mapFn = mapper ?? (dynamic value) => value as T;
return mapFn(await resource.get());
}
@override
String toString() {
return '$runtimeType${toJson()}';
}
Map<String, dynamic> toJson() => rawData;
}