aboutsummaryrefslogtreecommitdiffstats
path: root/lib/persist.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2021-03-19 16:39:49 -0700
committerAdam Soltys <[email protected]>2021-03-19 16:39:49 -0700
commit0e85dc6ee1caeac4ad12414e7020864a1866cf82 (patch)
treefe482817112d01e0319b125dfe232f28dc6803ae /lib/persist.js
parent70c8455d9920755b1b925046d46c486a313944c9 (diff)
downloadcoinos-server-0e85dc6ee1caeac4ad12414e7020864a1866cf82.tar.gz
coinos-server-0e85dc6ee1caeac4ad12414e7020864a1866cf82.zip
move mail to lib
Diffstat (limited to 'lib/persist.js')
-rw-r--r--lib/persist.js32
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);
+ }
+ });
};