// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'recommend_places_by_voice.data.gql.dart';

// **************************************************************************
// BuiltValueGenerator
// **************************************************************************

Serializer<GRecommendPlacesByVoiceData>
_$gRecommendPlacesByVoiceDataSerializer =
    _$GRecommendPlacesByVoiceDataSerializer();
Serializer<GRecommendPlacesByVoiceData_recommendPlacesByVoice>
_$gRecommendPlacesByVoiceDataRecommendPlacesByVoiceSerializer =
    _$GRecommendPlacesByVoiceData_recommendPlacesByVoiceSerializer();
Serializer<GRecommendPlacesByVoiceData_recommendPlacesByVoice_places>
_$gRecommendPlacesByVoiceDataRecommendPlacesByVoicePlacesSerializer =
    _$GRecommendPlacesByVoiceData_recommendPlacesByVoice_placesSerializer();
Serializer<
  GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences
>
_$gRecommendPlacesByVoiceDataRecommendPlacesByVoicePlacesExperiencesSerializer =
    _$GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiencesSerializer();

class _$GRecommendPlacesByVoiceDataSerializer
    implements StructuredSerializer<GRecommendPlacesByVoiceData> {
  @override
  final Iterable<Type> types = const [
    GRecommendPlacesByVoiceData,
    _$GRecommendPlacesByVoiceData,
  ];
  @override
  final String wireName = 'GRecommendPlacesByVoiceData';

  @override
  Iterable<Object?> serialize(
    Serializers serializers,
    GRecommendPlacesByVoiceData object, {
    FullType specifiedType = FullType.unspecified,
  }) {
    final result = <Object?>[
      '__typename',
      serializers.serialize(
        object.G__typename,
        specifiedType: const FullType(String),
      ),
      'recommendPlacesByVoice',
      serializers.serialize(
        object.recommendPlacesByVoice,
        specifiedType: const FullType(
          GRecommendPlacesByVoiceData_recommendPlacesByVoice,
        ),
      ),
    ];

    return result;
  }

  @override
  GRecommendPlacesByVoiceData deserialize(
    Serializers serializers,
    Iterable<Object?> serialized, {
    FullType specifiedType = FullType.unspecified,
  }) {
    final result = GRecommendPlacesByVoiceDataBuilder();

    final iterator = serialized.iterator;
    while (iterator.moveNext()) {
      final key = iterator.current! as String;
      iterator.moveNext();
      final Object? value = iterator.current;
      switch (key) {
        case '__typename':
          result.G__typename =
              serializers.deserialize(
                    value,
                    specifiedType: const FullType(String),
                  )!
                  as String;
          break;
        case 'recommendPlacesByVoice':
          result.recommendPlacesByVoice.replace(
            serializers.deserialize(
                  value,
                  specifiedType: const FullType(
                    GRecommendPlacesByVoiceData_recommendPlacesByVoice,
                  ),
                )!
                as GRecommendPlacesByVoiceData_recommendPlacesByVoice,
          );
          break;
      }
    }

    return result.build();
  }
}

class _$GRecommendPlacesByVoiceData_recommendPlacesByVoiceSerializer
    implements
        StructuredSerializer<
          GRecommendPlacesByVoiceData_recommendPlacesByVoice
        > {
  @override
  final Iterable<Type> types = const [
    GRecommendPlacesByVoiceData_recommendPlacesByVoice,
    _$GRecommendPlacesByVoiceData_recommendPlacesByVoice,
  ];
  @override
  final String wireName = 'GRecommendPlacesByVoiceData_recommendPlacesByVoice';

  @override
  Iterable<Object?> serialize(
    Serializers serializers,
    GRecommendPlacesByVoiceData_recommendPlacesByVoice object, {
    FullType specifiedType = FullType.unspecified,
  }) {
    final result = <Object?>[
      '__typename',
      serializers.serialize(
        object.G__typename,
        specifiedType: const FullType(String),
      ),
      'transcript',
      serializers.serialize(
        object.transcript,
        specifiedType: const FullType(String),
      ),
      'tags',
      serializers.serialize(
        object.tags,
        specifiedType: const FullType(BuiltList, const [
          const FullType(String),
        ]),
      ),
      'summary',
      serializers.serialize(
        object.summary,
        specifiedType: const FullType(String),
      ),
      'places',
      serializers.serialize(
        object.places,
        specifiedType: const FullType(BuiltList, const [
          const FullType(
            GRecommendPlacesByVoiceData_recommendPlacesByVoice_places,
          ),
        ]),
      ),
    ];

    return result;
  }

  @override
  GRecommendPlacesByVoiceData_recommendPlacesByVoice deserialize(
    Serializers serializers,
    Iterable<Object?> serialized, {
    FullType specifiedType = FullType.unspecified,
  }) {
    final result = GRecommendPlacesByVoiceData_recommendPlacesByVoiceBuilder();

    final iterator = serialized.iterator;
    while (iterator.moveNext()) {
      final key = iterator.current! as String;
      iterator.moveNext();
      final Object? value = iterator.current;
      switch (key) {
        case '__typename':
          result.G__typename =
              serializers.deserialize(
                    value,
                    specifiedType: const FullType(String),
                  )!
                  as String;
          break;
        case 'transcript':
          result.transcript =
              serializers.deserialize(
                    value,
                    specifiedType: const FullType(String),
                  )!
                  as String;
          break;
        case 'tags':
          result.tags.replace(
            serializers.deserialize(
                  value,
                  specifiedType: const FullType(BuiltList, const [
                    const FullType(String),
                  ]),
                )!
                as BuiltList<Object?>,
          );
          break;
        case 'summary':
          result.summary =
              serializers.deserialize(
                    value,
                    specifiedType: const FullType(String),
                  )!
                  as String;
          break;
        case 'places':
          result.places.replace(
            serializers.deserialize(
                  value,
                  specifiedType: const FullType(BuiltList, const [
                    const FullType(
                      GRecommendPlacesByVoiceData_recommendPlacesByVoice_places,
                    ),
                  ]),
                )!
                as BuiltList<Object?>,
          );
          break;
      }
    }

    return result.build();
  }
}

