Skip to content

Commit b98825b

Browse files
Make UserDataReader tree-shakeable
1 parent 9743538 commit b98825b

File tree

9 files changed

+341
-404
lines changed

9 files changed

+341
-404
lines changed

packages/firestore/exp/src/api/reference.ts

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,18 @@ import * as firestore from '../../index';
2222
import { Firestore } from './database';
2323
import {
2424
DocumentKeyReference,
25-
ParsedUpdateData
25+
ParsedUpdateData,
26+
parseSetData,
27+
parseUpdateData,
28+
parseUpdateVarargs
2629
} from '../../../src/api/user_data_reader';
2730
import { debugAssert } from '../../../src/util/assert';
2831
import { cast } from '../../../lite/src/api/util';
2932
import { DocumentSnapshot, QuerySnapshot } from './snapshot';
3033
import {
3134
addDocSnapshotListener,
32-
addSnapshotsInSyncListener,
3335
addQuerySnapshotListener,
36+
addSnapshotsInSyncListener,
3437
applyFirestoreDataConverter,
3538
getDocsViaSnapshotListener,
3639
getDocViaSnapshotListener,
@@ -175,7 +178,8 @@ export function setDoc<T>(
175178
options
176179
);
177180
const dataReader = newUserDataReader(firestore);
178-
const parsed = dataReader.parseSetData(
181+
const parsed = parseSetData(
182+
dataReader,
179183
'setDoc',
180184
ref._key,
181185
convertedValue,
@@ -215,15 +219,17 @@ export function updateDoc(
215219
typeof fieldOrUpdateData === 'string' ||
216220
fieldOrUpdateData instanceof FieldPath
217221
) {
218-
parsed = dataReader.parseUpdateVarargs(
222+
parsed = parseUpdateVarargs(
223+
dataReader,
219224
'updateDoc',
220225
ref._key,
221226
fieldOrUpdateData,
222227
value,
223228
moreFieldsAndValues
224229
);
225230
} else {
226-
parsed = dataReader.parseUpdateData(
231+
parsed = parseUpdateData(
232+
dataReader,
227233
'updateDoc',
228234
ref._key,
229235
fieldOrUpdateData
@@ -262,11 +268,13 @@ export function addDoc<T>(
262268
const convertedValue = applyFirestoreDataConverter(collRef._converter, data);
263269

264270
const dataReader = newUserDataReader(collRef.firestore);
265-
const parsed = dataReader.parseSetData(
271+
const parsed = parseSetData(
272+
dataReader,
266273
'addDoc',
267274
docRef._key,
268275
convertedValue,
269-
collRef._converter !== null
276+
collRef._converter !== null,
277+
{}
270278
);
271279

272280
return firestore

packages/firestore/lite/src/api/reference.ts

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ import { Firestore } from './database';
2323
import {
2424
DocumentKeyReference,
2525
ParsedUpdateData,
26+
parseSetData,
27+
parseUpdateData,
28+
parseUpdateVarargs,
2629
UserDataReader
2730
} from '../../../src/api/user_data_reader';
2831
import {
@@ -35,9 +38,9 @@ import { ResourcePath } from '../../../src/model/path';
3538
import { AutoId } from '../../../src/util/misc';
3639
import {
3740
DocumentSnapshot,
41+
fieldPathFromArgument,
3842
QueryDocumentSnapshot,
39-
QuerySnapshot,
40-
fieldPathFromArgument
43+
QuerySnapshot
4144
} from './snapshot';
4245
import {
4346
invokeBatchGetDocumentsRpc,
@@ -464,7 +467,8 @@ export function setDoc<T>(
464467
options
465468
);
466469
const dataReader = newUserDataReader(ref.firestore);
467-
const parsed = dataReader.parseSetData(
470+
const parsed = parseSetData(
471+
dataReader,
468472
'setDoc',
469473
ref._key,
470474
convertedValue,
@@ -506,15 +510,17 @@ export function updateDoc(
506510
typeof fieldOrUpdateData === 'string' ||
507511
fieldOrUpdateData instanceof FieldPath
508512
) {
509-
parsed = dataReader.parseUpdateVarargs(
513+
parsed = parseUpdateVarargs(
514+
dataReader,
510515
'updateDoc',
511516
ref._key,
512517
fieldOrUpdateData,
513518
value,
514519
moreFieldsAndValues
515520
);
516521
} else {
517-
parsed = dataReader.parseUpdateData(
522+
parsed = parseUpdateData(
523+
dataReader,
518524
'updateDoc',
519525
ref._key,
520526
fieldOrUpdateData
@@ -554,7 +560,8 @@ export function addDoc<T>(
554560
const convertedValue = applyFirestoreDataConverter(collRef._converter, data);
555561

556562
const dataReader = newUserDataReader(collRef.firestore);
557-
const parsed = dataReader.parseSetData(
563+
const parsed = parseSetData(
564+
dataReader,
558565
'addDoc',
559566
docRef._key,
560567
convertedValue,

packages/firestore/lite/src/api/transaction.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,12 @@
1717

1818
import * as firestore from '../../';
1919

20-
import { UserDataReader } from '../../../src/api/user_data_reader';
20+
import {
21+
parseSetData,
22+
parseUpdateData,
23+
parseUpdateVarargs,
24+
UserDataReader
25+
} from '../../../src/api/user_data_reader';
2126
import { Transaction as InternalTransaction } from '../../../src/core/transaction';
2227
import {
2328
Document,
@@ -100,7 +105,8 @@ export class Transaction implements firestore.Transaction {
100105
value,
101106
options
102107
);
103-
const parsed = this._dataReader.parseSetData(
108+
const parsed = parseSetData(
109+
this._dataReader,
104110
'Transaction.set',
105111
ref._key,
106112
convertedValue,
@@ -134,15 +140,17 @@ export class Transaction implements firestore.Transaction {
134140
typeof fieldOrUpdateData === 'string' ||
135141
fieldOrUpdateData instanceof FieldPath
136142
) {
137-
parsed = this._dataReader.parseUpdateVarargs(
143+
parsed = parseUpdateVarargs(
144+
this._dataReader,
138145
'Transaction.update',
139146
ref._key,
140147
fieldOrUpdateData,
141148
value,
142149
moreFieldsAndValues
143150
);
144151
} else {
145-
parsed = this._dataReader.parseUpdateData(
152+
parsed = parseUpdateData(
153+
this._dataReader,
146154
'Transaction.update',
147155
ref._key,
148156
fieldOrUpdateData

packages/firestore/lite/src/api/write_batch.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ import { Code, FirestoreError } from '../../../src/util/error';
2525
import { applyFirestoreDataConverter } from '../../../src/api/database';
2626
import {
2727
DocumentKeyReference,
28+
parseSetData,
29+
parseUpdateData,
30+
parseUpdateVarargs,
2831
UserDataReader
2932
} from '../../../src/api/user_data_reader';
3033
import { cast } from './util';
@@ -67,7 +70,8 @@ export class WriteBatch implements firestore.WriteBatch {
6770
value,
6871
options
6972
);
70-
const parsed = this._dataReader.parseSetData(
73+
const parsed = parseSetData(
74+
this._dataReader,
7175
'WriteBatch.set',
7276
ref._key,
7377
convertedValue,
@@ -105,15 +109,17 @@ export class WriteBatch implements firestore.WriteBatch {
105109
typeof fieldOrUpdateData === 'string' ||
106110
fieldOrUpdateData instanceof FieldPath
107111
) {
108-
parsed = this._dataReader.parseUpdateVarargs(
112+
parsed = parseUpdateVarargs(
113+
this._dataReader,
109114
'WriteBatch.update',
110115
ref._key,
111116
fieldOrUpdateData,
112117
value,
113118
moreFieldsAndValues
114119
);
115120
} else {
116-
parsed = this._dataReader.parseUpdateData(
121+
parsed = parseUpdateData(
122+
this._dataReader,
117123
'WriteBatch.update',
118124
ref._key,
119125
fieldOrUpdateData

0 commit comments

Comments
 (0)