db.js 713 B

123456789101112131415161718192021222324252627282930313233343536
  1. import { JsonDB } from "node-json-db";
  2. import { Config } from "node-json-db/dist/lib/JsonDBConfig";
  3. const bindUpdate = db => (path, data) => {
  4. return db.push(path, data, false);
  5. };
  6. const bindSet = db => (path, data) => {
  7. return db.push(path, data, true);
  8. };
  9. const bindDelete = db => path => {
  10. return db.delete(path);
  11. };
  12. const bindGet = db => path => {
  13. try {
  14. return db.getData(path);
  15. } catch (e) {
  16. return null;
  17. }
  18. };
  19. const loadDb = dbPath => {
  20. const db = new JsonDB(new Config(dbPath, true, true, "/"));
  21. return {
  22. update: bindUpdate(db),
  23. delete: bindDelete(db),
  24. get: bindGet(db),
  25. set: bindSet(db),
  26. save: db.save,
  27. reload: db.reload
  28. };
  29. };
  30. export default loadDb;