class _$GRecommendPlacesByVoiceData_recommendPlacesByVoice_placesSerializer
    implements
        StructuredSerializer<
          GRecommendPlacesByVoiceData_recommendPlacesByVoice_places
        > {
  @override
  final Iterable<Type> types = const [
    GRecommendPlacesByVoiceData_recommendPlacesByVoice_places,
    _$GRecommendPlacesByVoiceData_recommendPlacesByVoice_places,
  ];
  @override
  final String wireName =
      'GRecommendPlacesByVoiceData_recommendPlacesByVoice_places';

  @override
  Iterable<Object?> serialize(
    Serializers serializers,
    GRecommendPlacesByVoiceData_recommendPlacesByVoice_places object, {
    FullType specifiedType = FullType.unspecified,
  }) {
    final result = <Object?>[
      '__typename',
      serializers.serialize(
        object.G__typename,
        specifiedType: const FullType(String),
      ),
      'id',
      serializers.serialize(object.id, specifiedType: const FullType(String)),
      'googlePlaceId',
      serializers.serialize(
        object.googlePlaceId,
        specifiedType: const FullType(String),
      ),
      'name',
      serializers.serialize(object.name, specifiedType: const FullType(String)),
      'latitude',
      serializers.serialize(
        object.latitude,
        specifiedType: const FullType(double),
      ),
      'longitude',
      serializers.serialize(
        object.longitude,
        specifiedType: const FullType(double),
      ),
      'googleTypes',
      serializers.serialize(
        object.googleTypes,
        specifiedType: const FullType(BuiltList, const [
          const FullType(String),
        ]),
      ),
      'photoUrls',
      serializers.serialize(
        object.photoUrls,
        specifiedType: const FullType(BuiltList, const [
          const FullType(String),
        ]),
      ),
      'traits',
      serializers.serialize(
        object.traits,
        specifiedType: const FullType(BuiltList, const [
          const FullType(String),
        ]),
      ),
      'isFavorite',
      serializers.serialize(
        object.isFavorite,
        specifiedType: const FullType(bool),
      ),
      'experiences',
      serializers.serialize(
        object.experiences,
        specifiedType: const FullType(BuiltList, const [
          const FullType(
            GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences,
          ),
        ]),
      ),
    ];
    Object? value;
    value = object.googlePrimaryType;
    if (value != null) {
      result
        ..add('googlePrimaryType')
        ..add(
          serializers.serialize(value, specifiedType: const FullType(String)),
        );
    }
    value = object.googleBusinessStatus;
    if (value != null) {
      result
        ..add('googleBusinessStatus')
        ..add(
          serializers.serialize(value, specifiedType: const FullType(String)),
        );
    }
    value = object.googleRating;
    if (value != null) {
      result
        ..add('googleRating')
        ..add(
          serializers.serialize(value, specifiedType: const FullType(double)),
        );
    }
    value = object.googleUserRatingCount;
    if (value != null) {
      result
        ..add('googleUserRatingCount')
        ..add(serializers.serialize(value, specifiedType: const FullType(int)));
    }
    value = object.googleRegularOpeningHours;
    if (value != null) {
      result
        ..add('googleRegularOpeningHours')
        ..add(
          serializers.serialize(
            value,
            specifiedType: const FullType(_i2.JsonObject),
          ),
        );
    }
    value = object.googleCurrentOpeningHours;
    if (value != null) {
      result
        ..add('googleCurrentOpeningHours')
        ..add(
          serializers.serialize(
            value,
            specifiedType: const FullType(_i2.JsonObject),
          ),
        );
    }
    return result;
  }

  @override
  GRecommendPlacesByVoiceData_recommendPlacesByVoice_places deserialize(
    Serializers serializers,
    Iterable<Object?> serialized, {
    FullType specifiedType = FullType.unspecified,
  }) {
    final result =
        GRecommendPlacesByVoiceData_recommendPlacesByVoice_placesBuilder();

    final iterator = serialized.iterator;
    while (iterator.moveNext()) {
      final key = iterator.current! as String;
      iterator.moveNext();
      final Object? value = iterator.current;
      switch (key) {
        case '__typename':
          result.G__typename =
              serializers.deserialize(
                    value,
                    specifiedType: const FullType(String),
                  )!
                  as String;
          break;
        case 'id':
          result.id =
              serializers.deserialize(
                    value,
                    specifiedType: const FullType(String),
                  )!
                  as String;
          break;
        case 'googlePlaceId':
          result.googlePlaceId =
              serializers.deserialize(
                    value,
                    specifiedType: const FullType(String),
                  )!
                  as String;
          break;
        case 'name':
          result.name =
              serializers.deserialize(
                    value,
                    specifiedType: const FullType(String),
                  )!
                  as String;
          break;
        case 'latitude':
          result.latitude =
              serializers.deserialize(
                    value,
                    specifiedType: const FullType(double),
                  )!
                  as double;
          break;
        case 'longitude':
          result.longitude =
              serializers.deserialize(
                    value,
                    specifiedType: const FullType(double),
                  )!
                  as double;
          break;
        case 'googlePrimaryType':
          result.googlePrimaryType =
              serializers.deserialize(
                    value,
                    specifiedType: const FullType(String),
                  )
                  as String?;
          break;
        case 'googleTypes':
          result.googleTypes.replace(
            serializers.deserialize(
                  value,
                  specifiedType: const FullType(BuiltList, const [
                    const FullType(String),
                  ]),
                )!
                as BuiltList<Object?>,
          );
          break;
        case 'googleBusinessStatus':
          result.googleBusinessStatus =
              serializers.deserialize(
                    value,
                    specifiedType: const FullType(String),
                  )
                  as String?;
          break;
        case 'googleRating':
          result.googleRating =
              serializers.deserialize(
                    value,
                    specifiedType: const FullType(double),
                  )
                  as double?;
          break;
        case 'googleUserRatingCount':
          result.googleUserRatingCount =
              serializers.deserialize(value, specifiedType: const FullType(int))
                  as int?;
          break;
        case 'googleRegularOpeningHours':
          result.googleRegularOpeningHours =
              serializers.deserialize(
                    value,
                    specifiedType: const FullType(_i2.JsonObject),
                  )
                  as _i2.JsonObject?;
          break;
        case 'googleCurrentOpeningHours':
          result.googleCurrentOpeningHours =
              serializers.deserialize(
                    value,
                    specifiedType: const FullType(_i2.JsonObject),
                  )
                  as _i2.JsonObject?;
          break;
        case 'photoUrls':
          result.photoUrls.replace(
            serializers.deserialize(
                  value,
                  specifiedType: const FullType(BuiltList, const [
                    const FullType(String),
                  ]),
                )!
                as BuiltList<Object?>,
          );
          break;
        case 'traits':
          result.traits.replace(
            serializers.deserialize(
                  value,
                  specifiedType: const FullType(BuiltList, const [
                    const FullType(String),
                  ]),
                )!
                as BuiltList<Object?>,
          );
          break;
        case 'isFavorite':
          result.isFavorite =
              serializers.deserialize(
                    value,
                    specifiedType: const FullType(bool),
                  )!
                  as bool;
          break;
        case 'experiences':
          result.experiences.replace(
            serializers.deserialize(
                  value,
                  specifiedType: const FullType(BuiltList, const [
                    const FullType(
                      GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences,
                    ),
                  ]),
                )!
                as BuiltList<Object?>,
          );
          break;
      }
    }

    return result.build();
  }
}

