getCardBySetCodeAndCollectorNumberAsImage method

Future<Uint8List> getCardBySetCodeAndCollectorNumberAsImage(
  1. String setCode,
  2. String collectorNumber, {
  3. Language? language,
  4. bool? backFace,
  5. ImageVersion? imageVersion,
})

GET /cards/:code/:number(/:lang)?format=image

Returns an image of a single card with the given setCode and collectorNumber.

setCode: The set code of the card.

collectorNumber: The collector number of the card.

language: The language of the card. Defaults to Language.english (en).

backFace: If true, the back face of the card is returned. Will return a 422 if this card has no back face. Defaults to false.

imageVersion: The version of the image that shall be returned. Defaults to ImageVersion.large.

Implementation

Future<Uint8List> getCardBySetCodeAndCollectorNumberAsImage(
  String setCode,
  String collectorNumber, {
  Language? language,
  bool? backFace,
  ImageVersion? imageVersion,
}) async {
  final url = Uri.https(
    _baseUrl,
    '/cards/$setCode/$collectorNumber${language != null ? '/${language.json}' : ''}',
    <String, String?>{
      'format': 'image',
      'face': backFace == true ? 'back' : null,
      'version': imageVersion?.json,
    }..removeWhere((_, value) => value == null),
  );
  final response = await _httpClient.get(url);

  if (response.statusCode != 200) {
    final json = jsonDecode(response.body) as Map<String, dynamic>;
    throw ScryfallException.fromJson(json);
  }

  return response.bodyBytes;
}