UNPKG

@firebase/firestore

Version:

The Cloud Firestore component of the Firebase JS SDK.

81 lines (80 loc) 5.14 kB
/** * @license * Copyright 2017 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 { BundleMetadata, NamedQuery } from '../core/bundle'; import { Query } from '../core/query'; import { SnapshotVersion } from '../core/snapshot_version'; import { MutableDocument } from '../model/document'; import { DocumentKey } from '../model/document_key'; import { FieldIndex, IndexOffset } from '../model/field_index'; import { MutationBatch } from '../model/mutation_batch'; import { Overlay } from '../model/overlay'; import { BundledQuery as ProtoBundledQuery, BundleMetadata as ProtoBundleMetadata, NamedQuery as ProtoNamedQuery } from '../protos/firestore_bundle_proto'; import { JsonProtoSerializer } from '../remote/serializer'; import { DbBundle, DbDocumentOverlay, DbIndexConfiguration, DbIndexState, DbMutationBatch, DbNamedQuery, DbRemoteDocument, DbTarget, DbTimestamp } from './indexeddb_schema'; import { DbDocumentOverlayKey, DbTimestampKey } from './indexeddb_sentinels'; import { TargetData } from './target_data'; /** Serializer for values stored in the LocalStore. */ export declare class LocalSerializer { readonly remoteSerializer: JsonProtoSerializer; constructor(remoteSerializer: JsonProtoSerializer); } /** Decodes a remote document from storage locally to a Document. */ export declare function fromDbRemoteDocument(localSerializer: LocalSerializer, remoteDoc: DbRemoteDocument): MutableDocument; /** Encodes a document for storage locally. */ export declare function toDbRemoteDocument(localSerializer: LocalSerializer, document: MutableDocument): DbRemoteDocument; export declare function toDbTimestampKey(snapshotVersion: SnapshotVersion): DbTimestampKey; export declare function fromDbTimestampKey(dbTimestampKey: DbTimestampKey): SnapshotVersion; export declare function toDbTimestamp(snapshotVersion: SnapshotVersion): DbTimestamp; /** Encodes a batch of mutations into a DbMutationBatch for local storage. */ export declare function toDbMutationBatch(localSerializer: LocalSerializer, userId: string, batch: MutationBatch): DbMutationBatch; /** Decodes a DbMutationBatch into a MutationBatch */ export declare function fromDbMutationBatch(localSerializer: LocalSerializer, dbBatch: DbMutationBatch): MutationBatch; /** Decodes a DbTarget into TargetData */ export declare function fromDbTarget(dbTarget: DbTarget): TargetData; /** Encodes TargetData into a DbTarget for storage locally. */ export declare function toDbTarget(localSerializer: LocalSerializer, targetData: TargetData): DbTarget; /** Encodes a DbBundle to a BundleMetadata object. */ export declare function fromDbBundle(dbBundle: DbBundle): BundleMetadata; /** Encodes a BundleMetadata to a DbBundle. */ export declare function toDbBundle(metadata: ProtoBundleMetadata): DbBundle; /** Encodes a DbNamedQuery to a NamedQuery. */ export declare function fromDbNamedQuery(dbNamedQuery: DbNamedQuery): NamedQuery; /** Encodes a NamedQuery from a bundle proto to a DbNamedQuery. */ export declare function toDbNamedQuery(query: ProtoNamedQuery): DbNamedQuery; /** * Encodes a `BundledQuery` from bundle proto to a Query object. * * This reconstructs the original query used to build the bundle being loaded, * including features exists only in SDKs (for example: limit-to-last). */ export declare function fromBundledQuery(bundledQuery: ProtoBundledQuery): Query; /** Encodes a NamedQuery proto object to a NamedQuery model object. */ export declare function fromProtoNamedQuery(namedQuery: ProtoNamedQuery): NamedQuery; /** Decodes a BundleMetadata proto into a BundleMetadata object. */ export declare function fromBundleMetadata(metadata: ProtoBundleMetadata): BundleMetadata; /** Encodes a DbDocumentOverlay object to an Overlay model object. */ export declare function fromDbDocumentOverlay(localSerializer: LocalSerializer, dbDocumentOverlay: DbDocumentOverlay): Overlay; /** Decodes an Overlay model object into a DbDocumentOverlay object. */ export declare function toDbDocumentOverlay(localSerializer: LocalSerializer, userId: string, overlay: Overlay): DbDocumentOverlay; /** * Returns the DbDocumentOverlayKey corresponding to the given user and * document key. */ export declare function toDbDocumentOverlayKey(userId: string, docKey: DocumentKey): DbDocumentOverlayKey; export declare function toDbIndexConfiguration(index: FieldIndex): DbIndexConfiguration; export declare function fromDbIndexConfiguration(index: DbIndexConfiguration, state: DbIndexState | null): FieldIndex; export declare function toDbIndexState(indexId: number, uid: string, sequenceNumber: number, offset: IndexOffset): DbIndexState;