FastResponseAd.fromJson constructor

FastResponseAd.fromJson(
  1. Map<String, dynamic> json
)

Creates a FastResponseAd object from a JSON map.

Implementation

factory FastResponseAd.fromJson(Map<String, dynamic> json) {
  late FastResponseAdAsset image;
  FastResponseAdRanking? ranking;
  FastResponseAdAsset? video;
  FastResponseAdMerchant? merchant;

  if (json['image'] is Map<String, dynamic>) {
    image = FastResponseAdAsset.fromJson(
      json['image'] as Map<String, dynamic>,
    );
  } else {
    // it should never happen
    image = FastResponseAdAsset.empty();
  }

  if (json['ranking'] is Map<String, dynamic>) {
    ranking = FastResponseAdRanking.fromJson(
      json['ranking'] as Map<String, dynamic>,
    );
  }

  if (json['video'] is Map<String, dynamic>) {
    video = FastResponseAdAsset.fromJson(
      json['video'] as Map<String, dynamic>,
    );
  }

  if (json['merchant'] is Map<String, dynamic>) {
    merchant = FastResponseAdMerchant.fromJson(
      json['merchant'] as Map<String, dynamic>,
    );
  }

  return FastResponseAd(
    language: json['language'] as String,
    title: json['title'] as String,
    description: json['description'] as String,
    url: json['url'] as String,
    discount: json['discount'] as String?,
    button: json['button'] as String?,
    price: json['price'] as String?,
    merchant: merchant,
    ranking: ranking,
    video: video,
    image: image,
  );
}