mockbase
Version:
Firebase v7+ mock.
45 lines (44 loc) • 2.14 kB
TypeScript
import * as firebase from "firebase";
import { MockApp } from "../app";
import { EventEmitter } from "../util";
import { MockCollectionReference } from "./collection-reference";
import { MockDocumentReference } from "./document-reference";
import { MockCollectionGroup } from "./collection-group";
import { MockWriteBatch } from "./write-batch";
export declare class MockFirestore implements firebase.firestore.Firestore {
readonly app: MockApp;
INTERNAL: {
delete: () => Promise<void>;
};
private state;
private id;
readonly documentData: Map<string, firebase.firestore.DocumentData>;
readonly documentEvents: Map<string, EventEmitter>;
readonly collectionDocuments: Map<string, Set<string>>;
readonly collectionEvents: Map<string, EventEmitter>;
private readonly emitter;
constructor(app: MockApp, initialData?: Map<string, firebase.firestore.DocumentData>);
private setStateRunning;
nextId(): string;
writeDocument(doc: MockDocumentReference<any>, data: firebase.firestore.DocumentData | undefined): void;
onNewCollection(listener: (path: string) => void): void;
clone(): MockFirestore;
batch(): MockWriteBatch;
clearPersistence(): Promise<void>;
enablePersistence(settings?: firebase.firestore.PersistenceSettings): Promise<void>;
enableNetwork(): Promise<void>;
disableNetwork(): Promise<void>;
collection(collectionPath: string): MockCollectionReference<firebase.firestore.DocumentData>;
collectionGroup(collectionId: string): MockCollectionGroup<firebase.firestore.DocumentData>;
doc(documentPath: string): MockDocumentReference<firebase.firestore.DocumentData>;
runTransaction<T>(updateFunction: (transaction: firebase.firestore.Transaction) => Promise<T>): Promise<T>;
onSnapshotsInSync(observer: {
next?: (value: void) => void;
error?: (error: Error) => void;
complete?: () => void;
}): () => void;
onSnapshotsInSync(onSync: () => void): () => void;
settings(settings: firebase.firestore.Settings): void;
terminate(): Promise<void>;
waitForPendingWrites(): Promise<void>;
}