Newer
Older
CVSS_3.0_GUI / dist / CVSS_3.0_Calc-1.0.0-linux-x64 / node_modules / nwjs-builder-phoenix / node_modules / fs-extra / lib / empty / index.js
root on 7 May 2019 983 bytes Initial commit
  1. 'use strict'
  2.  
  3. const u = require('universalify').fromCallback
  4. const fs = require('fs')
  5. const path = require('path')
  6. const mkdir = require('../mkdirs')
  7. const remove = require('../remove')
  8.  
  9. const emptyDir = u(function emptyDir (dir, callback) {
  10. callback = callback || function () {}
  11. fs.readdir(dir, (err, items) => {
  12. if (err) return mkdir.mkdirs(dir, callback)
  13.  
  14. items = items.map(item => path.join(dir, item))
  15.  
  16. deleteItem()
  17.  
  18. function deleteItem () {
  19. const item = items.pop()
  20. if (!item) return callback()
  21. remove.remove(item, err => {
  22. if (err) return callback(err)
  23. deleteItem()
  24. })
  25. }
  26. })
  27. })
  28.  
  29. function emptyDirSync (dir) {
  30. let items
  31. try {
  32. items = fs.readdirSync(dir)
  33. } catch (err) {
  34. return mkdir.mkdirsSync(dir)
  35. }
  36.  
  37. items.forEach(item => {
  38. item = path.join(dir, item)
  39. remove.removeSync(item)
  40. })
  41. }
  42.  
  43. module.exports = {
  44. emptyDirSync,
  45. emptydirSync: emptyDirSync,
  46. emptyDir,
  47. emptydir: emptyDir
  48. }
Buy Me A Coffee