class _$GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiencesSerializer
    implements
        StructuredSerializer<
          GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences
        > {
  @override
  final Iterable<Type> types = const [
    GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences,
    _$GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences,
  ];
  @override
  final String wireName =
      'GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences';

  @override
  Iterable<Object?> serialize(
    Serializers serializers,
    GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences
    object, {
    FullType specifiedType = FullType.unspecified,
  }) {
    final result = <Object?>[
      '__typename',
      serializers.serialize(
        object.G__typename,
        specifiedType: const FullType(String),
      ),
      'id',
      serializers.serialize(object.id, specifiedType: const FullType(String)),
      'status',
      serializers.serialize(
        object.status,
        specifiedType: const FullType(_i3.GVoiceExperienceStatus),
      ),
      'createdAt',
      serializers.serialize(
        object.createdAt,
        specifiedType: const FullType(String),
      ),
    ];

    return result;
  }

  @override
  GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences
  deserialize(
    Serializers serializers,
    Iterable<Object?> serialized, {
    FullType specifiedType = FullType.unspecified,
  }) {
    final result =
        GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiencesBuilder();

    final iterator = serialized.iterator;
    while (iterator.moveNext()) {
      final key = iterator.current! as String;
      iterator.moveNext();
      final Object? value = iterator.current;
      switch (key) {
        case '__typename':
          result.G__typename =
              serializers.deserialize(
                    value,
                    specifiedType: const FullType(String),
                  )!
                  as String;
          break;
        case 'id':
          result.id =
              serializers.deserialize(
                    value,
                    specifiedType: const FullType(String),
                  )!
                  as String;
          break;
        case 'status':
          result.status =
              serializers.deserialize(
                    value,
                    specifiedType: const FullType(_i3.GVoiceExperienceStatus),
                  )!
                  as _i3.GVoiceExperienceStatus;
          break;
        case 'createdAt':
          result.createdAt =
              serializers.deserialize(
                    value,
                    specifiedType: const FullType(String),
                  )!
                  as String;
          break;
      }
    }

    return result.build();
  }
}

class _$GRecommendPlacesByVoiceData extends GRecommendPlacesByVoiceData {
  @override
  final String G__typename;
  @override
  final GRecommendPlacesByVoiceData_recommendPlacesByVoice
  recommendPlacesByVoice;

  factory _$GRecommendPlacesByVoiceData([
    void Function(GRecommendPlacesByVoiceDataBuilder)? updates,
  ]) => (GRecommendPlacesByVoiceDataBuilder()..update(updates))._build();

  _$GRecommendPlacesByVoiceData._({
    required this.G__typename,
    required this.recommendPlacesByVoice,
  }) : super._();
  @override
  GRecommendPlacesByVoiceData rebuild(
    void Function(GRecommendPlacesByVoiceDataBuilder) updates,
  ) => (toBuilder()..update(updates)).build();

  @override
  GRecommendPlacesByVoiceDataBuilder toBuilder() =>
      GRecommendPlacesByVoiceDataBuilder()..replace(this);

