import { DocumentReference, QueryDocumentSnapshot } from 'firebase-admin/firestore'; import { UnimplementedDocumentSnapshot } from './base/unimplemented_document'; export class FakeDocumentSnapshot extends UnimplementedDocumentSnapshot implements QueryDocumentSnapshot { constructor( private _ref: DocumentReference, private _data: T, ) { super(); } override get id(): string { return this._ref.id; } override data(): T { return this._data as T; } override get exists(): boolean { return this._data != undefined; } override get ref(): FirebaseFirestore.DocumentReference { return this._ref; } } export class FakeQueryDocumentSnapshot extends FakeDocumentSnapshot implements QueryDocumentSnapshot { data(): T { return super.data() as T; } }