diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/persist.js | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/persist.js b/lib/persist.js new file mode 100644 index 00000000..24d00693 --- /dev/null +++ b/lib/persist.js @@ -0,0 +1,18 @@ +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); + } + }); + } +}; |