  @override
  bool operator ==(Object other) {
    if (identical(other, this)) return true;
    return other is GRecommendPlacesByVoiceData &&
        G__typename == other.G__typename &&
        recommendPlacesByVoice == other.recommendPlacesByVoice;
  }

  @override
  int get hashCode {
    var _$hash = 0;
    _$hash = $jc(_$hash, G__typename.hashCode);
    _$hash = $jc(_$hash, recommendPlacesByVoice.hashCode);
    _$hash = $jf(_$hash);
    return _$hash;
  }

  @override
  String toString() {
    return (newBuiltValueToStringHelper(r'GRecommendPlacesByVoiceData')
          ..add('G__typename', G__typename)
          ..add('recommendPlacesByVoice', recommendPlacesByVoice))
        .toString();
  }
}

class GRecommendPlacesByVoiceDataBuilder
    implements
        Builder<
          GRecommendPlacesByVoiceData,
          GRecommendPlacesByVoiceDataBuilder
        > {
  _$GRecommendPlacesByVoiceData? _$v;

  String? _G__typename;
  String? get G__typename => _$this._G__typename;
  set G__typename(String? G__typename) => _$this._G__typename = G__typename;

  GRecommendPlacesByVoiceData_recommendPlacesByVoiceBuilder?
  _recommendPlacesByVoice;
  GRecommendPlacesByVoiceData_recommendPlacesByVoiceBuilder
  get recommendPlacesByVoice => _$this._recommendPlacesByVoice ??=
      GRecommendPlacesByVoiceData_recommendPlacesByVoiceBuilder();
  set recommendPlacesByVoice(
    GRecommendPlacesByVoiceData_recommendPlacesByVoiceBuilder?
    recommendPlacesByVoice,
  ) => _$this._recommendPlacesByVoice = recommendPlacesByVoice;

  GRecommendPlacesByVoiceDataBuilder() {
    GRecommendPlacesByVoiceData._initializeBuilder(this);
  }

  GRecommendPlacesByVoiceDataBuilder get _$this {
    final $v = _$v;
    if ($v != null) {
      _G__typename = $v.G__typename;
      _recommendPlacesByVoice = $v.recommendPlacesByVoice.toBuilder();
      _$v = null;
    }
    return this;
  }

  @override
  void replace(GRecommendPlacesByVoiceData other) {
    _$v = other as _$GRecommendPlacesByVoiceData;
  }

  @override
  void update(void Function(GRecommendPlacesByVoiceDataBuilder)? updates) {
    if (updates != null) updates(this);
  }

  @override
  GRecommendPlacesByVoiceData build() => _build();

  _$GRecommendPlacesByVoiceData _build() {
    _$GRecommendPlacesByVoiceData _$result;
    try {
      _$result =
          _$v ??
          _$GRecommendPlacesByVoiceData._(
            G__typename: BuiltValueNullFieldError.checkNotNull(
              G__typename,
              r'GRecommendPlacesByVoiceData',
              'G__typename',
            ),
            recommendPlacesByVoice: recommendPlacesByVoice.build(),
          );
    } catch (_) {
      late String _$failedField;
      try {
        _$failedField = 'recommendPlacesByVoice';
        recommendPlacesByVoice.build();
      } catch (e) {
        throw BuiltValueNestedFieldError(
          r'GRecommendPlacesByVoiceData',
          _$failedField,
          e.toString(),
        );
      }
      rethrow;
    }
    replace(_$result);
    return _$result;
  }
}

class _$GRecommendPlacesByVoiceData_recommendPlacesByVoice
    extends GRecommendPlacesByVoiceData_recommendPlacesByVoice {
  @override
  final String G__typename;
  @override
  final String transcript;
  @override
  final BuiltList<String> tags;
  @override
  final String summary;
  @override
  final BuiltList<GRecommendPlacesByVoiceData_recommendPlacesByVoice_places>
  places;

  factory _$GRecommendPlacesByVoiceData_recommendPlacesByVoice([
    void Function(GRecommendPlacesByVoiceData_recommendPlacesByVoiceBuilder)?
    updates,
  ]) =>
      (GRecommendPlacesByVoiceData_recommendPlacesByVoiceBuilder()
            ..update(updates))
          ._build();

  _$GRecommendPlacesByVoiceData_recommendPlacesByVoice._({
    required this.G__typename,
    required this.transcript,
    required this.tags,
    required this.summary,
    required this.places,
  }) : super._();
  @override
  GRecommendPlacesByVoiceData_recommendPlacesByVoice rebuild(
    void Function(GRecommendPlacesByVoiceData_recommendPlacesByVoiceBuilder)
    updates,
  ) => (toBuilder()..update(updates)).build();

  @override
  GRecommendPlacesByVoiceData_recommendPlacesByVoiceBuilder toBuilder() =>
      GRecommendPlacesByVoiceData_recommendPlacesByVoiceBuilder()
        ..replace(this);

  @override
  bool operator ==(Object other) {
    if (identical(other, this)) return true;
    return other is GRecommendPlacesByVoiceData_recommendPlacesByVoice &&
        G__typename == other.G__typename &&
        transcript == other.transcript &&
        tags == other.tags &&
        summary == other.summary &&
        places == other.places;
  }

  @override
  int get hashCode {
    var _$hash = 0;
    _$hash = $jc(_$hash, G__typename.hashCode);
    _$hash = $jc(_$hash, transcript.hashCode);
    _$hash = $jc(_$hash, tags.hashCode);
    _$hash = $jc(_$hash, summary.hashCode);
    _$hash = $jc(_$hash, places.hashCode);
    _$hash = $jf(_$hash);
    return _$hash;
  }

  @override
  String toString() {
    return (newBuiltValueToStringHelper(
            r'GRecommendPlacesByVoiceData_recommendPlacesByVoice',
          )
          ..add('G__typename', G__typename)
          ..add('transcript', transcript)
          ..add('tags', tags)
          ..add('summary', summary)
          ..add('places', places))
        .toString();
  }
}

