react-native-onyx 1.0.10 → 1.0.13
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 +18 -10
- 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/Onyx.js +17 -9
- package/package.json +1 -1
package/dist/web.development.js
CHANGED
|
@@ -489,7 +489,7 @@ function logInfo(message) {
|
|
|
489
489
|
\*********************/
|
|
490
490
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
491
491
|
|
|
492
|
-
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(exports, "__esModule", ({ value: true }));exports["default"] = void 0;var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "./node_modules/@babel/runtime/helpers/slicedToArray.js"));var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "./node_modules/@babel/runtime/helpers/toConsumableArray.js"));var
|
|
492
|
+
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js");Object.defineProperty(exports, "__esModule", ({ value: true }));exports["default"] = void 0;var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "./node_modules/@babel/runtime/helpers/slicedToArray.js"));var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "./node_modules/@babel/runtime/helpers/toConsumableArray.js"));var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "./node_modules/@babel/runtime/helpers/extends.js"));var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/defineProperty.js"));var _underscore = _interopRequireDefault(__webpack_require__(/*! underscore */ "underscore"));
|
|
493
493
|
var _str = _interopRequireDefault(__webpack_require__(/*! expensify-common/lib/str */ "expensify-common/lib/str"));
|
|
494
494
|
var _merge = _interopRequireDefault(__webpack_require__(/*! lodash/merge */ "lodash/merge"));
|
|
495
495
|
var _get = _interopRequireDefault(__webpack_require__(/*! lodash/get */ "lodash/get"));
|
|
@@ -723,10 +723,10 @@ function getCachedCollection(collectionKey) {
|
|
|
723
723
|
if (!cachedValue) {
|
|
724
724
|
return prev;
|
|
725
725
|
}
|
|
726
|
-
return (0, _extends4.default)({},
|
|
727
|
-
prev, (0, _defineProperty2.default)({},
|
|
728
|
-
curr, cachedValue));
|
|
729
726
|
|
|
727
|
+
// eslint-disable-next-line no-param-reassign
|
|
728
|
+
prev[curr] = cachedValue;
|
|
729
|
+
return prev;
|
|
730
730
|
}, {});
|
|
731
731
|
}
|
|
732
732
|
|
|
@@ -751,6 +751,12 @@ function keysChanged(collectionKey, collection) {
|
|
|
751
751
|
if (isSubscribedToCollectionKey) {
|
|
752
752
|
if (_underscore.default.isFunction(subscriber.callback)) {
|
|
753
753
|
var cachedCollection = getCachedCollection(collectionKey);
|
|
754
|
+
|
|
755
|
+
if (subscriber.waitForCollectionCallback) {
|
|
756
|
+
subscriber.callback(cachedCollection);
|
|
757
|
+
return;
|
|
758
|
+
}
|
|
759
|
+
|
|
754
760
|
_underscore.default.each(collection, function (data, dataKey) {
|
|
755
761
|
subscriber.callback(cachedCollection[dataKey], dataKey);
|
|
756
762
|
});
|
|
@@ -780,7 +786,7 @@ function keysChanged(collectionKey, collection) {
|
|
|
780
786
|
}
|
|
781
787
|
|
|
782
788
|
subscriber.withOnyxInstance.setState(function (prevState) {return (0, _defineProperty2.default)({},
|
|
783
|
-
subscriber.statePropertyName, _underscore.default.isObject(dataFromCollection) ? (0,
|
|
789
|
+
subscriber.statePropertyName, _underscore.default.isObject(dataFromCollection) ? (0, _extends2.default)({},
|
|
784
790
|
|
|
785
791
|
prevState[subscriber.statePropertyName],
|
|
786
792
|
dataFromCollection) :
|
|
@@ -882,6 +888,7 @@ function sendDataToConnection(config, val, key) {
|
|
|
882
888
|
* This is used by any non-React code to connect to Onyx
|
|
883
889
|
* @param {Boolean} [mapping.initWithStoredValues] If set to false, then no data will be prefilled into the
|
|
884
890
|
* component
|
|
891
|
+
* @param {Boolean} [mapping.waitForCollectionCallback] If set to true, it will trigger the callback once and return all data as a single object
|
|
885
892
|
* @returns {Number} an ID to use when calling disconnect
|
|
886
893
|
*/
|
|
887
894
|
function connect(mapping) {
|
|
@@ -932,12 +939,13 @@ function connect(mapping) {
|
|
|
932
939
|
// to expect a single key or multiple keys in the case of a collection.
|
|
933
940
|
// React components are an exception since we'll want to send their
|
|
934
941
|
// initial data as a single object when using collection keys.
|
|
935
|
-
if (mapping.withOnyxInstance && isCollectionKey(mapping.key)) {
|
|
942
|
+
if (mapping.withOnyxInstance && isCollectionKey(mapping.key) || mapping.waitForCollectionCallback) {
|
|
936
943
|
Promise.all(_underscore.default.map(matchingKeys, function (key) {return get(key);})).
|
|
937
|
-
then(function (values) {return _underscore.default.reduce(values, function (finalObject, value, i) {
|
|
938
|
-
|
|
939
|
-
matchingKeys[i]
|
|
940
|
-
|
|
944
|
+
then(function (values) {return _underscore.default.reduce(values, function (finalObject, value, i) {
|
|
945
|
+
// eslint-disable-next-line no-param-reassign
|
|
946
|
+
finalObject[matchingKeys[i]] = value;
|
|
947
|
+
return finalObject;
|
|
948
|
+
}, {});}).
|
|
941
949
|
then(function (val) {return sendDataToConnection(mapping, val);});
|
|
942
950
|
} else {
|
|
943
951
|
_underscore.default.each(matchingKeys, function (key) {
|