diff options
author | zxu <zxu@google.com> | 2018-03-16 15:42:05 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-16 15:42:05 -0400 |
commit | 4e7296b080b9c8cea13e5e5eeee65f4312fb5e8a (patch) | |
tree | 87f175b1e1ac74632fee2ff7c52ccb9b5bc78014 /Firestore/Source/Model/FSTDocumentSet.mm | |
parent | 1395c8202b236188b9e4e1bfc2a3e00244179593 (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.mm | 20 |
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; } |