| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- /*
- * Copyright 2017 Google
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- #import <Foundation/Foundation.h>
- @class FSTResourcePath;
- NS_ASSUME_NONNULL_BEGIN
- /** FSTDocumentKey represents the location of a document in the Firestore database. */
- @interface FSTDocumentKey : NSObject <NSCopying>
- /**
- * Creates and returns a new document key with the given path.
- *
- * @param path The path to the document.
- * @return A new instance of FSTDocumentKey.
- */
- + (instancetype)keyWithPath:(FSTResourcePath *)path;
- /**
- * Creates and returns a new document key with a path with the given segments.
- *
- * @param segments The segments of the path to the document.
- * @return A new instance of FSTDocumentKey.
- */
- + (instancetype)keyWithSegments:(NSArray<NSString *> *)segments;
- /**
- * Creates and returns a new document key from the given resource path string.
- *
- * @param resourcePath The slash-separated segments of the resource's path.
- * @return A new instance of FSTDocumentKey.
- */
- + (instancetype)keyWithPathString:(NSString *)resourcePath;
- /** Returns true iff the given path is a path to a document. */
- + (BOOL)isDocumentKey:(FSTResourcePath *)path;
- - (BOOL)isEqualToKey:(FSTDocumentKey *)other;
- - (NSComparisonResult)compare:(FSTDocumentKey *)other;
- /** The path to the document. */
- @property(strong, nonatomic, readonly) FSTResourcePath *path;
- @end
- extern const NSComparator FSTDocumentKeyComparator;
- /** The field path string that represents the document's key. */
- extern NSString *const kDocumentKeyPath;
- NS_ASSUME_NONNULL_END
|