From 61d4e0c6a5989fb3b3e4b7496ac06c16a64aec06 Mon Sep 17 00:00:00 2001 From: John Knox Date: Mon, 4 Nov 2019 07:05:45 -0800 Subject: [PATCH] Pretty print settings file json Summary: Making it a bit more human readable. Reviewed By: passy Differential Revision: D18271880 fbshipit-source-id: 10e8ba50957e9407b1436972f8a06915edf73dfb --- src/utils/__tests__/data/settings-v1-valid.json | 11 ++++++++++- src/utils/jsonFileReduxPersistStorage.tsx | 10 +++++++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/utils/__tests__/data/settings-v1-valid.json b/src/utils/__tests__/data/settings-v1-valid.json index b2b970965..bea7b7e79 100644 --- a/src/utils/__tests__/data/settings-v1-valid.json +++ b/src/utils/__tests__/data/settings-v1-valid.json @@ -1 +1,10 @@ -{"androidHome":"/opt/android_sdk","something":{"else":4},"_persist":{"version":-1,"rehydrated":true}} +{ + "androidHome": "/opt/android_sdk", + "something": { + "else": 4 + }, + "_persist": { + "version": -1, + "rehydrated": true + } +} diff --git a/src/utils/jsonFileReduxPersistStorage.tsx b/src/utils/jsonFileReduxPersistStorage.tsx index 2ba5b788a..1956ffeab 100644 --- a/src/utils/jsonFileReduxPersistStorage.tsx +++ b/src/utils/jsonFileReduxPersistStorage.tsx @@ -35,7 +35,7 @@ export default class JsonFileStorage { console.warn( `Failed to read settings file: "${this.filepath}". ${e}. Replacing file with default settings.`, ); - return this.writeContents(JSON.stringify({})).then(() => ({})); + return this.writeContents(prettyStringify({})).then(() => ({})); }); } @@ -61,7 +61,7 @@ export default class JsonFileStorage { } removeItem(_key: string, callback?: () => any): Promise { - return this.writeContents(JSON.stringify({})) + return this.writeContents(prettyStringify({})) .then(_ => callback && callback()) .then(() => {}); } @@ -73,7 +73,7 @@ export default class JsonFileStorage { acc[cv[0]] = cv[1]; return acc; }, {}); - return JSON.stringify(reconstructedObject); + return prettyStringify(reconstructedObject); } deserializeValue(value: string): string { @@ -95,3 +95,7 @@ export default class JsonFileStorage { .then(() => promises.writeFile(this.filepath, content)); } } + +function prettyStringify(data: Object) { + return JSON.stringify(data, null, 2); +}