// GENERATED CODE - DO NOT MODIFY BY HAND

part of '../../../../data/remote/models/product.dart';

// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************

Product _$ProductFromJson(Map json) => Product(
  id: (json['id'] as num).toInt(),
  title: json['title'] as String,
  subTitle: json['sub_title'] as String,
  body: json['body'] as String,
  allergies: json['allergies'] as String,
  price: (json['price'] as num).toDouble(),
  priceComwellClub: (json['price_comwell_club'] as num?)?.toDouble(),
  estimatedDeliveryTime: json['estimated_delivery_time'] as String,
  isNew: const FlagConverter().fromJson((json['is_new'] as num).toInt()),
  images: (json['images'] as List<dynamic>)
      .map((e) => MediaImage.fromJson(Map<String, dynamic>.from(e as Map)))
      .toList(),
  options: (json['options'] as List<dynamic>)
      .map((e) => Option.fromJson(Map<String, dynamic>.from(e as Map)))
      .toList(),
  type: json['type'] as String,
);

Map<String, dynamic> _$ProductToJson(Product instance) => <String, dynamic>{
  'id': instance.id,
  'title': instance.title,
  'sub_title': instance.subTitle,
  'body': instance.body,
  'allergies': instance.allergies,
  'price': instance.price,
  'price_comwell_club': instance.priceComwellClub,
  'estimated_delivery_time': instance.estimatedDeliveryTime,
  'is_new': const FlagConverter().toJson(instance.isNew),
  'images': instance.images.map((e) => e.toJson()).toList(),
  'options': instance.options.map((e) => e.toJson()).toList(),
  'type': instance.type,
};

Option _$OptionFromJson(Map json) => Option(
  id: (json['id'] as num).toInt(),
  name: json['name'] as String,
  productId: (json['product_id'] as num).toInt(),
  answers: (json['answers'] as List<dynamic>)
      .map((e) => Answer.fromJson(Map<String, dynamic>.from(e as Map)))
      .toList(),
);

Map<String, dynamic> _$OptionToJson(Option instance) => <String, dynamic>{
  'id': instance.id,
  'name': instance.name,
  'product_id': instance.productId,
  'answers': instance.answers.map((e) => e.toJson()).toList(),
};

Answer _$AnswerFromJson(Map json) => Answer(
  id: (json['id'] as num).toInt(),
  name: json['name'] as String,
  isDefault: (json['is_default'] as num).toInt(),
  productOptionId: (json['product_option_id'] as num).toInt(),
  isSelected: json['is_selected'] as bool,
);

Map<String, dynamic> _$AnswerToJson(Answer instance) => <String, dynamic>{
  'id': instance.id,
  'name': instance.name,
  'is_default': instance.isDefault,
  'product_option_id': instance.productOptionId,
  'is_selected': instance.isSelected,
};