diff options
| author | Adam Soltys <[email protected]> | 2021-03-19 16:39:49 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2021-03-19 16:39:49 -0700 |
| commit | 0e85dc6ee1caeac4ad12414e7020864a1866cf82 (patch) | |
| tree | fe482817112d01e0319b125dfe232f28dc6803ae /lib/persist.js | |
| parent | 70c8455d9920755b1b925046d46c486a313944c9 (diff) | |
| download | coinos-server-0e85dc6ee1caeac4ad12414e7020864a1866cf82.tar.gz coinos-server-0e85dc6ee1caeac4ad12414e7020864a1866cf82.zip | |
move mail to lib
Diffstat (limited to 'lib/persist.js')
| -rw-r--r-- | lib/persist.js | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/lib/persist.js b/lib/persist.js index 24d00693..54e7e209 100644 --- a/lib/persist.js +++ b/lib/persist.js @@ -1,18 +1,22 @@ -fs = require("fs"); +const fs = require("fs"); module.exports = (path, initial = {}) => { - try { - return require("../" + path); - } catch { - return new Proxy(initial, { - set(obj, prop, value) { - fs.writeFileSync( - path, - JSON.stringify({ ...obj, [prop]: value }, null, 2), - "utf-8" - ); - return Reflect.set(...arguments); - } - }); + if (!initial || !Object.keys(initial).length) { + try { + initial = require("../" + path); + } catch(e) {} } + + // console.log("initial", path, initial); + + return new Proxy(initial, { + set(obj, prop, value) { + fs.writeFileSync( + path, + JSON.stringify({ ...obj, [prop]: value }, null, 2), + "utf-8" + ); + return Reflect.set(...arguments); + } + }); }; |
