react-native-onyx 1.0.16 → 1.0.17

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/README.md CHANGED
@@ -63,7 +63,7 @@ The data will then be cached and stored via [`AsyncStorage`](https://github.com/
63
63
 
64
64
  We can also use `Onyx.merge()` to merge new `Object` or `Array` data in with existing data.
65
65
 
66
- For `Array` the default behavior is to concatenate replace it fully, effectively making it equivalent to set:
66
+ For `Array` the default behavior is to replace it fully, effectively making it equivalent to set:
67
67
 
68
68
  ```javascript
69
69
  Onyx.merge(ONYXKEYS.EMPLOYEE_LIST, ['Joe']); // -> ['Joe']
@@ -77,7 +77,7 @@ Onyx.merge(ONYXKEYS.POLICY, {id: 1}); // -> {id: 1}
77
77
  Onyx.merge(ONYXKEYS.POLICY, {name: 'My Workspace'}); // -> {id: 1, name: 'My Workspace'}
78
78
  ```
79
79
 
80
- Arrays inside objects will NOT be concatenated and instead will be replaced fully, same as arrays not inside objects:
80
+ Arrays inside objects will be replaced fully, same as arrays not inside objects:
81
81
 
82
82
  ```javascript
83
83
  Onyx.merge(ONYXKEYS.POLICY, {employeeList: ['Joe', 'Jack']}); // -> {employeeList: ['Joe', 'Jack']}
@@ -1,13 +1,13 @@
1
1
  (function webpackUniversalModuleDefinition(root, factory) {
2
2
  if(typeof exports === 'object' && typeof module === 'object')
3
- module.exports = factory(require("underscore"), require("expensify-common/lib/str"), require("lodash/merge"), require("lodash/mergeWith"), require("lodash/get"), require("localforage"), require("react"));
3
+ module.exports = factory(require("underscore"), require("expensify-common/lib/str"), require("lodash/merge"), require("lodash/get"), require("localforage"), require("lodash/mergeWith"), require("react"));
4
4
  else if(typeof define === 'function' && define.amd)
5
- define(["underscore", "expensify-common/lib/str", "lodash/merge", "lodash/mergeWith", "lodash/get", "localforage", "react"], factory);
5
+ define(["underscore", "expensify-common/lib/str", "lodash/merge", "lodash/get", "localforage", "lodash/mergeWith", "react"], factory);
6
6
  else if(typeof exports === 'object')
7
- exports["react-native-onyx/web"] = factory(require("underscore"), require("expensify-common/lib/str"), require("lodash/merge"), require("lodash/mergeWith"), require("lodash/get"), require("localforage"), require("react"));
7
+ exports["react-native-onyx/web"] = factory(require("underscore"), require("expensify-common/lib/str"), require("lodash/merge"), require("lodash/get"), require("localforage"), require("lodash/mergeWith"), require("react"));
8
8
  else
9
- root["react-native-onyx/web"] = factory(root["underscore"], root["expensify-common/lib/str"], root["lodash/merge"], root["lodash/mergeWith"], root["lodash/get"], root["localforage"], root["react"]);
10
- })(self, (__WEBPACK_EXTERNAL_MODULE_underscore__, __WEBPACK_EXTERNAL_MODULE_expensify_common_lib_str__, __WEBPACK_EXTERNAL_MODULE_lodash_merge__, __WEBPACK_EXTERNAL_MODULE_lodash_mergeWith__, __WEBPACK_EXTERNAL_MODULE_lodash_get__, __WEBPACK_EXTERNAL_MODULE_localforage__, __WEBPACK_EXTERNAL_MODULE_react__) => {
9
+ root["react-native-onyx/web"] = factory(root["underscore"], root["expensify-common/lib/str"], root["lodash/merge"], root["lodash/get"], root["localforage"], root["lodash/mergeWith"], root["react"]);
10
+ })(self, (__WEBPACK_EXTERNAL_MODULE_underscore__, __WEBPACK_EXTERNAL_MODULE_expensify_common_lib_str__, __WEBPACK_EXTERNAL_MODULE_lodash_merge__, __WEBPACK_EXTERNAL_MODULE_lodash_get__, __WEBPACK_EXTERNAL_MODULE_localforage__, __WEBPACK_EXTERNAL_MODULE_lodash_mergeWith__, __WEBPACK_EXTERNAL_MODULE_react__) => {
11
11
  return /******/ (() => { // webpackBootstrap
12
12
  /******/ var __webpack_modules__ = ({
13
13
 
@@ -492,13 +492,12 @@ function logInfo(message) {
492
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
- var _mergeWith = _interopRequireDefault(__webpack_require__(/*! lodash/mergeWith */ "lodash/mergeWith"));
496
495
  var _get = _interopRequireDefault(__webpack_require__(/*! lodash/get */ "lodash/get"));
497
496
  var _storage = _interopRequireDefault(__webpack_require__(/*! ./storage */ "./lib/storage/index.web.js"));
498
497
  var Logger = _interopRequireWildcard(__webpack_require__(/*! ./Logger */ "./lib/Logger.js"));
499
498
  var _OnyxCache = _interopRequireDefault(__webpack_require__(/*! ./OnyxCache */ "./lib/OnyxCache.js"));
500
499
  var _createDeferredTask = _interopRequireDefault(__webpack_require__(/*! ./createDeferredTask */ "./lib/createDeferredTask.js"));
501
- var _customizerForMergeWith = _interopRequireDefault(__webpack_require__(/*! ./customizerForMergeWith */ "./lib/customizerForMergeWith.js"));function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;}
500
+ var _mergeWithCustomized = _interopRequireDefault(__webpack_require__(/*! ./mergeWithCustomized */ "./lib/mergeWithCustomized.js"));function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;}
502
501
 
503
502
  // Keeps track of the last connectionID that was used so we can keep incrementing it
504
503
  var lastConnectionID = 0;
@@ -1154,7 +1153,7 @@ function applyMerge(key, data) {
1154
1153
  if (_underscore.default.isObject(data) || _underscore.default.every(mergeValues, _underscore.default.isObject)) {
1155
1154
  // Object values are merged one after the other
1156
1155
  return _underscore.default.reduce(mergeValues, function (modifiedData, mergeValue) {
1157
- var newData = (0, _mergeWith.default)({}, modifiedData, mergeValue, _customizerForMergeWith.default);
1156
+ var newData = (0, _mergeWithCustomized.default)({}, modifiedData, mergeValue);
1158
1157
 
1159
1158
  // We will also delete any object keys that are undefined or null.
1160
1159
  // Deleting keys is not supported by AsyncStorage so we do it this way.
@@ -1225,7 +1224,7 @@ function initializeWithDefaultKeyStates() {
1225
1224
  then(function (pairs) {
1226
1225
  var asObject = _underscore.default.object(pairs);
1227
1226
 
1228
- var merged = (0, _mergeWith.default)(asObject, defaultKeyStates, _customizerForMergeWith.default);
1227
+ var merged = (0, _mergeWithCustomized.default)(asObject, defaultKeyStates);
1229
1228
  _OnyxCache.default.merge(merged);
1230
1229
  _underscore.default.each(merged, function (val, key) {return keyChanged(key, val);});
1231
1230
  });
@@ -1495,8 +1494,7 @@ Onyx;exports["default"] = _default;
1495
1494
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1496
1495
 
1497
1496
  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 _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "./node_modules/@babel/runtime/helpers/toConsumableArray.js"));var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/classCallCheck.js"));var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/createClass.js"));var _underscore = _interopRequireDefault(__webpack_require__(/*! underscore */ "underscore"));
1498
- var _mergeWith = _interopRequireDefault(__webpack_require__(/*! lodash/mergeWith */ "lodash/mergeWith"));
1499
- var _customizerForMergeWith = _interopRequireDefault(__webpack_require__(/*! ./customizerForMergeWith */ "./lib/customizerForMergeWith.js"));
1497
+ var _mergeWithCustomized = _interopRequireDefault(__webpack_require__(/*! ./mergeWithCustomized */ "./lib/mergeWithCustomized.js"));
1500
1498
 
1501
1499
  var isDefined = _underscore.default.negate(_underscore.default.isUndefined);
1502
1500
 
@@ -1607,7 +1605,7 @@ OnyxCache = /*#__PURE__*/function () {
1607
1605
  * @param {Record<string, *>} data - a map of (cache) key - values
1608
1606
  */ }, { key: "merge", value: function merge(
1609
1607
  data) {var _this = this;
1610
- this.storageMap = (0, _mergeWith.default)({}, this.storageMap, data, _customizerForMergeWith.default);
1608
+ this.storageMap = (0, _mergeWithCustomized.default)({}, this.storageMap, data);
1611
1609
 
1612
1610
  var storageKeys = this.getAllKeys();
1613
1611
  var mergedKeys = _underscore.default.keys(data);
@@ -1778,13 +1776,13 @@ function createDeferredTask() {
1778
1776
 
1779
1777
  /***/ }),
1780
1778
 
1781
- /***/ "./lib/customizerForMergeWith.js":
1782
- /*!***************************************!*\
1783
- !*** ./lib/customizerForMergeWith.js ***!
1784
- \***************************************/
1779
+ /***/ "./lib/mergeWithCustomized.js":
1780
+ /*!************************************!*\
1781
+ !*** ./lib/mergeWithCustomized.js ***!
1782
+ \************************************/
1785
1783
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1786
1784
 
1787
- 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 _underscore = _interopRequireDefault(__webpack_require__(/*! underscore */ "underscore"));
1785
+ 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 _mergeWith = _interopRequireDefault(__webpack_require__(/*! lodash/mergeWith */ "lodash/mergeWith"));
1788
1786
 
1789
1787
  /**
1790
1788
  * When merging 2 objects into onyx that contain an array, we want to completely replace the array instead of the default
@@ -1799,12 +1797,17 @@ var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/inte
1799
1797
  */
1800
1798
  // eslint-disable-next-line rulesdir/prefer-early-return
1801
1799
  function customizerForMergeWith(objValue, srcValue) {
1802
- if (_underscore.default.isArray(objValue)) {
1800
+ // eslint-disable-next-line rulesdir/prefer-underscore-method
1801
+ if (Array.isArray(objValue)) {
1803
1802
  return srcValue;
1804
1803
  }
1804
+ }
1805
+
1806
+ function mergeWithCustomized() {for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}
1807
+ return _mergeWith.default.apply(void 0, args.concat([customizerForMergeWith]));
1805
1808
  }var _default =
1806
1809
 
1807
- customizerForMergeWith;exports["default"] = _default;
1810
+ mergeWithCustomized;exports["default"] = _default;
1808
1811
 
1809
1812
  /***/ }),
1810
1813
 
@@ -1914,9 +1917,8 @@ var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/inte
1914
1917
 
1915
1918
  var _localforage = _interopRequireDefault(__webpack_require__(/*! localforage */ "localforage"));
1916
1919
  var _underscore = _interopRequireDefault(__webpack_require__(/*! underscore */ "underscore"));
1917
- var _mergeWith = _interopRequireDefault(__webpack_require__(/*! lodash/mergeWith */ "lodash/mergeWith"));
1918
1920
  var _SyncQueue = _interopRequireDefault(__webpack_require__(/*! ../../SyncQueue */ "./lib/SyncQueue.js"));
1919
- var _customizerForMergeWith = _interopRequireDefault(__webpack_require__(/*! ../../customizerForMergeWith */ "./lib/customizerForMergeWith.js")); /**
1921
+ var _mergeWithCustomized = _interopRequireDefault(__webpack_require__(/*! ../../mergeWithCustomized */ "./lib/mergeWithCustomized.js")); /**
1920
1922
  * @file
1921
1923
  * The storage provider based on localforage allows us to store most anything in its
1922
1924
  * natural form in the underlying DB without having to stringify or de-stringify it
@@ -1933,7 +1935,7 @@ var provider = {
1933
1935
  return _localforage.default.getItem(key).
1934
1936
  then(function (existingValue) {
1935
1937
  var newValue = _underscore.default.isObject(existingValue) ?
1936
- (0, _mergeWith.default)({}, existingValue, value, _customizerForMergeWith.default) :
1938
+ (0, _mergeWithCustomized.default)({}, existingValue, value) :
1937
1939
  value;
1938
1940
  return _localforage.default.setItem(key, newValue);
1939
1941
  });