aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firestore/Source/Model/FSTDocumentSet.mm
diff options
context:
space:
mode:
authorGravatar zxu <zxu@google.com>2018-03-16 15:42:05 -0400
committerGravatar GitHub <noreply@github.com>2018-03-16 15:42:05 -0400
commit4e7296b080b9c8cea13e5e5eeee65f4312fb5e8a (patch)
tree87f175b1e1ac74632fee2ff7c52ccb9b5bc78014 /Firestore/Source/Model/FSTDocumentSet.mm
parent1395c8202b236188b9e4e1bfc2a3e00244179593 (diff)
port `DocumentKey` to non-container types of `Model/*` (#930)
* naively remove FSTPath import and source/test files. * port FieldPath, part I * port FieldPath, part II * port ResourcePath, part I * port ResourcePath, part II * the grand commit to fix build errors * use testutil:: helper instead of those from FSTHelpers * fix test and lint * use c_str in errmsg directly * fix * fix * make code clean * fix integration test I missed * fix to avoid naming collision in preprocessor * address changes * address changes * address changes * fix: fieldMask are actually shared with different context. * address changes * add converter function between two DocumentKey implementations * add unit test * address changes * fix lint * using DocumentKey in model except for the container types `FSTDocumentDictionary`, `FSTDocumentKeySet`, and `FSTDocumentVersionDictionary` * change other place w.r.t. the use of `DocumentKey` in model * update parameter of test helpers from NSString to string_view * revert a temporary change used in debug * address changes
Diffstat (limited to 'Firestore/Source/Model/FSTDocumentSet.mm')
-rw-r--r--Firestore/Source/Model/FSTDocumentSet.mm20
1 files changed, 12 insertions, 8 deletions
diff --git a/Firestore/Source/Model/FSTDocumentSet.mm b/Firestore/Source/Model/FSTDocumentSet.mm
index 6f44799..2f0b42b 100644
--- a/Firestore/Source/Model/FSTDocumentSet.mm
+++ b/Firestore/Source/Model/FSTDocumentSet.mm
@@ -20,6 +20,10 @@
#import "Firestore/Source/Model/FSTDocumentKey.h"
#import "Firestore/third_party/Immutable/FSTImmutableSortedSet.h"
+#include "Firestore/core/src/firebase/firestore/model/document_key.h"
+
+using firebase::firestore::model::DocumentKey;
+
NS_ASSUME_NONNULL_BEGIN
/**
@@ -119,12 +123,12 @@ typedef FSTImmutableSortedSet<FSTDocument *> SetType;
return [self.index isEmpty];
}
-- (BOOL)containsKey:(FSTDocumentKey *)key {
- return [self.index objectForKey:key] != nil;
+- (BOOL)containsKey:(const DocumentKey &)key {
+ return [self.index objectForKey:(FSTDocumentKey *)key] != nil;
}
-- (FSTDocument *_Nullable)documentForKey:(FSTDocumentKey *)key {
- return [self.index objectForKey:key];
+- (FSTDocument *_Nullable)documentForKey:(const DocumentKey &)key {
+ return [self.index objectForKey:(FSTDocumentKey *)key];
}
- (FSTDocument *_Nullable)firstDocument {
@@ -135,8 +139,8 @@ typedef FSTImmutableSortedSet<FSTDocument *> SetType;
return [self.sortedSet lastObject];
}
-- (NSUInteger)indexOfKey:(FSTDocumentKey *)key {
- FSTDocument *doc = [self.index objectForKey:key];
+- (NSUInteger)indexOfKey:(const DocumentKey &)key {
+ FSTDocument *doc = [self.index objectForKey:(FSTDocumentKey *)key];
return doc ? [self.sortedSet indexOfObject:doc] : NSNotFound;
}
@@ -171,8 +175,8 @@ typedef FSTImmutableSortedSet<FSTDocument *> SetType;
return [[FSTDocumentSet alloc] initWithIndex:index set:set];
}
-- (instancetype)documentSetByRemovingKey:(FSTDocumentKey *)key {
- FSTDocument *doc = [self.index objectForKey:key];
+- (instancetype)documentSetByRemovingKey:(const DocumentKey &)key {
+ FSTDocument *doc = [self.index objectForKey:(FSTDocumentKey *)key];
if (!doc) {
return self;
}