| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | 'use strict'const u = require('universalify').fromCallbackconst fs = require('fs')const path = require('path')const mkdir = require('../mkdirs')const remove = require('../remove')const emptyDir = u(function emptyDir (dir, callback) {  callback = callback || function () {}  fs.readdir(dir, (err, items) => {    if (err) return mkdir.mkdirs(dir, callback)    items = items.map(item => path.join(dir, item))    deleteItem()    function deleteItem () {      const item = items.pop()      if (!item) return callback()      remove.remove(item, err => {        if (err) return callback(err)        deleteItem()      })    }  })})function emptyDirSync (dir) {  let items  try {    items = fs.readdirSync(dir)  } catch (err) {    return mkdir.mkdirsSync(dir)  }  items.forEach(item => {    item = path.join(dir, item)    remove.removeSync(item)  })}module.exports = {  emptyDirSync,  emptydirSync: emptyDirSync,  emptyDir,  emptydir: emptyDir}
 |