diff --git a/package.json b/package.json index 7d35dc0..ffb3339 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "---------- Linting ----------------------------------------------------": "", "ts": "tsc --noEmit", "---------- helper commands --------------------------------------------": "", - "prettier": "npx prettier --write \"./**/*.{ts,tsx,js,jsx,json,md}\"", + "prettier": "prettier --write \"./**/*.{ts,tsx,js,jsx,json,md}\"", "up": "yarn upgrade-interactive --latest", "-----------------------------------------------------------------------": "" }, @@ -64,6 +64,7 @@ "jest-mock-console": "^2.0.0", "milliseconds": "^1.0.3", "mobx": "^6.3.0", + "prettier": "^2.8.4", "ts-jest": "^28.0.4", "typescript": "^4.2.4" }, diff --git a/src/PersistStore.ts b/src/PersistStore.ts index 49cd6e4..d31946d 100644 --- a/src/PersistStore.ts +++ b/src/PersistStore.ts @@ -153,17 +153,10 @@ export class PersistStore { actionPersistWarningIf(isActionProperty, String(property.key)); if (!isComputedProperty && !isActionProperty) { - let propertyData = property.serialize(target[property.key]); - - if (propertyData instanceof ObservableMap) { - const mapArray: any = []; - propertyData.forEach((v, k) => { - mapArray.push([k, toJS(v)]); - }); - propertyData = mapArray; - } + const propertyData = property.serialize(target[property.key]); - propertiesToWatch[property.key] = toJS(propertyData); + propertiesToWatch[property.key] = + typeof propertyData === 'undefined' ? undefined : JSON.parse(JSON.stringify(propertyData)); } }); diff --git a/yarn.lock b/yarn.lock index c87051e..2fdced9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3261,6 +3261,11 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== +prettier@^2.8.4: + version "2.8.4" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" + integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== + pretty-format@^27.0.0, pretty-format@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e"