UNPKG

@firebase/firestore

Version:

The Cloud Firestore component of the Firebase JS SDK.

56 lines (55 loc) 3.22 kB
/** * @license * Copyright 2019 Google LLC * * 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 { Target } from '../core/target'; import { DocumentMap } from '../model/collections'; import { DocumentKey } from '../model/document_key'; import { FieldIndex, IndexOffset } from '../model/field_index'; import { ResourcePath } from '../model/path'; import { IndexManager, IndexType } from './index_manager'; import { PersistencePromise } from './persistence_promise'; import { PersistenceTransaction } from './persistence_transaction'; /** * An in-memory implementation of IndexManager. */ export declare class MemoryIndexManager implements IndexManager { private collectionParentIndex; addToCollectionParentIndex(transaction: PersistenceTransaction, collectionPath: ResourcePath): PersistencePromise<void>; getCollectionParents(transaction: PersistenceTransaction, collectionId: string): PersistencePromise<ResourcePath[]>; addFieldIndex(transaction: PersistenceTransaction, index: FieldIndex): PersistencePromise<void>; deleteFieldIndex(transaction: PersistenceTransaction, index: FieldIndex): PersistencePromise<void>; deleteAllFieldIndexes(transaction: PersistenceTransaction): PersistencePromise<void>; createTargetIndexes(transaction: PersistenceTransaction, target: Target): PersistencePromise<void>; getDocumentsMatchingTarget(transaction: PersistenceTransaction, target: Target): PersistencePromise<DocumentKey[] | null>; getIndexType(transaction: PersistenceTransaction, target: Target): PersistencePromise<IndexType>; getFieldIndexes(transaction: PersistenceTransaction, collectionGroup?: string): PersistencePromise<FieldIndex[]>; getNextCollectionGroupToUpdate(transaction: PersistenceTransaction): PersistencePromise<string | null>; getMinOffset(transaction: PersistenceTransaction, target: Target): PersistencePromise<IndexOffset>; getMinOffsetFromCollectionGroup(transaction: PersistenceTransaction, collectionGroup: string): PersistencePromise<IndexOffset>; updateCollectionGroup(transaction: PersistenceTransaction, collectionGroup: string, offset: IndexOffset): PersistencePromise<void>; updateIndexEntries(transaction: PersistenceTransaction, documents: DocumentMap): PersistencePromise<void>; } /** * Internal implementation of the collection-parent index exposed by MemoryIndexManager. * Also used for in-memory caching by IndexedDbIndexManager and initial index population * in indexeddb_schema.ts */ export declare class MemoryCollectionParentIndex { private index; add(collectionPath: ResourcePath): boolean; has(collectionPath: ResourcePath): boolean; getEntries(collectionId: string): ResourcePath[]; }