file.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. /**
  2. * Fonction utilitaire sur les fichiers
  3. */
  4. const fs = require('fs');
  5. module.exports.exist = function (path, verbose = false) {
  6. try {
  7. return fs.existsSync(path);
  8. } catch (err) {
  9. if (verbose) {
  10. console.log(err);
  11. }
  12. return false;
  13. }
  14. };
  15. module.exports.makedir = function (path, isFilePath = false, verbose = false) {
  16. if (isFilePath) {
  17. let split = path.split('/');
  18. delete split[split.length - 1];
  19. path = split.join('/');
  20. }
  21. if (!module.exports.exist(path)) {
  22. try {
  23. fs.mkdirSync(path, {recursive: true});
  24. return true;
  25. } catch (err) {
  26. if (verbose) {
  27. console.error(err);
  28. }
  29. return false;
  30. }
  31. } else {
  32. return true;
  33. }
  34. };
  35. module.exports.put = function (path, content, verbose = false) {
  36. try {
  37. fs.writeFileSync(path, content);
  38. return true;
  39. } catch (err) {
  40. if (verbose) {
  41. console.error(err);
  42. }
  43. return false;
  44. }
  45. };
  46. module.exports.append = function (path, content, verbose = false) {
  47. try {
  48. fs.appendFileSync(path, content);
  49. return true;
  50. } catch (err) {
  51. if (verbose) {
  52. console.error(err);
  53. }
  54. return false;
  55. }
  56. };
  57. module.exports.delete = function (path, verbose = false) {
  58. try {
  59. fs.unlinkSync(path);
  60. return true;
  61. } catch (err) {
  62. if (verbose) {
  63. console.error(err);
  64. }
  65. return false;
  66. }
  67. };
  68. module.exports.getExtension = function (filename) {
  69. const split = filename.split('.');
  70. return split[split.length - 1];
  71. };
  72. module.exports.fs = fs;