aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firestore/core/src/firebase/firestore/model
diff options
context:
space:
mode:
authorGravatar Michael Lehenbauer <mikelehen@gmail.com>2018-04-16 16:04:26 -0700
committerGravatar GitHub <noreply@github.com>2018-04-16 16:04:26 -0700
commit360e58901c359d7d21da4fff8043894c843427b7 (patch)
tree85c61e3833af53e24dd7f9e61e6fade1586227e1 /Firestore/core/src/firebase/firestore/model
parent33701fbc9c34d221fef330c934271a028daea0e5 (diff)
Implement local and server application of arrayUnion and arrayRemove transforms. (#1101)
Diffstat (limited to 'Firestore/core/src/firebase/firestore/model')
-rw-r--r--Firestore/core/src/firebase/firestore/model/transform_operations.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/Firestore/core/src/firebase/firestore/model/transform_operations.h b/Firestore/core/src/firebase/firestore/model/transform_operations.h
index aad5a9b..2943ea0 100644
--- a/Firestore/core/src/firebase/firestore/model/transform_operations.h
+++ b/Firestore/core/src/firebase/firestore/model/transform_operations.h
@@ -151,6 +151,13 @@ class ArrayTransform : public TransformOperation {
}
#endif // defined(__OBJC__)
+ static const std::vector<FSTFieldValue*>& Elements(
+ const TransformOperation& op) {
+ FIREBASE_ASSERT(op.type() == Type::ArrayUnion ||
+ op.type() == Type::ArrayRemove);
+ return static_cast<const ArrayTransform&>(op).elements();
+ }
+
private:
Type type_;
std::vector<FSTFieldValue*> elements_;