class GRecommendPlacesByVoiceData_recommendPlacesByVoiceBuilder
    implements
        Builder<
          GRecommendPlacesByVoiceData_recommendPlacesByVoice,
          GRecommendPlacesByVoiceData_recommendPlacesByVoiceBuilder
        > {
  _$GRecommendPlacesByVoiceData_recommendPlacesByVoice? _$v;

  String? _G__typename;
  String? get G__typename => _$this._G__typename;
  set G__typename(String? G__typename) => _$this._G__typename = G__typename;

  String? _transcript;
  String? get transcript => _$this._transcript;
  set transcript(String? transcript) => _$this._transcript = transcript;

  ListBuilder<String>? _tags;
  ListBuilder<String> get tags => _$this._tags ??= ListBuilder<String>();
  set tags(ListBuilder<String>? tags) => _$this._tags = tags;

  String? _summary;
  String? get summary => _$this._summary;
  set summary(String? summary) => _$this._summary = summary;

  ListBuilder<GRecommendPlacesByVoiceData_recommendPlacesByVoice_places>?
  _places;
  ListBuilder<GRecommendPlacesByVoiceData_recommendPlacesByVoice_places>
  get places => _$this._places ??=
      ListBuilder<GRecommendPlacesByVoiceData_recommendPlacesByVoice_places>();
  set places(
    ListBuilder<GRecommendPlacesByVoiceData_recommendPlacesByVoice_places>?
    places,
  ) => _$this._places = places;

  GRecommendPlacesByVoiceData_recommendPlacesByVoiceBuilder() {
    GRecommendPlacesByVoiceData_recommendPlacesByVoice._initializeBuilder(this);
  }

  GRecommendPlacesByVoiceData_recommendPlacesByVoiceBuilder get _$this {
    final $v = _$v;
    if ($v != null) {
      _G__typename = $v.G__typename;
      _transcript = $v.transcript;
      _tags = $v.tags.toBuilder();
      _summary = $v.summary;
      _places = $v.places.toBuilder();
      _$v = null;
    }
    return this;
  }

  @override
  void replace(GRecommendPlacesByVoiceData_recommendPlacesByVoice other) {
    _$v = other as _$GRecommendPlacesByVoiceData_recommendPlacesByVoice;
  }

  @override
  void update(
    void Function(GRecommendPlacesByVoiceData_recommendPlacesByVoiceBuilder)?
    updates,
  ) {
    if (updates != null) updates(this);
  }

  @override
  GRecommendPlacesByVoiceData_recommendPlacesByVoice build() => _build();

  _$GRecommendPlacesByVoiceData_recommendPlacesByVoice _build() {
    _$GRecommendPlacesByVoiceData_recommendPlacesByVoice _$result;
    try {
      _$result =
          _$v ??
          _$GRecommendPlacesByVoiceData_recommendPlacesByVoice._(
            G__typename: BuiltValueNullFieldError.checkNotNull(
              G__typename,
              r'GRecommendPlacesByVoiceData_recommendPlacesByVoice',
              'G__typename',
            ),
            transcript: BuiltValueNullFieldError.checkNotNull(
              transcript,
              r'GRecommendPlacesByVoiceData_recommendPlacesByVoice',
              'transcript',
            ),
            tags: tags.build(),
            summary: BuiltValueNullFieldError.checkNotNull(
              summary,
              r'GRecommendPlacesByVoiceData_recommendPlacesByVoice',
              'summary',
            ),
            places: places.build(),
          );
    } catch (_) {
      late String _$failedField;
      try {
        _$failedField = 'tags';
        tags.build();

        _$failedField = 'places';
        places.build();
      } catch (e) {
        throw BuiltValueNestedFieldError(
          r'GRecommendPlacesByVoiceData_recommendPlacesByVoice',
          _$failedField,
          e.toString(),
        );
      }
      rethrow;
    }
    replace(_$result);
    return _$result;
  }
}

