@firebase/firestore 4.7.8 → 4.7.9

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 (36) hide show
  1. package/dist/firestore/src/global_index.d.ts +9 -2
  2. package/dist/firestore/src/lite-api/database.d.ts +4 -0
  3. package/dist/firestore/src/lite-api/settings.d.ts +4 -0
  4. package/dist/firestore/src/lite-api/vector_value.d.ts +2 -2
  5. package/dist/firestore/test/integration/util/settings.d.ts +1 -0
  6. package/dist/index.cjs.js +108 -98
  7. package/dist/index.cjs.js.map +1 -1
  8. package/dist/index.d.ts +2 -2
  9. package/dist/index.esm2017.js +109 -99
  10. package/dist/index.esm2017.js.map +1 -1
  11. package/dist/index.node.cjs.js +17 -5
  12. package/dist/index.node.cjs.js.map +1 -1
  13. package/dist/index.node.mjs +18 -6
  14. package/dist/index.node.mjs.map +1 -1
  15. package/dist/index.rn.js +44 -34
  16. package/dist/index.rn.js.map +1 -1
  17. package/dist/internal.d.ts +9 -2
  18. package/dist/lite/firestore/src/lite-api/database.d.ts +4 -0
  19. package/dist/lite/firestore/src/lite-api/settings.d.ts +4 -0
  20. package/dist/lite/firestore/src/lite-api/vector_value.d.ts +2 -2
  21. package/dist/lite/firestore/test/integration/util/settings.d.ts +1 -0
  22. package/dist/lite/index.browser.esm2017.js +23 -13
  23. package/dist/lite/index.browser.esm2017.js.map +1 -1
  24. package/dist/lite/index.cjs.js +23 -13
  25. package/dist/lite/index.cjs.js.map +1 -1
  26. package/dist/lite/index.d.ts +2 -2
  27. package/dist/lite/index.node.cjs.js +17 -5
  28. package/dist/lite/index.node.cjs.js.map +1 -1
  29. package/dist/lite/index.node.mjs +18 -6
  30. package/dist/lite/index.node.mjs.map +1 -1
  31. package/dist/lite/index.rn.esm2017.js +43 -33
  32. package/dist/lite/index.rn.esm2017.js.map +1 -1
  33. package/dist/lite/internal.d.ts +9 -2
  34. package/dist/lite/private.d.ts +6 -2
  35. package/dist/private.d.ts +6 -2
  36. package/package.json +6 -6
@@ -34,7 +34,7 @@ var grpc__namespace = /*#__PURE__*/_interopNamespace(grpc);
34
34
  var protoLoader__namespace = /*#__PURE__*/_interopNamespace(protoLoader);
35
35
 
36
36
  const name = "@firebase/firestore";
37
- const version$1 = "4.7.8";
37
+ const version$1 = "4.7.9";
38
38
 
39
39
  /**
40
40
  * @license
@@ -87,7 +87,7 @@ User.GOOGLE_CREDENTIALS = new User('google-credentials-uid');
87
87
  User.FIRST_PARTY = new User('first-party-uid');
88
88
  User.MOCK_USER = new User('mock-user');
89
89
 
90
- const version = "11.3.1";
90
+ const version = "11.4.0";
91
91
 
92
92
  /**
93
93
  * @license
@@ -27839,6 +27839,7 @@ class Firestore$1 {
27839
27839
  this._persistenceKey = '(lite)';
27840
27840
  this._settings = new FirestoreSettingsImpl({});
27841
27841
  this._settingsFrozen = false;
27842
+ this._emulatorOptions = {};
27842
27843
  // A task that is assigned when the terminate() is invoked and resolved when
27843
27844
  // all components have shut down. Otherwise, Firestore is not terminated,
27844
27845
  // which can mean either the FirestoreClient is in the process of starting,
@@ -27869,6 +27870,7 @@ class Firestore$1 {
27869
27870
  'methods on a Firestore object.');
27870
27871
  }
27871
27872
  this._settings = new FirestoreSettingsImpl(settings);
27873
+ this._emulatorOptions = settings.emulatorOptions || {};
27872
27874
  if (settings.credentials !== undefined) {
27873
27875
  this._authCredentials = makeAuthCredentialsProvider(settings.credentials);
27874
27876
  }
@@ -27876,6 +27878,9 @@ class Firestore$1 {
27876
27878
  _getSettings() {
27877
27879
  return this._settings;
27878
27880
  }
27881
+ _getEmulatorOptions() {
27882
+ return this._emulatorOptions;
27883
+ }
27879
27884
  _freezeSettings() {
27880
27885
  this._settingsFrozen = true;
27881
27886
  return this._settings;
@@ -27936,12 +27941,19 @@ function connectFirestoreEmulator(firestore, host, port, options = {}) {
27936
27941
  var _a;
27937
27942
  firestore = cast(firestore, Firestore$1);
27938
27943
  const settings = firestore._getSettings();
27944
+ const existingConfig = Object.assign(Object.assign({}, settings), { emulatorOptions: firestore._getEmulatorOptions() });
27939
27945
  const newHostSetting = `${host}:${port}`;
27940
27946
  if (settings.host !== DEFAULT_HOST && settings.host !== newHostSetting) {
27941
27947
  logWarn('Host has been set in both settings() and connectFirestoreEmulator(), emulator host ' +
27942
27948
  'will be used.');
27943
27949
  }
27944
- firestore._setSettings(Object.assign(Object.assign({}, settings), { host: newHostSetting, ssl: false }));
27950
+ const newConfig = Object.assign(Object.assign({}, settings), { host: newHostSetting, ssl: false, emulatorOptions: options });
27951
+ // No-op if the new configuration matches the current configuration. This supports SSR
27952
+ // enviornments which might call `connectFirestoreEmulator` multiple times as a standard practice.
27953
+ if (util.deepEqual(newConfig, existingConfig)) {
27954
+ return;
27955
+ }
27956
+ firestore._setSettings(newConfig);
27945
27957
  if (options.mockUserToken) {
27946
27958
  let token;
27947
27959
  let user;
@@ -29324,7 +29336,7 @@ class GeoPoint {
29324
29336
  */
29325
29337
  /**
29326
29338
  * Represents a vector type in Firestore documents.
29327
- * Create an instance with {@link FieldValue.vector}.
29339
+ * Create an instance with <code>{@link vector}</code>.
29328
29340
  *
29329
29341
  * @class VectorValue
29330
29342
  */
@@ -29344,7 +29356,7 @@ class VectorValue {
29344
29356
  return this._values.map(n => n);
29345
29357
  }
29346
29358
  /**
29347
- * Returns `true` if the two VectorValue has the same raw number arrays, returns `false` otherwise.
29359
+ * Returns `true` if the two `VectorValue` values have the same raw number arrays, returns `false` otherwise.
29348
29360
  */
29349
29361
  isEqual(other) {
29350
29362
  return isPrimitiveArrayEqual(this._values, other._values);