UNPKG

745 BJavaScriptView Raw
1import Promise from 'es6-promise/lib/es6-promise/promise.js';
2import * as fs from 'fs';
3import { dirname } from './path.js';
4
5function 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
15export function isFile ( file ) {
16 try {
17 const stats = fs.statSync( file );
18 return stats.isFile();
19 } catch ( err ) {
20 return false;
21 }
22}
23
24export 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
38export const readdirSync = fs.readdirSync;
39export const readFileSync = fs.readFileSync;