class _$GRecommendPlacesByVoiceData_recommendPlacesByVoice_places
    extends GRecommendPlacesByVoiceData_recommendPlacesByVoice_places {
  @override
  final String G__typename;
  @override
  final String id;
  @override
  final String googlePlaceId;
  @override
  final String name;
  @override
  final double latitude;
  @override
  final double longitude;
  @override
  final String? googlePrimaryType;
  @override
  final BuiltList<String> googleTypes;
  @override
  final String? googleBusinessStatus;
  @override
  final double? googleRating;
  @override
  final int? googleUserRatingCount;
  @override
  final _i2.JsonObject? googleRegularOpeningHours;
  @override
  final _i2.JsonObject? googleCurrentOpeningHours;
  @override
  final BuiltList<String> photoUrls;
  @override
  final BuiltList<String> traits;
  @override
  final bool isFavorite;
  @override
  final BuiltList<
    GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences
  >
  experiences;

  factory _$GRecommendPlacesByVoiceData_recommendPlacesByVoice_places([
    void Function(
      GRecommendPlacesByVoiceData_recommendPlacesByVoice_placesBuilder,
    )?
    updates,
  ]) =>
      (GRecommendPlacesByVoiceData_recommendPlacesByVoice_placesBuilder()
            ..update(updates))
          ._build();

  _$GRecommendPlacesByVoiceData_recommendPlacesByVoice_places._({
    required this.G__typename,
    required this.id,
    required this.googlePlaceId,
    required this.name,
    required this.latitude,
    required this.longitude,
    this.googlePrimaryType,
    required this.googleTypes,
    this.googleBusinessStatus,
    this.googleRating,
    this.googleUserRatingCount,
    this.googleRegularOpeningHours,
    this.googleCurrentOpeningHours,
    required this.photoUrls,
    required this.traits,
    required this.isFavorite,
    required this.experiences,
  }) : super._();
  @override
  GRecommendPlacesByVoiceData_recommendPlacesByVoice_places rebuild(
    void Function(
      GRecommendPlacesByVoiceData_recommendPlacesByVoice_placesBuilder,
    )
    updates,
  ) => (toBuilder()..update(updates)).build();

  @override
  GRecommendPlacesByVoiceData_recommendPlacesByVoice_placesBuilder
  toBuilder() =>
      GRecommendPlacesByVoiceData_recommendPlacesByVoice_placesBuilder()
        ..replace(this);

  @override
  bool operator ==(Object other) {
    if (identical(other, this)) return true;
    return other is GRecommendPlacesByVoiceData_recommendPlacesByVoice_places &&
        G__typename == other.G__typename &&
        id == other.id &&
        googlePlaceId == other.googlePlaceId &&
        name == other.name &&
        latitude == other.latitude &&
        longitude == other.longitude &&
        googlePrimaryType == other.googlePrimaryType &&
        googleTypes == other.googleTypes &&
        googleBusinessStatus == other.googleBusinessStatus &&
        googleRating == other.googleRating &&
        googleUserRatingCount == other.googleUserRatingCount &&
        googleRegularOpeningHours == other.googleRegularOpeningHours &&
        googleCurrentOpeningHours == other.googleCurrentOpeningHours &&
        photoUrls == other.photoUrls &&
        traits == other.traits &&
        isFavorite == other.isFavorite &&
        experiences == other.experiences;
  }

  @override
  int get hashCode {
    var _$hash = 0;
    _$hash = $jc(_$hash, G__typename.hashCode);
    _$hash = $jc(_$hash, id.hashCode);
    _$hash = $jc(_$hash, googlePlaceId.hashCode);
    _$hash = $jc(_$hash, name.hashCode);
    _$hash = $jc(_$hash, latitude.hashCode);
    _$hash = $jc(_$hash, longitude.hashCode);
    _$hash = $jc(_$hash, googlePrimaryType.hashCode);
    _$hash = $jc(_$hash, googleTypes.hashCode);
    _$hash = $jc(_$hash, googleBusinessStatus.hashCode);
    _$hash = $jc(_$hash, googleRating.hashCode);
    _$hash = $jc(_$hash, googleUserRatingCount.hashCode);
    _$hash = $jc(_$hash, googleRegularOpeningHours.hashCode);
    _$hash = $jc(_$hash, googleCurrentOpeningHours.hashCode);
    _$hash = $jc(_$hash, photoUrls.hashCode);
    _$hash = $jc(_$hash, traits.hashCode);
    _$hash = $jc(_$hash, isFavorite.hashCode);
    _$hash = $jc(_$hash, experiences.hashCode);
    _$hash = $jf(_$hash);
    return _$hash;
  }

  @override
  String toString() {
    return (newBuiltValueToStringHelper(
            r'GRecommendPlacesByVoiceData_recommendPlacesByVoice_places',
          )
          ..add('G__typename', G__typename)
          ..add('id', id)
          ..add('googlePlaceId', googlePlaceId)
          ..add('name', name)
          ..add('latitude', latitude)
          ..add('longitude', longitude)
          ..add('googlePrimaryType', googlePrimaryType)
          ..add('googleTypes', googleTypes)
          ..add('googleBusinessStatus', googleBusinessStatus)
          ..add('googleRating', googleRating)
          ..add('googleUserRatingCount', googleUserRatingCount)
          ..add('googleRegularOpeningHours', googleRegularOpeningHours)
          ..add('googleCurrentOpeningHours', googleCurrentOpeningHours)
          ..add('photoUrls', photoUrls)
          ..add('traits', traits)
          ..add('isFavorite', isFavorite)
          ..add('experiences', experiences))
        .toString();
  }
}

