Skip to content

Commit 47860fe

Browse files
authored
Firestore: update firestore-types with breaking API changes for FirestoreDataConverter (#7423)
1 parent f3067f7 commit 47860fe

File tree

2 files changed

+30
-8
lines changed

2 files changed

+30
-8
lines changed

.changeset/empty-boats-dream.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@firebase/firestore-types': major
3+
'firebase': major
4+
---
5+
6+
Update to be consistent with the FirestoreDataConverter changes from #7310

packages/firestore-types/index.d.ts

+24-8
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,10 @@ export interface GetOptions {
241241
readonly source?: 'default' | 'server' | 'cache';
242242
}
243243

244-
export class DocumentReference<T = DocumentData> {
244+
export class DocumentReference<
245+
T = DocumentData,
246+
T2 extends DocumentData = DocumentData
247+
> {
245248
private constructor();
246249

247250
readonly id: string;
@@ -307,7 +310,10 @@ export interface SnapshotMetadata {
307310
isEqual(other: SnapshotMetadata): boolean;
308311
}
309312

310-
export class DocumentSnapshot<T = DocumentData> {
313+
export class DocumentSnapshot<
314+
T = DocumentData,
315+
T2 extends DocumentData = DocumentData
316+
> {
311317
protected constructor();
312318

313319
readonly exists: boolean;
@@ -323,8 +329,9 @@ export class DocumentSnapshot<T = DocumentData> {
323329
}
324330

325331
export class QueryDocumentSnapshot<
326-
T = DocumentData
327-
> extends DocumentSnapshot<T> {
332+
T = DocumentData,
333+
T2 extends DocumentData = DocumentData
334+
> extends DocumentSnapshot<T, T2> {
328335
private constructor();
329336

330337
data(options?: SnapshotOptions): T;
@@ -344,7 +351,7 @@ export type WhereFilterOp =
344351
| 'array-contains-any'
345352
| 'not-in';
346353

347-
export class Query<T = DocumentData> {
354+
export class Query<T = DocumentData, T2 extends DocumentData = DocumentData> {
348355
protected constructor();
349356

350357
readonly firestore: FirebaseFirestore;
@@ -409,7 +416,10 @@ export class Query<T = DocumentData> {
409416
withConverter<U>(converter: FirestoreDataConverter<U>): Query<U>;
410417
}
411418

412-
export class QuerySnapshot<T = DocumentData> {
419+
export class QuerySnapshot<
420+
T = DocumentData,
421+
T2 extends DocumentData = DocumentData
422+
> {
413423
private constructor();
414424

415425
readonly query: Query<T>;
@@ -430,14 +440,20 @@ export class QuerySnapshot<T = DocumentData> {
430440

431441
export type DocumentChangeType = 'added' | 'removed' | 'modified';
432442

433-
export interface DocumentChange<T = DocumentData> {
443+
export interface DocumentChange<
444+
T = DocumentData,
445+
T2 extends DocumentData = DocumentData
446+
> {
434447
readonly type: DocumentChangeType;
435448
readonly doc: QueryDocumentSnapshot<T>;
436449
readonly oldIndex: number;
437450
readonly newIndex: number;
438451
}
439452

440-
export class CollectionReference<T = DocumentData> extends Query<T> {
453+
export class CollectionReference<
454+
T = DocumentData,
455+
T2 extends DocumentData = DocumentData
456+
> extends Query<T, T2> {
441457
private constructor();
442458

443459
readonly id: string;

0 commit comments

Comments
 (0)