aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firestore/Source/API/FIRFieldValue.mm
diff options
context:
space:
mode:
Diffstat (limited to 'Firestore/Source/API/FIRFieldValue.mm')
-rw-r--r--Firestore/Source/API/FIRFieldValue.mm38
1 files changed, 38 insertions, 0 deletions
diff --git a/Firestore/Source/API/FIRFieldValue.mm b/Firestore/Source/API/FIRFieldValue.mm
index 0d0a9c4..e0ed8c7 100644
--- a/Firestore/Source/API/FIRFieldValue.mm
+++ b/Firestore/Source/API/FIRFieldValue.mm
@@ -82,6 +82,36 @@ NS_ASSUME_NONNULL_BEGIN
@end
+#pragma mark - FSTArrayUnionFieldValue
+
+@interface FSTArrayUnionFieldValue ()
+- (instancetype)initWithElements:(NSArray<id> *)elements;
+@end
+
+@implementation FSTArrayUnionFieldValue
+- (instancetype)initWithElements:(NSArray<id> *)elements {
+ if (self = [super initPrivate]) {
+ _elements = elements;
+ }
+ return self;
+}
+@end
+
+#pragma mark - FSTArrayRemoveFieldValue
+
+@interface FSTArrayRemoveFieldValue ()
+- (instancetype)initWithElements:(NSArray<id> *)elements;
+@end
+
+@implementation FSTArrayRemoveFieldValue
+- (instancetype)initWithElements:(NSArray<id> *)elements {
+ if (self = [super initPrivate]) {
+ _elements = elements;
+ }
+ return self;
+}
+@end
+
#pragma mark - FIRFieldValue
@implementation FIRFieldValue
@@ -99,6 +129,14 @@ NS_ASSUME_NONNULL_BEGIN
return [FSTServerTimestampFieldValue serverTimestampFieldValue];
}
++ (instancetype)fieldValueForArrayUnion:(NSArray<id> *)elements {
+ return [[FSTArrayUnionFieldValue alloc] initWithElements:elements];
+}
+
++ (instancetype)fieldValueForArrayRemove:(NSArray<id> *)elements {
+ return [[FSTArrayRemoveFieldValue alloc] initWithElements:elements];
+}
+
@end
NS_ASSUME_NONNULL_END