feat: lowdb test

This commit is contained in:
mozzie 2024-08-12 17:06:55 +08:00
parent e0d787d65f
commit 9e24a7bc25
3 changed files with 42 additions and 3 deletions

View File

@ -1,6 +1,27 @@
import path from "node:path"; import path from "node:path";
import { JSONFilePreset } from "lowdb/node";
import { app } from "electron";
import { fileURLToPath } from "node:url";
// const db = await JSONFilePreset("db.json", { posts: [] }); const __dirname = path.dirname(fileURLToPath(import.meta.url));
// const post = { id: 1, title: "lowdb is awesome", views: 100 }; const initDb = async () => {
// await db.update(({ posts }) => posts.push(post)); // Read or create db.json
const defaultData = { posts: [] };
const db = await JSONFilePreset(
path.join(app.getPath("userData"), "db.json"),
defaultData
);
// Update db.json
await db.update(({ posts }) => posts.push("hello world"));
// Alternatively you can call db.write() explicitely later
// to write to db.json
db.data.posts.push("hello world");
await db.write();
console.log(db);
};
initDb();

View File

@ -34,6 +34,7 @@
"electron-store": "^10.0.0", "electron-store": "^10.0.0",
"flexlayout-react": "^0.7.15", "flexlayout-react": "^0.7.15",
"framer-motion": "^11.3.24", "framer-motion": "^11.3.24",
"lowdb": "^7.0.1",
"lucide-react": "^0.408.0", "lucide-react": "^0.408.0",
"object-hash": "^3.0.0", "object-hash": "^3.0.0",
"onnxruntime-node": "^1.18.0", "onnxruntime-node": "^1.18.0",

View File

@ -77,6 +77,9 @@ importers:
framer-motion: framer-motion:
specifier: ^11.3.24 specifier: ^11.3.24
version: 11.3.24(react-dom@18.3.1(react@18.3.1))(react@18.3.1) version: 11.3.24(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
lowdb:
specifier: ^7.0.1
version: 7.0.1
lucide-react: lucide-react:
specifier: ^0.408.0 specifier: ^0.408.0
version: 0.408.0(react@18.3.1) version: 0.408.0(react@18.3.1)
@ -2656,6 +2659,10 @@ packages:
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
hasBin: true hasBin: true
lowdb@7.0.1:
resolution: {integrity: sha512-neJAj8GwF0e8EpycYIDFqEPcx9Qz4GUho20jWFR7YiFeXzF1YMLdxB36PypcTSPMA+4+LvgyMacYhlr18Zlymw==}
engines: {node: '>=18'}
lowercase-keys@2.0.0: lowercase-keys@2.0.0:
resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==}
engines: {node: '>=8'} engines: {node: '>=8'}
@ -3561,6 +3568,10 @@ packages:
resolution: {integrity: sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==} resolution: {integrity: sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==}
engines: {node: '>= 6'} engines: {node: '>= 6'}
steno@4.0.2:
resolution: {integrity: sha512-yhPIQXjrlt1xv7dyPQg2P17URmXbuM5pdGkpiMB3RenprfiBlvK415Lctfe0eshk90oA7/tNq7WEiMK8RSP39A==}
engines: {node: '>=18'}
stream-events@1.0.5: stream-events@1.0.5:
resolution: {integrity: sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==} resolution: {integrity: sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==}
@ -6734,6 +6745,10 @@ snapshots:
dependencies: dependencies:
js-tokens: 4.0.0 js-tokens: 4.0.0
lowdb@7.0.1:
dependencies:
steno: 4.0.2
lowercase-keys@2.0.0: {} lowercase-keys@2.0.0: {}
lru-cache@10.4.3: {} lru-cache@10.4.3: {}
@ -7747,6 +7762,8 @@ snapshots:
stat-mode@1.0.0: {} stat-mode@1.0.0: {}
steno@4.0.2: {}
stream-events@1.0.5: stream-events@1.0.5:
dependencies: dependencies:
stubs: 3.0.0 stubs: 3.0.0