class GRecommendPlacesByVoiceData_recommendPlacesByVoice_placesBuilder
    implements
        Builder<
          GRecommendPlacesByVoiceData_recommendPlacesByVoice_places,
          GRecommendPlacesByVoiceData_recommendPlacesByVoice_placesBuilder
        > {
  _$GRecommendPlacesByVoiceData_recommendPlacesByVoice_places? _$v;

  String? _G__typename;
  String? get G__typename => _$this._G__typename;
  set G__typename(String? G__typename) => _$this._G__typename = G__typename;

  String? _id;
  String? get id => _$this._id;
  set id(String? id) => _$this._id = id;

  String? _googlePlaceId;
  String? get googlePlaceId => _$this._googlePlaceId;
  set googlePlaceId(String? googlePlaceId) =>
      _$this._googlePlaceId = googlePlaceId;

  String? _name;
  String? get name => _$this._name;
  set name(String? name) => _$this._name = name;

  double? _latitude;
  double? get latitude => _$this._latitude;
  set latitude(double? latitude) => _$this._latitude = latitude;

  double? _longitude;
  double? get longitude => _$this._longitude;
  set longitude(double? longitude) => _$this._longitude = longitude;

  String? _googlePrimaryType;
  String? get googlePrimaryType => _$this._googlePrimaryType;
  set googlePrimaryType(String? googlePrimaryType) =>
      _$this._googlePrimaryType = googlePrimaryType;

  ListBuilder<String>? _googleTypes;
  ListBuilder<String> get googleTypes =>
      _$this._googleTypes ??= ListBuilder<String>();
  set googleTypes(ListBuilder<String>? googleTypes) =>
      _$this._googleTypes = googleTypes;

  String? _googleBusinessStatus;
  String? get googleBusinessStatus => _$this._googleBusinessStatus;
  set googleBusinessStatus(String? googleBusinessStatus) =>
      _$this._googleBusinessStatus = googleBusinessStatus;

  double? _googleRating;
  double? get googleRating => _$this._googleRating;
  set googleRating(double? googleRating) => _$this._googleRating = googleRating;

  int? _googleUserRatingCount;
  int? get googleUserRatingCount => _$this._googleUserRatingCount;
  set googleUserRatingCount(int? googleUserRatingCount) =>
      _$this._googleUserRatingCount = googleUserRatingCount;

  _i2.JsonObject? _googleRegularOpeningHours;
  _i2.JsonObject? get googleRegularOpeningHours =>
      _$this._googleRegularOpeningHours;
  set googleRegularOpeningHours(_i2.JsonObject? googleRegularOpeningHours) =>
      _$this._googleRegularOpeningHours = googleRegularOpeningHours;

  _i2.JsonObject? _googleCurrentOpeningHours;
  _i2.JsonObject? get googleCurrentOpeningHours =>
      _$this._googleCurrentOpeningHours;
  set googleCurrentOpeningHours(_i2.JsonObject? googleCurrentOpeningHours) =>
      _$this._googleCurrentOpeningHours = googleCurrentOpeningHours;

  ListBuilder<String>? _photoUrls;
  ListBuilder<String> get photoUrls =>
      _$this._photoUrls ??= ListBuilder<String>();
  set photoUrls(ListBuilder<String>? photoUrls) =>
      _$this._photoUrls = photoUrls;

  ListBuilder<String>? _traits;
  ListBuilder<String> get traits => _$this._traits ??= ListBuilder<String>();
  set traits(ListBuilder<String>? traits) => _$this._traits = traits;

  bool? _isFavorite;
  bool? get isFavorite => _$this._isFavorite;
  set isFavorite(bool? isFavorite) => _$this._isFavorite = isFavorite;

  ListBuilder<
    GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences
  >?
  _experiences;
  ListBuilder<
    GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences
  >
  get experiences => _$this._experiences ??=
      ListBuilder<
        GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences
      >();
  set experiences(
    ListBuilder<
      GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences
    >?
    experiences,
  ) => _$this._experiences = experiences;

  GRecommendPlacesByVoiceData_recommendPlacesByVoice_placesBuilder() {
    GRecommendPlacesByVoiceData_recommendPlacesByVoice_places._initializeBuilder(
      this,
    );
  }

  GRecommendPlacesByVoiceData_recommendPlacesByVoice_placesBuilder get _$this {
    final $v = _$v;
    if ($v != null) {
      _G__typename = $v.G__typename;
      _id = $v.id;
      _googlePlaceId = $v.googlePlaceId;
      _name = $v.name;
      _latitude = $v.latitude;
      _longitude = $v.longitude;
      _googlePrimaryType = $v.googlePrimaryType;
      _googleTypes = $v.googleTypes.toBuilder();
      _googleBusinessStatus = $v.googleBusinessStatus;
      _googleRating = $v.googleRating;
      _googleUserRatingCount = $v.googleUserRatingCount;
      _googleRegularOpeningHours = $v.googleRegularOpeningHours;
      _googleCurrentOpeningHours = $v.googleCurrentOpeningHours;
      _photoUrls = $v.photoUrls.toBuilder();
      _traits = $v.traits.toBuilder();
      _isFavorite = $v.isFavorite;
      _experiences = $v.experiences.toBuilder();
      _$v = null;
    }
    return this;
  }

  @override
  void replace(
    GRecommendPlacesByVoiceData_recommendPlacesByVoice_places other,
  ) {
    _$v = other as _$GRecommendPlacesByVoiceData_recommendPlacesByVoice_places;
  }

  @override
  void update(
    void Function(
      GRecommendPlacesByVoiceData_recommendPlacesByVoice_placesBuilder,
    )?
    updates,
  ) {
    if (updates != null) updates(this);
  }

  @override
  GRecommendPlacesByVoiceData_recommendPlacesByVoice_places build() => _build();

  _$GRecommendPlacesByVoiceData_recommendPlacesByVoice_places _build() {
    _$GRecommendPlacesByVoiceData_recommendPlacesByVoice_places _$result;
    try {
      _$result =
          _$v ??
          _$GRecommendPlacesByVoiceData_recommendPlacesByVoice_places._(
            G__typename: BuiltValueNullFieldError.checkNotNull(
              G__typename,
              r'GRecommendPlacesByVoiceData_recommendPlacesByVoice_places',
              'G__typename',
            ),
            id: BuiltValueNullFieldError.checkNotNull(
              id,
              r'GRecommendPlacesByVoiceData_recommendPlacesByVoice_places',
              'id',
            ),
            googlePlaceId: BuiltValueNullFieldError.checkNotNull(
              googlePlaceId,
              r'GRecommendPlacesByVoiceData_recommendPlacesByVoice_places',
              'googlePlaceId',
            ),
            name: BuiltValueNullFieldError.checkNotNull(
              name,
              r'GRecommendPlacesByVoiceData_recommendPlacesByVoice_places',
              'name',
            ),
            latitude: BuiltValueNullFieldError.checkNotNull(
              latitude,
              r'GRecommendPlacesByVoiceData_recommendPlacesByVoice_places',
              'latitude',
            ),
            longitude: BuiltValueNullFieldError.checkNotNull(
              longitude,
              r'GRecommendPlacesByVoiceData_recommendPlacesByVoice_places',
              'longitude',
            ),
            googlePrimaryType: googlePrimaryType,
            googleTypes: googleTypes.build(),
            googleBusinessStatus: googleBusinessStatus,
            googleRating: googleRating,
            googleUserRatingCount: googleUserRatingCount,
            googleRegularOpeningHours: googleRegularOpeningHours,
            googleCurrentOpeningHours: googleCurrentOpeningHours,
            photoUrls: photoUrls.build(),
            traits: traits.build(),
            isFavorite: BuiltValueNullFieldError.checkNotNull(
              isFavorite,
              r'GRecommendPlacesByVoiceData_recommendPlacesByVoice_places',
              'isFavorite',
            ),
            experiences: experiences.build(),
          );
    } catch (_) {
      late String _$failedField;
      try {
        _$failedField = 'googleTypes';
        googleTypes.build();

        _$failedField = 'photoUrls';
        photoUrls.build();
        _$failedField = 'traits';
        traits.build();

        _$failedField = 'experiences';
        experiences.build();
      } catch (e) {
        throw BuiltValueNestedFieldError(
          r'GRecommendPlacesByVoiceData_recommendPlacesByVoice_places',
          _$failedField,
          e.toString(),
        );
      }
      rethrow;
    }
    replace(_$result);
    return _$result;
  }
}

