From a2a8828d5b98f61ee581fb729b71a7539c654446 Mon Sep 17 00:00:00 2001 From: Dylan Myers Date: Tue, 11 May 2021 13:27:57 +0100 Subject: [PATCH 1/2] fix: replace deprecated deep-assign with lodash merge --- .prettierrc | 5 +++-- package.json | 2 +- src/AsyncStorage.js | 2 +- yarn.lock | 7 +++++++ 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/.prettierrc b/.prettierrc index 1d4c3eff..4c35d862 100644 --- a/.prettierrc +++ b/.prettierrc @@ -4,5 +4,6 @@ "trailingComma": "all", "bracketSpacing": false, "jsxBracketSameLine": true, - "parser": "flow" -} \ No newline at end of file + "parser": "flow", + "endOfLine": "auto" +} diff --git a/package.json b/package.json index be1905a9..8f04e63e 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "test:e2e:macos": "scripts/macos_e2e.sh 'test'" }, "dependencies": { - "deep-assign": "^3.0.0" + "lodash.merge": "^4.6.2" }, "peerDependencies": { "react-native": "^0.60.6 || ^0.61.5 || ^0.62.2 || ^0.63.2 || ^0.64.0 || 1000.0.0" diff --git a/src/AsyncStorage.js b/src/AsyncStorage.js index 020d16ef..ef5bfd0c 100644 --- a/src/AsyncStorage.js +++ b/src/AsyncStorage.js @@ -8,7 +8,7 @@ * @flow */ -import merge from 'deep-assign'; +import merge from 'lodash.merge'; const mergeLocalStorageItem = (key, value) => { const oldValue = window.localStorage.getItem(key); diff --git a/yarn.lock b/yarn.lock index c89db8ca..a71e83c5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9745,6 +9745,11 @@ lodash.memoize@^4.1.2: resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" @@ -15436,8 +15441,10 @@ watchpack@^1.6.1: resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== dependencies: + chokidar "^3.4.1" graceful-fs "^4.1.2" neo-async "^2.5.0" + watchpack-chokidar2 "^2.0.1" optionalDependencies: chokidar "^3.4.1" watchpack-chokidar2 "^2.0.1" From d8a3b0d0253cc6b9cf3a2aec6eb4c7a388039a23 Mon Sep 17 00:00:00 2001 From: Dylan Myers Date: Mon, 12 Jul 2021 23:35:31 +0100 Subject: [PATCH 2/2] test: implement new deep-assign package in mock --- jest/async-storage-mock.js | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/jest/async-storage-mock.js b/jest/async-storage-mock.js index 2357662d..d2225dc8 100644 --- a/jest/async-storage-mock.js +++ b/jest/async-storage-mock.js @@ -2,6 +2,8 @@ * @format */ +import merge from 'lodash.merge'; + const asMock = { __INTERNAL_MOCK_STORAGE__: {}, @@ -95,7 +97,7 @@ async function _multiMerge(keyValuePairs, callback) { const oldValue = JSON.parse(asMock.__INTERNAL_MOCK_STORAGE__[key]); asMock.__INTERNAL_MOCK_STORAGE__[key] = JSON.stringify( - _deepMergeInto(oldValue, value), + merge(oldValue, value), ); }); @@ -103,23 +105,4 @@ async function _multiMerge(keyValuePairs, callback) { return null; } -const _isObject = (obj) => typeof obj === 'object' && !Array.isArray(obj); -const _deepMergeInto = (oldObject, newObject) => { - const newKeys = Object.keys(newObject); - const mergedObject = oldObject; - - newKeys.forEach((key) => { - const oldValue = mergedObject[key]; - const newValue = newObject[key]; - - if (_isObject(oldValue) && _isObject(newValue)) { - mergedObject[key] = _deepMergeInto(oldValue, newValue); - } else { - mergedObject[key] = newValue; - } - }); - - return mergedObject; -}; - module.exports = asMock;