diff --git a/Firestore/core/src/firebase/firestore/model/field_value.h b/Firestore/core/src/firebase/firestore/model/field_value.h index 15945b9075f..72b9481ee10 100644 --- a/Firestore/core/src/firebase/firestore/model/field_value.h +++ b/Firestore/core/src/firebase/firestore/model/field_value.h @@ -96,6 +96,11 @@ class FieldValue { return tag_; } + bool boolean_value() const { + FIREBASE_ASSERT(tag_ == Type::Boolean); + return boolean_value_; + } + int64_t integer_value() const { FIREBASE_ASSERT(tag_ == Type::Integer); return integer_value_; diff --git a/Firestore/core/src/firebase/firestore/remote/serializer.cc b/Firestore/core/src/firebase/firestore/remote/serializer.cc index 02013fa6b4b..79ed98d2b4e 100644 --- a/Firestore/core/src/firebase/firestore/remote/serializer.cc +++ b/Firestore/core/src/firebase/firestore/remote/serializer.cc @@ -131,12 +131,7 @@ void Serializer::EncodeFieldValue(const FieldValue& field_value, // TODO(rsgowman): figure out error handling abort(); } - if (field_value == FieldValue::TrueValue()) { - EncodeBool(&stream, true); - } else { - FIREBASE_DEV_ASSERT(field_value == FieldValue::FalseValue()); - EncodeBool(&stream, false); - } + EncodeBool(&stream, field_value.boolean_value()); break; case FieldValue::Type::Integer: