|
1 | 1 | 'use strict'
|
2 | 2 |
|
3 |
| -const u = require('universalify').fromCallback |
4 |
| -const fs = require('graceful-fs') |
| 3 | +const u = require('universalify').fromPromise |
| 4 | +const fs = require('../fs') |
5 | 5 | const path = require('path')
|
6 | 6 | const mkdir = require('../mkdirs')
|
7 | 7 | const pathExists = require('../path-exists').pathExists
|
8 | 8 |
|
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') { |
15 | 10 | 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) |
19 | 11 |
|
20 |
| - mkdir.mkdirs(dir, err => { |
21 |
| - if (err) return callback(err) |
| 12 | + if (!(await pathExists(dir))) { |
| 13 | + await mkdir.mkdirs(dir) |
| 14 | + } |
22 | 15 |
|
23 |
| - fs.writeFile(file, data, encoding, callback) |
24 |
| - }) |
25 |
| - }) |
| 16 | + return fs.writeFile(file, data, encoding) |
26 | 17 | }
|
27 | 18 |
|
28 | 19 | function outputFileSync (file, ...args) {
|
29 | 20 | 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) |
32 | 23 | }
|
33 |
| - mkdir.mkdirsSync(dir) |
| 24 | + |
34 | 25 | fs.writeFileSync(file, ...args)
|
35 | 26 | }
|
36 | 27 |
|
|
0 commit comments