@firebase/firestore 3.4.1-canary.c2fff0c6a → 3.4.2-canary.044a8d7f9

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 (70) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/firestore/src/index/directional_index_byte_encoder.d.ts +24 -0
  3. package/dist/firestore/src/index/firestore_index_value_writer.d.ts +33 -0
  4. package/dist/firestore/src/index/index_byte_encoder.d.ts +14 -0
  5. package/dist/firestore/src/index/ordered_code_writer.d.ts +60 -0
  6. package/dist/firestore/src/lite-api/reference.d.ts +4 -2
  7. package/dist/firestore/src/model/values.d.ts +3 -0
  8. package/dist/firestore/src/util/byte_string.d.ts +1 -0
  9. package/dist/firestore/src/util/error.d.ts +2 -3
  10. package/dist/firestore/test/unit/index/ordered_code_writer.test.d.ts +1 -0
  11. package/dist/firestore/test/util/helpers.d.ts +1 -0
  12. package/dist/index.d.ts +6 -21
  13. package/dist/index.esm2017.js +2639 -2630
  14. package/dist/index.esm2017.js.map +1 -1
  15. package/dist/index.esm5.js +2601 -2591
  16. package/dist/index.esm5.js.map +1 -1
  17. package/dist/index.node.cjs.js +38 -20
  18. package/dist/index.node.cjs.js.map +1 -1
  19. package/dist/index.node.mjs +38 -20
  20. package/dist/index.node.mjs.map +1 -1
  21. package/dist/index.rn.js +2837 -2828
  22. package/dist/index.rn.js.map +1 -1
  23. package/dist/internal.d.ts +7 -21
  24. package/dist/lite/firestore/src/index/directional_index_byte_encoder.d.ts +24 -0
  25. package/dist/lite/firestore/src/index/firestore_index_value_writer.d.ts +33 -0
  26. package/dist/lite/firestore/src/index/index_byte_encoder.d.ts +14 -0
  27. package/dist/lite/firestore/src/index/ordered_code_writer.d.ts +60 -0
  28. package/dist/lite/firestore/src/lite-api/reference.d.ts +4 -2
  29. package/dist/lite/firestore/src/model/values.d.ts +3 -0
  30. package/dist/lite/firestore/src/util/byte_string.d.ts +1 -0
  31. package/dist/lite/firestore/src/util/error.d.ts +2 -3
  32. package/dist/lite/firestore/test/unit/index/ordered_code_writer.test.d.ts +1 -0
  33. package/dist/lite/firestore/test/util/helpers.d.ts +1 -0
  34. package/dist/lite/index.browser.esm2017.js +834 -822
  35. package/dist/lite/index.browser.esm2017.js.map +1 -1
  36. package/dist/lite/index.browser.esm5.js +835 -822
  37. package/dist/lite/index.browser.esm5.js.map +1 -1
  38. package/dist/lite/index.d.ts +6 -21
  39. package/dist/lite/index.node.cjs.js +23 -6
  40. package/dist/lite/index.node.cjs.js.map +1 -1
  41. package/dist/lite/index.node.mjs +24 -7
  42. package/dist/lite/index.node.mjs.map +1 -1
  43. package/dist/lite/index.rn.esm2017.js +833 -821
  44. package/dist/lite/index.rn.esm2017.js.map +1 -1
  45. package/dist/lite/internal.d.ts +7 -21
  46. package/dist/lite/packages/firestore/dist/lite/index.browser.esm2017.d.ts +109 -109
  47. package/dist/lite/packages/firestore/src/index/directional_index_byte_encoder.d.ts +24 -0
  48. package/dist/lite/packages/firestore/src/index/firestore_index_value_writer.d.ts +33 -0
  49. package/dist/lite/packages/firestore/src/index/index_byte_encoder.d.ts +14 -0
  50. package/dist/lite/packages/firestore/src/index/ordered_code_writer.d.ts +60 -0
  51. package/dist/lite/packages/firestore/src/lite-api/reference.d.ts +4 -2
  52. package/dist/lite/packages/firestore/src/model/values.d.ts +3 -0
  53. package/dist/lite/packages/firestore/src/util/byte_string.d.ts +1 -0
  54. package/dist/lite/packages/firestore/src/util/error.d.ts +2 -3
  55. package/dist/lite/packages/firestore/test/unit/index/ordered_code_writer.test.d.ts +1 -0
  56. package/dist/lite/packages/firestore/test/util/helpers.d.ts +1 -0
  57. package/dist/lite/private.d.ts +6 -21
  58. package/dist/packages/firestore/dist/index.esm2017.d.ts +156 -156
  59. package/dist/packages/firestore/src/index/directional_index_byte_encoder.d.ts +24 -0
  60. package/dist/packages/firestore/src/index/firestore_index_value_writer.d.ts +33 -0
  61. package/dist/packages/firestore/src/index/index_byte_encoder.d.ts +14 -0
  62. package/dist/packages/firestore/src/index/ordered_code_writer.d.ts +60 -0
  63. package/dist/packages/firestore/src/lite-api/reference.d.ts +4 -2
  64. package/dist/packages/firestore/src/model/values.d.ts +3 -0
  65. package/dist/packages/firestore/src/util/byte_string.d.ts +1 -0
  66. package/dist/packages/firestore/src/util/error.d.ts +2 -3
  67. package/dist/packages/firestore/test/unit/index/ordered_code_writer.test.d.ts +1 -0
  68. package/dist/packages/firestore/test/util/helpers.d.ts +1 -0
  69. package/dist/private.d.ts +6 -21
  70. package/package.json +9 -9
