Skip to content

Commit 9ebd6a4

Browse files
Merge 3f94696 into 04e5322
2 parents 04e5322 + 3f94696 commit 9ebd6a4

File tree

5 files changed

+22
-31
lines changed

5 files changed

+22
-31
lines changed

packages/firestore/src/model/mutation.ts

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -91,9 +91,9 @@ export class MutationResult {
9191
* containing field transforms has been committed. Contains one FieldValue
9292
* for each FieldTransform that was in the mutation.
9393
*
94-
* Will be null if the mutation did not contain any field transforms.
94+
* Will be empty if the mutation did not contain any field transforms.
9595
*/
96-
readonly transformResults: Array<ProtoValue | null> | null
96+
readonly transformResults: Array<ProtoValue | null>
9797
) {}
9898
}
9999

@@ -434,18 +434,16 @@ function applySetMutationToRemoteDocument(
434434
// remote document the server has accepted the mutation so the precondition
435435
// must have held.
436436
let newData = mutation.value;
437-
if (mutationResult.transformResults) {
438-
const transformResults = serverTransformResults(
439-
mutation.fieldTransforms,
440-
maybeDoc,
441-
mutationResult.transformResults
442-
);
443-
newData = transformObject(
444-
mutation.fieldTransforms,
445-
newData,
446-
transformResults
447-
);
448-
}
437+
const transformResults = serverTransformResults(
438+
mutation.fieldTransforms,
439+
maybeDoc,
440+
mutationResult.transformResults
441+
);
442+
newData = transformObject(
443+
mutation.fieldTransforms,
444+
newData,
445+
transformResults
446+
);
449447

450448
return new Document(mutation.key, mutationResult.version, newData, {
451449
hasCommittedMutations: true
@@ -519,13 +517,11 @@ function applyPatchMutationToRemoteDocument(
519517
return new UnknownDocument(mutation.key, mutationResult.version);
520518
}
521519

522-
const transformResults = mutationResult.transformResults
523-
? serverTransformResults(
524-
mutation.fieldTransforms,
525-
maybeDoc,
526-
mutationResult.transformResults
527-
)
528-
: [];
520+
const transformResults = serverTransformResults(
521+
mutation.fieldTransforms,
522+
maybeDoc,
523+
mutationResult.transformResults
524+
);
529525
const newData = patchDocument(mutation, maybeDoc, transformResults);
530526
return new Document(mutation.key, mutationResult.version, newData, {
531527
hasCommittedMutations: true
@@ -701,7 +697,7 @@ function applyDeleteMutationToRemoteDocument(
701697
mutationResult: MutationResult
702698
): NoDocument {
703699
debugAssert(
704-
mutationResult.transformResults == null,
700+
mutationResult.transformResults.length === 0,
705701
'Transform results received by DeleteMutation.'
706702
);
707703

packages/firestore/src/remote/serializer.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,6 @@ import {
8181
Target as ProtoTarget,
8282
TargetChangeTargetChangeType as ProtoTargetChangeTargetChangeType,
8383
Timestamp as ProtoTimestamp,
84-
Value as ProtoValue,
8584
Write as ProtoWrite,
8685
WriteResult as ProtoWriteResult
8786
} from '../protos/firestore_proto_api';
@@ -698,11 +697,7 @@ function fromWriteResult(
698697
version = fromVersion(commitTime);
699698
}
700699

701-
let transformResults: ProtoValue[] | null = null;
702-
if (proto.transformResults && proto.transformResults.length > 0) {
703-
transformResults = proto.transformResults;
704-
}
705-
return new MutationResult(version, transformResults);
700+
return new MutationResult(version, proto.transformResults || []);
706701
}
707702

708703
export function fromWriteResults(

packages/firestore/test/unit/local/local_store.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ class LocalStoreTester {
255255
const mutationResults = [
256256
new MutationResult(
257257
ver,
258-
options.transformResult ? [options.transformResult] : null
258+
options.transformResult ? [options.transformResult] : []
259259
)
260260
];
261261
const write = MutationBatchResult.from(batch, ver, mutationResults);

packages/firestore/test/unit/model/mutation.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -582,7 +582,7 @@ describe('Mutation', () => {
582582

583583
const mutationResult = new MutationResult(
584584
version(7),
585-
/*transformResults=*/ null
585+
/*transformResults=*/ []
586586
);
587587
const docV7Unknown = unknownDoc('collection/key', 7);
588588
const docV7Deleted = deletedDoc('collection/key', 7, {

packages/firestore/test/util/helpers.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,7 @@ export function deleteMutation(keyStr: string): DeleteMutation {
284284
export function mutationResult(
285285
testVersion: TestSnapshotVersion
286286
): MutationResult {
287-
return new MutationResult(version(testVersion), /* transformResults= */ null);
287+
return new MutationResult(version(testVersion), /* transformResults= */ []);
288288
}
289289

290290
export function bound(

0 commit comments

Comments
 (0)