diff options
Diffstat (limited to 'Firestore/Source/API/FIRFieldValue.mm')
-rw-r--r-- | Firestore/Source/API/FIRFieldValue.mm | 38 |
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 |