Guest User

Untitled

a guest
Jun 23rd, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.64 KB | None | 0 0
  1. 'use strict'
  2.  
  3. const { promisify } = require('util')
  4. const { rmdir, readdir, stat, unlink } = require('fs')
  5. const path = require('path')
  6. const rmdirAsync = promisify(rmdir)
  7. const readdirAsync = promisify(readdir)
  8. const statAsync = promisify(stat)
  9. const unlinkAsync = promisify(unlink)
  10.  
  11. async function rmd (dir) {
  12. let paths = await readdirAsync(dir)
  13. let removals = paths.map(async p => {
  14. let current = path.join(dir, p)
  15. let stat = await statAsync(current)
  16. if (stat.isDirectory()) {
  17. await clean(current)
  18. } else {
  19. await unlinkAsync(current)
  20. }
  21. })
  22. await Promise.all(removals)
  23. await rmdirAsync(dir)
  24. }
  25.  
  26. module.exports = rmd
Add Comment
Please, Sign In to add comment