cache.js 839 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import fs from 'fs';
  2. import path from 'path';
  3. export const getData = (file) => {
  4. let data = null;
  5. if (fs.existsSync(file)) {
  6. const arrayBuffer = fs.readFileSync(file);
  7. try {
  8. data = JSON.parse(arrayBuffer.toString());
  9. }
  10. catch (e) {}
  11. }
  12. return Promise.resolve(data);
  13. }
  14. export const setData = (file, data, indent = 2) => {
  15. return new Promise((resolve, reject) => {
  16. if (typeof (data) != 'string') {
  17. try {
  18. data = JSON.stringify(data, null, indent);
  19. }
  20. catch (error) {
  21. reject(error);
  22. }
  23. }
  24. const directoryPath = path.dirname(file);
  25. if(!fs.existsSync(directoryPath)) {
  26. fs.mkdirSync(directoryPath, { recursive: true });
  27. }
  28. try {
  29. fs.writeFileSync(file, data);
  30. resolve();
  31. }
  32. catch (error) {
  33. reject(error);
  34. }
  35. });
  36. }