diff options
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); + } + }); }; |
