Skip to content

Commit 426bb46

Browse files
authored
Refactor outputFile API to async/await (#1024)
1 parent 47bc43d commit 426bb46

File tree

1 file changed

+10
-19
lines changed

1 file changed

+10
-19
lines changed

lib/output-file/index.js

+10-19
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,27 @@
11
'use strict'
22

3-
const u = require('universalify').fromCallback
4-
const fs = require('graceful-fs')
3+
const u = require('universalify').fromPromise
4+
const fs = require('../fs')
55
const path = require('path')
66
const mkdir = require('../mkdirs')
77
const pathExists = require('../path-exists').pathExists
88

9-
function outputFile (file, data, encoding, callback) {
10-
if (typeof encoding === 'function') {
11-
callback = encoding
12-
encoding = 'utf8'
13-
}
14-
9+
async function outputFile (file, data, encoding = 'utf-8') {
1510
const dir = path.dirname(file)
16-
pathExists(dir, (err, itDoes) => {
17-
if (err) return callback(err)
18-
if (itDoes) return fs.writeFile(file, data, encoding, callback)
1911

20-
mkdir.mkdirs(dir, err => {
21-
if (err) return callback(err)
12+
if (!(await pathExists(dir))) {
13+
await mkdir.mkdirs(dir)
14+
}
2215

23-
fs.writeFile(file, data, encoding, callback)
24-
})
25-
})
16+
return fs.writeFile(file, data, encoding)
2617
}
2718

2819
function outputFileSync (file, ...args) {
2920
const dir = path.dirname(file)
30-
if (fs.existsSync(dir)) {
31-
return fs.writeFileSync(file, ...args)
21+
if (!fs.existsSync(dir)) {
22+
mkdir.mkdirsSync(dir)
3223
}
33-
mkdir.mkdirsSync(dir)
24+
3425
fs.writeFileSync(file, ...args)
3526
}
3627

0 commit comments

Comments
 (0)