class _$GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences
    extends
        GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences {
  @override
  final String G__typename;
  @override
  final String id;
  @override
  final _i3.GVoiceExperienceStatus status;
  @override
  final String createdAt;

  factory _$GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences([
    void Function(
      GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiencesBuilder,
    )?
    updates,
  ]) =>
      (GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiencesBuilder()
            ..update(updates))
          ._build();

  _$GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences._({
    required this.G__typename,
    required this.id,
    required this.status,
    required this.createdAt,
  }) : super._();
  @override
  GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences rebuild(
    void Function(
      GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiencesBuilder,
    )
    updates,
  ) => (toBuilder()..update(updates)).build();

  @override
  GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiencesBuilder
  toBuilder() =>
      GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiencesBuilder()
        ..replace(this);

  @override
  bool operator ==(Object other) {
    if (identical(other, this)) return true;
    return other
            is GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences &&
        G__typename == other.G__typename &&
        id == other.id &&
        status == other.status &&
        createdAt == other.createdAt;
  }

  @override
  int get hashCode {
    var _$hash = 0;
    _$hash = $jc(_$hash, G__typename.hashCode);
    _$hash = $jc(_$hash, id.hashCode);
    _$hash = $jc(_$hash, status.hashCode);
    _$hash = $jc(_$hash, createdAt.hashCode);
    _$hash = $jf(_$hash);
    return _$hash;
  }

  @override
  String toString() {
    return (newBuiltValueToStringHelper(
            r'GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences',
          )
          ..add('G__typename', G__typename)
          ..add('id', id)
          ..add('status', status)
          ..add('createdAt', createdAt))
        .toString();
  }
}

class GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiencesBuilder
    implements
        Builder<
          GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences,
          GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiencesBuilder
        > {
  _$GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences? _$v;

  String? _G__typename;
  String? get G__typename => _$this._G__typename;
  set G__typename(String? G__typename) => _$this._G__typename = G__typename;

  String? _id;
  String? get id => _$this._id;
  set id(String? id) => _$this._id = id;

  _i3.GVoiceExperienceStatus? _status;
  _i3.GVoiceExperienceStatus? get status => _$this._status;
  set status(_i3.GVoiceExperienceStatus? status) => _$this._status = status;

  String? _createdAt;
  String? get createdAt => _$this._createdAt;
  set createdAt(String? createdAt) => _$this._createdAt = createdAt;

  GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiencesBuilder() {
    GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences._initializeBuilder(
      this,
    );
  }

  GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiencesBuilder
  get _$this {
    final $v = _$v;
    if ($v != null) {
      _G__typename = $v.G__typename;
      _id = $v.id;
      _status = $v.status;
      _createdAt = $v.createdAt;
      _$v = null;
    }
    return this;
  }

  @override
  void replace(
    GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences other,
  ) {
    _$v =
        other
            as _$GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences;
  }

  @override
  void update(
    void Function(
      GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiencesBuilder,
    )?
    updates,
  ) {
    if (updates != null) updates(this);
  }

  @override
  GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences
  build() => _build();

  _$GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences
  _build() {
    final _$result =
        _$v ??
        _$GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences._(
          G__typename: BuiltValueNullFieldError.checkNotNull(
            G__typename,
            r'GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences',
            'G__typename',
          ),
          id: BuiltValueNullFieldError.checkNotNull(
            id,
            r'GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences',
            'id',
          ),
          status: BuiltValueNullFieldError.checkNotNull(
            status,
            r'GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences',
            'status',
          ),
          createdAt: BuiltValueNullFieldError.checkNotNull(
            createdAt,
            r'GRecommendPlacesByVoiceData_recommendPlacesByVoice_places_experiences',
            'createdAt',
          ),
        );
    replace(_$result);
    return _$result;
  }
}

// ignore_for_file: deprecated_member_use_from_same_package,type=lint
