Security update for permissions_by_term
[yaffs-website] / node_modules / fs-extra / lib / empty / index.js
1 var fs = require('fs')
2 var path = require('path')
3 var mkdir = require('../mkdirs')
4 var remove = require('../remove')
5
6 function emptyDir (dir, callback) {
7   callback = callback || function () {}
8   fs.readdir(dir, function (err, items) {
9     if (err) return mkdir.mkdirs(dir, callback)
10
11     items = items.map(function (item) {
12       return path.join(dir, item)
13     })
14
15     deleteItem()
16
17     function deleteItem () {
18       var item = items.pop()
19       if (!item) return callback()
20       remove.remove(item, function (err) {
21         if (err) return callback(err)
22         deleteItem()
23       })
24     }
25   })
26 }
27
28 function emptyDirSync (dir) {
29   var items
30   try {
31     items = fs.readdirSync(dir)
32   } catch (err) {
33     return mkdir.mkdirsSync(dir)
34   }
35
36   items.forEach(function (item) {
37     item = path.join(dir, item)
38     remove.removeSync(item)
39   })
40 }
41
42 module.exports = {
43   emptyDirSync: emptyDirSync,
44   emptydirSync: emptyDirSync,
45   emptyDir: emptyDir,
46   emptydir: emptyDir
47 }