@firebase/firestore 3.4.10-canary.8e952e2ee → 3.4.10-canary.bf4959b60

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/firestore/src/platform/node/grpc_connection.d.ts +1 -1
  2. package/dist/firestore/src/remote/connection.d.ts +1 -1
  3. package/dist/firestore/src/remote/rest_connection.d.ts +1 -1
  4. package/dist/index.esm2017.js +7 -7
  5. package/dist/index.esm2017.js.map +1 -1
  6. package/dist/index.esm5.js +12 -12
  7. package/dist/index.esm5.js.map +1 -1
  8. package/dist/index.node.cjs.js +16 -7
  9. package/dist/index.node.cjs.js.map +1 -1
  10. package/dist/index.node.mjs +16 -7
  11. package/dist/index.node.mjs.map +1 -1
  12. package/dist/index.rn.js +7 -7
  13. package/dist/index.rn.js.map +1 -1
  14. package/dist/lite/firestore/src/platform/node/grpc_connection.d.ts +1 -1
  15. package/dist/lite/firestore/src/remote/connection.d.ts +1 -1
  16. package/dist/lite/firestore/src/remote/rest_connection.d.ts +1 -1
  17. package/dist/lite/index.browser.esm2017.js +6 -6
  18. package/dist/lite/index.browser.esm2017.js.map +1 -1
  19. package/dist/lite/index.browser.esm5.js +11 -11
  20. package/dist/lite/index.browser.esm5.js.map +1 -1
  21. package/dist/lite/index.node.cjs.js +6 -6
  22. package/dist/lite/index.node.cjs.js.map +1 -1
  23. package/dist/lite/index.node.mjs +6 -6
  24. package/dist/lite/index.node.mjs.map +1 -1
  25. package/dist/lite/index.rn.esm2017.js +6 -6
  26. package/dist/lite/index.rn.esm2017.js.map +1 -1
  27. package/dist/lite/packages/firestore/src/platform/node/grpc_connection.d.ts +1 -1
  28. package/dist/lite/packages/firestore/src/remote/connection.d.ts +1 -1
  29. package/dist/lite/packages/firestore/src/remote/rest_connection.d.ts +1 -1
  30. package/dist/packages/firestore/src/platform/node/grpc_connection.d.ts +1 -1
  31. package/dist/packages/firestore/src/remote/connection.d.ts +1 -1
  32. package/dist/packages/firestore/src/remote/rest_connection.d.ts +1 -1
  33. package/package.json +9 -9
@@ -33,7 +33,7 @@ var grpc__namespace = /*#__PURE__*/_interopNamespace(grpc);
33
33
  var protoLoader__namespace = /*#__PURE__*/_interopNamespace(protoLoader);
34
34
 
35
35
  const name = "@firebase/firestore";
36
- const version$1 = "3.4.10-canary.8e952e2ee";
36
+ const version$1 = "3.4.10-canary.bf4959b60";
37
37
 
38
38
  /**
39
39
  * @license
@@ -86,7 +86,7 @@ User.GOOGLE_CREDENTIALS = new User('google-credentials-uid');
86
86
  User.FIRST_PARTY = new User('first-party-uid');
87
87
  User.MOCK_USER = new User('mock-user');
88
88
 
89
- const version = "9.8.3-canary.8e952e2ee";
89
+ const version = "9.8.3-canary.bf4959b60";
90
90
 
91
91
  /**
92
92
  * @license
@@ -17262,7 +17262,7 @@ class GrpcConnection {
17262
17262
  });
17263
17263
  });
17264
17264
  }
17265
- invokeStreamingRPC(rpcName, path, request, authToken, appCheckToken) {
17265
+ invokeStreamingRPC(rpcName, path, request, authToken, appCheckToken, expectedResponseCount) {
17266
17266
  const results = [];
17267
17267
  const responseDeferred = new Deferred();
17268
17268
  logDebug(LOG_TAG$9, `RPC '${rpcName}' invoked (streaming) with request:`, request);
@@ -17270,13 +17270,22 @@ class GrpcConnection {
17270
17270
  const metadata = createMetadata(this.databasePath, authToken, appCheckToken, this.databaseInfo.appId);
17271
17271
  const jsonRequest = Object.assign(Object.assign({}, request), { database: this.databasePath });
17272
17272
  const stream = stub[rpcName](jsonRequest, metadata);
17273
+ let callbackFired = false;
17273
17274
  stream.on('data', (response) => {
17274
17275
  logDebug(LOG_TAG$9, `RPC ${rpcName} received result:`, response);
17275
17276
  results.push(response);
17277
+ if (expectedResponseCount !== undefined &&
17278
+ results.length === expectedResponseCount) {
17279
+ callbackFired = true;
17280
+ responseDeferred.resolve(results);
17281
+ }
17276
17282
  });
17277
17283
  stream.on('end', () => {
17278
17284
  logDebug(LOG_TAG$9, `RPC '${rpcName}' completed.`);
17279
- responseDeferred.resolve(results);
17285
+ if (!callbackFired) {
17286
+ callbackFired = true;
17287
+ responseDeferred.resolve(results);
17288
+ }
17280
17289
  });
17281
17290
  stream.on('error', (grpcError) => {
17282
17291
  logDebug(LOG_TAG$9, `RPC '${rpcName}' failed with error:`, grpcError);
@@ -20829,14 +20838,14 @@ class DatastoreImpl extends Datastore {
20829
20838
  });
20830
20839
  }
20831
20840
  /** Invokes the provided RPC with streamed results with auth and AppCheck tokens. */
20832
- invokeStreamingRPC(rpcName, path, request) {
20841
+ invokeStreamingRPC(rpcName, path, request, expectedResponseCount) {
20833
20842
  this.verifyInitialized();
20834
20843
  return Promise.all([
20835
20844
  this.authCredentials.getToken(),
20836
20845
  this.appCheckCredentials.getToken()
20837
20846
  ])
20838
20847
  .then(([authToken, appCheckToken]) => {
20839
- return this.connection.invokeStreamingRPC(rpcName, path, request, authToken, appCheckToken);
20848
+ return this.connection.invokeStreamingRPC(rpcName, path, request, authToken, appCheckToken, expectedResponseCount);
20840
20849
  })
20841
20850
  .catch((error) => {
20842
20851
  if (error.name === 'FirebaseError') {
@@ -20874,7 +20883,7 @@ async function invokeBatchGetDocumentsRpc(datastore, keys) {
20874
20883
  const request = {
20875
20884
  documents: keys.map(k => toName(datastoreImpl.serializer, k))
20876
20885
  };
20877
- const response = await datastoreImpl.invokeStreamingRPC('BatchGetDocuments', path, request);
20886
+ const response = await datastoreImpl.invokeStreamingRPC('BatchGetDocuments', path, request, keys.length);
20878
20887
  const docs = new Map();
20879
20888
  response.forEach(proto => {
20880
20889
  const doc = fromBatchGetDocumentsResponse(datastoreImpl.serializer, proto);