react-native-onyx 1.0.93 → 1.0.94

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.
@@ -1719,9 +1719,11 @@ class OnyxCache {
1719
1719
  /**
1720
1720
  * @private
1721
1721
  * Captured pending tasks for already running storage methods
1722
- * @type {Record<string, Promise>}
1722
+ * Using a map yields better performance on operations such a delete
1723
+ * https://www.zhenghao.io/posts/object-vs-map
1724
+ * @type {Map<string, Promise>}
1723
1725
  */
1724
- this.pendingPromises = {};
1726
+ this.pendingPromises = new Map();
1725
1727
 
1726
1728
  // bind all public methods to prevent problems with `this`
1727
1729
  underscore__WEBPACK_IMPORTED_MODULE_0___default().bindAll(
@@ -1818,7 +1820,7 @@ class OnyxCache {
1818
1820
  * @returns {*}
1819
1821
  */
1820
1822
  hasPendingTask(taskName) {
1821
- return isDefined(this.pendingPromises[taskName]);
1823
+ return isDefined(this.pendingPromises.get(taskName));
1822
1824
  }
1823
1825
 
1824
1826
  /**
@@ -1830,7 +1832,7 @@ class OnyxCache {
1830
1832
  * @returns {Promise<T>}
1831
1833
  */
1832
1834
  getTaskPromise(taskName) {
1833
- return this.pendingPromises[taskName];
1835
+ return this.pendingPromises.get(taskName);
1834
1836
  }
1835
1837
 
1836
1838
  /**
@@ -1842,11 +1844,13 @@ class OnyxCache {
1842
1844
  * @returns {Promise<T>}
1843
1845
  */
1844
1846
  captureTask(taskName, promise) {
1845
- this.pendingPromises[taskName] = promise.finally(() => {
1846
- delete this.pendingPromises[taskName];
1847
+ const returnPromise = promise.finally(() => {
1848
+ this.pendingPromises.delete(taskName);
1847
1849
  });
1848
1850
 
1849
- return this.pendingPromises[taskName];
1851
+ this.pendingPromises.set(taskName, returnPromise);
1852
+
1853
+ return returnPromise;
1850
1854
  }
1851
1855
 
1852
1856
  /**