Skip to content

Commit 0e052e2

Browse files
Merge 9a68f38 into 8d9a09e
2 parents 8d9a09e + 9a68f38 commit 0e052e2

File tree

4 files changed

+10
-7
lines changed

4 files changed

+10
-7
lines changed

packages/firestore/src/local/memory_remote_document_cache.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ class MemoryRemoteDocumentCacheImpl implements MemoryRemoteDocumentCache {
9898
const currentSize = this.sizer(doc);
9999

100100
this.docs = this.docs.insert(key, {
101-
document: doc.clone(),
101+
document: doc.mutableCopy(),
102102
size: currentSize,
103103
readTime
104104
});
@@ -132,7 +132,7 @@ class MemoryRemoteDocumentCacheImpl implements MemoryRemoteDocumentCache {
132132
const entry = this.docs.get(documentKey);
133133
return PersistencePromise.resolve(
134134
entry
135-
? entry.document.clone()
135+
? entry.document.mutableCopy()
136136
: MutableDocument.newInvalidDocument(documentKey)
137137
);
138138
}
@@ -147,7 +147,7 @@ class MemoryRemoteDocumentCacheImpl implements MemoryRemoteDocumentCache {
147147
results = results.insert(
148148
documentKey,
149149
entry
150-
? entry.document.clone()
150+
? entry.document.mutableCopy()
151151
: MutableDocument.newInvalidDocument(documentKey)
152152
);
153153
});
@@ -183,7 +183,7 @@ class MemoryRemoteDocumentCacheImpl implements MemoryRemoteDocumentCache {
183183
if (!queryMatches(query, document)) {
184184
continue;
185185
}
186-
results = results.insert(document.key, document.clone());
186+
results = results.insert(document.key, document.mutableCopy());
187187
}
188188
return PersistencePromise.resolve(results);
189189
}

packages/firestore/src/model/collections.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import { DocumentKey } from './document_key';
2626

2727
/** Miscellaneous collection types / constants. */
2828
export interface DocumentSizeEntry {
29-
document: MutableDocument;
29+
document: Document;
3030
size: number;
3131
}
3232

packages/firestore/src/model/document.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,9 @@ export interface Document {
135135

136136
isEqual(other: Document | null | undefined): boolean;
137137

138+
/** Creates a mutable copy of this document. */
139+
mutableCopy(): MutableDocument;
140+
138141
toString(): string;
139142
}
140143

@@ -318,7 +321,7 @@ export class MutableDocument implements Document {
318321
);
319322
}
320323

321-
clone(): MutableDocument {
324+
mutableCopy(): MutableDocument {
322325
return new MutableDocument(
323326
this.key,
324327
this.documentType,

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -505,7 +505,7 @@ describe('Mutation', () => {
505505
mutationResult: MutationResult,
506506
expected: MutableDocument
507507
): void {
508-
const documentCopy = base.clone();
508+
const documentCopy = base.mutableCopy();
509509
mutationApplyToRemoteDocument(mutation, documentCopy, mutationResult);
510510
expect(documentCopy).to.deep.equal(expected);
511511
}

0 commit comments

Comments
 (0)