1 | import Promise from 'es6-promise/lib/es6-promise/promise.js';
|
2 | import * as fs from 'fs';
|
3 | import { dirname } from './path.js';
|
4 |
|
5 | function mkdirpath ( path ) {
|
6 | const dir = dirname( path );
|
7 | try {
|
8 | fs.readdirSync( dir );
|
9 | } catch ( err ) {
|
10 | mkdirpath( dir );
|
11 | fs.mkdirSync( dir );
|
12 | }
|
13 | }
|
14 |
|
15 | export function isFile ( file ) {
|
16 | try {
|
17 | const stats = fs.statSync( file );
|
18 | return stats.isFile();
|
19 | } catch ( err ) {
|
20 | return false;
|
21 | }
|
22 | }
|
23 |
|
24 | export function writeFile ( dest, data ) {
|
25 | return new Promise( ( fulfil, reject ) => {
|
26 | mkdirpath( dest );
|
27 |
|
28 | fs.writeFile( dest, data, err => {
|
29 | if ( err ) {
|
30 | reject( err );
|
31 | } else {
|
32 | fulfil();
|
33 | }
|
34 | });
|
35 | });
|
36 | }
|
37 |
|
38 | export const readdirSync = fs.readdirSync;
|
39 | export const readFileSync = fs.readFileSync;
|