@@ -14,7 +14,7 @@ var url = require('url');
14
14
  var protoLoader = require('@grpc/proto-loader');
15
15
 
16
16
  const name = "@firebase/firestore";
17
- const version$1 = "3.4.1-canary.c2fff0c6a";
17
+ const version$1 = "3.4.2-canary.044a8d7f9";
18
18
 
19
19
  /**
20
20
  * @license
@@ -67,7 +67,7 @@ User.GOOGLE_CREDENTIALS = new User('google-credentials-uid');
67
67
  User.FIRST_PARTY = new User('first-party-uid');
68
68
  User.MOCK_USER = new User('mock-user');
69
69
 
70
- const version = "9.6.1-canary.c2fff0c6a";
70
+ const version = "9.6.2-canary.044a8d7f9";
71
71
 
72
72
  /**
73
73
  * @license
@@ -387,7 +387,7 @@ const Code = {
387
387
  DATA_LOSS: 'data-loss'
388
388
  };
389
389
  /** An error returned by a Firestore operation. */
390
- class FirestoreError extends Error {
390
+ class FirestoreError extends util$1.FirebaseError {
391
391
  /** @hideconstructor */
392
392
  constructor(
393
393
  /**
@@ -398,11 +398,9 @@ class FirestoreError extends Error {
398
398
  * A custom error description.
399
399
  */
400
400
  message) {
401
- super(message);
401
+ super(code, message);
402
402
  this.code = code;
403
403
  this.message = message;
404
- /** The custom name for all FirestoreErrors. */
405
- this.name = 'FirebaseError';
406
404
  // HACK: We write a toString property directly because Error is not a real
407
405
  // class and so inheritance does not work correctly. We could alternatively
408
406
  // do the same "back-door inheritance" trick that FirebaseError does.
@@ -3165,6 +3163,19 @@ class ByteString {
3165
3163
  const binaryString = binaryStringFromUint8Array(array);
3166
3164
  return new ByteString(binaryString);
3167
3165
  }
3166
+ [Symbol.iterator]() {
3167
+ let i = 0;
3168
+ return {
3169
+ next: () => {
3170
+ if (i < this.binaryString.length) {
3171
+ return { value: this.binaryString.charCodeAt(i++), done: false };
3172
+ }
3173
+ else {
3174
+ return { value: undefined, done: true };
3175
+ }
3176
+ }
3177
+ };
3178
+ }
3168
3179
  toBase64() {
3169
3180
  return encodeBase64(this.binaryString);
3170
3181
  }
@@ -3525,6 +3536,9 @@ function typeOrder(value) {
3525
3536
  }
3526
3537
  /** Tests `left` and `right` for equality based on the backend semantics. */
3527
3538
  function valueEquals(left, right) {
3539
+ if (left === right) {
3540
+ return true;
3541
+ }
3528
3542
  const leftType = typeOrder(left);
3529
3543
  const rightType = typeOrder(right);
3530
3544
  if (leftType !== rightType) {
@@ -3615,6 +3629,9 @@ function arrayValueContains(haystack, needle) {
3615
3629
  return ((haystack.values || []).find(v => valueEquals(v, needle)) !== undefined);
3616
3630
  }
3617
3631
  function valueCompare(left, right) {
3632
+ if (left === right) {
3633
+ return 0;
3634
+ }
3618
3635
  const leftType = typeOrder(left);
3619
3636
  const rightType = typeOrder(right);
3620
3637
  if (leftType !== rightType) {
@@ -11923,18 +11940,20 @@ function localStoreApplyRemoteEventToLocalCache(localStore, remoteEvent) {
11923
11940
  .next(() => {
11924
11941
  return localStoreImpl.targetCache.addMatchingKeys(txn, change.addedDocuments, targetId);
11925
11942
  }));
11926
- const resumeToken = change.resumeToken;
11927
- // Update the resume token if the change includes one.
11928
- if (resumeToken.approximateByteSize() > 0) {
11929
- const newTargetData = oldTargetData
11930
- .withResumeToken(resumeToken, remoteVersion)
11931
- .withSequenceNumber(txn.currentSequenceNumber);
11932
- newTargetDataByTargetMap = newTargetDataByTargetMap.insert(targetId, newTargetData);
11933
- // Update the target data if there are target changes (or if
11934
- // sufficient time has passed since the last update).
11935
- if (shouldPersistTargetData(oldTargetData, newTargetData, change)) {
11936
- promises.push(localStoreImpl.targetCache.updateTargetData(txn, newTargetData));
11937
- }
11943
+ let newTargetData = oldTargetData.withSequenceNumber(txn.currentSequenceNumber);
11944
+ if (remoteEvent.targetMismatches.has(targetId)) {
11945
+ newTargetData = newTargetData
11946
+ .withResumeToken(ByteString.EMPTY_BYTE_STRING, SnapshotVersion.min())
11947
+ .withLastLimboFreeSnapshotVersion(SnapshotVersion.min());
11948
+ }
11949
+ else if (change.resumeToken.approximateByteSize() > 0) {
11950
+ newTargetData = newTargetData.withResumeToken(change.resumeToken, remoteVersion);
11951
+ }
11952
+ newTargetDataByTargetMap = newTargetDataByTargetMap.insert(targetId, newTargetData);
11953
+ // Update the target data if there are target changes (or if
11954
+ // sufficient time has passed since the last update).
11955
+ if (shouldPersistTargetData(oldTargetData, newTargetData, change)) {
11956
+ promises.push(localStoreImpl.targetCache.updateTargetData(txn, newTargetData));
11938
11957
  }
11939
11958
  });
11940
11959
  let changedDocs = mutableDocumentMap();
@@ -12034,7 +12053,6 @@ documentVersions) {
12034
12053
  * too frequent.
12035
12054
  */
12036
12055
  function shouldPersistTargetData(oldTargetData, newTargetData, change) {
12037
- hardAssert(newTargetData.resumeToken.approximateByteSize() > 0);
12038
12056
  // Always persist target data if we don't already have a resume token.
12039
12057
  if (oldTargetData.resumeToken.approximateByteSize() === 0) {
12040
12058
  return true;
@@ -14484,7 +14502,7 @@ class GrpcConnection {
14484
14502
  */
14485
14503
  // __filename and __dirname globals are unavailable in ES modules
14486
14504
  // @ts-ignore To avoid using `--module es2020` flag.
14487
- const __filenameInESM = url.fileURLToPath(new (require('url').URL)('file:' + __filename).href);
14505
+ const __filenameInESM = url.fileURLToPath(((typeof document === 'undefined' || (typeof process !== 'undefined' && process.env !== undefined && (process.env.JEST_WORKER_ID !== undefined || process.env.NODE_ENV === 'test'))) ? new (require('url').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('index.node.cjs.js', document.baseURI).href)));
14488
14506
  const __dirnameInESM = path.dirname(__filenameInESM);
14489
14507
  /** Used by tests so we can match @grpc/proto-loader behavior. */
14490
14508
  const protoLoaderOptions = {