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.
- package/dist/web.development.js +11 -7
- package/dist/web.development.js.map +1 -1
- package/dist/web.min.js +1 -1
- package/dist/web.min.js.map +1 -1
- package/lib/OnyxCache.js +11 -7
- package/package.json +1 -1
package/dist/web.development.js
CHANGED
|
@@ -1719,9 +1719,11 @@ class OnyxCache {
|
|
|
1719
1719
|
/**
|
|
1720
1720
|
* @private
|
|
1721
1721
|
* Captured pending tasks for already running storage methods
|
|
1722
|
-
*
|
|
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
|
|
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
|
|
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
|
-
|
|
1846
|
-
|
|
1847
|
+
const returnPromise = promise.finally(() => {
|
|
1848
|
+
this.pendingPromises.delete(taskName);
|
|
1847
1849
|
});
|
|
1848
1850
|
|
|
1849
|
-
|
|
1851
|
+
this.pendingPromises.set(taskName, returnPromise);
|
|
1852
|
+
|
|
1853
|
+
return returnPromise;
|
|
1850
1854
|
}
|
|
1851
1855
|
|
|
1852
1856
|
/**
|