Skip to content

Commit b25a053

Browse files
committed
more fixes
1 parent a15360c commit b25a053

File tree

6 files changed

+34
-38
lines changed

6 files changed

+34
-38
lines changed

common/api-review/firestore-lite.api.md

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -178,10 +178,10 @@ export class Firestore {
178178
}
179179

180180
// @public
181-
export interface FirestoreDataConverter<ModelT, SerializedModelT extends DocumentData> {
182-
fromFirestore(snapshot: QueryDocumentSnapshot<DocumentData, DocumentData>): ModelT;
183-
toFirestore(modelObject: WithFieldValue<ModelT>): SerializedModelT;
184-
toFirestore(modelObject: PartialWithFieldValue<ModelT>, options: SetOptions): DeepPartial<SerializedModelT>;
181+
export interface FirestoreDataConverter<ModelT, SerializedModelT extends DocumentData = ModelT extends DocumentData ? ModelT : DocumentData> {
182+
fromFirestore(snapshot: QueryDocumentSnapshot<SerializedModelT, SerializedModelT>): ModelT;
183+
toFirestore(modelObject: WithFieldValue<ModelT>): WithFieldValue<SerializedModelT>;
184+
toFirestore(modelObject: DeepPartial<WithFieldValue<ModelT>>, options: SetOptions): DeepPartial<WithFieldValue<SerializedModelT>>;
185185
}
186186

187187
// @public
@@ -251,11 +251,6 @@ export function orderBy(fieldPath: string | FieldPath, directionStr?: OrderByDir
251251
// @public
252252
export type OrderByDirection = 'desc' | 'asc';
253253

254-
// @public
255-
export type PartialWithFieldValue<T> = Partial<T> | (T extends Primitive ? T : T extends {} ? {
256-
[K in keyof T]?: PartialWithFieldValue<T[K]> | FieldValue;
257-
} : never);
258-
259254
// @public
260255
export type Primitive = string | number | boolean | undefined | null;
261256

@@ -350,7 +345,7 @@ export function serverTimestamp(): FieldValue;
350345
export function setDoc<ModelT, SerializedModelT extends DocumentData>(reference: DocumentReference<ModelT, SerializedModelT>, data: WithFieldValue<ModelT>): Promise<void>;
351346

352347
// @public
353-
export function setDoc<ModelT, SerializedModelT extends DocumentData>(reference: DocumentReference<ModelT, SerializedModelT>, data: PartialWithFieldValue<ModelT>, options: SetOptions): Promise<void>;
348+
export function setDoc<ModelT, SerializedModelT extends DocumentData>(reference: DocumentReference<ModelT, SerializedModelT>, data: DeepPartial<WithFieldValue<ModelT>>, options: SetOptions): Promise<void>;
354349

355350
// @public
356351
export function setLogLevel(logLevel: LogLevel): void;
@@ -413,7 +408,7 @@ export class Transaction {
413408
delete<ModelT, SerializedModelT extends DocumentData>(documentRef: DocumentReference<ModelT, SerializedModelT>): this;
414409
get<ModelT, SerializedModelT extends DocumentData>(documentRef: DocumentReference<ModelT, SerializedModelT>): Promise<DocumentSnapshot<ModelT, SerializedModelT>>;
415410
set<ModelT, SerializedModelT extends DocumentData>(documentRef: DocumentReference<ModelT, SerializedModelT>, data: WithFieldValue<ModelT>): this;
416-
set<ModelT, SerializedModelT extends DocumentData>(documentRef: DocumentReference<ModelT, SerializedModelT>, data: PartialWithFieldValue<ModelT>, options: SetOptions): this;
411+
set<ModelT, SerializedModelT extends DocumentData>(documentRef: DocumentReference<ModelT, SerializedModelT>, data: DeepPartial<WithFieldValue<ModelT>>, options: SetOptions): this;
417412
update<ModelT, SerializedModelT extends DocumentData>(documentRef: DocumentReference<ModelT, SerializedModelT>, data: UpdateData<SerializedModelT>): this;
418413
update<ModelT, SerializedModelT extends DocumentData>(documentRef: DocumentReference<ModelT, SerializedModelT>, field: string | FieldPath, value: unknown, ...moreFieldsAndValues: unknown[]): this;
419414
}
@@ -444,7 +439,7 @@ export function where(fieldPath: string | FieldPath, opStr: WhereFilterOp, value
444439
export type WhereFilterOp = '<' | '<=' | '==' | '!=' | '>=' | '>' | 'array-contains' | 'in' | 'array-contains-any' | 'not-in';
445440

446441
// @public
447-
export type WithFieldValue<T> = T | (T extends Primitive ? T : T extends {} ? {
442+
export type WithFieldValue<T> = T | (T extends {} ? {
448443
[K in keyof T]: WithFieldValue<T[K]> | FieldValue;
449444
} : never);
450445

@@ -453,7 +448,7 @@ export class WriteBatch {
453448
commit(): Promise<void>;
454449
delete<ModelT, SerializedModelT extends DocumentData>(documentRef: DocumentReference<ModelT, SerializedModelT>): WriteBatch;
455450
set<ModelT, SerializedModelT extends DocumentData>(documentRef: DocumentReference<ModelT, SerializedModelT>, data: WithFieldValue<ModelT>): WriteBatch;
456-
set<ModelT, SerializedModelT extends DocumentData>(documentRef: DocumentReference<ModelT, SerializedModelT>, data: PartialWithFieldValue<ModelT>, options: SetOptions): WriteBatch;
451+
set<ModelT, SerializedModelT extends DocumentData>(documentRef: DocumentReference<ModelT, SerializedModelT>, data: DeepPartial<WithFieldValue<ModelT>>, options: SetOptions): WriteBatch;
457452
update<ModelT, SerializedModelT extends DocumentData>(documentRef: DocumentReference<ModelT, SerializedModelT>, data: UpdateData<SerializedModelT>): WriteBatch;
458453
update<ModelT, SerializedModelT extends DocumentData>(documentRef: DocumentReference<ModelT, SerializedModelT>, field: string | FieldPath, value: unknown, ...moreFieldsAndValues: unknown[]): WriteBatch;
459454
}

common/api-review/firestore.api.md

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -208,10 +208,10 @@ export class Firestore {
208208
}
209209

210210
// @public
211-
export interface FirestoreDataConverter<ModelT, SerializedModelT extends DocumentData> {
212-
fromFirestore(snapshot: QueryDocumentSnapshot<DocumentData, DocumentData>, options?: SnapshotOptions): ModelT;
213-
toFirestore(modelObject: WithFieldValue<ModelT>): SerializedModelT;
214-
toFirestore(modelObject: PartialWithFieldValue<ModelT>, options: SetOptions): DeepPartial<SerializedModelT>;
211+
export interface FirestoreDataConverter<ModelT, SerializedModelT extends DocumentData = ModelT extends DocumentData ? ModelT : DocumentData> {
212+
fromFirestore(snapshot: QueryDocumentSnapshot<SerializedModelT, SerializedModelT>, options?: SnapshotOptions): ModelT;
213+
toFirestore(modelObject: WithFieldValue<ModelT>): WithFieldValue<SerializedModelT>;
214+
toFirestore(modelObject: DeepPartial<WithFieldValue<ModelT>>, options: SetOptions): DeepPartial<WithFieldValue<SerializedModelT>>;
215215
}
216216

217217
// @public
@@ -412,11 +412,6 @@ export function orderBy(fieldPath: string | FieldPath, directionStr?: OrderByDir
412412
// @public
413413
export type OrderByDirection = 'desc' | 'asc';
414414

415-
// @public
416-
export type PartialWithFieldValue<T> = Partial<T> | (T extends Primitive ? T : T extends {} ? {
417-
[K in keyof T]?: PartialWithFieldValue<T[K]> | FieldValue;
418-
} : never);
419-
420415
// @public
421416
export interface PersistenceSettings {
422417
forceOwnership?: boolean;
@@ -559,7 +554,7 @@ export function serverTimestamp(): FieldValue;
559554
export function setDoc<ModelT, SerializedModelT extends DocumentData>(reference: DocumentReference<ModelT, SerializedModelT>, data: WithFieldValue<ModelT>): Promise<void>;
560555

561556
// @public
562-
export function setDoc<ModelT, SerializedModelT extends DocumentData>(reference: DocumentReference<ModelT, SerializedModelT>, data: PartialWithFieldValue<ModelT>, options: SetOptions): Promise<void>;
557+
export function setDoc<ModelT, SerializedModelT extends DocumentData>(reference: DocumentReference<ModelT, SerializedModelT>, data: DeepPartial<WithFieldValue<ModelT>>, options: SetOptions): Promise<void>;
563558

564559
// @beta
565560
export function setIndexConfiguration(firestore: Firestore, configuration: IndexConfiguration): Promise<void>;
@@ -641,7 +636,7 @@ export class Transaction {
641636
delete<ModelT, SerializedModelT extends DocumentData>(documentRef: DocumentReference<ModelT, SerializedModelT>): this;
642637
get<ModelT, SerializedModelT extends DocumentData>(documentRef: DocumentReference<ModelT, SerializedModelT>): Promise<DocumentSnapshot<ModelT, SerializedModelT>>;
643638
set<ModelT, SerializedModelT extends DocumentData>(documentRef: DocumentReference<ModelT, SerializedModelT>, data: WithFieldValue<ModelT>): this;
644-
set<ModelT, SerializedModelT extends DocumentData>(documentRef: DocumentReference<ModelT, SerializedModelT>, data: PartialWithFieldValue<ModelT>, options: SetOptions): this;
639+
set<ModelT, SerializedModelT extends DocumentData>(documentRef: DocumentReference<ModelT, SerializedModelT>, data: DeepPartial<WithFieldValue<ModelT>>, options: SetOptions): this;
645640
update<ModelT, SerializedModelT extends DocumentData>(documentRef: DocumentReference<ModelT, SerializedModelT>, data: UpdateData<SerializedModelT>): this;
646641
update<ModelT, SerializedModelT extends DocumentData>(documentRef: DocumentReference<ModelT, SerializedModelT>, field: string | FieldPath, value: unknown, ...moreFieldsAndValues: unknown[]): this;
647642
}
@@ -680,7 +675,7 @@ export function where(fieldPath: string | FieldPath, opStr: WhereFilterOp, value
680675
export type WhereFilterOp = '<' | '<=' | '==' | '!=' | '>=' | '>' | 'array-contains' | 'in' | 'array-contains-any' | 'not-in';
681676

682677
// @public
683-
export type WithFieldValue<T> = T | (T extends Primitive ? T : T extends {} ? {
678+
export type WithFieldValue<T> = T | (T extends {} ? {
684679
[K in keyof T]: WithFieldValue<T[K]> | FieldValue;
685680
} : never);
686681

@@ -689,7 +684,7 @@ export class WriteBatch {
689684
commit(): Promise<void>;
690685
delete<ModelT, SerializedModelT extends DocumentData>(documentRef: DocumentReference<ModelT, SerializedModelT>): WriteBatch;
691686
set<ModelT, SerializedModelT extends DocumentData>(documentRef: DocumentReference<ModelT, SerializedModelT>, data: WithFieldValue<ModelT>): WriteBatch;
692-
set<ModelT, SerializedModelT extends DocumentData>(documentRef: DocumentReference<ModelT, SerializedModelT>, data: PartialWithFieldValue<ModelT>, options: SetOptions): WriteBatch;
687+
set<ModelT, SerializedModelT extends DocumentData>(documentRef: DocumentReference<ModelT, SerializedModelT>, data: DeepPartial<WithFieldValue<ModelT>>, options: SetOptions): WriteBatch;
693688
update<ModelT, SerializedModelT extends DocumentData>(documentRef: DocumentReference<ModelT, SerializedModelT>, data: UpdateData<SerializedModelT>): WriteBatch;
694689
update<ModelT, SerializedModelT extends DocumentData>(documentRef: DocumentReference<ModelT, SerializedModelT>, field: string | FieldPath, value: unknown, ...moreFieldsAndValues: unknown[]): WriteBatch;
695690
}

packages/firestore/src/api/snapshot.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,9 @@ import { SnapshotListenOptions } from './reference_impl';
8585
*/
8686
export interface FirestoreDataConverter<
8787
ModelT,
88-
SerializedModelT extends DocumentData = ModelT extends DocumentData ? ModelT : DocumentData
88+
SerializedModelT extends DocumentData = ModelT extends DocumentData
89+
? ModelT
90+
: DocumentData
8991
> extends LiteFirestoreDataConverter<ModelT, SerializedModelT> {
9092
/**
9193
* Called by the Firestore SDK to convert a custom model object of type
@@ -97,7 +99,9 @@ export interface FirestoreDataConverter<
9799
* The `WithFieldValue<ModelT>` type extends `ModelT` to also allow
98100
* FieldValues such as {@link (deleteField:1)} to be used as property values.
99101
*/
100-
toFirestore(modelObject: WithFieldValue<ModelT>): WithFieldValue<SerializedModelT>;
102+
toFirestore(
103+
modelObject: WithFieldValue<ModelT>
104+
): WithFieldValue<SerializedModelT>;
101105

102106
/**
103107
* Called by the Firestore SDK to convert a custom model object of type

packages/firestore/src/lite-api/snapshot.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,9 @@ import { AbstractUserDataWriter } from './user_data_writer';
8080
*/
8181
export interface FirestoreDataConverter<
8282
ModelT,
83-
SerializedModelT extends DocumentData = ModelT extends DocumentData ? ModelT : DocumentData
83+
SerializedModelT extends DocumentData = ModelT extends DocumentData
84+
? ModelT
85+
: DocumentData
8486
> {
8587
/**
8688
* Called by the Firestore SDK to convert a custom model object of type
@@ -92,7 +94,9 @@ export interface FirestoreDataConverter<
9294
* The `WithFieldValue<ModelT>` type extends `ModelT` to also allow
9395
* FieldValues such as {@link (deleteField:1)} to be used as property values.
9496
*/
95-
toFirestore(modelObject: WithFieldValue<ModelT>): WithFieldValue<SerializedModelT>;
97+
toFirestore(
98+
modelObject: WithFieldValue<ModelT>
99+
): WithFieldValue<SerializedModelT>;
96100

97101
/**
98102
* Called by the Firestore SDK to convert a custom model object of type

packages/firestore/src/lite-api/user_data_reader.ts

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,7 @@ import { Firestore } from './database';
6363
import { FieldPath } from './field_path';
6464
import { FieldValue } from './field_value';
6565
import { GeoPoint } from './geo_point';
66-
import {
67-
DeepPartial,
68-
DocumentReference,
69-
WithFieldValue
70-
} from './reference';
66+
import { DeepPartial, DocumentReference, WithFieldValue } from './reference';
7167
import { Timestamp } from './timestamp';
7268

7369
const RESERVED_FIELD_REGEX = /^__.*__$/;
@@ -80,11 +76,13 @@ export interface UntypedFirestoreDataConverter<
8076
ModelT,
8177
SerializedModelT extends DocumentData
8278
> {
83-
toFirestore(modelObject: WithFieldValue<ModelT>): SerializedModelT;
79+
toFirestore(
80+
modelObject: WithFieldValue<ModelT>
81+
): WithFieldValue<SerializedModelT>;
8482
toFirestore(
8583
modelObject: DeepPartial<WithFieldValue<ModelT>>,
8684
options: SetOptions
87-
): SerializedModelT;
85+
): WithFieldValue<SerializedModelT>;
8886
fromFirestore(snapshot: unknown, options?: unknown): ModelT;
8987
}
9088

packages/firestore/test/lite/helpers.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import {
2828
DocumentReference,
2929
DeepPartial,
3030
WithFieldValue,
31-
SetOptions,
31+
SetOptions
3232
} from '../../src/lite-api/reference';
3333
import { setDoc } from '../../src/lite-api/reference_impl';
3434
import { FirestoreSettings } from '../../src/lite-api/settings';

0 commit comments

Comments
 (0)